- 浏览: 93932 次
- 性别:
- 来自: 北京
-
文章分类
我觉得处理JVM调优问题需要以下五个步骤:
第一:理解清楚JVM内存模型,知道JVM内存的划分,包括堆、栈、方法区、程序计数器、本地方法区、栈的内存模型、方法区的常量池、线程执行操作共享内存等等
第二:知道垃圾回收算法,注意是算法不是垃圾回收算法实现的垃圾回收器,包括基本回收策略里面的引用计数、标记-清除、复制、标记-整理;分区回收策略里面的增量回收和分代回收;系统线程策略的串行、并行和并发
第三:知道具体JVM的垃圾回收器,垃圾回收器是对垃圾回收算法的实现,是一个嵌入到JVM里面的小工具,例如HotSpot JVM里面的分代回收器,针对年轻代的Serial,ParNew和Parallel Scavenge,针对年老代的CMS、Parallel Old以及Serial Old(MSC)。需要知道这针对年轻代的和针对年老代的这六种垃圾回收器的各自的特点和比较,例如ParNew和Parallel Scavenge有什么区别,MSC的存在是为了什么。
第四:需要知道JVM调优的参数,-Xms,-Xmx,-Xss,-XX:PermSize=64m,等等,知道他们的默认值,知道他们的配合配置。
官方HotSpot JVM调优参数链接:http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html
第五:也是最关键的东西,根据当前java应用,运用以上四点所学,予以JVM最适当的配置。这需要会用各种调试或监控工具和命令,大量的尝试和大量的经验,没有万能的垃圾回收算法和回收器,只有适合自己Java应用的。
第一:理解清楚JVM内存模型,知道JVM内存的划分,包括堆、栈、方法区、程序计数器、本地方法区、栈的内存模型、方法区的常量池、线程执行操作共享内存等等
第二:知道垃圾回收算法,注意是算法不是垃圾回收算法实现的垃圾回收器,包括基本回收策略里面的引用计数、标记-清除、复制、标记-整理;分区回收策略里面的增量回收和分代回收;系统线程策略的串行、并行和并发
第三:知道具体JVM的垃圾回收器,垃圾回收器是对垃圾回收算法的实现,是一个嵌入到JVM里面的小工具,例如HotSpot JVM里面的分代回收器,针对年轻代的Serial,ParNew和Parallel Scavenge,针对年老代的CMS、Parallel Old以及Serial Old(MSC)。需要知道这针对年轻代的和针对年老代的这六种垃圾回收器的各自的特点和比较,例如ParNew和Parallel Scavenge有什么区别,MSC的存在是为了什么。
第四:需要知道JVM调优的参数,-Xms,-Xmx,-Xss,-XX:PermSize=64m,等等,知道他们的默认值,知道他们的配合配置。
官方HotSpot JVM调优参数链接:http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html
第五:也是最关键的东西,根据当前java应用,运用以上四点所学,予以JVM最适当的配置。这需要会用各种调试或监控工具和命令,大量的尝试和大量的经验,没有万能的垃圾回收算法和回收器,只有适合自己Java应用的。
发表评论
-
Java对象引用类型
2013-05-09 09:55 981Java对象的引用类型分为强引用、软引用、弱引用和虚应用 强引 ... -
diango创建数据异常no module named base
2013-05-05 22:02 1602本人使用django创建web项目使用的数据库是sqlite3 ... -
hibernate根据hbm自动生成数据库
2013-04-27 10:26 1075今天碰到一个很老的项目,只有hbm文件没有数据库,想根 ... -
svn分支合并到主线的十大注意事项
2013-04-07 10:39 0svn是java软件工程师常用的版本控制工具,但是对于分支到主 ... -
这几年收集的java相关资料
2013-04-06 14:46 614以下是我搜集的java相关资料,有需要的可以联系我,QQ470 ... -
很诡异的一个hibernate问题
2012-12-27 09:39 297在一个service里写了如下一段代码: List<Gr ... -
一种JavaWeb项目开发部署方式
2012-11-16 09:37 1229以前在myeclipse开发Java Web项目的时候 ... -
tomcat支持中文路径图片问题
2012-11-12 14:51 2713今天,上传图片,但是有文件夹是中文的或是图片文件名是中 ... -
已经安装jdk了,运行applet还是提示安装问题解决
2012-11-08 10:57 1319今天,同事的机子已经装了jdk,但是运行带有ap ... -
理解编译型编程语言心得
2012-11-01 14:11 7921,编译型语言,像c和c++都是,在源代码成为 ... -
集成到项目中web.xml报taglib标签错误
2012-10-31 15:45 877web.xml的报错位置: <taglib> ... -
使用润乾报表工具过程、心得和体会
2012-10-31 15:41 5670现在做的这个项目,需要导出相关报表,正好前几个 ... -
(转)Java开源软件六大帮派
2012-10-25 10:40 799原文链接:http://www.oschina.net/que ... -
Linux安装jdk详解
2012-10-22 16:34 7621,下载JDK,肯定官网下载,有多种类型,源码包、bin包、r ... -
(转)Java几款性能分析工具的对比
2012-10-18 11:04 783在给客户进行应用程序维护的过程中,我注意到一些关于高负载条件下 ... -
从编程的角度理解操作系统及其软件设计
2012-10-11 10:58 941我们都知道操作系统是装在计算机上的,所有的计算 ... -
windows程序入口
2012-10-09 15:32 1668操作系统装载应用程序后,做完初始化工作就转到程序的入口点执行。 ... -
回车符和换行符的区别
2012-09-27 18:34 1001回车符号和换行符号产生背景: 在计算机还没 ... -
C语言标准函数库IO处理分析
2012-09-26 16:25 953IO处理函数都在stdio.h头 ... -
C语言标准函数库动态内存分配和释放分析
2012-09-25 11:14 11231,动态内存分配需要程序员手动来释放获得的内存 2,内存分配和 ...
相关推荐
课程中提供的"Java高并发编程与JVM性能调优实战 视频教程 下载下载因为太大存百度云盘1.txt"可能是一个文本文件,包含了获取或解压视频教程的详细步骤,或者是课程大纲或相关资源链接。为了充分利用这门课程,学习者...
在本课程中个,将详细介绍JVM的基本原理、组成以及工作方式,并配合实际案例,介绍相关的调优技巧。 课程大纲: 第一课 初识JVM JVM分类 Java语言规范 JVM规范 介绍JVM的基本知识和发展历史,并介绍了Java语言...
3. **JVM调优**:Java虚拟机(JVM)是大数据平台的基础,高效的JVM配置能极大提升系统的运行效率。课程会涵盖内存管理、垃圾回收机制、性能监控工具以及针对性的调优策略。 4. **Flink流处理**:Apache Flink是一款...
- **JVM调优工具**:掌握JConsole、VisualVM等工具的使用,进行性能监控和调整。 10. **设计模式** - **单例模式**:学习多种实现单例的方式,如饿汉式、懒汉式、双重检查锁定等。 - **工厂模式**:了解简单工厂...
- **JVM调优**:通过JDK工具如jmap、jstat、jvisualvm进行性能监控与优化。 - **内存泄漏与内存溢出**:分析原因及解决策略。 3. **多线程** - **线程创建方式**:实现Runnable、Thread,以及线程池的使用。 - ...
15. **JVM优化**:了解JVM的工作原理,包括类加载机制、内存模型、垃圾回收策略,以及如何通过JVM参数进行性能调优。 以上这些知识点构成了Java程序员必备的技能树,通过复习和实践,能够帮助开发者系统地提升Java...
通过这些资源,你可以深入理解Redis的数据结构和操作命令,掌握JVM的内存管理与调优,了解ActiveMQ的消息传递机制,以及利用JUC构建高并发应用的技巧。同时,脑图的形式使得学习过程更为直观和高效。
- Java相关的高级开发技术,如JVM调优、并发编程等。 - 容器化技术,如Docker和Kubernetes,在微服务架构中的应用。 - 持续集成和持续部署(CI/CD)实践,提高软件交付的速度和质量。 由于文件内容的不完整和混乱...
此外,深入理解JVM运行原理、反射、IO流、Lambda表达式以及Java集合框架(如List、Set、Map)和泛型也是必不可少的。同时,掌握多线程技术和网络编程,包括线程同步、互斥锁、死锁、网络通信协议(如TCP/IP)和...
- **JVM**:内存模型、垃圾回收机制、性能调优。 - **Spring框架**:IoC(控制反转)、AOP(面向切面编程)、Spring Boot快速开发。 - **MyBatis**:持久层框架,SQL映射文件的编写,动态SQL的使用。 - **MVC...
1. **JDK核心API深度剖析**:深入理解API的底层工作原理,如垃圾收集(GC)分析和调优、JVM内存参数优化。 2. **Java泛型**:学习如何使用泛型来编写类型安全的代码,减少类型转换的错误。 3. **JDK新特性**:关注Java...
15. **Java性能优化**:内存管理、垃圾回收机制、JVM调优,以及代码性能分析工具的使用。 以上这些知识点构成了一个全面的Java学习路线,通过【清华IT-java课件】,学习者可以逐步提升自己的编程能力和项目实践经验...
1. 性能调优:理解JVM性能监控,学习调优技巧,如内存泄漏检测、GC优化等。 2. 测试框架:学习JUnit、Mockito等单元测试工具,理解测试驱动开发。 七、项目实战 通过实际项目,将理论知识转化为实际操作能力,提升...
深入理解JVM内存模型,学习参数调优,以及JUC(Java并发包)中的线程高级知识。Zookeeper作为分布式架构的注册中心,Docker虚拟化应用容器,以及全文检索引擎ElasticSearch和消息队列RabbitMQ也将被涵盖。学员将参与...
13. **性能优化**:包括内存管理、JVM调优和应用性能监控。 14. **安全与认证**:涉及HTTPS、SSL、Spring Security等,保护系统安全。 15. **持续集成与自动化测试**:Git版本控制、Maven构建工具、JUnit测试框架的...
Java程序员面试大纲主要涵盖以下几个方面的知识点: 1. **项目介绍**:面试中,面试官通常会询问关于项目的经验,包括项目的目标、价值、技术栈、你在项目中的角色、项目架构、优缺点以及个人的成长。这考察的是你...
│ │ JVM调优实战.doc │ │ Tomcat7优化.docx │ │ 深入理解Java内存模型.pdf │ │ │ └─课后资料 │ ├─笔记 │ │ 淘淘商城_day20_课堂笔记.docx │ │ │ └─视频 │ 07-使用Jedis连接集群操作.avi │ ...
10. **JVM优化**:了解JVM的运行机制,如类加载、类加载器、类的生命周期,以及如何通过JVM参数进行性能调优。 在"readme.txt"中,可能会包含关于如何使用这些学习资源的指导,例如课程大纲、学习路径建议,或者是...
面试中可能会让你解释堆内存、栈内存的区别,或者如何调优JVM参数以提高性能。 七、IO与NIO Java的输入输出流(IO)和非阻塞IO(NIO)是处理文件、网络通信的关键。面试时可能需要你解释流的分类,理解缓冲区的概念...
8. **JVM内存模型**:理解JVM的内存结构,包括堆、栈、方法区、程序计数器、本地方法栈等,以及垃圾回收机制(GC)的工作原理和调优。 9. **性能优化**:学习如何分析和优化Java应用程序的性能,包括代码优化、JVM...