
Java
Java
Crzis
人生若只如初见,何事秋风悲画扇。
等闲变却故人心,却道故人心易变。
展开
-
浅谈零拷贝
DMA:直接寄存器访问(Direct Memory Access,直接存储器访问)。现在所有电脑的重要技术,允许不同速度硬件之间的相互访问,外部设备不通过CPU,而通过DMA控制器代替CPU进行数据传输。从而减少了CPU中断,减轻负荷。当一台服务器通过网络向另一台服务器发送数据时:传统的拷贝方式:1. 数据从磁盘拷贝到内核缓冲区reader buffer中(用户态切换到内核态)。 2. 数据从内核缓冲区拷贝到用户缓冲区中 (内核态切换到用户态)。 3. 数据从用户缓冲区拷贝到内核s.原创 2020-11-26 17:21:08 · 290 阅读 · 0 评论 -
线程中join方法的解释
刚开始接触join()方法并不明白其作用,但在网上看到这段解释就明白了,在这里记录一下: main是主线程,在main中创建了thread线程,在main中调用了thread.join(),那么等thread结束后再执行main代码。在很多情况下,主线程生成并起动了子线程,如果子线程里要进行大量的耗时的运算,主线程往往将于子线程之前结束,但是如果主线程处理完其他的事务后,需要用到子线程...原创 2018-09-26 09:48:12 · 666 阅读 · 0 评论 -
HashMap 扩容过程以及源码参数解释
HashMap 的底层结构为 数组(Entry数组,每个Entry包含一个key-value键值对)加 链表 ,其中链表是为了解决 哈希碰撞 的数据结构。其中数组的每一个格子承做一个桶,这个桶中装的就是链表元素,每一个链表元素,被称为bin(源自jdk1.8注释)。下边介绍一下源码中定义的一些参数:1.DEFAULT_INITIAL_CAPACITY:默认初始化容量,默认值为1...原创 2019-04-23 16:21:33 · 902 阅读 · 0 评论 -
CountDownLatch 作用理解示例
CountDownLatch 是Java1.5之后引入的Java并发工具类,在java.util.concurrent包下。CountDownLatch 是个计数器锁,用于阻塞当前线程,等待其他前程都执行完毕 再继续执行。初始化是需要传入一个int类型的整数:CountDownLatch countDown = new CountDownLatch(5) 表示初始计数器的值表示 线程数。作...原创 2019-07-29 16:01:25 · 1343 阅读 · 0 评论 -
Volatile关键字失效
volatile关键字用于修饰简单类型变量,如int、float、boolean等数据类型,保证同一时刻只能有一个线程修改变量。volatile修饰变量的操作就会变成原子级别的,但这有一定的情况会失效:public class VolatileTEST { volatile static int val = 0; public static void main(St...原创 2019-08-05 19:35:34 · 1545 阅读 · 0 评论