- 博客(5)
- 收藏
- 关注
原创 Nio编程详解
NIO编程1.传统的网络编程在TCP协议中,调用accept函数时,会阻塞在那里,而且每次都需要创建一个新的线程来处理该连接,用这种方式当连接数较多时会产生大量的线程,而线程之间的切换需要耗费资源,上限较低。2.所以我们需要引入NIO(非阻塞IO编程)NIO编程的实现方式1.几个核心组件在这里插入图片描述这么看很抽象。举个栗子。selector理解为班长,read/write看做交作业/拿作业,每个channel意味着一个同学,selectionkey代表事件类别,每次只能有一个人交/拿
2020-12-12 12:53:01
398
原创 2020-12-12
编程中的耦合度是什么?耦合度 指的是 两个类之间的联系紧密程度。当一个类A使用了另一个类B,意味着A依赖于B,A和B有耦合。
2020-12-12 09:47:30
102
原创 java线程池
Java线程池`为什么需要线程池?1.创建线程需要消耗一定的资源,如果需要大量的线程,则代价较大2.过多的并发线程可能会导致崩溃,线程池可以控制最大并发线程个数。有哪几种线程池?线程池的创建方法ExecutorService pool = Executors.newCachedThreadPool();然后调用以下方法提交任务在调用submit的时候会返回一个future对象,那么future是什么呢?future用来保存计算的结果 接口如下调用get方法时被阻塞,直到完成计算
2020-12-09 20:35:34
115
原创 2020-12-09
Mapreduce及原理简介Mapreduce可以大幅提高处理大规模文件(1TB)的效率,是一种高效的并行编程模型。1.处理流程Mapreduce一共有几个过程:Input、split、Map、shuffle、reduce、finalize。打个比方:你是一个餐厅的厨师,你要先从物流采购人员(input 数据输入)那里获得自己需要的蔬菜水果(split 将数据切割)、然后把它们切碎(Map 处理数据),然后呢素材就准备好了,需要冷冻一下存储,放到冰箱里(shuffle 保存数据),等你需要用的时候
2020-12-09 20:33:57
194
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人