6、深入了解IBM J9 Java虚拟机(Java 6版本)

深入了解IBM J9 Java虚拟机(Java 6版本)

1. 同步与线程机制

在Java 6的运行环境中,真正的可移植性是可以实现的。不过,在硬件和操作系统中能轻松实现的一些同步语义,例如用于防止重入的原子测试和设置,在软件层面实现起来则较为困难。因此,Java虚拟机(JVM)为此提供了特定的不可中断指令。当使用 synchronized 关键字时,会对对象或类进行加锁,这会在代码中使用 monitorenter monitorexit 指令,从而防止JVM内其他线程对该对象或类进行并发访问。

线程本质上是开发者构建的一种机制,它允许声明一组可以并发运行的操作,并且可以为这些操作定义优先级和依赖关系,线程组也可以进行分组。然而,虽然开发者可以定义在线程上并发运行的指令组,但核心运行时的某些部分并非线程安全的,因此不能由多个线程并发访问。Java 5标准通过添加新的高级 java.util.concurrent 类和一些线程安全的实用结构类(如 java.util.Queue ),改进了基础Java线程类和 java.lang.Object 中的并发支持实现。

2. 代码生成

实际上,在JVM上执行除Java之外的其他语言是完全可行的,唯一的要求是该语言能够处理栈上的操作数,并且可以编译成字节码并加载到类中。

生成字节码后,可以使用与优化编译器多年来使用的类似技术对其进行优化。这些技术包括:
- 去除不必要的指令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值