自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

醉后不知天在水,满船清梦压星河

简书博客 https://www.jianshu.com/u/98c41c8498e8

  • 博客(9)
  • 收藏
  • 关注

原创 AQS应用——ReentrantLock源码分析

前言本文通过可重入锁ReentrantLock的源码分析,加深对aqs和ReentrantLock的理解关于AQS相关的知识可以参考我的另一篇文章Java并发——AQS源码解析先从使用上入手构造方法public ReentrantLock() { sync = new NonfairSync();}public ReentrantLock(boolean fair) { ...

2020-04-04 18:06:48 346

原创 Zookeeper 安装配置 伪集群搭建

本文总结一下在Linux上Zookeeper的安装和配置安装在zookeeper官网上推荐的清华镜像地址下载对应版本的zk安装包,以最新版本3.5.6举例,这里记住要下载带-bin的包如果下载不带-bin的包,启动zk时可能会报错Starting zookeeper … FAILED TO START查看日志会看到如下错误Error: Could not find or load m...

2020-03-29 15:53:37 334

原创 Java并发——AQS源码解析

本文通过总结源码学习,来分析了解下AQS的工作原理AQS是juc包锁实现的基础框架,研究juc包源码之前,AQS是必经之路虽然说,平时项目中,我们几乎不会有自己去继承aqs实现锁的需要,但是通过源码了解aqs的机制和原理,有助于我们加深对各种锁的理解,以及出现问题时排查的思路AbstractQueuedSynchronizer抽象队列同步器,CLH 锁The wait queue is...

2020-03-29 15:51:37 597

原创 Java并发——ThreadPoolExecutor源码解析

本文总结一下对线程池源码的学习,基于jdk 1.8什么是线程池顾名思义线程池就是一个可以提供一组可复用线程的对象。线程池内部有阻塞队列,用来存放等待执行的任务。然后内部的线程来执行这些任务,线程会不断的从阻塞队列中获取任务来执行,而不是执行完一个任务就销毁。线程池的作用在高并发场景下,如果给每个任务都去创建一个线程来执行,结果就是大量的线程创建与销毁,系统的开销将会很大,影响应用的执行...

2020-03-29 15:50:14 321

原创 Java集合框架——ArrayList源码

本文通过源码来总结一下ArrayListArrayListArrayList 底层上是一个动态数组属性// 默认初始容量private static final int DEFAULT_CAPACITY = 10;// 指定容量为0时,数组为该值private static final Object[] EMPTY_ELEMENTDATA = {};// 调用无参构造方法,数...

2020-03-29 15:47:19 120

原创 spring boot 2.1.x log4j2 配置

本文通过项目中的日志配置问题,引出并总结一下spring boot 2.1.x 中 log4j2 的配置现象在服务器上调试项目的时候,发现日志文件生成的路径有问题,总是找不到日志位置,后来测试发现每次都在当前目录下生成 log/xxx.log查看项目配置如下:logging.level.com.xxx.yyy=INFOlogging.file=log/xxx.log在resource...

2020-03-29 15:46:23 819

原创 Java中的回调方法

引言回调方法大家经常听,但是可能有的同学并不是很清楚回调到底是怎么回事,本文以一个简单的例子,带你了解回调方法。概念所谓回调方法,就是在调用方把一个需要被回调的方法作为参数,传递给要调用的方法,被调用的方法执行完成后,通过该参数返回来调用此方法,作为参数传递的该方法就称作回调方法。应用场景在项目开发中,通常会碰到各个模块或者对象之间的消息传递,A模块的某些方法,需要在B模块满足某些条件...

2020-03-29 15:45:10 1231

原创 斐波那契数列的递归与尾递归

引言之前在lintcode上刷算法入门题,366题是求斐波那契数列,当时就想用递归应该很快就ac了,最后递归是没写错,但是提交报时间超限了,也就引出了这篇文章——尾递归。测试先来看一下,常规的斐波那契递归写法,假设第一项为0,第二项为1:public int fibonacci(int n) { if(n == 1) { return 0; } if(n ...

2020-03-29 15:42:01 1428

原创 Integer中valueOf与parseInt区别及其缓存策略

本文来聊一下Integer中的两个常用的静态方法valueOf和parseInt,顺便引出基本类型包装类的缓存策略前言这篇文章的想法来源于一次代码检查,使用findbugs插件检查代码,然后报了如下信息(不属于bug,但是是一个更好的建议)A boxed primitive is created from a String, just to extract the unboxed prim...

2020-03-29 14:59:33 384

空空如也

空空如也

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

TA关注的人

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