
Java
文章平均质量分 79
xefei-soft
对编程热爱,对新知识渴望,对工作热情,对同事诚恳。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
网络通信-NIO
BIO、NIO、AIO区别 BIO是同步阻塞IO NIO是同步非阻塞 AIO是异步非阻塞,这个用的少,且操作系统支持力度的不够完善。 了解它们区别,必须要搞清楚 同步、异步 与 阻塞、非阻塞 两组的关系。 同步、异步是相对线程运行任务情况以及对用户的感知区分的,所谓同步就是线程接受任务必须把任务运行完成之后才反馈用户结果; 所谓异步就是线程接受到任务后立即反馈给用户状态,然后自己默默的后台运行任务,运行完成之后再把结果通知给用户。 IO同步还是异步主要看IO线程读写操作是同步还是异步。这里BIO、NIO都原创 2022-04-30 21:24:39 · 634 阅读 · 2 评论 -
并发编程-volatile
volatile 作用 volatile是java的关键字用于修饰变量。主要作用保证变量内存可见性和禁止指令重排序。 在代码 中 volatile修饰的变量,在该变量进行赋值操作。java在编译的时候会在赋值操作指令之后插入一条lock前缀指令(内存屏障)。通过该指令保证可见性和禁止指令重排序 可见性 定义:当某一个线程修改了某个对象的共享变量的值时,其他的线程能立即获取到这个变量的最新值。 原理:通常情况下可以简单的认为,线程修改变量都是在自己的工作内存中进行,如果变量是volatile修饰的话,线程修改原创 2022-04-27 21:52:20 · 761 阅读 · 0 评论 -
并发编程-copy-on-write
copy-on-write 译义是写时复制,简称cow。常见中并发编程中,如jdk中并发工具包CopyOnWriteArrayList,CopyOnWriteSet 等就使用的该技术保证并发访问效率。 使用场景: 适合读多写少的场景。 我们知道读写锁也适合读多写少的场景,但与cow使用的完全不同实现技术,而且他们有个本质的区别是cow读写不互斥 而读写锁读写互斥。 实现思想: 多个线程对同一个资源进行访问时,一般读取操作不会有并发安全性问题,直到有一个线程进行对资源修改操作,那么先对资源复制一份,然后在副本原创 2022-04-25 15:10:11 · 1464 阅读 · 0 评论 -
RocketMq-简单使用
生产者 public class TestProducer { public static void main(String[] args) throws InterruptedException, MQClientException { DefaultMQProducer producer = new DefaultMQProducer(); producer.setNamesrvAddr("111.x.x.x:9876"); producer.setProducerGroup("dem.原创 2020-09-07 15:38:57 · 475 阅读 · 0 评论 -
docker镜像制作
最小JDK镜像 准备jdk中jre包,并清理掉部分文件,减少体积. #删除文本文件 rm -rf COPYRIGHT LICENSE README release THIRDPARTYLICENSEREADME-JAVAFX.txtTHIRDPARTYLICENSEREADME.txt Welcome.html \ #删除其他无用文件 rm -rf lib/plugin.jar \ lib/ext/jfxrt.jar \ bin/javaws \ lib/javaws.jar \ lib/desktop原创 2020-08-25 15:48:06 · 319 阅读 · 0 评论