草庐IT

有效性

全部标签

java - 调试自定义 Kafka 连接器的简单有效方法是什么?

我正在使用几个Kafka连接器,我在控制台输出中没有看到它们的创建/部署有任何错误,但是我没有得到我正在寻找的结果(没有任何结果),期望或其他)。我根据Kafka的示例FileStream连接器制作了这些连接器,因此我的调试技术基于示例中使用的SLF4J记录器的使用。我搜索了我认为会在控制台输出中生成的日志消息,但无济于事。我是不是在错误的地方寻找这些消息?或者是否有更好的方法来调试这些连接器?我在实现中引用的SLF4J记录器的示例用法:KafkaFileStreamSinkTaskKafkaFileStreamSourceTask 最佳答案

java - 使用 @DataJpaTest 的 Spring 测试无法使用 @Repository Autowiring 类(但接口(interface)存储库有效!)

我试图理解为什么我不能Autowiring类存储库,但我可以在相同的包中为相同的测试Autowiring接口(interface)存储库。当我启动应用程序时,相同的存储库按预期工作。一、错误:Causedby:org.springframework.beans.factory.NoSuchBeanDefinitionException:Noqualifyingbeanoftype'com.app.person.repository.PersonRepository'available:expectedatleast1beanwhichqualifiesasautowirecandida

java - 当开关不支持 boolean 数据类型时,为什么 boolean 表达式在 case block 中有效?

昨晚看了一些SCJP认证,开始思考switch语句以及表达式是如何求值的,有点疑惑。Java不会让你打开一个boolean值,所以下面的代码不会编译:publicstaticvoidswitchOnBoolean(booleantheBool){System.out.println("\n\nAssessingboolean:"+theBool);//linebelowwon'tcompile,sincebooleansarenotvalidfortheswitchstatementswitch(theBool){casetrue:{System.out.println("Theboo

java - 计算出现次数的最有效方法?

我有一个字节数组(原始),它们可以有随机值。我试图以最有效/最快的方式计算它们在数组中的出现次数。目前我正在使用:HashMapdataCount=newHashMap();for(byteb:data)dataCount.put(b,dataCount.getOrDefault(b,0)+1);这个单行代码需要大约500毫秒来处理长度为24883200的byte[]。使用常规for循环需要至少600毫秒。我一直在考虑构造一个集合(因为它们只包含每个元素中的一个)然后使用Collections.frequency()将它添加到HashMap,但是构造一个从基元设置需要其他几个调用,所以

用于接受有效主机名、IPv4 或 IPv6 地址的 Java 正则表达式

有没有人有一个好的(最好是经过测试的)正则表达式来只接受有效的DNS主机名、IPv4或IPv6地址? 最佳答案 我知道您可能被迫使用正则表达式。但是,如果可能,最好避免为此任务使用正则表达式,而是使用Java库类来进行验证。如果您想同时进行验证和DNS查找,那么InetAddress.getByName(String)是个不错的选择。这将一次性处理DNS、IPv4和IPv6,并返回一个包装整齐的InetAddress实例,其中包含DNS名称(如果提供)和IPv4或IPv6地址。如果您只想进行句法验证,那么Apachecommons有

java - 使用 BigDecimal 限制有效数字的任何巧妙方法

我想将JavaBigDecimal舍入到一定数量的有效数字(不是小数位),例如到4位数:12.3456=>12.35123.456=>123.5123456=>123500等基本问题是如何找到BigDecimal的数量级,这样我就可以决定在小数点后使用多少位。我能想到的就是一些可怕的循环,除以10直到结果为顺便说一句,这个数字可能非常大(或非常小),所以我无法将其转换为double以在其上使用Log。 最佳答案 为什么不直接使用round(MathContext)?BigDecimalvalue=BigDecimal.valueOf

java - 从 Java 中的字符串中有效地删除特定字符(一些标点符号)?

在Java中,从字符串中删除给定字符的最有效方法是什么?目前,我有这段代码:privatestaticStringprocessWord(Stringx){Stringtmp;tmp=x.toLowerCase();tmp=tmp.replace(",","");tmp=tmp.replace(".","");tmp=tmp.replace(";","");tmp=tmp.replace("!","");tmp=tmp.replace("?","");tmp=tmp.replace("(","");tmp=tmp.replace(")","");tmp=tmp.replace("{",

java - 通用返回类型上限 - 接口(interface)与类 - 令人惊讶的有效代码

这是来自第3方库API的真实示例,但经过了简化。使用OracleJDK8u72编译考虑这两种方法:XgetCharSequence(){return(X)"hello";}XgetString(){return(X)"hello";}两者都报告“未经检查的转换”警告-我明白为什么了。令我困惑的是为什么我可以打电话Integerx=getCharSequence();它编译了吗?编译器应该知道Integer不执行CharSequence.调用Integery=getString();给出一个错误(如预期的那样)incompatibletypes:inferencevariableXhas

java - 是否存在用于嵌套存档的有效 java.net.URI?

虽然可能不明智,但有可能读取基本上重命名为.zip文件的存档格式(.ear、.war,.jar等),通过使用jar:URIscheme.例如,当uri变量计算为单个顶级存档时,以下代码运行良好,例如当uri等于jar:file:///Users/justingarrick/Desktop/test/my_war.war!/privateFileSystemcreateZipFileSystem(Pathpath)throwsIOException{URIuri=URI.create("jar:"+path.toUri().toString());FileSystemfs;try{fs=

JavaFX:textArea.setScrollTop(Double.MAX_VALUE) 并不总是有效

这是我的代码片段。textArea.setText(someNewText)textArea.positionCaret(textArea.getText().length());textArea.setEditable(true);textArea.setScrollTop(Double.MAX_VALUE);我使用textArea.setScrollTop(Double.MAX_VALUE)将文本区域滚动到底部(我在互联网上找到的解决方案)。它有效,但并非总是如此。我已经注意到,只有当垂直滚动条在调用此代码之前不可见并且在代码执行之后可见时,它才能工作。当在调用此代码之前垂直滚动条