草庐IT

Java 线程在哪个处理器上运行?

有没有办法使用Javanative线程找出您的线程正在运行的处理器(在单个系统或多个系统上)?如果没有,是否有任何图书馆可以提供帮助? 最佳答案 JVM的线程调度程序是特定于JVM的,因此没有“通用”的解决方案。据我所知,没有现成可用的东西,但可能使用:SunJVM;Solaris-或Mac,正如TomHawtin-tackline指出的那样;DTrace.你可能有一些运气:跟踪thread-start探测器,它具有作为args[3]的“native/操作系统线程ID。这是主机操作系统分配的ID"使用特定于Solaris的实用程序将

java - Java的NPE注解场景和静态分析工具

下面是一些可以抛出NullPointerException的代码片段。01:publicvoidm1(@NullableStringtext){System.out.print(text.toLowerCase());//02:privateboolean_closed=false;publicvoidm1(@NullableStringtext){if(_closed)return;System.out.print(text.toLowerCase());//03:publicvoidm1(@NotNullStringtext){System.out.print(text.toLow

java - JPA事务回滚重试和恢复: merging entity with auto-incremented @Version

我想在交易失败后恢复。现在,当然,在任何回滚之后,所有实体都会分离并且实体管理器会关闭。但是,UI仍然保留分离的实体。显然我们不能就这样丢弃用户的更改,所以我们想让他们重试(修复突出显示的验证错误,然后再次单击按钮)。在JavaPersistenceWikiBook之后,OnemethodoferrorhandlingistocallmergeforeachmanagedobjectafterthecommitfailsintoanewEntityManager,thentrytocommitthenewEntityManager.Oneissuemaybethatanyidsthat

java - 甲骨文一致性 : How to set the timeout on an invoke call in a replicated cache?

我有一个复制的缓存运行在许多也运行OSB的weblogic节点上。缓存以服务器作为启动类启动。它有一个非常简单的对象缓存,可以通过boolean属性“可用”简单地跟踪它们是否正在使用。我从OSB向同一个类发出java标注,它使用将对象标记为不可用的处理器在缓存上调用“调用”,然后运行​​Thread.sleep(31000)。这是我稍后要添加的一些冗长处理的占位符。我想要发生的是,如果invoke()调用花费的时间太长,进程应该超时并返回或抛出异常。所以我一直在尝试配置30000毫秒的请求超时来测试这个。不幸的是,我不知道如何让这个超时发生。我试过:将处理器包装在PriorityPro

java - 可靠的 Java 声音 API,用于简单的数字样本回放

是否有一个好的方法可以在Java中获得像样的、可靠的数字采样声音播放?我的请求列表很短:从.wav文件之类的文件中加载内存中的数字化样本(例如,从jar中捆绑的资源)以非阻塞方式播放它们当我同时播放多个样本并且它们在时间上相交时,它们应该得到适当的混合如果有以下这些就好了,但事实上我可以没有它:从.ogg或类似的压缩格式播放(显然没有在Java中实现占用大量CPU的解码器)在同一样本仍在播放时再次播放它不应停止给定样本的先前播放,但第二个副本应该开始并与第一个副本正确混合我试过臭名昭著的JavaSoundAPI,但发现它完全不可靠,似乎无法满足我的最小愿望list。我遇到的问题:在带有

java.sql.SQLException : Io exception: Socket read timed out vs Closed Connection 异常

我正在尝试研究有关连接到Oracle数据库的以下两个错误的问题:关闭连接java.sql.SQLException:Io异常:Socket读取超时我的理解:关闭连接:发生是因为存在某种网络中断或数据库由于某种“不活动”而关闭了sessionjava.sql.SQLException:Ioexception:Socketreadtimedout:这是连接成功建立但由于某种原因套接字/数据为空并最终超时的情况因为没有可用数据。是否可以在本地OracleDB环境中复制上述错误?步骤是什么?非常感谢您花时间回复。谢谢。 最佳答案 你对关闭连

Java 小程序和 Firefox 无响应错误消息

我有一个JavaApplet。在IE上,它工作正常,在Firefox上,Firefox经常给出一个对话框,说“插件没有响应/挂起。你想继续等待它还是杀死它?”。为了排除故障,了解firefox如何检测到插件无响应会很有用-Firefox是否在任何地方发布了此信息?我找到了这个页面-https://developer.mozilla.org/en-US/Add-ons/Plugins/Out_of_process_plugins/The_plugin_hang_detector然而,这谈论的是终止插件并且不给出此错误消息。 最佳答案

java - 为什么要使用字符串标识符来访问资源数据?

我正在开展一个项目来替换已弃用的资源管理系统(Mac和Windows上的QuickTime资源管理器),并且我一直在使用Qt使用的当前模型,其中使用字符串从资源文件中检索数据键。例如,我的资源文件中可能有一个图像,“HungryBear.png”存储在我的资源文件中。Qt和我建议的系统将以伪代码描述的方式获取它:image=GetImageResource("BearPlugin/Images/HungryBear.png");此时很清楚该图像是什么,以及在哪里可以找到它。在我们当前的系统中,我们使用数字。数字的问题在于必须查找资源文件(可能有很多)才能找出它是什么图像(或资源)。一个

java - 在哪里可以找到类似于 Java 上的 XNA 的框架

我现在是一名C#/Java开发人员,我在XNA和C#.NET上玩得很开心。但我想尝试在Java上开发3d,因为它是可移植的,而且我还没有尝试过OpenGL。我遇到了一个问题,这里有很多可能性:jMonkeyEngineAvatrix3DArdor3DJava3D-我实际上并没有深入研究,这看起来很有趣,但我更愿意先看看人们真正说的是什么。如果这真的是我一直在寻找的东西,那就太棒了。缺点是我认为支持水平很低。我主要研究了JME,事实证明它更像是一个引擎而不是一个框架(我从名字中想到了这一点,尽管有人告诉我它不是)。基本上我希望从特定的框架中得到什么:相当自动的渲染(参见XNA,可能比他们

java - 使用@Transactional 保证线程安全

我有一个关于@Transactional注释如何单独管理代码和事务执行的问题。给定正确设置的Spring应用程序和以下代码:@Transactionalpublicvoidwithdraw(intamount){if(isEnoughFunds(amount)){decreaseFunds(amount);}}是否有可能出现如下场景:资金==100;金额==100线程A进入withdraw/事务A开始线程A执行isEnoughFunds,结果为真线程B进入withdraw/事务B开始线程B执行isEnoughFunds计算结果为真线程A执行decreaseFunds/线程A锁定数据库记