自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (4)
  • 收藏
  • 关注

原创 深入剖析ReentrantLock公平锁与非公平锁源码实现

本文以公平与非公平锁的加锁缩成为主线,分析整个加锁过程。准备知识简介ReentrantLock类图: NonfairSync继承关系: Node结点:作为获取锁失败线程的包装类, 组合了Thread引用, 实现为FIFO双向队列。 下图为Node结点的属性描述 锁的创建非公平锁(默认)final ReentrantLock lock = new ReentrantL

2017-03-19 15:29:40 23850 34

原创 深入剖析JDK动态代理源码实现

动态代理、静态代理优缺点优点:业务类只需要关注业务逻辑本身,保证了业务类的重用性。这是代理的共有优点。动态代理只有在用到被代理对象的时候才会对被代理类进行类加载。 而静态代理在编译器就已经开始占内存了。。 缺点: 1)代理对象的一个接口只服务于一种类型的对象,如果要代理的方法很多,势必要为每一种方法都进行代理,静态代理在程序规模稍大时就无法胜任了。 2)如果接口增加一个方法,除了所有实现

2017-03-30 14:18:37 2919 1

原创 select、poll、epoll、同步、异步之间的区别总结[整理]

select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的(可能通过while循环来检测内核将数据准备的怎么样了, 而不是属于内核的一种通知

2017-03-24 13:08:58 10829 1

原创 Java 多线程拷贝文件夹并调用tinyPng算法接口压缩图片实现(生产消费变种)

线程模型生产者Provider线程为一,主要进行深搜目录文件;、消费者Consumer线程多个, 因为RPC服务调用时延较长, 启用多个线程请求服务。持久化线程Persist 将已经消费的消息存放在writeQueue, 启用一个线程从writeQueue取数据进行持久化到log.pic,这样每次启动压缩的时候,可以避免重复消费。 进而避免同一目录进行多次压缩api_key.properti

2017-03-22 21:08:22 1718

翻译 JDK 8 之 Stream sorted() 示例

原文链接:http://www.concretepage.com/java/jdk-8/java-8-stream-sorted-example 国外对Java8一系列总结的不错, 翻译过来给大家共享 这篇文章将会讲解Java 8 Stream sorted()示例, 我们能够以自然序或着用Comparator 接口定义的排序规则来排序一个流。Comparator 能用用lambada表达式来初

2017-03-19 17:34:26 150369 13

原创 JDK IO中的适配器模式和装饰者模式

适配器模式类图如下:Target表示目标接口, 也就是客户端认可的标准接口, 只有符合target接口规范的类(实现了target接口),才能为Client工作。Adaptee表示需要适配的类, 这个类的特征是没实现target接口, 不符合标准, 但是它却提供了一些特殊功能, 还想被Client所用, 那么就需要一个适配器来让Client能够调用 这个被适配器标准化的特殊功能类Adapter

2017-03-18 15:24:21 4862

原创 深入分析wait/notify为什么要在同步块内

public class WaitNotifyCase { public static void main(String[] args) { // final Object lock = new Object(); final Lock lock = new ReentrantLock(); new Thread(new Runnable() {

2017-03-13 11:28:51 13629 8

CPU-Z测试参数详解

cpu-z对系统测试的各项参数进行了 详细的分析和原理介绍~!让您成为“业内人士”。此文档必为卖家买家的必备神器!

2015-11-10

宾馆信息管理系统课程设计报告(大一)

大一的课程设计 一个宾馆信息管理系统 ,同时适用其他 管理系统课题 只需做稍加修改。

2015-09-08

《C语言程序设计》课后习题答案(第四版)谭浩强.docx

《C语言程序设计》课后习题答案(第四版)谭浩强 从此 课后习题再也不是事 帮助同学们练习c语言实践能力 提高技能

2014-11-20

空空如也

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

TA关注的人

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