-
yexindonglai@163.com
2022-03-01 11:02
Java
594°
0
什么是jstatjstat用法-命令选项vmid间隔时间/毫秒查询次数命令选项介绍【options】-class打印出类加载的信息-compiler编译信息的数量和时间-gc打印堆内存使用情况和垃圾回收统计信息的命令-gccapacity打印堆内存使用情况-gccause打印出导致GC的原因-gcnew新生代垃圾回收统计-gcnewcapacity新生代内存大小统计-gcold老年代垃圾回收统计-gcoldcapacity老年代内存大小统计-gcpermcapacity永久代(方法区)空间统计jdk7-gcmetacapacity元数据空间统计jdk8-gcutil总结垃圾回收统计-print
-
yexindonglai@163.com
2022-03-01 11:01
Java
650°
0
什么是jinfojinfo是JDK自带的命令,可以用来查看正在运行的java应用程序的扩展参数,包括JavaSystem属性和JVM命令行参数;也可以动态的修改正在运行的JVM一些参数。当系统崩溃时,jinfo可以从core文件里面知道崩溃的Java应用程序的配置信息;注意:如果你使用的是Mac系统,JDK1.8执行此命令会报一个错:Can'tattachtotheprocess.Couldbecausedbyanincorrectpidorlackofprivileges.,据说是JDK1.8的bug,官方推荐用1.8以上的版本使用;jinfo使用方法//常规使用方法jinfo[option
-
yexindonglai@163.com
2022-03-01 10:58
Java
3344°
0
问题问题当我点击最下面任务栏的idea图标,跳了一下之后就再也没反应了什么提示也没有,咱也不知道啥问题啊,但是咱会百度啊,百度说是让我点进去应用程序—>在idea上右击->显示报内容进入包内容后,双击Comtents/MacOs/idea文件,然后会在控制台打印一连串的信息Toupdateyouraccounttousezsh,pleaserun`chsh-s/bin/zsh`.Formoredetails,pleasevisithttps://support.apple.com/kb/HT208050.macdeMacBook-Pro:~mac$/Users/mac/Downloads/In
-
yexindonglai@163.com
2022-03-01 10:57
Java
1085°
0
前言什么是jmap使用方法命令格式:options参数命令详解nooption无参数查进程—查看内存中共享对象信息1、-heap显示java堆详细信息heap结果说明HeapUsage:2、-histo[:live]显示堆中对象的统计信息(到目前为止还存活的对象)结果说明3、-clstats打印类加载信息4、-finalizerinfo显示在F-Queue队列等待被清理的对象5、-dump<dump-options>生成堆转储快照完前言本次博客测试环境使用的是JDK1.8,系统使用CentOSLinuxrelease7.4.1708(Core)什么是jmapjmap是一个多功能的命令,也是jd
-
yexindonglai@163.com
2022-03-01 10:56
Java
636°
0
什么是jstack使用方法options参数说明状态说明nooption参数-l打印锁的附加信息导出堆栈文件实战一、找出cpu占用最高的线程(linux系统)找线程-第一种方式找线程-第二种方式使用jstack分析堆栈快照1、快速查找(推荐使用)2、常规方法实战二、找出cpu占用最高的线程(windows系统)查进程号pid查线程号TID线程id转16进制使用jstack导出堆栈并分析在java层面打印堆栈完什么是jstackjstack的主要作用是查看或者导出java线程的堆栈信息(快照);用于堆栈跟踪,当我们使用jstack命令时,它会将指定进程内的所有线程中方法的调用栈打印出来。线程快照
-
yexindonglai@163.com
2022-03-01 10:55
linux
1573°
0
前言find查找某个文件模糊匹配文件grep命令—-查找文件内容head命令查看文件内容头几行tail命令查看文件内容末尾几行cat命令升序查看文件所有内容tac命令倒序查看文件所有内容more命令翻页展示less命令less命令内常用操作使用less命令从末尾开始往前翻页less的其他命令参考:nl命令展示行号前言当我们的java项目上线后,一般的java项目都是部署到linux环境的,如果生产出现问题,就需要我们有能力在linux系统上查找问题所在,而常见的查找问题的方式就是看log日志,看看哪个地方出现异常,再根据异常情况进行代码修改;以下命令都是查询日志文件内容可以用到的命令,使用这些
-
yexindonglai@163.com
2022-03-01 10:53
Java
694°
0
什么是Arthas摘录一段官方Github上的简介Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:这个类从哪个jar包加载的?为什么会报各种类相关的Exception?我改的代码为什么没有执行到?难道是我没commit?分支搞错了?遇到问题无法在线上debug,难道只能通过加日志再重新发布吗?线上遇到某个用户的数据处理有问题,但线上同样无法debug,线下无法重现!是否有一个全局视角来查看系统的运行状况?有什么办法可以监控到JVM的实时运行状态?Arthas支持JDK6+,支持Linux/Mac/Windows,
-
yexindonglai@163.com
2022-03-01 10:52
Java
1882°
0
前言模拟内存泄漏启动运行监控解决方案:使用arthas解决方案二:使用jmap为什么Date和Bigdecimal对象没被回收1、taskList链接着info对象2、线程引用这info对象解决方案完前言有些人傻傻分不清内存泄漏和内存溢出的区别,这里简单做个科普内存溢出:就是内存不够用了,对象需要的内存大小大于你分配的堆大小,内存溢出最常见的错误就是OutOfMemoryError,简称OOM;内存泄漏:对象用完之后没被垃圾回收器(GC)回收,既然没被回收,那么这个对象就会一直占用着内存空间,这就是内存泄漏。内存泄漏的最终结果就是会导致内存溢出。因为对象一直占用,久而久之,一直叠加到超过最大堆
-
yexindonglai@163.com
2022-03-01 10:51
Java
1017°
0
前言在网上看到大部分的帖子都有介绍性能调优的案例,其中有一项就是告诉你Xms和Xmx参数一定要设置成相同的,这样就可以达到优化的目的,就像这样-Xms1024m-Xmx1024m但是却没说为什么要这么设置,那么这篇文章就是来告诉你这样设置的目的。底层做了哪些事情。jvm性能调优的最基本条件 首先我们要知道,垃圾回收器(GC)在回收内存空间时候,所有的工作线程都会暂停,待回收工作完成后,工作线程才会继续运行。如果GC太频繁,工作线程的效率和响应时间肯定会受影响,所以,jvm性能调优的最基本条件就是<fontcolor="red">要尽可能地减少垃圾回收的次数</font>。那么说到这里,j
-
yexindonglai@163.com
2022-03-01 10:51
Java
868°
0
jvm内存结构各区域的默认值堆内存堆空间初始值:堆空间最大值:老年代:新生代:新生代和老年代比例:Survivore区:eden区:非堆内存方法区:栈内存堆空间各区域大小划分完jvm内存结构首先,我们来看看jvm堆内存结构,分别新生代、老年代,其中新生代又分为eden区和Survivore区,Survivore区又分为from区和to区;除了堆内存之外,Java虚拟机还有一个非堆的空间,这个空间由所有线程共享的方法区。方法区(也叫永久代)属于非堆内存。它存储每个类结构,如运行时常数池、字段和方法数据,以及方法和构造方法的代码。它是在Java虚拟机启动时创建的。各区域的默认值堆内存堆空间初始值: