JAVA基础
文章平均质量分 74
温文吻问h
这个作者很懒,什么都没留下…
展开
-
JAVA IO模型(三)——网络IO之BIO,NIO,AIO
目录1.1. Java IO读写原理 1.1.1. 内核缓冲与进程缓冲区 1.1.2. java IO读写的底层流程 1.2. 四种主要的IO模型 1.3. 同步阻塞IO(Blocking IO) 1.4. 同步非阻塞NIO(None Blocking IO)1.5. IO多路复用模型(I/O multiplexing)1.6. 异步IO模型(asynchronous...转载 2019-10-21 10:21:54 · 273 阅读 · 0 评论 -
JAVA IO 和NIO(一)
java.io包下面有字节流和字符流两种形式的操作1. 首先明白字节和字符的关系 推荐阅读:常见的字符编码方式:字符编码笔记 深入分析 Java 中的中文编码问题 简单来说:字节--->解码--->字符,再进一步:若干字节--->选择某种解码方式--->解码--->索引字符集--->映射到字符 也就是说实际总线中流动的...转载 2019-08-21 18:41:38 · 113 阅读 · 0 评论 -
并发编程实战笔记
多线程:@GuardedBy(lock):this : 在其类中定义字段的对象的固有锁。class-name.this : 对于内部类,可能有必要消除“this”的歧义; class-name.this指定允许您指定“this”引用的意图。itself : 仅供参考字段; 字段引用的对象。field-name : 锁对象由字段名指定的(实例或静态)字段引用。class-na...原创 2019-09-10 10:22:16 · 202 阅读 · 0 评论 -
多线程编程(二):同步器框架——AQS
一. AQS背景了解 参考:https://www.cnblogs.com/shoshana-kong/p/10835181.htmljava.util.concurrent并发包中提供了很多同步工具类来帮我们实现同步,整个JUC包的框架图如下:可见AbstractQueuedSynchronizer类是整个JUC包的核心:二.AQS涉及技术模板方法:模板方法模式在一个方法...原创 2019-09-17 14:39:29 · 541 阅读 · 0 评论 -
多线程编程(三):java存储模型
16.1 什么是存储模型?要它何用?例如:线程A将变量variable赋值为3,那在怎样的情况下,线程B中条件(variable == 3)成立呢?多线程环境下有很多因素可以令其不成立,有可能新值仅储存在寄存器里,还有可能新值仅写入了线程A所在处理器的本地Cache,而没有写入主存。如果缺少同步,其他线程可能无法立即——甚至永远——看到另一个线程操作产生的结果:编译器生成的指...原创 2019-09-18 14:59:45 · 235 阅读 · 0 评论