自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

linxd

愿做你的巴扎黑

  • 博客(19)
  • 收藏
  • 关注

原创 【Tomcat9源码分析】组件与框架概述

转载请注明出处:http://blog.csdn.net/linxdcn/article/details/733213041 组件与框架介绍 Server:代表整个Catalina Servlet容器,可以包含一个或多个ServiceService:包含Connector和Container的集合,Service用适当的Connector接收用户的请求,再发给相应的Container来处理Co

2017-06-16 21:52:03 3173

原创 【理解HotSpot虚拟机】对象在jvm中的表示:OOP-Klass模型

转载请注明出处:http://blog.csdn.net/linxdcn/article/details/728966161 概述HotSpot是基于c++实现,而c++是一门面向对象的语言,本身具备面向对象基本特征,所以Java中的对象表示,最简单的做法是为每个Java类生成一个c++类与之对应。但HotSpot JVM并没有这么做,而是设计了一个OOP-Klass Model。这里的 OOP 指

2017-06-15 23:03:32 7033 4

原创 【读过的书,留下的迹】MySQL技术内幕-InnoDB存储引擎

一、MySQL体系结构和存储引擎(1)MySQL存储引擎InnoDB存储引擎支持事务支持行锁支持外键支持非锁定读MyISAM存储引擎不支持事务表锁支持全文索引二、InnoDB存储引擎(1)InnoDB体系架构后台线程 Master Thread:负责数据异步刷新到磁盘,保证数据的一致性IO Thread:IO请求Purge Thread:挥手

2017-06-15 13:22:20 626

原创 【Java8源码分析】NIO包-Selector选择器

转载请注明出处:http://blog.csdn.net/linxdcn/article/details/728966161 转载请注明出处:http://blog.csdn.net/linxdcn/article/details/72850375

2017-06-13 22:09:58 1757

原创 【Java8源码分析】NIO包-FileChannel

转载请注明出处:http://blog.csdn.net/linxdcn/article/details/728966161 概述Java NIO 由以下几个核心部分组成:BufferChannelSelectors 相关类的使用方法可以参考Java NIO 系列教程,写的通俗易懂。本文主要从源码方面分析一下Channel类。2 Channel

2017-06-12 22:53:56 2478 1

原创 epoll源码分析——I/O复用函数总结(二)

转载请注明出处:http://blog.csdn.net/linxdcn/article/details/728966161 概述Linux内核一旦发现进程指定的一个或多个IO条件就绪,它就通知进程。这个能力称为IO复用。IO复用的函数主要由select、poll和epoll,本文主要介绍epoll函数。epoll提供了三个函数,epoll_create,epoll_ctl

2017-06-11 21:03:26 495

原创 select/poll源码分析——I/O复用函数总结(一)

转载请注明出处:http://blog.csdn.net/linxdcn/article/details/729839331 概述Linux内核一旦发现进程指定的一个或多个IO条件就绪,它就通知进程。这个能力称为IO复用。IO复用的函数主要由select、poll和epoll,本文主要介绍select和poll函数。poll和select的实现基本上是一致的,只是传递参数有所不同,他们的基本流程如下

2017-06-11 21:02:53 657

原创 【Java8源码分析】NIO包-Buffer类:内存映射文件DirectByteBuffer与MappedByteBuffer(二)

转载请注明出处:http://blog.csdn.net/linxdcn/article/details/72896616

2017-06-08 21:16:53 7042 2

原创 【Java8源码分析】NIO包-Buffer类:ByteBuffer与HeapByteBuffer(一)

转载请注明出处:1 概述 Java NIO 由以下几个核心部分组成:BufferChannelSelectors相关类的使用方法可以参考Java NIO 系列教程,写的通俗易懂。本文主要从源码方面分析一下Buffer类2 Buffer类Buffer类是一个抽象类,所有的XxxBuffer均继承此类。Buffer类的作用跟BufferedRead

2017-06-07 22:31:28 3339

原创 【Java8源码分析】IO包-Reader、BufferedReader和Scanner总结

转载请注明出处:http://blog.csdn.net/linxdcn/article/details/72886231Java的IO类型可分为两大类:面向字符流:Reader & Writer面向字节流:InputStream & OutputStream本文主要从源码方面分析一下常用的面向字符流的Reader。Reader:所有字符流的抽象父类,定义了常用输入函数

