1. 1
  2. 2
  3. 3
最新发布 每页10条   共296条   当前第23页
  • 应该选

    原来jdk自带了这么好玩的工具 > jinfo 使用教程

    yexindonglai@163.com 2022-03-01 11:01 Java

    578°

    0

    什么是jinfojinfo是JDK自带的命令,可以用来查看正在运行的java应用程序的扩展参数,包括JavaSystem属性和JVM命令行参数;也可以动态的修改正在运行的JVM一些参数。当系统崩溃时,jinfo可以从core文件里面知道崩溃的Java应用程序的配置信息;注意:如果你使用的是Mac系统,JDK1.8执行此命令会报一个错:Can'tattachtotheprocess.Couldbecausedbyanincorrectpidorlackofprivileges.,据说是JDK1.8的bug,官方推荐用1.8以上的版本使用;jinfo使用方法//常规使用方法jinfo[option
  • 应该选

    解决mac系统刚安装的idea打不开的问题

    yexindonglai@163.com 2022-03-01 10:58 Java

    3161°

    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
  • 应该选

    原来jdk自带了这么好玩的工具 > jmap 使用教程

    yexindonglai@163.com 2022-03-01 10:57 Java

    1028°

    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
  • 应该选

    原来jdk自带了这么好玩的工具 > 使用 jstack定位死循环

    yexindonglai@163.com 2022-03-01 10:56 Java

    580°

    0

    什么是jstack使用方法options参数说明状态说明nooption参数-l打印锁的附加信息导出堆栈文件实战一、找出cpu占用最高的线程(linux系统)找线程-第一种方式找线程-第二种方式使用jstack分析堆栈快照1、快速查找(推荐使用)2、常规方法实战二、找出cpu占用最高的线程(windows系统)查进程号pid查线程号TID线程id转16进制使用jstack导出堆栈并分析在java层面打印堆栈完什么是jstackjstack的主要作用是查看或者导出java线程的堆栈信息(快照);用于堆栈跟踪,当我们使用jstack命令时,它会将指定进程内的所有线程中方法的调用栈打印出来。线程快照
  • 应该选

    Linux上查询日志内容--常用日志查询命令: find、grep、head、tail、cat、tac、more、less、nl

    yexindonglai@163.com 2022-03-01 10:55 linux

    1521°

    0

    前言find查找某个文件模糊匹配文件grep命令—-查找文件内容head命令查看文件内容头几行tail命令查看文件内容末尾几行cat命令升序查看文件所有内容tac命令倒序查看文件所有内容more命令翻页展示less命令less命令内常用操作使用less命令从末尾开始往前翻页less的其他命令参考:nl命令展示行号前言当我们的java项目上线后,一般的java项目都是部署到linux环境的,如果生产出现问题,就需要我们有能力在linux系统上查找问题所在,而常见的查找问题的方式就是看log日志,看看哪个地方出现异常,再根据异常情况进行代码修改;以下命令都是查询日志文件内容可以用到的命令,使用这些
  • 应该选

    Arthas使用教程 阿里巴巴开源项目、史上最强java线上诊断工具

    yexindonglai@163.com 2022-03-01 10:53 Java

    651°

    0

    什么是Arthas摘录一段官方Github上的简介Arthas是Alibaba开源的Java诊断工具,深受开发者喜爱。当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:这个类从哪个jar包加载的?为什么会报各种类相关的Exception?我改的代码为什么没有执行到?难道是我没commit?分支搞错了?遇到问题无法在线上debug,难道只能通过加日志再重新发布吗?线上遇到某个用户的数据处理有问题,但线上同样无法debug,线下无法重现!是否有一个全局视角来查看系统的运行状况?有什么办法可以监控到JVM的实时运行状态?Arthas支持JDK6+,支持Linux/Mac/Windows,
  • 应该选

    实战 - 分析java项目线上内存泄漏、内存溢出、频繁GC的原因

    yexindonglai@163.com 2022-03-01 10:52 Java

    1781°

    0

    前言模拟内存泄漏启动运行监控解决方案:使用arthas解决方案二:使用jmap为什么Date和Bigdecimal对象没被回收1、taskList链接着info对象2、线程引用这info对象解决方案完前言有些人傻傻分不清内存泄漏和内存溢出的区别,这里简单做个科普内存溢出:就是内存不够用了,对象需要的内存大小大于你分配的堆大小,内存溢出最常见的错误就是OutOfMemoryError,简称OOM;内存泄漏:对象用完之后没被垃圾回收器(GC)回收,既然没被回收,那么这个对象就会一直占用着内存空间,这就是内存泄漏。内存泄漏的最终结果就是会导致内存溢出。因为对象一直占用,久而久之,一直叠加到超过最大堆
  • 应该选

    jvm调优技巧 - 内存抖动 、Xms和Xmx参数为什么要设置相同的值

    yexindonglai@163.com 2022-03-01 10:51 Java

    935°

    0

    前言在网上看到大部分的帖子都有介绍性能调优的案例,其中有一项就是告诉你Xms和Xmx参数一定要设置成相同的,这样就可以达到优化的目的,就像这样-Xms1024m-Xmx1024m但是却没说为什么要这么设置,那么这篇文章就是来告诉你这样设置的目的。底层做了哪些事情。jvm性能调优的最基本条件    首先我们要知道,垃圾回收器(GC)在回收内存空间时候,所有的工作线程都会暂停,待回收工作完成后,工作线程才会继续运行。如果GC太频繁,工作线程的效率和响应时间肯定会受影响,所以,jvm性能调优的最基本条件就是<fontcolor="red">要尽可能地减少垃圾回收的次数</font>。那么说到这里,j
  • 应该选

    jvm调优 - 堆空间各区域大小如何划分配置?

    yexindonglai@163.com 2022-03-01 10:51 Java

    779°

    0

    jvm内存结构各区域的默认值堆内存堆空间初始值:堆空间最大值:老年代:新生代:新生代和老年代比例:Survivore区:eden区:非堆内存方法区:栈内存堆空间各区域大小划分完jvm内存结构首先,我们来看看jvm堆内存结构,分别新生代、老年代,其中新生代又分为eden区和Survivore区,Survivore区又分为from区和to区;除了堆内存之外,Java虚拟机还有一个非堆的空间,这个空间由所有线程共享的方法区。方法区(也叫永久代)属于非堆内存。它存储每个类结构,如运行时常数池、字段和方法数据,以及方法和构造方法的代码。它是在Java虚拟机启动时创建的。各区域的默认值堆内存堆空间初始值:
  • 应该选

    mysql 回表、索引覆盖、最左匹配、索引下推详解

    yexindonglai@163.com 2022-03-01 10:50 Mysql

    818°

    0

    前言在执行一条sql的时候,在mysql内部都会通过以下四个流程+--------------+|连接器|+--------------+\|/+--------------+|分析器|+--------------+\|/+--------------+|优化器|+--------------+\|/+--------------+|执行器|+--------------+我们都知道索引其中一个最主要作用就是加快数据的访问,那么回表、索引覆盖、最左匹配、索引下推都是mysql的内部优化方式,部分的功能是Mysql5.6的版本上推出的,都是针对索引的优化,如果表中没有索引的情况下,那么就不会有