- 博客(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
2019-06-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人