自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 @Transactional 失效的场景

1.非public方法上使用会失效2.开发中避免不了会对同一个类里面的方法调用,比如有一个类Test,它的一个方法A,A再调用本类的方法B(不论方法B是用public还是private修饰),但方法A没有声明注解事务,而B方法有。则外部调用方法A之后,方法B的事务是不会起作用的。这也是经常犯错误的一个地方。那为啥会出现这种情况?其实这还是由于使用Spring AOP代理造成的,因为只有当事务方法被当前类以外的代码调用时,才会由Spring生成的代理对象来管理。3.@Transactional 注解属性

2020-06-15 16:11:41 311 1

原创 服务器负载过高如何定位

遇到服务器负载过高,通常通过下面基本查看定位:1.登录服务器,先执行top命令,查看CPU占用情况:$top PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1893 admin 20 0 7127m 2.6g 38m S 181.7 32.6 10:20.26 java2.定位进程相关的线程$top -Hp 1893 PID USER PR NI VIRT RES

2020-06-12 15:43:08 1519

原创 synchronize关键字

1.synchronized关键字分别加在两个方法上:import java.util.concurrent.TimeUnit;public class TT extends Thread { int b=100; public synchronized void m1(){ b=1000; System.out.println("m1给b赋值"); try{ Thread.sleep(2000);

2020-06-11 12:30:02 234

原创 Redis 分布式并发防止脏读

即使Redis是单线程的,但是在多线程的情况下,可能会出现脏读这样的问题。比如,线程A从Redis读到key X的值=1,线程B也读到1,但是线程A读到之后进行计算将其改为2,线程B的值还是1,还在用拿到的1进行业务计算,这样就会出问题。可以通过下面代码,通过setnx设置一把锁,每个线程过来,只有获取了锁才能继续操作,否则就重试,获得锁的线程执行自己的计算操作,执行完之后,删掉锁,这样其他的线程再进来执行的时候,数据就是最新的。不会出现脏读的问题。private void LockRedisUpdate

2020-06-10 17:06:16 4496

原创 逻辑思维训练-找出不一样的球

有9个球,其中有一个球的重量和其他不一样,用一个天秤称,求需要称多少次才能找到重量不一样的球。请列出步骤,写出程序代码。1.可以将9个球,分成4(A),4(B),1(C)三组。第一步,先比较A ,B,如果相等,直接,确定C组的那个不一样的球。否则第二步。第二步,A和B不相等,随机将A或B在分为2(D),2(E)两组,称重: 不相等则,继续随机取一组分为1(F),1(G),继续比较,相等则取另一组比较,不相等则确定里面有个球是不一样的球,随机取一个(X)与其他的球比较,相等则确定X是不一样的那个球;

2020-06-10 15:55:51 1447

原创 【奇葩bug记录】content-disposition invalid character 0x1A

最近上线一个导出excel的功能,测试环境功能一切正常。上线之后生产环境下Chrome下载前端报错如下:试了火狐,火狐不报错,能正常下载。检查前后端代码看不出问题。通过浏览器插件net-internals 打开events选项,选择列表中其中一条记录,可以查看网络封包详细信息,看到有如下报错信息:t= 4891 [st=30] HTTP2_SESSION_RECV_INVALID_HEADER --> error = "Invalid character 0x1

2020-06-09 12:32:59 316

原创 乐观锁和悲观锁的概念及适用场景

一、基本概念二、实现方式(含实例)1、CAS(Compare And Swap)2、版本号机制三、优缺点和适用场景1.基本概念:乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题。乐观锁:乐观锁在操作数据时非常乐观,认为别人不会同时修改数据。因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了数据:如果别人修改了数据则放弃操作,否则执行操作。悲观锁:悲观锁在操作数据时比较悲观,认为别人会同时修改数据。因此操作数据时直接把数据锁住,直到操作完成后才会释放锁;上锁期间其

2020-06-09 12:01:54 1857

原创 前后端联调-小程序无法识别接口返回的长整型id的坑

小程序无法识别接口返回的长整型id的坑问题:解决办法:问题:最近有个功能开发了很久,突然测试说页面显示不了。具体问题呢,就是有个广告列表接口返回了广告的数据列表,然后点击广告可以进入详情,小程序传广告的id来请求详情数据。但是发现小程序发送的id都是数据库不存在的id,后来小程序端经过查阅资料说是前端识别长整型数值不精确导致识别出来的id不准,请求数据的时候自然获取不到正确的详情解决办法:后台接口用string返回id,而不用long返回id.保证前端不会因为精度识别不准出线该问题。引用文本

2020-06-04 15:12:26 715

空空如也

空空如也

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

TA关注的人

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