2017-06-06 22:11:55 2294

原创 【Java8源码分析】IO包-InputStream、FileInputStream和BufferedInputStream总结

转载请注明出处:http://blog.csdn.net/linxdcn/article/details/72875258Java的IO类型可分为两大类:面向字符流:Reader & Writer面向字节流:InputStream & OutputStream本文主要从源码方面分析一下常用的面向字节流的输入流。InputStream:所有输入流的抽象父类,定义了常用输入

2017-06-06 22:11:33 1766 1

原创 【Java8源码分析】并发包-ConcurrentHashMap(二)

转载请注明出处:http://blog.csdn.net/linxdcn/article/details/72871732上一篇并发包-ConcurrentHashMap(一)主要介绍了ConcurrentHashMap的存储结构以及容器的存取方法的源码。 ConcurrentHashMap主要采用上图所示的结构存储元素,在插入第一个元素时采用CAS算法,其余的插入、更新、删

2017-06-05 23:26:37 1125

原创 【Java8源码分析】并发包-CyclicBarrier

转载请注明出处:http://blog.csdn.net/linxdcn/article/details/72857700CyclicBarrier允许一系列线程相互等待对方到达一个点,正如 barrier 表示的意思,该点就像一个栅栏,先到达的线程被阻塞在栅栏前,必须等到所有线程都到达了才能够通过栅栏。Cyclic的意思是这个屏障是能重复使用的。CyclicBarrier内部是基于R

2017-06-04 23:26:05 979

原创 【Java8源码分析】并发包-CountDownLatch

转载请注明出处:http://blog.csdn.net/linxdcn/article/details/72857496CountDownLatch提供了一种能使多个线程触发同一条件,开始运行的机制。打个比方,银行金库有3把钥匙(CountDownLatch的count为3),得到一把钥匙(调用countDown函数),就离获得通行的条件越近。当3把钥匙都已经获取时(count变为0

2017-06-04 22:29:29 774

原创 【Java8源码分析】并发包-Semaphore

转载请注明出处:http://blog.csdn.net/linxdcn/article/details/72857243Semaphore是信号量,它的作用是控制多个允许。打个比方,一个博物馆有容纳1000人的能力(Semaphore的允许是1000),假如1500人同时来参馆,只有1000人能获得允许入馆(获得锁),其余的500则需排队(阻塞),直到馆内的人离开(释放锁)才能放人入

2017-06-04 20:16:23 798

原创 【Java8源码分析】locks包-ReentrantReadWriteLock

转载请注明出处:http://blog.csdn.net/linxdcn/article/details/728549241 ReadWriteLock的使用下面截取一段官网上的使用说明例子class CachedData { Object data; volatile boolean cacheValid; final ReentrantReadWriteLock rwl = n

2017-06-03 22:38:48 1016

原创 【Java8源码分析】locks包-ReentrantLock

1 辅助内部类在ReetrantLock内部基于AQS类实现了一个抽象类Sync同步器,对于AQS不熟悉的,可以看看这篇文章:AbstractQueuedSynchronizer同步器。基于Sync还实现了公平锁和非公平锁:公平锁 线程按照他们发出请求的顺序获取锁如果有另一个线程持有锁或者有其他线程在等待队列中等待这个所,那么新发出的请求的线程将被放入到队列中。非公平锁 当一个线

2017-06-03 11:16:32 1902

原创 【Java8源码分析】locks包-AbstractQueuedSynchronizer同步器

转载请注明出处:http://blog.csdn.net/linxdcn/article/details/728440111 前言目前在Java中存在两种锁机制:synchronized和Lock,Lock接口及其实现类是JDK5增加的内容。数据同步需要依赖锁,那锁的同步又依赖谁?synchronized给出的答案是在软件层面依赖JVM,而Lock给出的方案是在硬件层面依赖特殊的CPU指令。在jav

2017-06-02 21:32:30 1214

原创 【Java8源码分析】线程池-Executor与ExecutorService的全面剖析

转载请注明出处:http://blog.csdn.net/linxdcn/article/details/728283621 Executor接口与ExecutorService接口1.1 介绍Executor接口很简单,只定义了一个execute函数用来提交一个Runnable的任务。该方式提交的任务不能获取返回值,因此无法判断任务是否执行成功。public interf

2017-06-01 19:29:00 5244

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除