摘要:前言 说到CAS(CompareAndSwap),不得不先说一说悲观锁和乐观锁,因为CAS是乐观锁思想的一种实现。 悲观锁:总是很悲观的认为,每次拿数据都会有其他线程并发执行,所以每次都会进行加锁,用完之后释放锁,其他的线程才能拿到锁,进而拿到资源进行操作。java中的synchronized和Re 阅读全文
posted @ 2019-12-11 17:38 9龙 阅读 (352) 评论 (0)
摘要:引言 在现代计算机中,cpu的指令速度远超内存的存取速度,由于计算机的存储设备与处理器的运算速度有几个数量级的差距,所以现代计算机系统都不得不加入一层读写速度尽可能接近处理器运算速度的高速缓存(Cache)来作为内存与处理器之间的缓冲:将运算需要使用到的数据复制到缓存中,让运算能快速进行,当运算结束 阅读全文
posted @ 2019-12-11 08:31 9龙 阅读 (211) 评论 (0)
摘要:前言 作为java开发人员,HashMap可谓是业务中的一把利器,9龙再次捡起这老生常谈的知识点,深入源码,细细品味。 首先,我们抛出几个关于HashMap的问题,带着问题去学习,就像捉迷藏一样有意思。 1、为什么要使用HashMap?HashMap有什么特性? 2、HashMap的主要参数有哪些? 阅读全文
posted @ 2019-12-09 08:59 9龙 阅读 (287) 评论 (0)
摘要:一、引言二、Object方法详解1.1、registerNatives()1.2、getClass()1.2.1、反射三种方式:1.3、hashCode()1.4、equals()1.4、clone()1.5、toString()1.6、wait()/ wait(long)/ waite(long, 阅读全文
posted @ 2019-06-16 22:52 9龙 阅读 (543) 评论 (0)
摘要:一、引言二、类的加载、链接、初始化1、加载1.1、加载的class来源2、类的链接2.1、验证2.2、准备2.3、解析3、类的初始化3.1、< clinit>方法相关3.2、类初始化时机3.3、final定义的初始化3.4、ClassLoader只会对类进行加载,不会进行初始化三、类加载 阅读全文
posted @ 2019-06-11 20:57 9龙 阅读 (568) 评论 (0)
摘要:前言5 17从成都奔赴四姑娘山四姑娘山简介隔一年多与“大王”相见与小伙伴们初见出发四姑娘山5 18 徒步7小时到达二峰营地沿途风光二峰营地高反5 19 凌晨登顶最后 前言 大城市的你,有多久没有看过蓝天?每天两点一线的生活,有多久没有户外游玩?看到朋友圈,别人户外徒步的照片,饱览星空,流星雨下双手合 阅读全文
posted @ 2019-05-25 13:59 9龙 阅读 (287) 评论 (2)
摘要:一、引言二、java重要的函数式接口1、什么是函数式接口1.1 java8自带的常用函数式接口。1.2 惰性求值与及早求值2、常用的流2.1 collect(Collectors.toList())2.2 filter2.3 map2.4 flatMap2.5 max和min2.6 count2.7 阅读全文
posted @ 2019-05-23 17:29 9龙 阅读 (670) 评论 (0)
摘要:一、序列化的含义、意义及使用场景二、序列化实现的方式1、Serializable1.1 普通序列化1.2 成员是引用的序列化1.3 同一对象序列化多次的机制1.4 java序列化算法潜在的问题1.5 可选的自定义序列化2、Externalizable:强制自定义序列化3、两种序列化对比三、序列化版本 阅读全文
posted @ 2019-05-21 18:06 9龙 阅读 (5978) 评论 (3)
摘要:一、引言 也许大家在使用流时因为未关闭、或者未正常关闭引发了很多问题。其实java7引入了自动关闭流机制,只是我们未使用而已。 二、自动关闭流例子 public class AutoCloseTest {    public&nb 阅读全文
posted @ 2019-05-09 16:51 9龙 阅读 (346) 评论 (5)
摘要:一、引言 顾名思义,快速排序是实践中的一种快速排序算法,在C++或对Java基础类型的排序中特别有用。它的平均运行时间是O(NlogN);但最坏情形性能为O(N2)。我会先介绍快速排序过程,再讨论如何优化。 二、快速排序(quicksort) 算法思想: 采用分治法,将数组分为两部分,并递归调用。将 阅读全文
posted @ 2019-05-05 09:47 9龙 阅读 (1093) 评论 (4)