首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
ns7381
掘友等级
软件开发
JAVA/BIGDATA/GO/CLOUD
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
127
文章 127
沸点 0
赞
127
返回
|
搜索文章
最新
热门
java-1.6 jvm-gc
引用计数:每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计数为0时可以回收。此方法简单,无法解决对象相互循环引用的问题。 可达性分析(Reachability Analysis):从GC Roots开始向下搜索,搜索所走过的路径称为引用链。当一个对象到…
java-1.5 jvm-jmm
JVM内存模式指的是JVM的内存分区;而Java内存模式是一种虚拟机规范。 The Java memory model describes how threads in the Java programming language interact through memory.…
jvm-1.4 jvm-object
HotSpot虚拟机中,设计了一个OOP-Klass Model。OOP(Ordinary Object Pointer)指的是普通对象指针,而Klass用来描述对象实例的具体类型。 每一个Java类,在被JVM加载的时候,JVM会给这个类创建一个instanceKlass,保…
java-1.3 jvm-classloader
对于任意一个类,都由加载它的类加载器和这个类本身一起确定其在 java 虚拟机中的唯一性。 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。 类…
java-1.2 jvm-memory
JVM以一个进程(Process)的身份运行在Linux系统上,了解Linux与进程的内存关系,是理解JVM与Linux内存的关系的基础。 下图给出了硬件、系统、进程三个层面的内存之间的概要关系。 从硬件上看,Linux系统的内存空间由两个部分构成:物理内存和SWAP(位于磁盘…
java-1.1 jvm-architecture
每一个Java虚拟机都由一个类加载器子系统(class loader subsystem),负责加载程序中的类型(类和接口),并赋予唯一的名字。每一个Java虚拟机都有一个执行引擎(execution engine)负责执行被加载类中包含的指令。JVM的两种类装载器包括:启动类…
java-3.7 juc-thread
一般创建线程只有两种方式,一种是继承Thread,一种是实现Runnable接口。但是这两种创建方式没有返回值 一般不提倡使用继承Thread来创建线程方式,因为Java只有单继承,不能继承多个。 Callable也是一个接口,很简单就一个call方法返回的就是执行的结果了。和…
java-3.6 juc-collection
它的思想是将物理上的一个锁,拆成逻辑上的多个锁,增加并行度,从而降低锁竞争。它的思想也是用空间来换时间; Segment继承自ReenTrantLock,所以每个Segment就是个可重入锁,每个Segment 有一个HashEntry< K,V >数组用来存放数据,…
java-3.5 juc-lock
AQS(AbstractQueuedSynchronizer)提供了一个FIFO队列,可以看做是一个用来实现锁以及其他需要同步功能的框架。这里简称该类为AQS。AQS的使用依靠继承(模板方法)来完成,子类通过继承自AQS并实现所需的方法来管理同步状态。例如常见的Reentran…
java-3.4 juc-atomic
CAS操作是原子性的,所以多线程并发使用CAS更新数据时,可以不使用锁。JDK中大量使用了CAS来更新数据而防止加锁(synchronized 重量级锁)来保持原子更新。 从Java 1.5开始,JDK提供了AtomicReference类来保证引用对象之间的原子性,就可以把多…
下一页
个人成就
文章被点赞
244
文章被阅读
57,754
掘力值
1,825
关注了
4
关注者
13
收藏集
16
关注标签
16
加入于
2020-09-07