Questions tagged «java»

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

4
为什么我们不能通过未初始化的局部变量访问静态内容?
看下面的代码: class Foo{ public static int x = 1; } class Bar{ public static void main(String[] args) { Foo foo; System.out.println(foo.x); // Error: Variable 'foo' might not have been initialized } } 如您所见,尝试x通过未初始化的局部变量Foo foo;代码访问静态字段时会foo.x生成编译错误:Variable 'foo' might not have been initialized。 它可能看起来像这样的错误是有道理的,但直到我们意识到,访问static成员的JVM不实际使用的价值变量,但只有它的类型。 例如,我可以foo使用value进行初始化,null这将使我们能够x毫无问题地进行访问: Foo foo = null; System.out.println(foo.x); //compiles and at …


10
抛出或尝试接球
决定是在方法中添加throws子句还是使用try-catch?的一般经验法则是什么? 根据我自己的了解,throws当调用方破坏了合同的末端(传递的对象)时,try-catch应使用;当在方法内部执行的操作期间发生异常时,应使用。它是否正确?如果是这样,应该在呼叫方执行什么操作? PS:通过Google和SO搜索,但希望对此有一个明确的答案。


5
HttpServlet为什么实现Serializable?
在我对Servlet的理解中,该Servlet将由Container实例化,其init()方法将被调用一次,并且Servlet将像单例一样存活,直到JVM关闭。 我不希望我的servlet被序列化,因为当应用服务器恢复或正常启动时,它将被重新构造。该servlet不应该包含特定于会话的成员,因此将其写入磁盘并重新实例化是没有意义的。有实际用途吗? 我担心的是,我在其中放置了一些不可序列化的字段,然后我的应用程序将在生产环境中神秘地失败,在生产环境中将进行另一种会话复制。


6
“ NoClassDefFoundError:无法初始化类”错误
当我运行项目时,会收到此错误的大量输出: 2009年9月9日,上午8:22:23 org.apache.catalina.core.StandardWrapperValve调用 严重:Servlet Jersey的Servlet.service()抛出异常 java.lang.NoClassDefFoundError:无法初始化类SpringFactory 在com.point2.prospect.persistence.hibernate.HibernateTransactionInterceptor.doFilter(HibernateTrans actionInterceptor.java:17) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在com.point2.prospect.restapi.ServerErrorInterceptor.doFilter(ServerErrorInterceptor.java:27) 在org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 在org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) 在org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) 在org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:583) 在org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:447) 在java.lang.Thread.run(Thread.java:619) 我注意到此问题的出现方式是在整个网络上被询问,但没有真正的答案。这种错误的一般原因是什么?
77 java  spring  exception 


7
Java语言与Java语言相比有多快?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 7年前关闭。 改善这个问题 有没有可以将Javascript性能与Java性能进行比较的测试? 更新:由于每个人都在问这个问题,为什么这是上下文,所以:) 众所周知-我希望-如今的JavaScript不仅驻留在Web客户端中,而且还驻留在具有node.js的Web服务器中。 它也可以在带有appcelerator和phonegap的手机和dekstop中运行。 它也可以在网络浏览器中大量使用,以使用户像桌面应用程序一样享受一流的体验。 但是Java也可以做这些事情,在Web客户端和手机上运行applet。它也是后端的一种语言,有许多框架可供选择。 由于它们在上述区域几乎/全部可以互相替代,因此我想了解每种情况下它们之间的性能差异: 客户端:Java Applets vs Javascript 服务器:Java EE与带有Node.js + Express的Javascript 手机:Java ME与带Phonegap / Appcelerator的Javascript 桌面:Java SE与带Phonegap / Appcelerator的Javascript 我希望现在的情况更加清楚。
77 java  javascript 

3
在sun.misc.Unsafe.park(本机方法)中等待
我的一个应用程序在负载下运行了一段时间后挂起,有人知道是什么会导致jstack中的此类输出: "scheduler-5" prio=10 tid=0x00007f49481d0000 nid=0x2061 waiting on condition [0x00007f494e8d0000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000006ee117310> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1085) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) 我在挂起的jstack输出中看到了很多。 我大量使用Spring @Async和地图,同步地图和ehcache。 有趣的是,这仅发生在一个应用实例上。另外两个运行得很好。在这种情况下,我还能进行哪些调查以获取更多详细信息? 我发现了这个帖子/programming/23992787/parking-to-wait-for-0xd8cf0070-a-java-util-concurrent-locks-abstractqueueds,但是在我的情况下它不是很有用。

5
将测试文件导入JUnit的简单方法
有人可以建议一种简单的方法来在junit测试类中获取对文件的引用作为String / InputStream / File / etc类型对象吗?显然,我可以将文件(在这种情况下为xml)粘贴为巨型String或将其作为文件读取,但是是否有像这样的Junit专用快捷方式? public class MyTestClass{ @Resource(path="something.xml") File myTestFile; @Test public void toSomeTest(){ ... } }


5
基于FIFO的队列实现?
我需要一个简单的FIFO实现的队列来存储一堆int(如果是泛型实现,我并不介意)。 java.utilTrove / Guava库中已经为我准备的所有内容了吗?

16
如何ping IP地址
我正在使用这部分代码来ping通Java中的ip地址,但只有ping通本地主机才能成功,而对于其他主机,该程序表示主机无法访问。我禁用了防火墙,但仍然有此问题 public static void main(String[] args) throws UnknownHostException, IOException { String ipAddress = "127.0.0.1"; InetAddress inet = InetAddress.getByName(ipAddress); System.out.println("Sending Ping Request to " + ipAddress); System.out.println(inet.isReachable(5000) ? "Host is reachable" : "Host is NOT reachable"); ipAddress = "173.194.32.38"; inet = InetAddress.getByName(ipAddress); System.out.println("Sending Ping Request to " + ipAddress); System.out.println(inet.isReachable(5000) ? …
77 java  ping  host 

7
休眠:flush()和commit()
org.hibernate.Session.flush()单独打电话是个好习惯吗? 如org.hibernate.Session文档中所述, 在提交事务并关闭会话之前,必须在工作单元的末尾调用(取决于刷新模式,Transaction.commit()调用此方法)。 您能解释一下flush()是否org.hibernate.Transaction.commit()会明确呼叫的目的吗?
77 java  hibernate  orm 

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.