jvm jdk tools
文章平均质量分 94
jvm相关
JAVA探索
对知识的贪婪是我前进的动力
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
浅谈Java引用
引用在我们的开发工作中,引用无处不在,可以说我们的工作就是通过引用来对对象进行各种操作。在JDK的<java.lang.ref>包下对引用进行了定义Reference,在源码中对引用定义了四个状态,分别是活跃(Active)、挂起(Pending)、入队(Enqueued)、死亡(Inactive)。正常来说,每个引用的生命周期都会经历这四个状态。生命周期构造函数T referent:引用的对象,被GC特殊处理的对象。ReferenceQueue:即将销毁的引用队列,在创建引原创 2021-08-03 15:28:54 · 578 阅读 · 0 评论 -
面试题总结(持更)
JVMclass 加载过程(class->loading->linking->initializing->gc) 静态变量的赋值过程(先默认后初始化) 双亲委派机制是什么,为什么要用双亲委派(安全) 怎么实现一个自定义的类加载器(extends ClassLoader overwrite findClass defineClass) lazyloading(5种情况) 解释模式/JIT编译模式(-Xmixed(检测热点代码 -XX:CompileThreshold=10原创 2020-06-14 19:01:30 · 362 阅读 · 0 评论 -
jvm1.8运行时内存模型
原创 2020-09-01 14:41:38 · 368 阅读 · 2 评论 -
GC常用参数
### GC常用参数* -Xmn -Xms -Xmx -Xss 年轻代 最小堆 最大堆 栈空间* -XX:+UseTLAB 使用TLAB,默认打开* -XX:+PrintTLAB 打印TLAB的使用情况* -XX:TLABSize 设置TLAB大小* -XX:+DisableExplictGC System.gc()不管用 ,FGC* -XX:+PrintGC* -XX:+PrintGCDetails* -XX:+PrintHeapAtGC* -XX:+PrintG.原创 2020-06-14 19:40:25 · 1398 阅读 · 0 评论 -
jvm 启用远程调试命令
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000transport=dt_socket 选择dt_socket协议server=y y表示启动的JVM是被调试者。如果为n,则表示启动的JVM是调试器。suspend=n y表示启动的JVM会暂停等待,直到调试器连接上。address=8000 指定被调试者的端口...原创 2020-05-29 10:50:40 · 1072 阅读 · 0 评论 -
JVM GC调优总结
GC收集方法总结,G1收费GC算法 新生代 老年代 标记 - 清除算法 CMS (-XX:+UseConcMarkSweepGC) 复制算法 Serial(-XX:+UseSerialGC) ParNew(-XX:+UseParNewGC) ParallelScavenge(-XX:+UseParallelGC) 标记 - 整理算法 SerialOld(-XX:+UseSerialGC) ...原创 2020-05-26 14:35:15 · 402 阅读 · 0 评论 -
记录一个常用jvm启动参数
-Xss1m -Xms256m -Xmx512m -XX:NewRatio=4 -XX:MetaspaceSize=20.8m -XX:MaxMetaspaceSize=512m -XX:-OmitStackTraceInFastThrow -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9998 -Dcom....原创 2019-12-31 16:20:21 · 370 阅读 · 0 评论 -
java StackOverFlowError 栈深度不足
问题:StackOverFlowError异常抛出原因:线程调用的方法过多,导致栈内存超过了jvm指定的栈内存。解决:增加jvm栈内存,或者减少线程所需栈内存。指定栈大小-Xss1m-Xss1024k-Xss1048576-XX:ThreadStackSize=1m-XX:ThreadStackSize=1024k-XX:ThreadStackSize=10...原创 2020-04-15 13:52:21 · 741 阅读 · 0 评论 -
java内存泄漏与内存溢出
内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out of memory!参考:https://www.cnblogs...原创 2020-04-15 13:41:50 · 219 阅读 · 0 评论 -
JDK1.8 添加ssl证书到证书库的方法 以腾讯云证书为例
1.用管理用权限打开cmd命令框2.输入命令keytool -importcert -alias tencentcloudapi_com -keystore "C:\Program Files\Java\jdk1.8.0_211\jre\lib\security\cacerts" -file d:/tencentcloudapi-com.cerd:/tencentcloudapi-...原创 2020-02-23 18:28:50 · 1597 阅读 · 0 评论 -
jvm 参数解释
-server添加该指令,表示使用Java HotSpot Server Virtual Machine (server VM) 代替Java HotSpot Client Virtual Machine (client VM)。jvm虚拟机有两种模式,一种是server,一种是client。在64位操作系统中,jvm默认采用server模式。可以通过命令java -version查看jav...原创 2019-08-22 14:54:32 · 1672 阅读 · 0 评论 -
JVM调优之jmap
jmapjdk自带工具,打印给定进程、核心文件或远程调试服务器的共享对象内存映射或堆内存详细信息。如果给定的进程在64位虚拟机上运行,则可能需要指定-j-d64选项,eg: jmap -J-d64 -heap pid。此实用程序不受支持,可能在JDK的未来版本中可用,也可能不可用。在不存在dbgeng.dll的Windows系统中,需要安装“Debugging Tools for Wind...原创 2019-07-09 00:13:08 · 1197 阅读 · 0 评论 -
jvm进程状态查看命令 jps
jps可以用来查看jvm的进程状态,启动命令等信息。用法:jps [-q] [-mlvV] [<hostid>]-q 只打印运行中的jvm进程pid。他的特性决定了不能与[-mlvV] 一起使用。-m 输出传递给main方法的参数。嵌入式JVM的输出可能为null。-l 将应用程序主类的完整包名称或完整路径名称输出到应用程序的JAR文件。-v 输...原创 2019-07-12 23:02:03 · 1433 阅读 · 0 评论 -
JAVA1.8开发工具使用系列
附上官方文档地址:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/index.html学习好java开发工具,可以让我们更清晰的认识java,并且提高自己对项目有个更好的掌握,不能保证线上的项目不出问题吧,最起码能再出问题后做出正确的排查,笔者也是以这个为目的来进行学习的(项目出问题了不会排查简直太low了 T_T)。大概看...原创 2019-07-12 23:32:28 · 444 阅读 · 0 评论 -
Java应用程序监控之 jconsole
jconsolejconsole 启动一个图形控制台,使您可以监视和管理Java应用程序。JConsole图形用户界面是一个符合Java Management Extensions(JMX)规范的监视工具。JConsole使用Java虚拟机(Java VM)的广泛工具来提供有关Java平台上运行的应用程序的性能和资源消耗的信息。启动JConsole该JConsole的可执行文件中可以找...原创 2019-07-13 00:54:28 · 1086 阅读 · 0 评论 -
JAVA1.8开发工具使用系列 故障排除之jcmd
常用指令:#打印jvm进程,查看pidjcmd -l#dump快照jcmd pid GC.heap_dump fillpath.....hprof#查看java系统属性jcmd pid VM.system_properties#查看jvm属性jcmd pid VM.flags#查看jvm启动指定属性jcmd pid VM.command_line#强制调用...原创 2019-07-15 23:26:41 · 1237 阅读 · 0 评论 -
jvm监控之jstat
jstat用来获取运行中的jvm进程的实时内存使用情况,性能统计信息,可以很直观的查看到jvm各个分区的内存现状,是监控jvm的常用命令。常用指令:#查看gc容量 jstat -gccapacity pid 1000 10#查看gc jstat -gc pid 1000 2#查看各空间利用率jstat -gcutil pid 1000 2#查看元空间容量jsta...原创 2019-08-22 11:01:38 · 798 阅读 · 0 评论 -
jvm进程 运行状况分析命令总结
jvm进程占用内存大小已使用=伊甸园used+S区used+old used+Metaspace used+CompressedClassSpaceUsed打印jvm进程,查看pid,名称,指令jps -lvjcmd -ldumpjcmd pid GC.heap_dump fillpath.....hprof#dumpjmap -dump:live,format...原创 2019-08-22 11:14:47 · 529 阅读 · 0 评论 -
jvm故障排除之jinfo
常用命令:#64位jdk 打印系统属性jinfo -J-d64 -sysprops pid #打印系统属性 打印vm指令jinfo -J-d64 pid #打印jvm属性信息,jinfo -J-d64 -flags pid #修改jvm参数jinfo -flag flagName=value pideg:jinfo -flag MaxHeapFreeRati...原创 2019-08-22 16:07:30 · 323 阅读 · 0 评论 -
JVM调优之jhat
jhat - Java Heap Analysis ToolJHAT命令解析Java堆转储文件并启动WebServer。jhat允许您使用您最喜欢的WebBrowser浏览堆转储。JHAT支持预先设计的查询(例如“show all instances of a known class "Foo"”)以及OQL((Object Query Language对象查询语言)——一种查询堆转储的类似S...原创 2019-07-09 10:09:30 · 635 阅读 · 0 评论
分享