自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 数据库事务理论与实践-snapshot

数据库事务数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。数据库事务性质1、原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么全部不执行。[1]2、一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序 串行执行的结果相一致。[1]3、隔离性(Isolation)...

2021-05-22 11:30:58 157

原创 ReentrantReadWriteLock翻译-snapshot

1.使用场景ReentrantReadWriteLocks可用于提高某些集合的并发性。仅当集合预计很大时,读线程比写线程多,并且需要用超过同步开销的开销时,使用ReentrantReadWriteLocks通常是值得的。2.锁降级获取写锁,然后获取读锁,然后释放写锁。但是,从读锁升级到写锁不可能。3.递归调用注意事项此锁最多支持65535个递归写锁和65535读锁。试图超过这些限制会从锁方法抛出{@link Error}异常。4.{@link Condition}支持..

2021-05-18 17:07:37 140

原创 多线程高并发--volatile的使用

1.线程安全3要素:原子性,可见性,禁止指令重排序2.volatile保证线程的可见性,禁止指令重排序3.volatile的一个使用场景:单例的双重检查加锁的实现,不使用volatile时,可能导致单例对象初始化不完整创建对象的过程:package com.test.threadlocal;/** * 创建对象的过程: * 1.在堆里面开辟一块空间创建一个对象,并给变量里面的属性赋初始值,如果是int类型,就会为变量赋值0 * 2.对象的初始化,会把变量的值改为8 *

2021-05-11 16:53:33 168

原创 多线程高并发--synchronize的锁不能使用String常量,Integer和Long

可能与别的用到这些对象的地方产生冲突

2021-05-11 16:05:05 385

原创 多线程高并发--synchronize的锁升级

1.偏向锁 (只有一个线程使用资源时,不进行升级;有多个线程抢占资源时,升级为自旋锁)--> 自旋锁(等待的线程达到一定的数量会升级为重量级锁) --> 重量级锁(向操作系统申请的锁)。2.用户级别的锁(偏向锁和自旋锁)。3.操作系统内核级别的锁(重量级锁)。...

2021-05-11 15:57:13 81

原创 多线程高并发--自旋锁和重量级锁的选择

1.线程数量很多或执行时间很长的代码使用重量级锁2.其他情况使用自旋锁(自旋锁会占用大量的cpu资源)

2021-05-11 15:46:17 137

原创 多线程高并发--发生异常会释放锁

package com.test.threadlocal;/** * 发生异常会释放锁 * 实验场景:不进行捕获时,t1执行时发生异常,会释放锁,t2线程会执行; * 对异常进行捕获后,t2线程不会执行 */public class ExceptionReleaseLock implements Runnable{ private int count = 0; public void run() { test(); .

2021-05-11 15:40:05 174

原创 java中的引用类型(强软弱虚)-来之尚学堂马士兵

强引用:Object object = new Object();回收object = null;软引用SoftReference<object> m = newSoftReference<object>(new object);SoftReference为强引用,里面的对象为软引用获取软引用的数据m.get();回收heap空间满了,系统会回收垃圾,先回收一次,如果不够,会把软引用干掉工程使用缓存弱引用WeakRefer...

2021-05-08 14:55:46 170

原创 jar包版本升级-was增量部署新旧jar包冲突,删除旧版本依然报错-上线时失败,后续持续更新

错误:was上增量部署项目,jar包冲突解决方案:清理旧版本的jar包的同时需要清理掉was里面的缓存信息,也就是删除was安装目录里面的temp和wastemp的数据,删除前请做好备份

2021-04-20 10:37:17 829 2

原创 彻底解决Could not resolve placeholder --release

1.产生的原因,只看文字也能看懂,可以跳过代码部分if (propVal != null) { propVal = this.parseStringValue(propVal, placeholderResolver, (Set)visitedPlaceholders); result.replace(startIndex, endIndex + this.placeholderSuffix.length.

2021-03-27 11:12:44 9991 1

原创 git客户端从开源中国拉取仓库master分支--创作中

passphrase:上面配置的gitee.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEKxHSJ7084RmkJ4YdEi5tngynE8aZe2uEoVVsB/OvYN

2021-03-21 01:15:54 172

原创 通过反射获取注解数据-随便写写,自用

import lombok.Data;import java.lang.annotation.*;import java.lang.reflect.Field;public class GetAnnotationInfoByRefectionDemo { /** * 1.创建了两个注解TableMapper,FieldMapper * 2.创建了类student并加上了TableMapper,FieldMapper注解 * 3.通过反射获取注解数据 .

2021-03-20 20:59:53 121

原创 解决HashMap线程不安全问题-代码来之与尚硅谷周阳

import java.util.HashMap;import java.util.UUID;public class HashMapNoSafeDemo { public static void main(String[] args) { HashMap<String, String> map = new HashMap<String, String>(); for (int i = 0; i < 30; i++) { .

2021-03-18 22:31:08 122

原创 解决HashSet线程不安全问题-代码来之与尚硅谷周阳

import java.util.HashSet;import java.util.UUID;public class HashSetNoSafeDemo { public static void main(String[] args) { HashSet<String> set = new HashSet<String>(); for (int i = 0; i < 30; i++) { new .

2021-03-18 22:25:59 219

原创 解决ArrayList线程不安全问题-代码来之与尚硅谷周阳

import java.util.ArrayList;import java.util.UUID;public class ArrayListNoSafeDemo { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); for (int i = 0; i < 30; i++) { .

2021-03-18 22:24:00 157 1

原创 ABA问题解决--代码来之尚硅谷周阳

import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicReference;import java.util.concurrent.atomic.AtomicStampedReference;public class ABADemo { static AtomicReference<Integer> atomicReference = new AtomicReference&l.

2021-03-16 23:54:26 193

翻译 No plugin found for prefix 'tomcat7' in the current project 解决

在一个国外的论坛上找到的答案http://tomcat.apache.org/maven-plugin-2.2/(apache官网有介绍)groupId and Mojo name changeSince version 2.0-beta-1 tomcat mojos has been renamed to tomcat6 and tomcat7 with the same goals...

2018-11-01 18:15:50 1915 1

mybatis反向代理工具

mybatis反向代理工具,亲测可用。

2018-11-01

空空如也

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

TA关注的人

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