- 博客(12)
- 收藏
- 关注
原创 JVM内功心法-GC垃圾回收之GC垃圾回收过程
JVM内功心法-GC垃圾回收之GC垃圾回收算法GC 全称garbagecollection,垃圾回收。JAVA 为了屏蔽操作系统和平台之间的差异。选择的是采用 java 虚拟机来运行 java 应用。即 jvm。jvm 既然是一个虚拟机,必然涉及到内存的管理。对于内存中的对象需要进行管理。管理内存的一个很重要的事情就是垃圾回收。即将无用的对象清理掉,释放出内存来给应用继续使用。这个过程就是 GC,为什么要有 gc。因为如果内存只使用不回收的话,很快就会占满,导致应用后续运行出现问题。Minor GC/
2022-05-06 22:31:01
1195
原创 JVM内功心法-JVM内存模型之内存溢出
JVM内功心法-JVM内存模型之内存溢出jvm常用参数【想在本地更快复现一些问题就可以调节这些参数】:(1)-Xms20M 表示设置JVM启动内存的最小值为20M,必须以M为单位(2)-Xmx20M 表示设置JVM启动内存的最大值为20M,必须以M为单位。将-Xmx和-Xms设置为一样可以避免JVM内存自动扩展。大的项目-Xmx和-Xms一般都要设置到10G、20G甚至还要高(3)-verbose:gc 表示输出虚拟机中GC的详细情况(4)-Xss128k 表示可以设置虚拟机栈的大小为12
2022-05-04 19:15:29
490
原创 JVM内功心法-JVM内存模型之内存区域
程序计数器(Program Counter Register):也叫PC寄存器,是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令、分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。打开字节码文件可以看到一排排的index加上相应的指令,这个程序计数器就是用来记录这个即将执行的一个流程,当然这个顺序是可
2022-05-02 22:36:19
787
原创 JVM内功心法-类加载之类加载器
JVM内功心法-类加载之类加载器由于类加载器是负责这些和系统运行有关的所有类的加载行为,而针对不同位置的类,JVM提供了三种类加载器:1.启动类加载器(BootStrap ClassLoader) 最顶层的加载类,主要加载核心类库,也就是我们环境变量下面%JRE_HOME%\lib下的rt.jar、resources.jar、charsets.jar和class等,还可以通过启动jvm时指定-Xbootclasspath和路径来改变Bootstrap ClassLoader的加载目录。2.扩展类加载器
2022-05-01 17:51:21
347
原创 JVM内功心法-GC垃圾回收之GC垃圾回收算法
jvm内功心法-GC垃圾回收一,垃圾收集算法标记清除算法标记:Collector从引用根节点开始遍历,标记所有被引用的对象。一般是在对象的Header中记录为可达对象。清除:Collector对堆内存进行从头到尾的线性遍历,如果发现某个对象在其Header中没有标记为可达对象,则将其回收。复制算法它将堆上的内存分为两个大小相等的区域,一个是空闲区域,一个是活动区域,也就是有一半的区域空间一直未被使用标记整理算法先标记出存活对象,接着把所有的存活对象移动到内存的一端,然
2022-04-30 21:52:45
378
原创 java中常用的数据结构详解
java数据结构之集合一:集合数据图1.1 List实例化之ArrayList常用方法详解Collection派生了三个子接口 List,Set,Queue下面分别对派生子接口的实现类进行详解:一:集合数据图1.1 List实例化之ArrayList常用方法详解ArrayList实现了可变大小的数组。它允许所有元素,包括null。1.size,isEmpty,get,set方法运...
2021-12-14 17:16:45
227
原创 JVM内功心法-类加载之类的生命周期
JVM-类加载过程加载(查找并加载类的二进制数据)连接(检验class字节码的准确性并为静态变量分配内存然后将类中的符号引用转换为指针引用)初始化(分配内存区及赋初始值)使用卸载加载(查找并加载类的二进制数据)首先通过一个类的全限定名来获取此类的二进制字节流;其次将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构;最后在java堆中生成一个代表这个类的Class对象,作为方法区这些数据的访问入口。连接(检验class字节码的准确性并为静态变量分配内存然后将类中的符号引用转换为指针引用)
2021-03-09 11:02:28
301
原创 linux环境下安装JDK(提供oracle账号密码下载安装包)
linux环境下安装数据库1.下载安装包2.安装3.验证安装是否成功1.下载安装包进入oracle官网这里对个版本稍微解释一下,大家依据自己的需求选择ARM:arm架构的服务器可以选择x86:32位机器x64:64位机器rpm package:是某个特定的包,比如server,client,shared lib等Compressed Archive:源码(这里我选择的是源码安装 )uname -a2.安装[1].将安装包拷贝到服务器(/use/local)[2].解压安装
2020-11-22 16:56:14
320
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人