自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 应届毕业生修炼手册 之 简历篇(一)

众所周知,人的第一印象很重要。HR对你的第一印象就是通过简历得来的。一份好的简历会在求职的路上起到事半功倍的左右。因此,对于一个求职者来说,吸引企业关注自己是第一关,也是求职的第一关。

2022-11-01 20:16:08 105

原创 AQS如何用一个Int值来表示读写两种状态

上一篇博客更新了AQS的一个源码解析,从中我们可以了解到,AQS仅仅依靠一个int值就可以实现线程阻塞排队以及执行的机制。依赖AQS实现的锁有很多种,ReentrantLock就是其中的一个。下篇博客就是将分析另一种锁ReentrantReadWriteLock。这种锁涉及到写锁与读锁。而AQS仅仅单靠一个int值就区分了读锁。为了理解源码简单,我在这里先将这部分知识点讲解一下。/* ...

2019-10-14 21:13:45 560 1

原创 AbstractQueuedSynchronizer(AQS)分析

上两天一直在更新ReentrantLock得源码阅读。今天就更新一下在java.util.concurrent中最重要得基础类AbstractQueuedSynchronizer简称AQS类。通过读源码得注释可以了解到,这个类是为实现依赖于先进先出(FIFO)等待队列实现阻塞锁以及同步器(信号灯,事件等)提供了一个框架。换而言之,这个类单独拿出来并没有什么实际意义,只是提供了一个框架,。这个类...

2019-10-14 08:56:23 181

原创 Java并发 ReentrantLock(重入锁)之公平锁源码解析 超详细!!!

上一篇讲的是ReentrantLock的非公平锁,这篇博客就讲讲RenntrantLock的公平锁。公平锁,就是线程老老实实的排队,不会尝试争抢资源。还是举上厕所的栗子(通俗易懂,牛的一批):你在公共厕所排队上厕所,突然又有一个人进来,这回这个人讲究的很,没有去挨个开厕所门,而是直接排在你后面,等轮到他了他再上厕所。其实公平锁与非公平锁的操作大部分都差不多,只是在尝试获取锁资源的地方不...

2019-10-12 15:52:53 539

原创 Java并发 ReentrantLock(重入锁)之非公平锁源码解析 超详细!!

非公平锁,顾名思义就是不公平的获取锁,只要有机会,就尝试抢占锁资源。 举个栗子,你在公共厕所排队上厕所,突然有一个人进来,尝试开了所有厕所的门,只要有没人的坑位,他就抢先蹲进去,如果没有坑位,则老老实实的排队。 我这里简单写了一个例子方便进行代码阅读import java.util.concurrent.locks.ReentrantLock;/** * ...

2019-10-11 22:29:27 366

原创 word完美转html(doc、docx 图片转base64编码)

近期在做一个项目,里面涉及到关于word转html的需求。要求上传一个word文档,转换成html进行在线预览编辑个功能。由于我选择将预览修改后的文档保存到S3里面,所以我选择将word中的图片直接转成base64编码,上传到S3中,好处就是不需要额外的地方(例如 mongo)存储保存这些图片,缺点就是转成的html文本的大小会比相应的word文件要大一些。至于那种方案好就看自己实际...

2019-08-20 14:43:04 12842 21

空空如也

空空如也

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

TA关注的人

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