自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring Boot启动流程

随着我们ctrl加鼠标左键的使用,最终我们会在一个springboot项目中发现启动过程由以下两个过程组成构造过程:public SpringApplication(ResourceLoader resourceLoader, Class<?>... primarySources) { //有些会指定额外的classpath目录,会有传入这个东西的情况 ...

2020-02-19 23:56:44 89

原创 java.util.concurrent 之 原子变量、unsafe以及硬件级别的同步实现

我们之前介绍的J.U.C中的两种同步工具:Condition和ReentrantLock中,大量的使用了CAS操作(compareAndSwap),这篇文章就来讲一下这个操作,以及利用这个操作实现的另一个实用的工具AtomicInteger

2017-10-31 13:09:49 381

原创 java.util.concurrent 之 Condition

java.util.concurrent最初的一个目标,就是消除之前java使用synchronized与Object的各种监视器方法(notify(),wait())等等来实现线程之前的各种同步与通信的不变与低效,我们现在知道,j.u.c中实现了AQS,并通过AQS实现了一些锁比如我们讲到的ReentrantLock。Lock对象的lock()方法就相当于synchronized,但J.U.C的L

2017-10-24 10:43:41 332

原创 java.util.concurrent 之 可重入锁ReentrantLock

这次介绍一下以AQS为模板的一个简单的锁的实现:ReentrantLock——可重入锁首先解释两个字:重入。重入就是重新进去,进去哪里?进去被ReentrantLock锁住的代码块。被为什么说这个锁时可重入的,是因为这个锁有一个性质,就是在这个锁已经被当前线程获取的情况下,这个线程再次尝试获取时就不用重新设置锁状态。

2017-10-23 13:10:52 274

原创 java.util.concurrent 之 队列同步器AQS

现在公共平台一些一直在用的老系统(UM),用户量越来越多,并发量越来越大,对java.util.concurrent 包的使用已经必不可少,很多时候我们只是使用这个包中的一些类,至于这些类为什么能够有这么优美的性质,我们要是不知道,那对于一个Java程序员来说这是比较可惜的,我准备从最基本的AQS(队列同步器)和CAS(compareAndSet操作)开始,一步一步介绍这些类,也是提升自己。今天来看

2017-10-11 15:41:56 275

原创 bitmap算法的介绍

尽管用某种列表的下表来作为某个元素的值这种想法很多人都有(大学的时候做算法题经常会有这种想法,有时也会付诸实践),但是相信刚从大学出来,很少有人会知道这种思想已经被提炼成一种算法了。bitmap算法的意思就像他的名字,它是由一堆bit组成的map,它先初始化一大堆bit,就假设n个bit吧。然后,这些bit的下标作为某种哈希算法的值,bit本身表示该值是否存在。如果不告诉你他的应用场景,你可能会觉得

2017-09-13 00:12:19 381

原创 深拷贝与浅拷贝(clone方法与赋值)

当需要一个与之前对象相同的对象时,应当实现该类的Cloneable接口,一般来说clone方法的实现如下:protected Chicken clone() throws CloneNotSupportedException { // TODO Auto-generated method stub Chicken cloneChicken = null;

2015-07-05 23:56:43 414

原创 自动装箱与拆箱功能

自动装箱与拆箱功能是指将基本数据类型变量封装在Wrapper类对象中或将Wrapper类对象中的值赋给基本数据类型变量的行为。装箱(Boxing)int i = 10;Integer integer = i;拆箱(Unboxing)Integer fooInteger = 10;int fooPrimitive = fooInteger;自动装箱与拆箱功能是所谓的编译程序蜜糖(compilerS

2015-07-03 17:07:52 327

ubuntu1604.zip

Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your internet connected things.

2019-06-01

安卓网页版官方文档网盘地址

安卓网页版官方文档网盘地址

2015-07-03

Java编程思想第四版完整中文高清版

java编程思想第四版完整中文高清版,对面试很有帮助。

2015-03-05

Android官方API文档完整版.chm

Android官方API文档完整版.chm 英文版本

2015-03-05

空空如也

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

TA关注的人

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