草庐IT

有一手

全部标签

java - 如果可能的话,是否有一种工具可以使所有类包都 protected 和最终?

背景:我注意到在许多项目中,几乎所有内部​​代码中的类都是公开的而不是最终的,即使它们不需要。然而,对我来说,不默认做出这个决定似乎是明智的,但只有当它们实际上是为了从系统的其他部分使用时才公开类。拥有包保护类是一种在模块之间强制执行边界的简单机制,并可作为类预期用途的文档。如果有一个(最好是免费的:-)工具来保护所有可以在不破坏程序的情况下被保护的类,并且可能使所有没有子类的东西成为最终的,那将是开始有意识地使用保护机制。(当然你需要事后调整。)你知道这样的工具吗?警告:我知道有更好的模块化机制,如OSGI和计划中的super包等。但在许多当前项目中,这不是一个选项,使用普通的旧Ja

讯飞版ChatGPT突然开始内测!我们连夜一手实测

明敏萧箫发自凹非寺量子位|公众号QbitAI科大讯飞版ChatGPT产品,提前交卷了!就在昨夜,讯飞骤然向开发者提供了内测通道,取名为讯飞星火认知大模型对外开启内测。还有个神奇的英文名字SparkDesk,据说有“火花桌面智能助手”的意思。讯飞这波操作,多少有点“反向跳票”的意思,因为早在今年2月初,科大讯飞就被曝加紧开发中国版ChatGPT。随后国内大模型关注度陡增后,科大讯飞率先给出了deadline:5月6日上线产品。万万没想到,距离正式发布还有10天,他们毫无征兆地开启了内测邀请。从目前已经获得内测的网友评价来看,有一些人认为效果“超出预期”,但也有人反馈只是“中规中矩”。整体来看,表

java - 为什么 Maven 项目有一个 src 文件夹,它有两个空的子文件夹(主文件夹和测试文件夹)

我是Java世界的新手。我创建了一个简单的java(maven)项目,我看到了包,一切都运行良好。但是我确实看到一个src有两个空的主文件夹和测试文件夹。知道为什么吗?编辑:在答案中添加更多信息下面的答案是完美的。然而,在稍作修改后,我发现了一个更有说服力的理由,说明为什么它在eclipse中会像这样显示。如果文件夹位于“Java构建路径”中,那么这些文件夹将显示在上方的专用View中。因此,您可以创建任何文件夹,一旦将该文件夹添加到“Java构建路径”,该文件夹的View就会发生变化。同样,如果您从“Java构建路径”中删除现有文件夹,那么它似乎会返回到底部的普通TreeView。

java - 在工厂类内部或外部有一个缓存机制更好吗?

我这里的问题与语言无关,它更像是一个通用的编程概念。如果我有一个Factory类,它有一个返回Parser对象的方法,我知道这些解析器类在每个迭代周期中不需要被实例化多次(当然是在工厂之外)。就使用和对象分离而言,最好在工厂内部为所有实例化的解析器创建缓存机制,即:在方法调用期间,或者在方法调用之外,当方法已经被调用时?提前致谢。 最佳答案 也许你可以为你的Factory定义一个接口(interface),然后有多个实现——一个实现可以在内部执行缓存以保证一个Parser类只被实例化一次.另一种实现可以不执行缓存,只要有需要就提供新

java - 是否有一个队列(PriorityQueue)实现也是一个集合?

我正在寻找PriorityQueue实现也是Set.compareTo的实现如果它的元素必须不要求与equals的实现保持一致。Java有这样的实现吗?更新:我现在使用SortedSet作为内部集合来实现它。所以我只需要实现缺少的方法来满足队列接口(interface)。我还忘了提到它也必须是有界队列,因此它具有容量并在达到容量时丢弃集合的最后一个元素。 最佳答案 如果拥有一个具有“类似集合”行为的队列就足够了,我想你只是不想接受重复的条目,那么我认为,一个简单的解决方案可能是子类化PriorityQueue并覆盖add()、add

java - 是否可以有一个 "in-process"Tomcat 实例,用于测试目的?

我有一个基于Maven的Web应用程序项目,它生成一个要在Tomcat中运行的WAR。让我们假设,为了论证,该项目的单元测试通过网络实际发送/接收请求(而不是简单地使用模拟请求调用servlet方法)至关重要。有什么方法可以让我的测试工具在同一个JVM中运行Tomcat实例,加载当前项目,并让测试用例在localhost上命中它?如果做不到这一点,我实际上如何以编程方式将当前项目(以及依赖项)打包到WAR中,以便我可以使用Cargo以编程方式将其上传到其他Tomcat实例?有没有比直接使用mvn更好的选择?我知道我的要求不寻常,单元测试应该更加独立等等,但请让我们一起玩吧:)

java - 有一个扩展另一个类的 'empty' 类可以吗?

假设我有一个类(class)Foo里面有一堆逻辑和另一个类Bar这本质上是一样的。然而,作为Foo和Bar是不同的(但相关的)实体我需要从我的代码中看出区别(即我可以判断一个实例是Foo还是Bar)当我不假思索地把它拼凑在一起时,我最终得到了以下结果:publicclassFoo{/*constructors,fields,method,logicandwhat-not*/}publicclassBarextendsFoo{/*nothingherebutconstructors*/}这样可以吗?制作Bar更好吗?复合类?例如:publicclassBar{privateFoofoo;

java - 有一个sql PreparedStatement池有意义吗?

这个问题在这里已经有了答案:PreparedStatementPoolwithConnectionPool[duplicate](1个回答)关闭8年前。因为PreparedStatement包含预编译的sql命令,所以当我们创建这种类型的池时,为了不创建和销毁这个对象太多(就像线程池一样)。这有意义吗?还是我太糊涂了?

java - Java 中是否有一种简单的方法来过滤 unicode 版本 (3.2) 中的字符?

我有一个用Java编写的注册过程。我想确保使用的名称都在unicode3.2范围内。此unicode要求适用于我的系统的另一部分,它不在java中。Java是否有一种简单的方法来验证unicode版本的字符串?我似乎无法从一些粗略的检查中找到任何东西。谢谢 最佳答案 我会读这个UCD文件并从第一列构建一个BitSet。这将是测试字符串中每个代码点的快速方法。 关于java-Java中是否有一种简单的方法来过滤unicode版本(3.2)中的字符?,我们在StackOverflow上找到一

java -/api-url 在 Spring Boot Security 中有一个空的过滤器列表

带有REST服务的SpringBoot应用程序必须允许公共(public)访问某些服务,同时将其他服务限制为仅允许授权用户访问。当configure(WebSecurityweb)方法添加到SecurityConfig类如下图,一个403error被发送到用户的Web浏览器,并且SpringBoot日志文件给出了一个错误,指出:/registration-formhasanemptyfilterlist需要对以下代码进行哪些具体更改才能获得/registration-form服务成功提供给任何用户,包括匿名/未经身份验证的用户?这是SecurityConfig类(class):@Con