Questions tagged «java»

Java是一种流行的高级编程语言。如果您在使用或理解语言本身时遇到问题,请使用此标签。这个标签很少单独使用,最常与[spring],[spring-boot],[jakarta-ee],[android],[javafx],[gradle]和[maven]结合使用。

9
Java为什么禁止内部类中的静态字段?
class OuterClass { class InnerClass { static int i = 100; // compile error static void f() { } // compile error } } 虽然无法使用来访问静态字段OuterClass.InnerClass.i,但是如果我想记录一些应该是静态的内容(例如,创建的InnerClass对象的数量),则使该字段静态化将很有帮助。那么,为什么Java禁止内部类中的静态字段/方法呢? 编辑:我知道如何使编译器对静态嵌套类(或静态内部类)感到满意,但是我想知道的是为什么Java禁止从语言设计和内部类(或普通内部类)内部的静态字段/方法实施方面,如果有人对此有更多了解。

7
Java同步块与Collections.synchronizedMap
是否设置了以下代码以正确同步调用synchronizedMap? public class MyClass { private static Map<String, List<String>> synchronizedMap = Collections.synchronizedMap(new HashMap<String, List<String>>()); public void doWork(String key) { List<String> values = null; while ((values = synchronizedMap.remove(key)) != null) { //do something with values } } public static void addToMap(String key, String value) { synchronized (synchronizedMap) { if (synchronizedMap.containsKey(key)) { …

4
在JUnit测试类中的哪里配置log4j?
查看我编写的最后一个JUnit测试用例,我在类构造函数中调用了log4j的BasicConfigurator.configure()方法。对于仅运行Eclipse的“作为JUnit测试用例运行”命令中的单个类,该方法运行良好。但是我意识到这是不正确的:我很确定我们的主测试套件可以从一个进程运行所有这些类,因此log4j配置应该在某个地方进行。 但是我仍然需要自己单独运行一个测试用例,在这种情况下,我需要配置log4j。我应该在哪里放置配置调用,以便在测试用例独立运行时可以运行,而不是在作为较大套件的一部分运行测试用例时运行?
85 java  logging  junit  log4j 

2
H2或HSQLDB哪个更好?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 HSQLDB 2.0即将发布。我不知道它是否会胜过H2,因为据我所知,大多数用户都喜欢H2而不是HSQLDB。我对HSQLDB 2.0的MVCC支持感兴趣。我了解到H2上的MVCC仍处于实验阶段。关于支持/文档​​,并发性和性能,两者之间哪个更好?

12
Java中的排序数组列表
我为无法快速找到答案感到困惑。我实质上是在寻找Java中的一种实现java.util.List接口的数据结构,但该结构按顺序存储其成员。我知道您可以使用法线ArrayList并Collections.sort()在其上使用,但是我遇到的情况是,我偶尔会添加并经常从列表中检索成员,并且我不想每次检索成员时都对其进行排序,以防万一新增加了一个。谁能指出我在JDK甚至第3方库中都存在的这种东西? 编辑:数据结构将需要保留重复项。 总结:我发现所有这些都很有趣,并且学到了很多东西。特别值得一提的是Aioobe,因为他在实现上述要求方面的毅力(主要是支持重复项的有序java.util.List实现)。我接受了他的回答,这对我的要求是最准确的,并且即使我提出的要求不完全是我所寻求的含义,也最能引起我的思考。 我所要求的问题在于List接口本身以及接口中可选方法的概念。引用javadoc: 该界面的用户可以精确控制列表中每个元素的插入位置。 插入排序列表并不能精确控制插入点。然后,您必须考虑如何处理某些方法。就拿add例如: public boolean add(Object o) Appends the specified element to the end of this list (optional operation). 现在,您处于以下两种情况中的一种令人不舒服的情况:1)打破合同并实现add的排序版本2)让add元素添加到列表的末尾,破坏排序的顺序3 add)通过抛出来抛弃(作为其可选项)一UnsupportedOperationException和实施这增加了在一个有序的物品的另一种方法。 选项3可能是最好的,但是我发现它不适合使用具有不能使用的add方法和不在接口中的另一个sortedAdd方法。 其他相关解决方案(无特定顺序): java.util.PriorityQueue,它可能比我所需要的更接近我的需求。在我的案例中,队列不是对象集合的最精确定义,但是在功能上,它可以完成我需要做的所有事情。 net.sourceforge.nite.util.SortedList。但是,此实现通过实现add(Object obj)方法中的排序打破了List接口的协定,并且奇怪的是没有的方法add(int index, Object obj)。总体共识表明,throw new UnsupportedOperationException()在这种情况下可能是更好的选择。 Guava的TreeMultiSet一个支持重复项的set实现 ca.odell.glazedlists.SortedList 此类在Javadoc中附带警告:Warning: This class breaks the contract required by List

14
JDK和Java SDK之间的区别
这两个术语之间有什么实质性区别?我了解JDK代表Java开发工具包,它是SDK(软件开发工具包)的子集。但是指定Java SDK时,其含义应与JDK相同。
85 sdk  java 

14
在Java中将对象分配为null是否会影响垃圾回收?
null在Java中分配未使用的对象引用是否可以以任何可衡量的方式改善垃圾回收过程? 我在Java(和C#)方面的经验告诉我,尝试超越虚拟机或JIT编译器通常是反直观的,但是我看到同事使用这种方法,我很好奇这是否是一个好的选择或其中一种巫术编程迷信?

16
在Java中从网络摄像头捕获图像?
如何连续从摄像头捕获图像? 我想尝试对象识别(也许通过使用Java Media Framework)。 我当时正在考虑创建两个线程 一个线程: 节点1:捕获实时图像 节点2:将图片另存为“ 1.jpg” 节点3:等待5秒 节点4:重复... 其他线程: 节点1:等到捕获图像 节点2:使用“ 1.jpg”获取每个像素的颜色 节点3:将数据保存在数组中 节点4:重复...
85 java  image  webcam  capture 


17
如何修复JNI项目中的UnsatisfiedLinkError(找不到依赖库)
我正在使用JNI的Java项目中。JNI调用了一个我自己编写的自定义库,比方说mylib.dll,它依赖于一个第三方库libsndfile-1.dll。 当我运行程序时,它崩溃 java.lang.UnsatisfiedLinkError: C:\...path...\mylib.dll: Can't find dependent libraries. 我已经搜索了该网站(和其他网站),并且尝试了许多修复程序: 我跑了依赖沃克。DW发出了一些警告-libsndfile所需的两个库MPR.DLL和SHLWAPI.DLL具有“未解决的导入”-但DW FAQ表示可以安全地忽略这些警告。 我已按照此处的建议将方法名称固定在mylib.dll中。方法名称已经被编译器弄乱了,但是我添加了链接器标志,并且dll方法名称现在与我的jni头文件中的名称完全匹配。 我将所有这些DLL放在相同的目录中-与调用它们的.jar相同的目录中-以确保它们在正确的PATH上。 没有骰子。 有人知道发生了什么吗? 我正在使用MacBook Pro(通过Parallels)在Visual Studio 2010中进行开发。我正在使用东芝笔记本电脑在Windows XP中进行测试。

3
Java 8中异常类型推断的独特功能
在此站点上为另一个答案编写代码时,我遇到了这种特殊性: static void testSneaky() { final Exception e = new Exception(); sneakyThrow(e); //no problems here nonSneakyThrow(e); //ERRROR: Unhandled exception: java.lang.Exception } @SuppressWarnings("unchecked") static <T extends Throwable> void sneakyThrow(Throwable t) throws T { throw (T) t; } static <T extends Throwable> void nonSneakyThrow(T t) throws T { throw t; } 首先,我很困惑为什么sneakyThrow对编译器的调用正常。T当未提及任何未经检查的异常类型时,它推断出什么可能的类型? …

8
如何强制派生类调用超级方法?(就像Android一样)
我想知道,当创建新Activity类然后覆盖该onCreate()方法时,在eclipse中我总是会自动添加:super.onCreate()。这是怎么发生的?在抽象类或父类中是否存在强制执行此操作的java关键字? 我不知道不调用父类是否违法,但是我记得在某些方法中,我没有这样做就引发了异常。这也是Java内置的吗?您可以使用某些关键字来做到这一点吗?或如何完成?


7
休眠自动递增ID
我有一个使用hibernate和注解的j2ee应用程序。如何在我的pojo类中注释Id字段,以将其设置为自动增量或自动生成。在添加bean时,我是否将该字段留在bean中为null?

9
使用Maven的环境变量
我已经将一个项目从Eclipse移植到Maven,并且需要设置一个环境变量以使我的项目正常工作。 在Eclipse中,转到“运行->运行配置”,然后在“环境”选项卡下,将“ WSNSHELL_HOME”设置为值“ conf”。 我如何使用Maven做到这一点? 非常感谢你!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.