java
jeff_fangji
喜欢专研计算机技术
展开
-
Java动态代理
动态代理是代理模式的实现,在程序运行时,运用反射机制动态创建而成。Java动态代理是Java语言世界的动态代理。 为了更好地理解动态代理,我们先讲述一下代理模式。 代理模式一种软件设计模式, 是代理类与委托类有同样的接口。代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。 如下面代理模式比较通用的类图,Proxy是代理类,RealSubject是目标类,它们原创 2014-09-29 07:40:40 · 4364 阅读 · 0 评论 -
JAVA泛型容器的类型检查
泛型容器是通过指定容器包含对象的类型,由编译器保证对象类型的正确性,在编译阶段就能检查出类型错误。如下列将List对象longList赋予一个List对象gtList,会报编译错误。如果这只是在编译检查,那么我们是否可以绕过编译检查呢?原创 2014-11-25 23:13:45 · 6471 阅读 · 0 评论 -
Tomcat中常见线程说明
本文讲述了Tomcat常见线程的功能、名称、线程池和配置等信息,如JIoEndpoint.Work线程、Acceptor线程、Main线程、TP-Processor线程、TP-Monitor线程和ContainerBackgroundProcessor线程等。其中源码来自于Tomcat 6.0.18。原创 2014-12-07 11:06:07 · 13545 阅读 · 0 评论 -
Shallow vs. Retained Heap
Shallow Heap和Retained Heap这两个名词在Java内存分析时经常遇到。本博文是Eclipse Memory Analyzer中关于Shallow Heap和Retained Heap帮助文档的翻译。 Shallow Heap是被一个对象消费的内存。Retained Heap是指X的Retained Set中所有对象的Shallow Size和。翻译 2014-12-14 19:13:38 · 4367 阅读 · 0 评论 -
通过Tomcat的Http11NioProtocol源码学习Java NIO设计
Tomcat的Http11NioProtocol协议使用Java NIO技术实现高性能Web服务器。本文通过分析Http11NioProtocol源码来学习Java NIO的使用。从中可以了解到阻塞IO和非阻塞IO的配合,NIO的读写操作以及Selector.wakeup的使用。原创 2015-02-22 21:56:08 · 6167 阅读 · 0 评论 -
Full GC分析:设置Java VM参数实现在Full GC前后自动生成Dump
本文讲解了如何设置Java VM参数实现在Full GC前后自动生成Dump。共有三个VM参数需要设置:HeapDumpBeforeFullGC 实现在Full GC前dump。HeapDumpBeforeFullGC 实现在Full GC后dump。HeapDumpPath 设置Dump保存的路径设置这些参数的方法,这里总结了四种,大家可以根据情...原创 2015-02-27 22:37:32 · 18036 阅读 · 5 评论 -
WebApp由于需要从Spring官网下载schema文件导致启动时长时间卡住问题的分析和解决
我们的WebApp是使用J2EE和Spring实现,并运行在Tomcat容器。在某天夜里11点左右上线了一个新的功能,但是重新启动Tomcat却发现WebApp一直没有启动成功。原创 2016-11-27 21:18:51 · 999 阅读 · 0 评论