自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JackCaptain1015的博客

用进废退 ——github.com/JackCaptain1015

  • 博客(20)
  • 资源 (5)
  • 收藏
  • 关注

原创 JDK8之AbstractQueuedSynchronizer解读

这里分析了AQS中对独占模式、Condition的实现原理。(相信读完这两块,共享模式也不在话下)阅读时请把下面所有代码复制到IDEA中的一个新文件中阅读(代码高亮),并且和ReentrantLock等源码一起阅读。(ReentrantLock中的Sync是AQS的子类,AQS有些钩子方法在子类中实现,比如acquire)

2018-03-14 15:14:48 413

原创 JDK8之HashMap源码解读

本文适用于想要阅读HashMap源码的技术人员,如果只是想要简单了解一下HashMap内部结构的话,该文不适用。本文的是在JDK7的HashMap的基础上写的注释,所以不懂的请先看JDK7的HashMap。JDK8的HashMap主要难点在于红黑树,相比JDK7主要多了一个链表转树(树转链表)和红黑树平衡的逻辑。(建议阅读源码时手头有一份《算法导论》,我的下载资源里有完整高清的pdf)写的比较急,...

2018-03-02 14:57:47 1051

原创 JVM内存区域划分详解

JVM内存划分

2017-05-05 13:06:45 2396 1

原创 JDK之CopyOnWriteArrayList源码解读

Java JDK1.7 CopyOnWriteArrayList 源码

2017-02-16 21:22:30 495

原创 JDK之ArrayList源码解读

ArrayList 源码 JDK1.7 初级工程师必备

2017-02-14 16:47:28 617

原创 mysql之semi-consistent read知悉

semi-consistent read是什么简单来说,semi-consistent read是read committed与consistent read两者的结合。一个update语句(semi-consistent read只针对update),如果读到一行已经加锁的记录,此时InnoDB返回记录最近提交的版本,由MySQL上层判断此版本是否满足update的where条件。若满足(需要...

2019-06-25 04:08:27 2827 1

原创 关于SerialVersionUID

在实现Serializable的类中,有经验的开发都会实现serialVersionUID。这是因为如果没有serialVersionUID的话,如果该类中的字段发生变更(新增或删减),那么反序列化将失败,导致取出的对象为null。比如memcached中,会在反序列化方法中创建XmcObjectInputStream()时抛出异常,导致返回的对象为null。源码中即:测试实例伪代码如下:clas...

2018-03-19 11:51:07 268

原创 JDK8之ReentrantLock解读

阅读时请把下面所有代码复制到IDEA中的一个新文件中阅读(代码高亮)。分析了公平锁与不公平锁,但是主要原理在AQS中,所以大家阅读的时候两者放在一起阅读。

2018-03-14 15:19:29 736

原创 JDK8之ConcurrentHashMap源码解读

本文默认读者阅读过JDK8的HashMap源码,不再对源码中的红黑树操作进行分析。本文主要对put()、transfer()、addCount()进行分析(replaceNode()源码近似于put就不再多言)如果大家对其有异议,请留言。共同进步(2018-03-02)package java.util.concurrent;import java.io.ObjectStreamField...

2018-03-02 15:03:47 1211

原创 JVM基础之类加载器

对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在JVM中的唯一性。 所以,即便该类class文件相同,如果加载它的类加载器不同,那这两个类就必定不相等。 (这里的相等包括equals()、isAssignableFrom()、isInstance()等方法的返回结果,也包括instanceof关键字做所属关系判断等)类加载器分类Bootstrap ClassLoader -启动类

2017-11-04 20:17:34 306

原创 Odps(MaxCompute)使用时一些问题

odps官方文档之给出了jdbc最原始的查询。我们当然不会直接用jdbc,不然工作量太大。 因为查询出来的都是列,需要自己封装成对象。 因此考虑到odps本身也是数据库,那么我们依旧可以使用mybatis来查询odps。 唯一需要更改的就是DataSource。 odps需要jar包: odps_datasource.xml:(这里使用的DruidDataSource,换成C3P0也行)

2017-11-04 09:48:25 2876

原创 ReentrantLock和ReentrantReadWriteLock使用介绍

ReentrantLock、ReentrantReadWrietLock

2017-05-22 10:15:09 475

原创 线程互斥与线程同步

线程互斥与线程同步。

2017-05-20 11:39:35 447

转载 redis分布式锁安全性的探讨

本文转载、整理自上篇:http://mp.weixin.qq.com/s/JTsJCDuasgIJ0j95K8Ay8w 与下篇:http://mp.weixin.qq.com/s/4CUe7OpM6y1kQRK8TOC_qQ两篇博文 其中省略了Martin提出的fencing token有关的讨论(上篇)、网友与Redis作者的讨论(下篇)以及Chubby的介绍(下篇)。 想详细看这三方面的

2017-05-04 00:32:20 1898

原创 【RocketMQ】搭建RocketMQ

本版本搭建的RocketMQ为v3.5.8版 操作系统为Windows步骤一、下载RocketMQ源码 下载地址:https://github.com/alibaba/RocketMQ/releases 随后解压源码,导入到IDEA中(Java开发环境之类的就不讲了)步骤二、执行install.bat 在maven等加载完毕后,在terminal(cmd)下执行install.bat文件

2017-04-25 14:34:59 1555

原创 JDK之HashMap源码解读

HashMap JDK1.7 源码

2017-03-15 10:50:46 713 4

转载 多线程之线程等待与信号量

多线程 阻塞

2017-02-23 14:02:53 1116

转载 多线程之退出方式

多线程 面试 基础

2017-02-21 00:52:42 561

转载 mysql之表锁与行锁

mysql 表锁 行锁

2017-02-18 18:46:51 1080

原创 重入锁

Java提供了一种内置的锁机制来支持原子性:同步代码块 同步代码块包括两部分: 1、锁的对象引用 2、锁保护的代码块 而每个Java对象都可以用作一个实现同步的锁,这种锁叫内置锁(又叫监视器锁): 线程在进入同步代码块之前会自动获得锁,并且在退出同步代码块时自动释放锁(无论是正常退出还是通过抛出异常退出) 另外:内置锁是一种互斥锁,即防止多个线程同一时刻访问相同的共享资源。 内置锁也是

2017-02-16 10:17:36 393

高性能Mysql(第三版)

高性能mysql第三版pdf书,帮助大家深刻理解mysql索引与mysql底层查询优化机制,后端开发面试和DBA必备

2019-03-07

从Paxos到Zookeeper 分布式一致性原理与实践

从Paxos到Zookeeper 分布式一致性原理与实践 PDF电子书下载 带目录书签 完整版 比同类资源下载分更少!

2018-02-24

SwichHost_Mac版

SwichHost_Mac版,避免大家找不到swichHost, 最低分下载

2018-02-24

算法导论_原书第3版_CHS.pdf

算法导论 第三版,内容完整,字体清晰 积分合理,欢迎下载

2018-02-24

Kafka权威指南_Neha Narkhede著

字体清晰不模糊,还带详细书签,可以查询里面的字。 比其他同类资源更少的积分。

2018-02-24

空空如也

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

TA关注的人

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