摘要: 排序是一个你想的越久,就会越明白的脑洞,快速排序和堆排序是研究最久的,它开始让我觉得程序寥寥数行,却透彻着开发者精妙的思想。 废话不多说,摆代码: 阅读全文
posted @ 2018-08-23 23:12 林冲—first 阅读(178) 评论(0) 推荐(0) 编辑
摘要: jvm内存模型由方法区,堆、虚拟机栈、本地方法栈、程序计数器, 1.程序计数器 每个线程都会有自己私有的程序计数器,可以看做当前线程所执行的字节码的行号指示器。 字节码解释器就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程上下文切换。 线程恢复时,都要依赖 阅读全文
posted @ 2018-07-18 12:03 林冲—first 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 今天在看算法时,遇见了一些问题,想了很久,现总结如下,关于for循环的时间复杂度。我们知道当一重for循环时 这是最简单的for循环,count执行n次,时间复杂度是N; 如果是for的二重循环呢 可以看见count输出4950;一般刚接触时,就会觉得这事件复杂度是n的平方,当然一般这样说也没错,但 阅读全文
posted @ 2018-06-30 23:45 林冲—first 阅读(22128) 评论(1) 推荐(0) 编辑
摘要: TCP是面向连接的传输,通信前建立连接,(三次握手),UDP提供无连接的传输。 TCP是可靠的传输(有序、无差错,不丢失、不重复) TCP面向字节流的传输,以此它能将信息分组,并在接收端重组,UDP是面向数据报的传输。 TCP提供拥塞控制和流量控制;UDP不提供拥塞控制和流量控制。 2. 流量控制和 阅读全文
posted @ 2018-05-29 10:51 林冲—first 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 我们知道,通常创建线程的方式有继承Thread类,实现Runnable接口并重写Run()方法的实现类作为Thread的target传入参数创建线程,另外一种是实现Callable接口的实现类,实现Callable接口时,需要重写call()方法,该方法和run()类似,都是线程的执行体,但是cal 阅读全文
posted @ 2018-05-15 23:31 林冲—first 阅读(158) 评论(0) 推荐(0) 编辑