Tag: 处理器

Java:JVM可用的核心?

在Java中,方法Runtime.getRuntime().availableProcessors()具有以下Javadoc: 返回Java虚拟机可用的处理器数。 在特定的虚拟机调用期间,此值可能会更改。 价值如何实际改变? 在什么情况下,JVM可用的处理器比物理安装的处理器少? 乔纳斯

字节码是否被视为JVM的指令集?

我正在阅读维基中的 instruction set ,我看到了这段话: 一些支持字节码作为其ISA的虚拟机,如Smalltalk,Java虚拟机和Microsoft的公共语言运行时,通过将常用代码路径的字节码转换为本机机器码来实现。 此外,这些虚拟机通过解释执行不常用的代码路径(请参阅:即时编译)。 Transmeta以这种方式在VLIW处理器上实现了x86指令集。 这究竟意味着什么? bytecodes是用于JVM ISA ,而JVM又支持处理器的ISA 。

字节码指令与处理器操作之间的关系

Java规范保证原始变量赋值始终是primefaces的(期望long和双types 。 相反,对应于着名的i++增量操作的Fetch-and-Add操作将是非primefaces的,因为导致读 – 修改 – 写操作。 假设这段代码: public void assign(int b) { int a = b; } 生成的字节码是: public void assign(int); Code: 0: iload_1 1: istore_2 2: return 因此,我们看到赋值由两个步骤组成(加载和存储)。 假设这段代码: public void assign(int b) { int i = b++; } 字节码: public void assign(int); Code: 0: iload_1 1: iinc 1, 1 //extra step here […]

multithreading比单线程更快吗?

我想检查multithreading是否比单线程更快,然后我在这里做一个演示: public class ThreadSpeedTest { /** * @param args */ public static void main(String[] args) { System.out.println(“cpu number:” + Runtime.getRuntime().availableProcessors()); singleThreadStart(); // secondThreadStart(); // fiveThreadStart(); } private static void sum() { long sum = 0; for (int i = 0; i < 1000000; i++) { sum += i; } System.out.println(sum); } private static void singleThreadStart() […]

什么是最高效的基于Java的流式XSLT处理器?

我有一个非常大的XML文件,我需要将其转换为另一个XML文件,我想用XSLT来做这件事。 我对内存优化更感兴趣,而不是速度优化(尽管速度也会很好!)。 您会为此任务推荐哪种基于Java的XSLT处理器? 你会推荐其他任何方式(非XSLT ?,非Java?),如果是这样,为什么? 问题中的XML文件非常大,但不是很深 – 有数百万行(元素),但只有大约3个级别。

设置线程池的理想大小

有什么区别 – newSingleThreadExecutor vs newFixedThreadPool(20) 从操作系统和编程的角度来看。 每当我使用newSingleThreadExecutor运行程序时,我的程序运行良好,端到端延迟(第95百分位数)大约需要5ms 。 但是一旦我开始运行我的程序 – newFixedThreadPool(20) 我的程序性能下降,我开始看到端到端延迟为37ms 。 所以现在我试图从架构的角度来理解这里有多少线程意味着什么? 以及如何确定我应该选择的最佳线程数? 如果我使用更多的线程,那会发生什么? 如果有人能用外行语言向我解释这些简单的事情那么这对我来说非常有用。 谢谢您的帮助。 我的机器配置规范 – 我正在从Linux机器运行我的程序 – processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 45 model name : Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz stepping : 7 cpu MHz : 2599.999 cache size : […]