为什么autoimport只有java.lang包?

我知道java.lang包是由我们编写的每个java程序自动导入的,因此我们可以自动使用它中的所有类。 我的问题是为什么不自动导入java.util和其他包呢? 这肯定会节省一些打字:) 所以请解释为什么没有这样做。

为什么java应用程序在gdb中崩溃但在现实生活中正常运行?

尝试从gdb运行java应用程序导致segfault,但单独运行app却没有。 这个应用程序是.JAR,它使用JOGL和一些内存映射来与GPU通信。 下面的Stacktrace暗示了某种内存访问问题,但我不明白它为什么会出现在GDB中而不是现实生活中。 是否有一些环境因素gdb需要知道才能正确执行? 这个问题在JVM OpenJDK 6和7以及Oracle JRE 7之间仍然存在。在启用segfault之前,oracle JRE在启动时运行得更远。 所有段错误在试验之间的发生和位置上都是一致的。 Segfault在GPU和驱动程序之间持续存在(!!):nvidia,radeon,fglrx current和fglrx beta(14.xx)。 GDB将成功附加到已经运行的程序实例,但是gDEBugger似乎不可能这样做,这最终需要工作。 没有意图使用gdb进行实际调试。 相反,我试图使用gDEBugger来执行OpenGL调试。 gDEBugger显然依赖于GDB作为其后端的一部分,因此如果GDB失败,gDEBugger也会失败。 这导致尝试单独运行gdb以隔离问题。 gDEBugger output: GDB String: [Thread debugging using libthread_db enabled] GDB String: Using host libthread_db library /lib/x86_64-linux-gnu/libthread_db.so.1 . Thread Created: 140737353893632 (LWP: 3265) Thread Created: 140737294624512 (LWP: 3266) Thread Created: 140737293571840 (LWP: 3267) Thread Created: 140737292519168 (LWP: […]

Java混淆 – ProGuard / yGuard / other?

这与最近的这些问题类似: 用于减小大小的最佳Java混淆应用程序 创建非反向可执行的Java程序 但是,最终会推荐yGuard和另一个ProGuard,但两者都没有提及。 我想知道我们是否可以对每一个进行比较,并听取围墙双方的人们经历。 在ProGuard网站上查看这个比较图表 ,它明显倾向于ProGuard。 但是每个人的实际经验呢?哪一个会产生较小的输出? 哪一个更难反编译? 每个支持哪些Java版本? 就个人而言,我对J2ME的观点特别感兴趣,但请不要将讨论局限于此。

如何以静态方法以编程方式将Java CDI托管bean注入局部变量

如何以静态方法以编程方式将Java CDI 1.1+托管bean注入局部变量?

为什么Collections.shuffle()为我的数组失败?

为什么我的代码不起作用? package generatingInitialPopulation; import java.util.Arrays; import java.util.Collections; public class TestShuffle { public static void main(String[] args) { int[] arr = new int[10]; for (int i = 0; i < arr.length; i++) { arr[i] = i; } Collections.shuffle(Arrays.asList(arr)); for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } } } 其结果是:0 […]

如果捕获空指针exception不是一个好习惯,捕获exception是一个好的吗?

我听说捕获NullPointerException是一种不好的做法,我认为这是明智的。 让NullPointerException传播到顶部将允许检测出错的东西。 但很多时候我看到很多朋友直接捕获Exception ,因此他们不必担心上面代码中可能出现的所有不同类型的exception。 这是一个好习惯吗? 什么是最好的未处理的其他类型的例外? 除此之外,我还可以在特定代码上处理NullPointerException ,我们确定exception的来源。 那么何时处理exception以及什么时候不应该处理它们? 什么是可能的最好的例外列表,最好不做处理?

如何在运行grizzly的java se上启用web服务(jaxrs / jersey)中的CDI注入?

如何允许CDI将资源注入到宁静的Web服务资源中? 我使用焊接2(cdi),泽西(jaxrs)和灰熊(web服务器)在标准java上运行。 这是我简单的网络资源: import training.student.StudentRepository; import javax.inject.Inject; import javax.ws.rs.*; @Path(“student”) public class StudentWebResource { @Inject private StudentRepository studentRepository; @GET @Path(“count”) @Produces(MediaType.TEXT_PLAIN) public Integer getCount() { return studentRepository.studentCount(); } } 以下是我如何通过简单的Web服务器启动焊接: public class Main { public static void main(String[] args) throws Exception { startCdiApplication(); } public static void startCdiApplication() throws Exception { Weld weld = new […]

停止特定的java线程

我有一个按钮“addCashier”,它正在创建一个名为“Cashier”的线程,现在这个线程只是每4秒生成一次订单,在线程的run()方法中有一个while(true)循环。 一切都很好,但现在我想添加一个按钮来模拟收银员注销。 我在我的while循环onDuty和一个公共函数logOff()中添加了一个布尔变量,它将onTuty bool设置为false以使我退出运行的while循环。 我现在的问题是来自我的gui类如何在特定线程上调用函数? 每个收银员线程都是在运行时生成的,所以我不知道他们的名字。 我希望我有道理。 提前致谢。

为什么终结器会有“严重的性能损失”?

有效的Java说: 使用终结器会严重影响性能。 为什么使用终结器破坏对象的速度较慢?

如何从jar库创建OSGi包?

如何从jar库创建OSGi包?