jvm
菜鸟腾飞
一个正在努力奋斗的95后程序员 , 记录我学习成长的点滴
展开
-
Mac配置Hsdis输出java汇编代码
文章目录一.下载hsdis-amd64.dylib文件二.配置hsdis三.jvm配置四.执行验证成果一.下载hsdis-amd64.dylib文件链接: https://pan.baidu.com/s/1QHhnJpHNDal56QLbDZIYAQ 提取码: 2xa9二.配置hsdis放入jre/lib下JavaVirtualMachines ▸ jdk1.8.0_201.jdk...原创 2020-04-01 11:44:52 · 526 阅读 · 0 评论 -
JVM逃逸分析
我们都知道Java中的对象默认都是分配到堆上,在调用栈中,只保存了对象的指针。当对象不再使用后,需要依靠GC来遍历引用树并回收内存。如果堆中对象数量太多,回收对象还有整理内存,都会会带来时间上的消耗,GC表示压力很大,然后影响性能。所以,在我们日常开发中,内存,时间都是相当的宝贵,该如何优化堆栈开销,是一个比较重要的问题。 在这里,我以逃逸分析角度聊聊JVM优化的那些事儿。&...转载 2020-02-01 18:48:09 · 415 阅读 · 0 评论 -
[Java]JVM避免内从泄露,内存溢出
总结网络、书本中的相关知识,介绍如何避免内存泄漏、溢出首先介绍一下什么是内存泄漏、溢出(参考我的收藏):1、内存泄漏 memory leak:对象可达但不可用;是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。2、内存溢出 o...转载 2018-06-19 20:37:46 · 495 阅读 · 0 评论 -
jvm工具-jstack使用
一、介绍jstack是java虚拟机自带的一种堆栈跟踪工具。jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项”-J-d64”,Windows的jstack使用方式只支持以下的这种方式:jstack [-l] pid 主要分为两个功能: a. 针对活着的进程做本地的...转载 2018-04-10 16:22:15 · 4614 阅读 · 0 评论 -
[jvm]九java gc分析
Java GC就是JVM记录仪,书画了JVM各个分区的表演。什么是 Java GCJava GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制。概括地说,该机制对...转载 2018-12-02 13:14:44 · 200 阅读 · 0 评论 -
[jvm]八jvm知识总览
在江湖中要练就绝世武功必须内外兼备,精妙的招式和深厚的内功,武功的基础是内功。对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后,内功就更主要了。一个内功低的人招式在奇妙也打不过一个内功高的人。比如,你剑法再厉害,一剑刺过来,别人一掌打断你的剑,你还怎么使剑法,你一掌打到一个武功高的人身上,那人没什么事,却把你震伤了,你还怎么...转载 2018-12-02 13:13:43 · 202 阅读 · 0 评论 -
[jvm]七调优工具介绍
花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其中就包括如何利用工具来监控调优前后的性能变化。工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗费性能的分析(dump文件分析)一般也不会在生产直接分析,往往dump下来的文件达1G左右,人工分析效率较低,因此利用工具来分析jvm相关问题,长长可以到达事半功倍的效果来。jvm监控分析工具一般分为两类,一种...转载 2018-12-02 13:13:11 · 162 阅读 · 0 评论 -
[jvm]六 jvm调优从 eclipse开始
概述什么是jvm调优呢?jvm调优就是根据gc日志分析jvm内存分配、回收的情况来调整各区域内存比例或者gc回收的策略;更深一层就是根据dump出来的内存结构和线程栈来分析代码中不合理的地方给予改进。eclipse优化主要涉及的是前者,通过gc日志来分析。本文主要是通过分析eclipse gc日志为例来示例如何根据gc日志来分析jvm内存而进行调优,像根据关闭eclipse启动项、关闭各种校验等...转载 2018-12-02 13:10:00 · 157 阅读 · 0 评论 -
[jvm]五tomcat性能调优和性能监控(visualvm)
1、JDK内存优化根据服务器物理内容情况配置相关参数优化tomcat性能。当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用内存的最大值的80%。 Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大.Tomcat默认可以使用的内存为128MB,Windows下,在文件/bin/catali...转载 2018-12-02 13:09:34 · 360 阅读 · 0 评论 -
[jvm]四jvm调优命令
常用的jps -l -mjstat -gc 1262jmap -dump:live,format=b,file=dump.hprof 28920 -heap -finalizerinfo -histo -permstatjhat -J-Xmx512m dump.hprof 关注点Show instance counts for all classes (excluding platf...转载 2018-12-02 13:08:44 · 292 阅读 · 0 评论 -
[jvm]二java内存结构
参考:http://www.cnblogs.com/ityouknow/p/5610232.html所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢?其实如果你经常解决服务器性能问题,那么这些问题就会变的非常常见,了解JVM内存也是为了服务器出现性能问题的时候可以快速的了解那块的内存区域出现...转载 2018-12-02 13:07:25 · 118 阅读 · 0 评论 -
[jvm]一类加载机制
参考:http://www.cnblogs.com/ityouknow/p/5603287.htmljava类的加载机制1、什么是类的加载类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方...原创 2018-12-02 13:06:52 · 123 阅读 · 0 评论