- 博客(9)
- 资源 (4)
- 收藏
- 关注
转载 高性能IO模型浅析
高性能IO模型浅析 服务器端编程经常需要构造高性能的IO模型,常见的IO模型有四种:(1)同步阻塞IO(Blocking IO):即传统的IO模型。(2)同步非阻塞IO(Non-blocking IO):默认创建的socket都是阻塞的,非阻塞IO要求socket被设置为NONBLOCK。注意这里所说的NIO并非Java的NIO(New IO)库。(
2017-06-15 17:06:21
289
转载 Reactor与Proactor的区别
1、标准定义 两种I/O多路复用模式:Reactor和Proactor一般地,I/O多路复用机制都依赖于一个事件多路分离器(Event Demultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/write事件处理器(Event Handler)。开发人员预先注册需要处理的事件及其事件处理器(或回调函数);事件分离器负责将请求事件传递给事件处理器。两个与事件
2017-06-13 20:58:03
362
原创 Java弱引用详解
强引用就是指在程序代码之中普遍存在的,类似“Object obj=new Object()”这类的引 用,只要强引用还存在,垃圾收集器永远不会回收掉被引用的对象。 弱引用也是用来描述非必需对象的,但是它的强度比软引用更弱一些,被弱引用关联的 对象只能生存到下一次垃圾收集发生之前。当垃圾收集器工作时,无论当前内存是否足够, 都会回收掉只被弱引用关联的对象。 弱引用和强引用看似是两个不
2017-06-12 23:50:31
1831
原创 SpringMVC DispatcherServlet重写、自定义拦截器拦截器(二)
自定义拦截器针对controller参数格式转换错误的情况进行友好提示加入controller中的入参为byte 类型,结果传入的值为20000,那么springmvc会返回400错误即客户端错误,表明客户端传值不符合规范,但是错误很模糊,参数多的话找起来很麻烦 因此写了一下拦截器进行捕获异常情况,并给予良好提示 、 代码贴不下,继续搞,各位大哥自己下载吧 地址:实现的结果如
2017-06-09 22:06:39
3340
原创 SpringMVC DispatcherServlet重写、自定义拦截器拦截器(一)
在使用springmvc框架的时候,经常会遇到请求URL不存在或者请求参数错误这种现象,尤其是在和其他模块对接的时候,客户端代码往往会去判断网络status
2017-06-09 21:55:55
3386
转载 NIO selector原理浅析
无阻塞io是使用单线程或者只使用少量的多线程,每个连接共用一个线程,当处于等待(没有事件)的时候线程资源可以释放出来处理别的请求,通过事件驱动模型当有accept/read/write等事件发生后通知(唤醒)主线程分配资源来处理相关事件。java.nio.channels.Selector就是在该模型中事件的观察者,可以将多个SocketChannel的事件注册到一个Selector上,当没有事件
2017-06-06 20:19:36
2054
翻译 Java类加载双亲委托模式优点
启动类加载器可以抢在标准扩展类加载之前去装载类,而标准扩展类装载器可以抢在类路径加载期之前去装在那个类,类路径装载器又可以抢在自定义类装载器之前去加载类。所以Java虚拟机先从最可信的Java核心API查找类型,这是为了防止不可信的类扮演被信任的类。假设网络中有一个名为java.lang.Integer的类,他是黑客在为了混进java.lang包所起的名字,实际上里面还有而已代码,但是这种
2016-09-22 16:56:50
3122
转载 javap的理解
许我们很少会使用到javap工具,因为现在有很多好的反编译工具,但是我在此介绍这个工具不是使用它进行反编译,而是查看java编译器为我们生成 的字节码,通过比较字节码和源代码,我们可以发现很多的问题,一个很重要的作用就是了解很多编译器内部的工作机制。public class Main { public static void main(String[] args) {
2016-04-30 13:35:46
600
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人