H__D  
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 58 下一页

2020年12月29日

摘要: 一、Selector(选择器)介绍 Selector 一般称 为选择器 ,当然你也可以翻译为 多路复用器 。它是Java NIO核心组件中的一个,用于检查一个或多个NIO Channel(通道)的状态是否处于可读、可写。如此可以实现单线程管理多个channels,也就是可以管理多个网络链接。 为什么 阅读全文
posted @ 2020-12-29 01:32 H__D 阅读(234) 评论(0) 推荐(0)

2020年12月28日

摘要: 一、Channel(通道)介绍 通常来说NIO中的所有IO都是从 Channel(通道) 开始的。 从通道进行数据读取 :创建一个缓冲区,然后请求通道读取数据。 从通道进行数据写入 :创建一个缓冲区,填充数据,并要求通道写入数据。 数据读取和写入操作图示: Java NIO Channel通道和流非 阅读全文
posted @ 2020-12-28 20:32 H__D 阅读(395) 评论(0) 推荐(0)
 
摘要: 一、Buffer(缓冲区)介绍 1.1、Buffer(缓冲区)介绍 Java NIO Buffers用于和NIO Channel交互。 我们从Channel中读取数据到buffers里,从Buffer把数据写入到Channels. Buffer本质上就是一块内存区,可以用来写入数据,并在稍后读取出来 阅读全文
posted @ 2020-12-28 20:03 H__D 阅读(178) 评论(0) 推荐(0)
 
摘要: 一、Java NIO简介 Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作 阅读全文
posted @ 2020-12-28 18:40 H__D 阅读(215) 评论(0) 推荐(0)
 
摘要: 原子(atomic)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为“不可被中断的一个或一系列操作”。在多处理器上实现原子操作就变得有点复杂。让我们一起来聊一聊在Intel处理器和Java里是如何实现原子操作的。 1. 术语定义 在了解原子操作的实现原理前,先 阅读全文
posted @ 2020-12-28 00:21 H__D 阅读(505) 评论(0) 推荐(0)

2020年12月26日

摘要: 一、synchronized基础 synchronized关键字在需要原子性、可见性和有序性这三种特性的时候都可以作为其中一种解决方案,看起来是“万能”的。的确,大部分并发控制操作都能使用synchronized来完成。在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重 阅读全文
posted @ 2020-12-26 16:55 H__D 阅读(325) 评论(0) 推荐(0)

2020年12月25日

摘要: 运行时举例 图解示例 代码 1 public class RuntimeDemo { 2 public static void main(String[] args) { 3 int x = 500; 4 int y = 100; 5 int a = x / y; 6 int b = 50; 7 S 阅读全文
posted @ 2020-12-25 18:48 H__D 阅读(124) 评论(0) 推荐(0)
 
摘要: 1、栈 堆 方法区的交互关系 从内存结构来看 从线程共享与否的角度来看 栈、堆、方法区的交互关系 下面就涉及了对象的访问定位 Person 类的 .class 信息存放在方法区中 person 变量存放在 Java 栈的局部变量表中 真正的 person 对象存放在 Java 堆中 在 person 阅读全文
posted @ 2020-12-25 16:30 H__D 阅读(633) 评论(0) 推荐(0)

2020年12月23日

摘要: 一、什么是CPU缓存 1. CPU缓存的来历 众所周知,CPU是计算机的大脑,它负责执行程序的指令,而内存负责存数据, 包括程序自身的数据。在很多年前,CPU的频率与内存总线的频率在同一层面上。内存的访问速度仅比寄存器慢一些。但是,这一局面在上世纪90年代被打破了。CPU的频率大大提升,但内存总线的 阅读全文
posted @ 2020-12-23 16:00 H__D 阅读(960) 评论(0) 推荐(0)

2020年12月22日

摘要: 双重锁校验单例 代码如下: 1 public class DoubleCheckedLock { 2 3 // 使用volatile修饰禁止重排序 4 private volatile static DoubleCheckedLock instance; 5 6 private DoubleChec 阅读全文
posted @ 2020-12-22 22:48 H__D 阅读(1319) 评论(0) 推荐(0)
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 58 下一页