- 博客(9)
- 资源 (7)
- 收藏
- 关注
原创 深入理解Jvm--MinorGC过程
第一次GC:在不断创建对象的过程中,当Eden区域被占满,此时会开始做Young GC也叫Minor GC1)第一次GC时Survivous中S0区和S1区都为空,将其中一个作为To Survivous(用来存储Eden区域执行GC后不能被回收的对象)。比如:将S0作为To Survivous,则S1为From Survivous。2)将Eden区域经过GC不能被回收的对象存储到To ...
2020-01-17 16:12:14 1151
原创 深入理解JVM之--内存结构
前言在开始之前,先了解一下Jdk1.8开始,舍弃内存结构中的永久代及其原因。(1)jdk1.8 永久代变化图 1.永久代经常内存溢出,引发java.lang.OutOfMemoryError: PermGen异常。 2. 移除 PermGen 可以促进 HotSpot JVM 与 JRockit VM 的融合,因为 JRockit 没有永久代。...
2020-01-17 15:39:56 320
原创 深入理解JVM之--常量池、运行时常量池、字符串常量池
前言在JDK7之前,字符串常量是存在永久带Perm 区的,JDK7开始在将常量池迁移到堆中,这个变化也导致了String的新特性,接下来,我们按照jdk1.7开始后的版本进行介绍。JdK1.7之前Jdk1.7开始一.常量池共有三类:1.运行时常量池2.Class文件常量池3.字符串常量池二. 详解常量池(Constant Pool)1.1常量池(...
2020-01-17 09:25:45 1718 6
原创 深入理解JVM之--运行时数据区域
运行时数据区域 JVM在执行Java程序的过程中会把说管理的内粗分为不同的数据区域。有的区域是在虚拟机启动而创建,有的区域则是跟随线程的启动和结束而建立销毁。如下图,在JVM GC调优中通常都是堆、方法区。1.程序计数器(Pc Register)每个线程都有自己的Pc Register,它的作用是当前线程所执行的指令地址。2.Java虚拟器栈(statck)...
2020-01-16 15:45:55 236
原创 Thread.yield()详解
(1)首先介绍线程运行状态转换,如下图: 新建状态(New):新创建了一个线程对象。 就绪状态(可执行状态,Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。 运行状态(运行状态,Running):就绪状态的线程获取了CPU,执行程序代码。 阻塞状态(Blocke...
2020-01-15 22:54:43 16515 1
原创 深入理解JVM之--类的加载机制
1.类的加载过程 Java中从类被加载到虚拟机内存中开始,到卸载出内存结束。整个生命周期包括: 加载--验证---准备---解析---初始化---使用---卸载,一共七个阶段。其中验证-准备--解析被统称为”连接“,如下图:2.类的初始化JVM规定有且只有四种情况对类进行“初始化”(前提,类没有被初始化)1.使用new关键字实例化对象的时候; 读取或者设置类...
2020-01-15 20:17:24 144
原创 判断一个字符串中的"( )"是否配对
1.基本思想/** * 1、将字符串的每个字符进行遍历 * 2、如果发现是左括号,那么将该字符压入到栈中 * 3、如果是右括号,先去存储好的栈顶找到相应的值, * 4、若栈为空返回false,若匹配,pop该左括号,若不匹配也返回false * 5、最后检验栈中的做括号是否全部都匹配(栈最后为空),返回true,否则返回false */2.代码实现package com...
2020-01-14 18:00:09 779
转载 Java核心深入理解BIO、NIO、AIO
Java核心深入理解BIO、NIO、AIOBIO、NIO、AIO 的区别是什么?同/异步、阻/非阻塞的区别是什么?文件读写最优雅的实现方式是什么?NIO 如何实现多路复用功能?一、IO 介绍我们通常所说的 BIO 是相对于 NIO 来说的,BIO 也就是 Java 开始之初推出的 IO 操作模块,BIO 是 BlockingIO 的缩写,顾名思义就是阻塞 IO 的意思。...
2020-01-12 22:02:54 150
原创 深入理解JVM之--垃圾收集算法
垃圾收集算法 前言开始之前,首先先了解一下对象回收等相关知识(一) 对象回收(1)判断对象是否存活1.引用计数算法给对象中添加一个引用计数器,每当有一个地方引用此对象,计数器就加1;当引用失效时,计数器就减1。计数器值为0的情况下,对象就不可被使用。缺点:很难解决对象之间的相互循环引用的问题。2.根搜索算法通过GC Roots的对象作为起始点,从这些节点开始往...
2020-01-03 11:14:43 160
torque-4.2.0-snap.201302040907.tar.gz
2020-06-11
maui3.3.1.0.tar.gz
2020-06-11
Centos7 python2.7和yum资源包
2020-04-22
基于安卓开发医疗诊断系统(含设计文档和源码)
2020-01-03
友盟消息推送 Java服务端Push SDK
2018-08-31
Ztree官方API及实例教程
2018-03-19
(免费)spring boot 2.0.0 M4 官网文档下载
2017-09-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人