
jdk
文章平均质量分 54
m47838704
这个作者很懒,什么都没留下…
展开
-
tomcat源码分析3—>代理模式深入分析
java动态代理:hello接口public interface Hello { void sayHello();}HelloImp实现public class HelloImp implements Hello { public void sayHello() { System.out.println("你好,世界!"); }}public class M原创 2017-12-26 11:07:39 · 242 阅读 · 0 评论 -
JDK源码分析——ThreadPoolExecutor参数详解
参考文章:JDK源码分析——ThreadPoolExecutor参数详解本篇文章主要对jdk中线程池ThreadPoolExecutor的参数进行详细分析ThreadPoolExecutor已经对上面的各种情况进行了封装处理,并且提供了相应的参数对上述各种情况进行控制,首先我们看一下该类的构造函数,从源码我们可以看出该类的构造函数有很多个,不同的构造函数需要填写的参数不同。针对没有填写的参...原创 2018-04-28 15:47:40 · 396 阅读 · 0 评论 -
JDK源码分析——类加载器的分析和实战
本篇文章中的实例代码已经放入github的JavaExample中:github地址:https://github.com/mh47838704/JavaExample该文章中的实例代码:https://github.com/mh47838704/JavaExample/tree/master/src/test/java/com/mh/JavaExample/cloader实例放在...原创 2018-05-02 23:42:40 · 692 阅读 · 0 评论 -
Java流式处理——实例分析
参考文章:java流式处理实例分析由于在项目中使用了很多流式的处理,但是却对什么是流式处理没有概念,所以闲暇之余看了一下ArrayList的stream的实现,并按照该实现并结合Splitterator的样例实现了一个简单的可以并发的List,该List也支持流式处理的方式。由于本来是为了了解深入的分析一下流式处理而编写的样例,但是个人觉得通过调试分析该样例可以帮助大家对什么流式处理由一个...原创 2018-04-24 23:00:35 · 2752 阅读 · 0 评论 -
深入分析ReentrantLock公平锁和非公平锁的区别
在ReentrantLock中包含了公平锁和非公平锁两种锁,通过查看源码可以看到这两种锁都是继承自Sync,而Sync又继承自AbstractQueuedSynchronizer,而AbstractQueuedSynchronizer又继承自AbstractOwnableSynchronizer,下面是类的继承关系图: 其中AbstractOwnableSynchronizer是提供了设置占...原创 2018-04-20 00:24:41 · 23560 阅读 · 3 评论 -
LockSupport源码解析
绪今天和朋友讨论Java中的锁机制的时候,谈论到了LockSupport类,在之前一直没有使用过该类,所以当提到该类的时候还是有点陌生,然后看了一下JDK的源码和该类相关的技术博客,整理了一下该类的原理和使用场景。使用package mthread;import org.junit.Test;import java.util.concurrent.TimeUnit;i...原创 2018-03-26 00:21:53 · 695 阅读 · 0 评论 -
Hashmap的高性能使用小记
<p>An instance of <tt>HashMap</tt> has two parameters that affect its * performance: <i>initial capacity</i> and <i>load factor</i>. The * <i>原创 2018-03-01 00:21:44 · 594 阅读 · 0 评论 -
jdk源码分析 ——Selector深入分析
1、spi方式的selector定制化 selector通过SelectorProvider创建的,通常不同安装版本的jdk中已经封装了相应的Select和SelectorProvider了,通过spi的方式进行扩展。(PS:spi是一种jdk提供的低侵入方式的扩展实现,目前已经在大多数的框架中使用了,类似dubbo框架也使用该方式,让用户进行更好的定制化实现)2、selector的原理原创 2018-01-20 15:46:52 · 473 阅读 · 0 评论 -
Java多线程之—ForkJoinPool源码分析
首先推荐阅读ForkJoinPool的作者Doug Lea的一篇文章《A Java Fork/Join Framewor》 http://gee.cs.oswego.edu/dl/papers/fj.pdf 英文原文下载地址还推荐一个不错的资源java并发编程文章资源下面将首先介绍一下该类的使用,以及某些关键的函数接口的实现原创 2018-01-08 21:07:10 · 591 阅读 · 0 评论 -
Java线程池深入分析(2)
Executor.java 该接口主要定义将任务提交到线程池的接口方法,为什么在该接口中只定义任务的提交方法,在jdk文档中也给了一个大致的说明(该接口只负责任务提交到线程池,与具体线程池如何执行提交的任务解耦)ExecutorService 该类主要定义了线程池的关闭方式,以及在Executor的基础之上封装了更多类型的任务提交方式,主要有两种方式:一种是单个任务提交执行;一种是批量任务原创 2018-01-06 22:04:44 · 207 阅读 · 1 评论 -
Java线程池深入分析
Java中线程池设计介绍 Java中的线程池的实现主要主要在rt.jar下面的java.util.concurrent包下的,主要由Executor(1.5)、Executors、ExecutorService、AbstractExecutorService、ScheduledExecutorService、ThreadPoolExecutor、ScheduledThreadPoolExecu原创 2018-01-06 22:02:18 · 197 阅读 · 0 评论 -
jdk源码分析之ByteBuffer
ByteBuffer位于jdk源码包java.nio中通过对该源码文件的注释的阅读可知该ByteBuffer具有如下的特点: 1、该buffer可以使用直接内存(操作系统内存,不受java虚拟机管理)和间接内存(jdk管理的内存,受java虚拟机管理) PS(关于直接内存和间接内存的好处,网上搜索会出现很多,结论是直接内存比间接内存的I/O效率高,这仅限于在该buffer上有I/O操作,否则最好原创 2018-01-13 17:47:21 · 406 阅读 · 0 评论 -
tomcat源码分析3—>cglib动态代理深度解析
通过对cglib的核心类enhancer的分析,该类库实现动态代理的方式是: Enhancer.java....../** * Set the class which the generated class will extend. As a convenience, * if the supplied superclass is actually an interface,原创 2017-12-26 12:01:28 · 269 阅读 · 0 评论 -
JDK源码分析——SecurityManager安全管理器实例分析
样例github安全管理器简介样例分析样例相关文件调试分析1、直接运行(无参数)2、配置默认安全管理器3、配置默认管理+自定义策略文件(=)4、配置默认管理+自定义策略文件(==)样例githubhttps://github.com/mh47838704/JavaExample参考文章:http://47777205.com/view/24...原创 2018-05-15 14:20:42 · 1881 阅读 · 0 评论