![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
jvm
kingkyrie
学以致用,顺势而为!
展开
-
深入理解Java对象的创建过程:类的初始化与实例化
摘要: 在Java中,一个对象在可以被使用之前必须要被正确地初始化,这一点是Java规范规定的。在实例化一个对象时,JVM首先会检查相关类型是否已经加载并初始化,如果没有,则JVM立即进行加载并调用类构造器完成类的初始化。在类初始化过程中或初始化完毕后,根据具体情况才会去对类进行实例化。本文试图对JVM执行类初始化和实例化的过程做一个详细深入地介绍,以便从Java虚拟机的角度清晰解剖一个Java对转载 2017-12-21 21:59:09 · 334 阅读 · 0 评论 -
GC ROOT的真实含义
作者:RednaxelaFX 链接:https://www.zhihu.com/question/53613423/answer/135743258 来源:知乎 著作权归作者所有,转载请联系作者获得授权。之前看深入理解JVM这本书,对里面的GC ROOT的真实含义不是太清楚,网上查了一大堆资料都没有说的很清楚,下面这是从知乎大神上看到的,这里面记录一下,和大家一起学习所谓“GC ro...转载 2018-07-04 22:44:35 · 5781 阅读 · 1 评论 -
Using JMeter to build a Web Test Plan
参考文档:Building a Web Test PlanUser's Manual转载 2018-07-08 18:50:33 · 171 阅读 · 0 评论 -
使用 VisualVM 进行性能分析及调优
概述开发大型 Java 应用程序的过程中难免遇到内存泄露、性能瓶颈等问题,比如文件、网络、数据库的连接未释放,未优化的算法等。随着应用程序的持续运行,可能会造成整个系统运行效率下降,严重的则会造成系统崩溃。为了找出程序中隐藏的这些问题,在项目开发后期往往会使用性能分析工具来对应用程序的性能进行分析和优化。VisualVM 是一款免费的性能分析工具。它通过 jvmstat、JMX、SA(Servic...转载 2018-07-08 18:37:59 · 187 阅读 · 0 评论 -
jvm调优原则,目的和一般步骤
转自简书:https://www.jianshu.com/p/d45e12241af4在调优之前,我们需要记住下面的原则:多数的Java应用不需要在服务器上进行GC优化;多数导致GC问题的Java应用,都不是因为我们参数设置错误,而是代码问题;在应用上线之前,先考虑将机器的JVM参数设置到最优(最适合);减少创建对象的数量;减少使用全局变量和大对象;GC优化是到最后不得已才采用的手段;在实际使用中...转载 2018-07-08 12:45:15 · 3980 阅读 · 2 评论 -
JDK8堆默认比例
JDK8默认的,新生代 ( Young ) 与老年代 ( Old ) 的比例的值为 1:2 ( 该值可以通过参数 –XX:NewRatio 来指定 ),即:新生代 ( Young ) = 1/3 的堆空间大小。老年代 ( Old ) = 2/3 的堆空间大小。其中,新生代 ( Young ) 被细分为 Eden 和 两个 Survivor 区域,这两个 Survivor 区域分别被命名为 from...原创 2018-07-08 11:58:03 · 10390 阅读 · 2 评论 -
设置JVM参数,查看堆大小
1.在eclipse设置JVM参数 打开eclipse-窗口-首选项-Java-已安装的JRE(对在当前开发环境中运行的java程序皆生效,也就是在eclipse中运行的java程序)编辑当前使用的JRE,在缺省VM参数中输入: -Xmx1024m -Xms1024m -Xmn256m -Xss16m 或者在运行一个java程序的时候执行: java -Xmx10...转载 2018-04-03 22:06:38 · 353 阅读 · 0 评论 -
深入理解Java类加载器(一):Java类加载原理解析
摘要: 每个开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这个异常背后涉及到的是Java技术体系中的类加载机制。本文简述了JVM三种预定义类加载器,即启动类加载器、扩展类加载器和系统类加载器,并介绍和分析它们之间的关系和类加载所采用的双亲委派机制,给出并分析了与Java类加载原理相关的若干问题。版权声明: 本文作者:书呆子Rico 作者博客转载 2018-04-02 20:37:11 · 359 阅读 · 0 评论 -
Class对象与反射机制
只保留引用,去原地址查看。【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/70768369 出自【zejian的博客】关联文章:深入理解Java类型信息(Class对象)与反射机制深入理解Java枚举类型(enum)深入理解Java注解类型(@Annotation)深入理解Java并...转载 2018-04-09 22:44:54 · 101 阅读 · 0 评论 -
java线程安全总结(二)
关于线程安全总结(-)请看http://www.iteye.com/topic/806990 ,发该贴后,很多朋友都发站内消息问我一些问题,我把回复整理成一篇帖子。敬请高人手下留情,小可谢过了。 站内很多人都问我,所谓线程的“工作内存”到底是个什么东西?有的人认为是线程的栈,其实这种理解是不正确的。看看JLS(java语言规范)对线程工作 内存的描述,线程的working memo...转载 2018-03-10 10:26:04 · 93 阅读 · 0 评论 -
《深入理解java虚拟机》之内存模型与安全
不同的平台,内存模型是不一样的,但是jvm的内存模型规范是统一的。其实java的多线程并发问题最终都会反映在java的内存模型上,所谓线程安全无非是要控制多个线程对某个资源的有序访问或修改。总结java的内存模型,要解决两个主要的问题:可见性和有序性。(所以学好JVM至关重要啊啊啊)我们都知道计算机有高速缓存的存在,处理器并不是每次处理数据都是取内存的。JVM定义了自己的内存模型,屏蔽了底层平台内...转载 2018-03-10 10:19:32 · 148 阅读 · 0 评论 -
JVM 之 GC日志分析
常用JVM参数http://blog.csdn.net/gzh0222/article/details/8223277 分析gc日志后,经常需要调整jvm内存相关参数,常用参数如下-Xms:初始堆大小,默认为物理内存的1/64(<1GB);默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制-Xmx:最大堆大小,默认(MaxHea...转载 2018-02-12 19:51:12 · 169 阅读 · 0 评论 -
真正理解线程上下文类加载器(多案例分析)
真正理解线程上下文类加载器(多案例分析) <div class="article_manage clearfix"> <div class="article_l"> <span class="link_categories"> 标签: <a href="http://www.csd转载 2017-12-27 11:58:09 · 251 阅读 · 0 评论 -
JVM线程状态,park, wait, sleep, interrupt, yeild 对比
JVM线程状态NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATEDBLOCKED是等待获得对象锁WAITING是调用了wait, sleep, park 操作系统线程状态 sleep, 进入TIMED_WAITING状态,不出让锁wait, 进入TIMED_WAITING状态,出让锁,并进入对象的等...转载 2018-08-29 09:47:16 · 578 阅读 · 0 评论