3-JVM垃圾回收算法和垃圾收集器 JVM垃圾回收算法和垃圾收集器1.什么是垃圾回收对于内存当中无用的对象进行回收,如何去判断一个对象是不是无用的对象。 引用计数法:每个对象中都会存储一个引用计数,每增加一个引用就+1,消失一个引用就-1。当引用计数器为0时就会判断该对象是垃圾,进行回收。 但是这样会有一个弊端。就是当有两个对象互相引用时,那么这两个对象的引用计数器都不为0,那么就不会对其进行回收。 可达性分析: 判断某个对象是否可 2020-06-09 JVM #JVM #垃圾收集器 #垃圾回收算法
【环境安装】Kibana安装 【环境安装】Kibana安装Kibana官方下载地址:https://www.elastic.co/cn/kibana 123456789#下载官方安装包wget -b https://artifacts.elastic.co/downloads/kibana/kibana-7.7.1-linux-x86_64.tar.gz#解压安装包tar -zxvf kibana-7.7.1-linux-x8 2020-06-06 环境集成 #Kibana
6-JVM常用工具和优化 JVM 常用工具和优化JDK 自带的jconsolejvisualvm三方的工具arthas调优关注点(内存、GC):内存 MAT XElephant 在线:perfma GC 拿到GC日志,分析GC日志(吞吐量,停顿时间,垃圾回收次数;这三个是评判垃圾收集器好坏的标准) 本地:GCViewer 在线:gceasy.io 在什么情况下调优体现系统性能的参考因素首先我们需要知道系统当前的运 2020-05-15 JVM #JVM
2-内存模型 内存模型 方法区 JDK1.7 之前包含1.7 将方法区称为 Perm Space 永久代 JDK1.8之后包含1.8 将方法区称为 MetaSpace 元空间。 堆(分配内存会大一些) 分配对象、new 实例。 堆内存当中划分为两个区域:老年代和新生代。内存分配为3(老年代):1(新生代) 如何去划分老年代和新生代,根据对象的年龄。这个年龄是一个对象经过一次GC,如果还存在的话,年龄就加一 2020-05-15 JVM #JVM
5-JVM常用的命令 JVM常用的命令jps :基础工具查看JAVA进程PID。 jps 命令用来查看所有 Java 进程,每一行就是一个 Java 进程信息。 jps 仅查找当前用户的 Java 进程,而不是当前系统中的所有进程,要显示其他用户的还只能用 ps 命令。 jps 常用参数 jps -l 如果是以 class 方式运行,会显示进程的主类 main.class 的全名,如果是以 jar 包方式运行的,就会 2020-05-14 JVM #JVM
4-JVM 参数 JVM 参数 标准参数:不会随着jdk版本的变化而变化。比如:java -version、java -help 非标准参数:随着JDK版本的变化而变化。 -X参数【用的较少】非标准参数,也就是在JDK各个版本中可能会变动 1234567# 修改执行方式# compiled 编译执行方式,第一次使用就编译成本地代码java -Xcomp -version# interpreted 解释执行方式ja 2020-05-07 JVM #JVM
1-JVM基础 JVM基础java源码文件,通过javac 转换成class文件。 找到.java文件 词法分析器 tokens流 语法分析器 语义分析器 字节码生成器 转成.class文件 装载 根据全限定路径名寻找class文件,转换成二进制流。通过ClassLoder.load(String name)(类装载器,name:全限定路径名)不同路径下的类,设置不同路径的类装载器。 Bootstrap 2020-04-25 JVM #JVM
JSON字符串带BOM头 调用三方接口返回值JSON字符串带BOM头”\ufeff”,JSON解析死活报错。 我是用SpringBoot的RestTemplate调用三方接口的,一开始返回值我是用对象接收返回值,发现一直报错,我以为是RestTemplate的接收转换有问题,就将返回值换成了String类型去接收。接收到字符串后再转JSON、JSON字符串解析死活报错。 接口返回值日志如下: 1232020-03-25 2020-03-25 JAVA #JAVA
SpringBoot Redis 配置详解 SpringBoot Redis 配置详解1234567891011121314151617spring: redis: database: 1 host: ${host} port: ${port} password: ${password} timeout: 10000 lettuce: 2020-03-22 SpringBoot #SpringBoot #Redis
SpringBoot Druid 配置详解 SpringBoot Druid 配置详解12345678910111213141516171819202122232425262728293031323334353637383940spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.D 2020-03-18 SpringBoot #SpringBoot #Druid #Mysql连接池