- 博客(12)
- 收藏
- 关注
转载 Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
关于BIO, NIO, AIO的一篇很好的文章,不光是概念上的总结还有很详细的源码示例转自:http://blog.youkuaiyun.com/anxpp/article/details/51512200 本文会从传统的BIO到NIO再到AIO自浅至深介绍,并附上完整的代码讲解。 下面代码中会使用这样一个例子:客户端发送一段算式的字符串到服务器,服务器计算后返回结果到客户端。
2017-05-31 15:03:40
746
转载 Linux最大文件句柄(文件描述符)限制和修改
转自:http://jameswxx.iteye.com/blog/2096461 写这个文章是为了以正视听,网上的文章人云亦云到简直令人发指。到底最大文件数被什么限制了?too many open files错误到底可以通过什么参数控制?网上的很多文章说的大致步骤是没有错的,大致如下:shell级限制 通过ulimit -n修改,如执行命令ulimit -n 1000,则
2017-05-31 14:35:37
11553
5
转载 Spring框架的主要组件
Spring 顶级项目Spring IO platform:用于系统部署,是可集成的,构建现代化应用的版本平台,具体来说当你使用maven dependency引入spring jar包时它就在工作了。Spring Boot:旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能,可以和spring cloud联合部署。Spr
2017-05-25 22:11:40
796
原创 Java多线程ThreadLocal
关于ThreadLocal,java中有一个很相似的对比机制:clone.他们的思想都是,给当前的线程/方法一个本地变量的copy,各个线程/方法虽然看起来是共享了一个变量,但相互之间并不干扰交互。ThreadLocal是非常轻量级的保证线程安全的机制,不涉及锁,不涉及同步阻塞。完全是线程内部的一个变量。那有的同学可能会问,既然这样干嘛还要设计成类的成员变量,直接在方法里面声明然后在方
2017-05-25 10:42:39
1011
原创 三色旗(荷兰旗)排序算法分析
三色旗问题又叫荷兰旗问题,前提是有一个无序的char数组,里面的元素只能是{‘R’,'G','B'}中的一个,比如{'B','R','G','R','B','B','G','B','R'},现在要求不允许借助额外的空间,即只能通过自身元素交换的方法将数组重排序,最终达到RGB顺序排序,比如例子中的数组排序后变为:RRRGGBBBB。算法分析:分别定义三个指针,rindex, gindex,
2017-05-21 17:10:39
3468
原创 求一个数组(a(i,j))中元素相减的最大值,且i<=j
题目的要求是时间复杂度O(n),空间复杂度O(1).两个错误的思路要避免,一是数组排序,最好的排序算法时间复杂度也是nlogn,明显达不到要求。另外一个是遍历数组求得最大值和最小值,然后相减,但照顾不到i正确的思路是对上述第二个算法的改进,将数组第一个元素设置为最大和最小值(i=j=0),最大差值的初始值max就是0,然后移动j,每次移动都计算a[j]-a[i],如果结果大于max就替换m
2017-05-21 10:52:14
2095
原创 单链表的删除算法时间复杂度O(1)和O(n)
平时我们在计算单链表的第i个节点删除时间复杂度时一般认为是O(n),过程如下1.先从头节点开始遍历链表,找到第i-1个节点2.将第i-1节点next指向第i个节点的next可以看到时间主要花在了遍历链表上如果我们已经拿到了要删除的第i个节点Node(i),就不需要进行遍历操作和查找前驱节点了,直接拿Node(i+1)来覆盖Node(i)即可。具体的做法如下:1.No
2017-05-19 21:28:32
20645
2
转载 关于Linux下NIO, BIO, AIO以及MultiPlexing IO
最近一直在研究Java中的BIO, NIO, AIO的区别看到一篇关于Linux下blocing, no-blocking, multiplexing io, asynchronous io的区别,讲的非常透彻,转载一下http://blog.youkuaiyun.com/historyasamirror/article/details/5778378
2017-04-17 21:33:09
1340
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人