JAVA
文章平均质量分 72
航海的蜗牛
不积跬步,无以至千里;不积小流,无以成江海.骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。
展开
-
时间轮算法
一、原理:可以将 HashedWheelTimer 看做一个时钟,有12个数字(1~12),每个时间点对应一个桶,桶里装着任务的列表,每间隔一个时间单位(tickDuration),指针跳到下一个时间点,然后遍历桶里的任务,如果任务到了执行时间,就执行。结构如下图:二、源码1.属性/** * HashedWheelTimer的注释特别说明了不要创建多个HashedWheelTimer对象, HashedWheelTimer是用来管理大量的定时任务的, * 但这些任务要放在同一...原创 2020-08-30 17:40:39 · 935 阅读 · 0 评论 -
基于AIO的聊天室
/** * 简介: * java 7 的NIO.2提供了一步Channel支持,这种异步的Channel可以提供更高效的IO, * 这种基于异步的Channel的IO机制也被称为异步IO(AsynchronousIO) * 几种IO流的区别: * 按照POSIX的标准来划分IO,可以把IO分为两类:同步IO和异步IO。对于IO操作可以分为两步: * 1.程序发出IO请求 * 2.完...原创 2020-01-05 22:01:02 · 331 阅读 · 1 评论 -
NIO网络编程
介绍:JDK1.4提供了NIO Api 来开发高性能的网络服务器,传统的IO网络通信是阻塞式的Api阻塞式的:当程序执行输入输出操作后,这些操作返回之前会一直阻塞该线程,所以服务器端必须为每个客户端都提供一个独立的线程进行处理,当服务器端需要同时处理大量客户端时,这种做法会导致性能下降。使用NIO可以让服务端用一个或者少量几个线程来同时处理连接到服务器的所有服务端。一、NIO网络的常用方法...原创 2019-12-15 21:12:23 · 119 阅读 · 0 评论 -
面试常见的几种排序算法
一、快速排序介绍:快速排序的思想是分而治之,通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。public class QuickSort { public static void main(String[] args) { ...原创 2019-12-08 20:47:03 · 194 阅读 · 0 评论 -
Stream学习笔记
Stream简介/** * 概念:流(Stream)提供了数据视图,让你可以在比集合类更高的层面上指定操作。使用流,只需要指定做什么。 * 而不是怎么做。你只需要将操作的调度执行留给实现。例如,假设你想要计算某个属性的平均值。你只需要指定数据源 * 和属性,然后流类库会优化计算,比如使用多线程来求和、计算以及合并结果。 * 流的操作,分为三步 * 1.生成一个流(如Collecti...原创 2019-12-01 21:31:27 · 284 阅读 · 0 评论 -
安装Tomcat服务器
主要说了tomcat的安装和部署,以及可能碰到的问题。原创 2017-03-11 10:16:31 · 262 阅读 · 0 评论