![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java高级技术
文章平均质量分 89
Java高级技术
YunWQ
好记性不如烂笔头,加油!!!
展开
-
10分钟学会NIO技术
NIO的概述NIO是New I/O的简称,与旧式基于流的I/O相对,从名字上来看,它表示新的一套I/O标准。它是从JDK1.4中被纳入到JDK中的。与旧式的IO流相比,NIO是基于Block的,它以块为单位来处理数据,最为重要的两个组件是缓冲区Buffer和通道Channel。缓冲区是一块连续的内存块,是NIO读写数据的载体;通道表示缓冲数据的源头和目的地,它用于向缓冲区读取或者写入数据,是访问缓冲区的接口。Buffer的基本原理Buffer中最重要的3个参数:位置(position)、容量(ca原创 2020-06-10 17:07:53 · 677 阅读 · 0 评论 -
Java线程状态和线程池
线程的状态线程池的基本概念线程是稀缺资源,如果被无限制的创建和销毁,不仅会消耗系统资源,还会降低系统性能能。合理的使用线程池可以更好的利用CPU的空闲时间,对线程进行统一分配,具体有以下几个好处。1.降低资源消耗2.提高响应速度3.提高线程的可管理性线程池是从JDK1.5之后引入的,线程池中有若干个线程对象,当有任务需要执行时就从池子中拿一个线程过来执行任务,执行完任务之后线程不会被销毁,而是归还到池子给其他要执行的任务复用。这样就避免了频繁的创建线程和销毁线程浪费系统资源,同时也提高了系原创 2020-06-08 16:04:02 · 240 阅读 · 0 评论 -
不理解依赖倒置和控制反转,看完这篇文章就够了
依赖倒置假设我们设计一辆汽车:先设计轮子,然后根据轮子大小设计底盘,接着根据底盘设计车身,最后根据车身设计好整个汽车。这里就出现了一个“依赖”关系:汽车依赖车身,车身依赖底盘,底盘依赖轮子。这样的设计看起来没问题,但是可维护性却很低。假设设计完工之后,上司却突然说根据市场需求的变动,要我们把车子的轮子设计都改大一码。这下我们就蛋疼了:因为我们是根据轮子的尺寸设计的底盘,轮子的尺寸一改,底盘的设计就得修改。同样因为我们是根据底盘设计的车身,那么车身也得改,同理汽车设计也得改——整个设计几乎都得改!我们原创 2020-06-04 23:34:30 · 1047 阅读 · 2 评论 -
一篇文章讲清楚Java动态代理
Java动态代理概述首先我们解释一下代理是什么意思,大家的微信里有很多做微商的朋友。很多微商的销售模式就是代理模式。比如店主小二在微信朋友圈卖衣服,小王看到了小二发的朋友圈就找小二买衣服,而小二只是一个代理商,它的衣服是从小一那里拿的。在这个过程中小二就是小一的代理,代理对卖衣服这个行为进行的增强,把原来10块钱一件的衣服卖到了20块,并且购买成功还赠送小礼品。Java动态代理指的是在程序运行时,为已有对象生成代理对象,对原有对象的方法进行功能增强。目标接口和实现类JDK动态代理要求目标类(被代原创 2020-06-04 11:42:39 · 328 阅读 · 0 评论