上一页 1 2 3 4 5 6 7 ··· 9 下一页

阻塞队列和生产者-消费者模式、ThreadPoolExecutor类相关

摘要: 一.引言 1.1 优势:解耦和阻塞队列方便模式的实现 生产者 消费者模式将 找出完成的工作 和 执行工作 两个过程分离,消除了 生产者和消费者之间的代码依赖性 ,并且将 生产数据与使用数据的过程解耦,简化工作负载的管理,这两个过程处理数据的速度可能不同 。 阻塞队列的阻塞方法put()、take() 阅读全文
posted @ 2018-05-18 13:55 coderDu 阅读(369) 评论(0) 推荐(0)

CopyOnWriteList基本思想、使用场景及实现

摘要: TODO 容器数组使用volatile变量:保证修改后能够是的所有后续的读(写)线程能够立即感知到修改,但是为什么不进行实际写入时仍然要通过相关操作保证“volatile写语义”,见 代码相关操作; 如图所示:写 屏障指令插入策略可以保证在 写之前,所有写操作都已经刷新到主存对所有处理器可见了。其后 阅读全文
posted @ 2018-05-16 00:03 coderDu 阅读(1540) 评论(0) 推荐(0)

Callable、Future和FutureTask简介

摘要: 1. 和`Callable Future FutureTask`对比 和`Callable`都是任务的抽象类,不同的是前者不会返回值,后者有返回值。两者源码如下: 及其实现类 用来获取异步计算结果的,说白了就是对具体的Runnable或者Callable对象任务执行的结果进行获取 ,取消 ,判断是否 阅读全文
posted @ 2018-05-15 19:36 coderDu 阅读(145) 评论(0) 推荐(0)

spring简介:IOC、AOP和常用注解

摘要: POJO: 简单的plain 老式old java 对象Object 1. 依赖注入DI 任何一个应用都有两个以上的类组成,这些类相互协作完成特定的任务逻辑。传统做法是 每个对象负责管理与自己协作的对象的引用(所依赖的对象),但是这将导致高度耦合 。 编写代码应该高内聚、低耦合,耦合会导致难以复用、 阅读全文
posted @ 2018-05-12 00:04 coderDu 阅读(369) 评论(0) 推荐(0)

类的可比较性Comparable和比较器Comparator

摘要: 1. 源码如下: 类实现该接口意味着该类是可比较的,其方法返回值 分别表示当前类比进行比较的类(方法参数)小、相等、大。 实现该接口意味着该类有了‘可比较’的属性 。 2. 部分源码如下: 如果对没有实现 接口的类进行排序,那么可以使用比较器 实现。他可以选出类中一些“信息”进行比较,比如变量甚至哈 阅读全文
posted @ 2018-05-06 23:44 coderDu 阅读(136) 评论(0) 推荐(0)

重排序和内存屏障指令

摘要: 参考及相关文献: [java并发编程艺术](https://book.douban.com/subject/26591326/) "jmm cookbook" "synchronized doug lee" "jsr 133" 英语好有时间的同学,建议瞄一眼此博文去读参考文献内容。 1. 写缓冲区 阅读全文
posted @ 2018-05-06 17:34 coderDu 阅读(859) 评论(0) 推荐(0)

CMS算法

摘要: 一.引言 java堆Heap分为新生代和老年代两个部分,垃圾回收算法主要是针对这两个内存区。 1.可达性分析 从GC Root开始递归搜索其引用的对象,如果一个对象不在这个引用链上,那么这个对象就是不可达的,便应该被回收。 可以作为GC Root的对象: 1. 方法区中的类静态属性引用的对象——存放 阅读全文
posted @ 2018-05-05 13:50 coderDu 阅读(806) 评论(0) 推荐(0)

linux下查看硬件资源和网络资源的使用情况

摘要: 本博文主要讲解Linux对硬件和软件资源的监控命令,包括: 1. 查看cpu、内存、上下文、vm状态的 、top(类似msgtask)和简单的free; 2. IO相关信息 ; 2. 查看网络连接的 、网络IO流量概览的 和每个套接字IO流量的 1. 和其他服务器资源管理命令 是virtual me 阅读全文
posted @ 2018-05-03 19:14 coderDu 阅读(21572) 评论(0) 推荐(3)

对象的使用和共享:ThreadLocal

摘要: 1. 引言 在多线程环境下, 使用 和 共享 对象时有四种常用策略: 1. 线程封闭 :线程封闭的对象只能由一个线程拥有,线程封闭在线程中,并且只能由这个线程修改。实现技术有==栈封闭==和 == == 类; 2. 只读共享:只允许读取的且不可修改的对象可以由多个线程安全的并发访问。不可变对象和事实 阅读全文
posted @ 2018-04-30 15:24 coderDu 阅读(195) 评论(0) 推荐(0)

网络编程之TCP

摘要: 1.引言 本文是对使用java收发TCP报文的讲解,主要有: 1. 实现多客户端—服务器Socket通信; 2. 连接超时、通信超时、半连接等参数设置; 3. 可中断套接字方面的讲解。 在网络编程中(此例),使用的输入输出流对象主要是: "聊天室小程序" 展示了怎么通过Socket让连接到同一个服务 阅读全文
posted @ 2018-04-26 17:57 coderDu 阅读(132) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 ··· 9 下一页