JAVA
文章平均质量分 91
小黑测试员
少一些功利主义的追求,多一些不为什么的坚持!
展开
-
Java诊断工具Arthas使用说明
Arthas 是Alibaba开源的Java诊断工具,Arthas支持JDK 6+,支持Linux/Mac/Windows,支持命令行交互模式、 Tab 自动补全功能,方便进行问题的定位和诊断。原创 2022-05-31 15:17:55 · 2064 阅读 · 0 评论 -
JVM相关命令学习总结
JVM命令学习总结 jps:JVM Process Status Tool,显示系统内所有的JVM进程; jstat:JVM Statistics Monitoring Tool,可以收集JVM相关的运行数据,用于监控虚拟机各种运行状态信息的命令行工具。可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。 -class: 监视类装载、卸载数量、总空间及类装载所耗费的时间 -gc: 监视Java堆状况,包括Eden区、2个Survivor区、老年代、..原创 2020-09-07 15:46:29 · 227 阅读 · 2 评论 -
JAVA常见容器学习总结
JAVA容器总结1、JAVA常见容器的继承关系2、Iterable 接口Iterable接口是Java集合框架的顶级接口,实现此接口使集合对象可以通过迭代器遍历自身元素。 Iterable是一个超级接口,被Collection所继承。它只有一个方法: Iterator<T> iterator() //即返回一个迭代器 迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象。迭代器通常被称为“轻量级”对象,因为创建它的代价小。 Java中的.原创 2020-08-31 17:59:46 · 168 阅读 · 0 评论 -
java应用响应时间长、吞吐量小、CPU利用率特别高问题定位笔记(二)
问题现象:系统吞吐量非常低1)首先使用top查看一下系统的资源情况发现cpu利用率非常高2)只用top -Hp 命令查看占用CPU的进程中有哪些线程可以看到有4个线程在消耗cpu资源3)使用jstack pid 命令将jvm的堆栈信息dump下来4)根据线程pid分析jvm的堆栈信息可以发现系统是在频繁GC导致cpu利用率高...原创 2020-07-11 18:19:11 · 860 阅读 · 0 评论 -
java应用响应时间长、吞吐量小、CPU利用率特别高问题定位笔记(一)
环境:一个java应用+tomcat问题描述:响应时间长、吞吐量小、CPU利用率特别高如下图所示:定位分析思路1)看看占用cpu高的进程中有哪些线程使用top -Hp pid命令查看2)使用jstack pid > xxx.txt 将java应用的堆栈信息dump下来3)更具线程PID查看当前线程在干什么(如下图)4)根据信息查看代码找到最终问题...原创 2020-07-11 17:53:36 · 615 阅读 · 0 评论 -
JVM GC简介
JVM GC简介GC名词解释GC:Gabage Collection,指JVM堆内存区域的垃圾回收Minor GC:也叫Young GC,年轻代垃圾回收Major GC:也叫Full GC,年老代垃圾回收年轻代和年老代的GC策略是不一样的,年轻代一般采用的是复制算法。JVM内存模型JVM的内存空间分为:新生代空间(Young)和老年代空间(Old)。新生代空间(Young)又被分为2个部分(Eden区域、Survivous区域)和3个板块(1个Eden区域和2个Survivo原创 2020-07-02 22:46:26 · 506 阅读 · 0 评论 -
极客-JAVA基础学习总结(三)-Class 类、反射
Class 类1、Class 类是代表类的类。每个Class类的实例,都代表了一个类2、在java世界里,一切皆对象。从某种意义上来说,java有两种对象:实例对象和Class对象。每个类的运行时的类型信息就是用Class对象表示的。它包含了与类有关的信息。其实我们的实例对象就通过Class对象来创建的。Java使用Class对象执行其RTTI(运行时类型识别,Run-Time Type Identification),多态是基于RTTI实现的。3、每一个类都有一个Class对象,每当编译一个新原创 2020-06-17 23:55:35 · 170 阅读 · 0 评论 -
极客-JAVA基础学习总结(二)
极客-JAVA基础学习总结常见异常1、IndexOutOfBoundException 数组出界(越界)的错误2、NullPointerException 空指针异常3、ClassNotFoundException 指定的类不存在4、IllegalArgumentException 方法的参数错误5、ArithmeticException 数学运算异常8种基本数据类型byte(位)short(短整数)int(整数)long(长整数)float(单精度)do原创 2020-06-16 22:39:59 · 218 阅读 · 0 评论 -
极客-JAVA基础学习总结(一)
常见异常1、IndexOutOfBoundException 数组出界(越界)的错误2、NullPointerException 空指针异常3、ClassNotFoundException 指定的类不存在4、IllegalArgumentException 方法的参数错误5、ArithmeticException 数学运算异常8种基本数据类型byte(位)short(短整数)int(整数)long(长整数)float(单精度)double(双精度)char原创 2020-06-15 23:27:30 · 167 阅读 · 0 评论 -
Java基础知识问答总结
Java基础知识问答1、error 和exception 有什么区别?答:1、error 表示系统级的错误和程序不必处理的异常,是恢复很困难的情况下的一种严重问题;比如内存溢出,不可能指望程序能处理这样的情况;2、exception 表示需要捕捉或者需要程序进行处理的异常,是一种设计或实现问题;它表示如果程序运行正常,从不会发生的情况。2、常见的runtime exception ?答:ClassCastException类转换异常IllegalArgumentException原创 2020-06-14 22:28:07 · 148 阅读 · 0 评论 -
关于JVM垃圾回收的问题
1、什么是垃圾?没有任何引用指向的一个对象或者多个对象(循环引用)2、如何定位垃圾?1. 引用计数 -- 缺点处理不了相互引用的对象2. 根可达算法3、常用垃圾回收算法1. 标记清除 - 位置不连续 产生碎片2. 拷贝算法(复制算法) - 没有碎片,浪费空间3. 标记压缩(标记整理算法) - 没有碎片,效率偏低4. 分代收集算法 - 没有碎片,比较复杂标记-清除算法标记清除算法(Mark-Sweep)是最基础的一种垃圾回收算法,它分为2部分,先把内存区域中的这原创 2020-06-14 21:37:19 · 329 阅读 · 0 评论