自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (2)
  • 收藏
  • 关注

原创 浅谈java多线程锁的升级

锁的升级定义问题什么是锁的升级为什么锁要升级锁升级的条件定义问题1、什么是锁的升级?2、为什么锁要升级?3、锁升级的条件?什么是锁的升级一般指当代码中用到synchornized时,线程获取锁时锁的性质从无锁->偏向锁->轻量级锁->重量级锁的升级过程为什么锁要升级synchornized(this) { //do something}在jdk1.2中,只要加了sync就是重量级锁(悲观锁),当线程执行到这一段代码时,会先判断该对象是否被其它线程占用,之后会去

2021-07-01 15:50:03 172

原创 逃离贫穷

资产和负债资产:让money流入你口袋的东西(租金大于月供的房;基金、股票、期权;书籍;投资自己;关注自己的健康)负债:让money流出你口袋的东西(每个月还贷款的房、车;名牌包包;看似资产实则负债)一个人想变富,只需不断买入资产,穷人买的更多的是负债,为一时的满足感。当然,事情不可能那么简单,很多世俗会阻止你买入资产,像成家就必须买房买车,不管是全款or贷款,你买入的都是负债,因为婚房自己住,就算几年内房价涨了你也不会卖,还有每个月的物业费、管理费…,车就更是了,买车之后每年的保险、保养、油费、洗车

2021-03-19 11:17:44 135 1

原创 Java阻塞队列BlockingQueue里add、offer、put,take、poll的区别

生产add、offer、put这3个方法都是往队列尾部添加元素,区别如下:add:不会阻塞,添加成功时返回true,不响应中断,当队列已满导致添加失败时抛出IllegalStateException。offer:不会阻塞,添加成功时返回true,因队列已满导致添加失败时返回false,不响应中断。put:会阻塞会响应中断。消费take、poll方法能获取队列头部第1个元素,区别如下:take:会响应中断,会一直阻塞直到取得元素或当前线程中断。poll:会响应中断,会阻塞,阻塞时间参照方法里参

2021-02-05 09:58:44 10365

原创 乐观锁、悲观锁、行锁、页锁、表锁、共享锁、排它锁、互斥锁归纳总结

有次面试被问到数据库锁,回答的比较含糊,相关概念分类没有理解透彻,特作此篇。先上图:乐观锁与悲观锁乐观锁:取数据时总是认为不会被修改,因此不上锁,但在更新时会判断数据是否被更改,适用于多读场景。常见案例有java atomic原子类,底层原理的cas机制(比较并交换)就是在更新时传入预期值、目标值,仅当其值等于预期值时才会更新;数据库write_condition机制大同小异,小异指的是数据库会给记录添加version(版本),根据版本号判断当前事务是否成功。悲观锁:取数据时总认为会被修改,固每每取

2021-02-02 11:52:15 418

原创 对数据库事务的理解

数据库事务主要作用ACID特性隔离级别事务问题主要作用保证1个或多个ddl从事务开始到结束之间的操作要么全部成功,要么全部失败。ACID特性1、 原子性:一个事务的操作要么全部成功,要么全部失败2、 一致性:事务中的执行顺序可被数据库引擎重排序,但最终结果一致3、 隔离性:事务里操作的数据是独立的,对外部不可见4、 持久性:每个操作都会保留操作日志,用于事务的回滚隔离级别以下隔离界别从低到高性能越来越差,性能换正确Read UnCommited:隔离级别最低,会出现脏读、幻读、可重复读

2020-12-15 09:04:43 115

手撸的一个rpc轻量级框架

基于netty、zookeeper开发的一个rpc(远程过程调用)框架,基于生产消费模式在客户端实现4种负载均衡算法,服务端支持热拔插和3种序列化协议。

2021-03-04

包含6张图组成旋转的立方体.zip

一个包含6张图组成的立方体,带3D翻转效果

2021-02-23

空空如也

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

TA关注的人

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