上一页 1 2 3 4 5 6 7 8 ··· 14 下一页
摘要: 零拷贝 零拷贝指的是,应用程序在需要把内核中的一块区域数据转移到另外一块内核区域去时,不需要经过先复制到用户空间,再转移到目标内核区域去了,而直接实现转移。 在网络通信上,使用直接内存。Netty 接收和发送 ByteBuf 采用堆外直接内存进行 Socket 读写,不需要进行字节缓冲区的二次拷贝。 阅读全文
posted @ 2023-12-13 23:36 轻寒 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 乐观锁和悲观锁 乐观锁与悲观锁不是指具体的什么类型的锁,而是指看待并发同步的角度。 悲观锁认为对于同一个数据的并发操作,一定是会发生修改的,哪怕没有修改,也会认为修改。 因此对于同一个数据的并发操作,悲观锁采取加锁的形式。悲观的认为,不加锁的并发操作一定会出问题。 乐观锁则认为对于同一个数据的并发操 阅读全文
posted @ 2023-12-11 23:36 轻寒 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 概念: synchronized是Java的一个关键字,它能够将代码块(方法)锁起来。 synchronized的锁可重入、不可中断、非公平。 优点 它使用起来是非常简单的,只要在代码块(方法)添加关键字synchronized,即可以实现同步的功能。 synchronized是一种互斥锁。 一次只 阅读全文
posted @ 2023-12-10 23:39 轻寒 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 适应自旋锁:自旋时间不固定 在Java中,自旋锁是指尝试获取锁的线程不会立即阻塞,而是采用循环的方式去尝试获取锁,这样的好处是减少线程上下文切换的消耗,缺点是循环会消耗CPU。 锁竞争是kernal mode下的,会经过user mode(用户态)到kernal mode(内核态) 的切换,是比较花 阅读全文
posted @ 2023-12-09 23:35 轻寒 阅读(6) 评论(0) 推荐(0) 编辑
摘要: ReentrantLock 可重入 ReentrantLock 和 syncronized 关键字一样,都是可重入锁,不过两者实现原理稍有差别, RetrantLock 利用 AQS 的的 state 状态来判断资源是否已锁,同一线程重入加锁, state 的状态 +1 ; 同一线程重入解锁, st 阅读全文
posted @ 2023-12-08 20:34 轻寒 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 分类 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁 synchronized 有锁升级过程 在 JDK1.6 之前, syncronized 是一把重量级的锁 在 JDK1.8 中,其实默认是轻量级锁,但如果设定了 -XX:B 阅读全文
posted @ 2023-12-07 23:05 轻寒 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 概念: AQS是一种比较经典的模板方法模式的JDK应用 AQS其实就是一个可以给我们实现锁的框架 内部实现的关键是: 先进先出的队列、state状态 定义了内部类ConditionObject 拥有两种线程模式: 独占模式 共享模式 相关锁: 在LOCK包中的相关锁(常用的有ReentrantLoc 阅读全文
posted @ 2023-12-05 22:42 轻寒 阅读(13) 评论(0) 推荐(0) 编辑
摘要: G1收集器 G1收集器的内存结构完全区别去CMS,弱化了CMS原有的分代模型(分代可以是不连续的空间),将堆内存划分成一个个Region(1MB~32MB, 默认2048个分区),这么做的目的是在进行收集时不必在全堆范围内进行。它主要特点在于达到可控的停顿时间,用户可以指定收集操作在多长时间内完成, 阅读全文
posted @ 2023-12-03 23:36 轻寒 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 概要: 1.Java 基本类型的包装类的大部分都实现了常量池技术,即 Byte、Short、Integer、Long、Character、Boolean;2.且数值 [-128,127] 的相应类型的缓存数据,但是超出此范围仍然会去创建新的对象。3.两种浮点数类型的包装类 Float、Double 阅读全文
posted @ 2023-12-02 23:50 轻寒 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 虚拟机栈: 描述的是方法执行时的内存模型,是线程私有的,生命周期与线程相同, 每个方法被执行的同时会创建栈桢(下文会看到),主要保存执行方法时的局部变量表、操作数栈、 动态连接和方法返回地址等信息,方法执行时入栈,方法执行完出栈,出栈就相当于清空了数据, 入栈出栈的时机很明确,所以这块区域不需要进行 阅读全文
posted @ 2023-12-01 23:27 轻寒 阅读(1) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页