
java
秦时盖聂
想写就写咯!
展开
-
jdk动态代理原理解析
原文地址:https://www.cnblogs.com/gonjan-blog/p/6685611.html想要理解jdk动态代理原理,需要对反射有一定的了解,然后再去思考下面两个问题:为什么是基于接口的? 动态生成的代理类是什么样子?是如何执行的?现在有一个接口以及它的实现类。现在需要在执行每个方法前后打印一条日志。package proxy;public interface Activity { void partake(); void reward();}转载 2020-09-27 15:52:56 · 233 阅读 · 0 评论 -
NIO Socket 编程实现tcp通信入门(一)
1、通过BIO了解 Socket编程BIO就是传统的IO,是同步阻塞式IO。阻塞/非阻塞:从线程的角度来考虑的,线程挂起,不再抢夺cpu资源,则称为线程被阻塞。同步/异步:从并发参与者的角度考虑,多个参与者是否需要互相等待协调,如果任务的执行需要互相等待,互相协调,则为同步。下面的例子中使用到 accept(),read() 两个方法都是阻塞式的。例如执行到read() 方法,若...原创 2018-08-21 11:07:41 · 752 阅读 · 0 评论 -
NIO Socket 编程实现tcp通信入门(二)
1、NIO简介NIO面向通道和缓冲区进行工作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。可以双向传输数据,是同步非阻塞式IO。NIO还引入了选择器机制,从而实现了一个选择器监听多个底层通道,减少了线程并发数。用NIO实现socket的Tcp通信需要掌握下面三个知识点:Buffer 缓冲区 Channel 通道 Selector 选择器 2、java.nio.Buf...原创 2018-08-21 11:07:57 · 880 阅读 · 0 评论 -
NIO Socket 编程实现tcp通信入门(三)
1、概念介绍选择器(Selector)中的三种键集键集中每一个键(SelectionKey)的构造四种操作详情操作 定义 二进制 就绪条件 read int OP_READ = 1 << 0; 0000 0001 OS的读缓冲区中有数据可读 write int OP_WRITE = 1 << 2; 0...原创 2018-08-21 11:08:10 · 347 阅读 · 0 评论 -
java.util.concurrent 并发工具包(一)
该包让java并发编程更轻松。一、Blocking Queue1、BlockingQueue介绍阻塞式队列,通常用于一个线程生产对象,而另外一个线程消费这些对象的场景。操作BlockingQueue时,当操作不能立即执行,各个方法表现也不同,如下: 抛异常 返回特定值 阻塞 超时 插入 add(o) offer(o) put(o)...原创 2018-09-22 19:04:25 · 216 阅读 · 0 评论 -
java.util.concurrent 并发工具包(二)
一、ThreadPoolExecutor 线程池执行者初始化线程池的参数corePoolSize 核心线程大小 maximumPoolSize 最大线程大小 keepAliveTime 空余的多余线程保持时间 unit 时间单位 workQueue 阻塞队列 handler 拒绝服务助手 线程池内部运行机制1、当有任务委托给线程池...原创 2018-09-22 19:04:31 · 228 阅读 · 0 评论 -
学习设计模式前必读
原文地址:https://www.cnblogs.com/wangfupeng1988/p/3687346.html 个人总结: 设计模式学完就忘,归根到底是理解不到位。我们要站在设计的制高点去看待设计模式。 设计模式只是工具,是“术”而不是“道”。 设计模式就像字典,我们在工作的过程中需要经常翻一翻,把工作中碰到的情景与设计模式结合起来理解,通过“术”来理解“道...转载 2018-10-09 11:47:56 · 207 阅读 · 0 评论