如下粗心的代码
public class Visibility {
private static boolean stop;
public static void main(String[] args) throws Exception {
new Thread(new Runnable(){
public void run() {
int i = 0;
while(!stop) {
i++;
}
System.out.println("finish loop,i=" + i);
}
}).start();
Thread.sleep(1000);
stop = true;
Thread.sleep(2000);
System.out.println("finish main");
}
}
在-client模式下会很快结束,测试不出问题
但通过java -server Visibility来运行(win上),就会死循环
所以,为避免程序(尤其是多线程的)运行在与开发环境不同的jvm上因内存可见性、指令重排序等带来的诸如活性问题,开发、测试时应尽可能始终启用JIT优化,尽早发现问题。
分享到:
相关推荐
IBM Java PPC64 SDK 7.0-10.50是IBM专门为PowerPC64架构的AIX...综上所述,IBM Java PPC64 SDK 7.0-10.50是AIX平台上开发和运行Java应用的重要工具,它的安装和使用对于在AIX环境中构建和部署Java应用程序至关重要。
JIT编译器是Java虚拟机(JVM)的一部分,它能够在程序运行时将字节码转换为机器码,从而提高执行效率。了解JIT编译器的不同版本对于优化Java应用程序的性能至关重要。 在Java中,JIT编译器有两个主要类型:Client和...
Java程序性能优化是每个开发人员都需要关注的重要领域,它涵盖了多个方面,旨在提高代码执行效率,减少资源消耗,以及提升应用程序的稳定性和响应速度。在本文中,我们将深入探讨Java性能优化的关键点,帮助你的Java...
"hsdis-1.1.1-win32-i386" 是一个针对Windows 32位系统的特定版本的HotSpot服务端分解器(HotSpot Server Disassembler),主要用于Java虚拟机(JVM)的性能分析和调试。hsdis是JDK的一个插件,它能够帮助开发者理解...
这是一个重要的软件组件,它允许用户在他们的计算机上执行基于.NET 5.0框架开发的应用程序。 .NET是微软推出的一种开源开发平台,它提供了丰富的库和工具,用于构建跨平台的桌面、Web、移动、云和游戏应用。.NET ...
《Java程序性能优化》这本书是Java开发者不可或缺的参考资料,它深入浅出地讲解了如何提升Java应用程序的效率和稳定性。本书结合理论与实践,既包含了基础的性能优化原则,也探讨了高级的优化技巧,适合从初级到中级...
### 基于追踪的Java即时编译器:从基于方法的编译器改造而来 #### 概述 本文档介绍了一种基于追踪的Java即时编译器(简称trace-JIT),该编译器是从一个高质量的基于方法的即时编译器(简称method-JIT)改造而来的...
- **参数调整**:HotSpot VM的性能可以通过设置启动参数来优化,例如使用`-server`选项选择Server VM。内存参数配置也至关重要,包括堆大小(`-Xms`和`-Xmx`)、新生代大小(`-NewSize`和`-MaxNewSize`)、年老代...
本文将详细介绍Java JIT编译器的工作原理、优化策略以及如何在实际开发中利用JIT提高程序性能。 Java JIT编译器是提高Java程序性能的关键技术之一。通过理解其工作原理和优化策略,开发者可以更好地利用JIT编译器来...
总的来说,"java win-7 虚拟机"是一个关键的软件组件,它使得基于Java的应用程序能够在Windows 7操作系统上运行,无论这些应用程序是在本地开发还是在其他平台上。了解如何正确安装、配置和管理Java虚拟机对于开发者...
由于提供的信息不包含实际的书籍内容,因此无法生成有关书籍内容的知识点。但根据标题《大话JAVA性能...因此,开发者在应用这些知识点时,应结合最新的Java开发文档和社区讨论来制定适合当前技术环境的性能优化方案。
Java语言在使用形式上一直具有较高的使用率,但随着Java应用范围的不断扩大,提升该程序的性能方式成为主要的研究领域,特别是对程序语言在错误发出形式上的实施。Java程序性能测试技术是检测Java程序性能的重要手段...
### Java学习教材(Java私塾跟我学系列--Java篇)知识点总结 #### 一、Java的历史与发展 - **Java的起源**:Java起源于Sun公司的Green项目,最初目的是为家用消费电子产品开发分布式代码系统。该项目起初尝试使用...
在现代软件开发领域,即时编译器(Just-In-Time Compiler, JIT)技术对于提高程序运行时性能至关重要,尤其是在Java这样的动态类型语言中。传统的Method JIT将整个方法作为编译的基本单位进行优化与编译,但在复杂的...
在Java编程领域,程序性能优化是一项至关重要的任务,它直接影响到软件的运行效率、资源消耗以及用户体验。"Java程序性能优化"这个主题涵盖了多种技术与策略,旨在提升Java应用程序的运行速度,减少内存占用,以及...
在Java高级程序设计中,还需要掌握其他重要概念,如泛型、注解、反射、IO流、NIO(非阻塞I/O)、并发控制(synchronized、volatile、Lock接口等)、集合框架的高级用法、设计模式、JVM优化等。这些知识点在实际开发...
电子科技大学的Java程序设计课程涵盖了Java语言的基础和核心概念,是针对期末复习的重要参考资料。以下是根据提供的题目解析总结的一些关键知识点: 1. **Java语言特点**: - 面向对象:Java是一种面向对象的语言...
在Windows上安装LLVM-10.0.0-win64.exe后,用户可以利用LLVM开发自己的编译器、工具,或者使用其提供的工具链来编译和优化代码。例如,开发者可以使用Clang编译C++项目,然后通过Opt进行代码优化,最后使用llc生成...
Java是一种广泛使用的面向对象的编程语言,其特点包括平台无关性、丰富的类库以及强大的内存管理机制。在Java高级程序设计中,我们经常会遇到一些核心概念和技术,如迭代器、集合框架、多线程、GUI组件和网络编程。...