自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 threadlocal原理以及内存泄露问题

原理:ThreadLocal是线程本地变量,每个线程存在副本,有一个ThreadLocal变量,有线程1,线程2,线程3,threadlocal对三个线程进行判断,set线程1,2,3,threadlocal的引用和value,它的实现原理是每一个线程都有一个threadlocalmap,这个map里面都一个key和value,key就是thread,value就是刚开始调用threadlocal里面set进去的值,达到了线程副本的作用,线程隔离,每个线程之间互不干扰。 threadlocal的内存.

2022-04-14 15:32:37 1368

原创 int和integer代码细节体现

项目场景: 博客项目:阅读次数的改正 问题描述 浏览详情是按道理浏览量增加评论数不会改变,但是变成了0 原因分析: 实体类里面用的int基本数据类型,导致每次刷新的默认值为0 解决方案: 把实体类里面int类型改成封装的类型integer ...

2022-04-03 16:03:59 203

原创 并发问题中的乐观锁和悲观锁

并发问题中的乐观锁和悲观锁

2022-04-03 14:57:00 1062

原创 heap(堆)和stack(栈)的区别

(1)申请的方式不同:stack:又系统的自动分配,比如:声明在函数中一个局部变量 int b; 系统自动在栈中为 b 开辟空间;heap:需要程序员自己申请,并且指明大小,对于Java需要手动new Object()的形式 (2)申请后系统的响应stack: 只要栈的剩余空间大于所申请空间,系统将为程序提供内存,否则将报异常提示栈溢出。heap:首先应该知道操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除

2022-04-02 20:56:31 881

原创 用Spring的@Transactional注解控制事务失效的场景

项目场景: 提示:这里简述项目相关背景: 例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大) 问题描述: 提示:这里描述项目中遇到的问题: 例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据 APP 中接收数据代码: @Override public void run() { bytes = mmInStream.read(buffer); mHandler.obtainMessage(READ_DATA, bytes,

2021-12-28 17:16:24 165

原创 AOP面向切面编程

AOP的概念: 即面向切面编程,简单的说就是将代码中重复的部分抽取出来,在需要执行的时候使用动态代理技术,在不修改源码的基础上对方法进行增强。 优点:减少代码的冗余,提高开发效率,维护方便 动态代理的原理: JDK动态代理:实现InvocationHandler接口,通过重组字节码实现,首先获得代理对象的引用和所有接口,生成新的类必须实现代理类的所有接口,动态生成Java代码后编译生成的.class文件并重新加载到JVM运行 CG...

2021-10-20 10:53:35 252

原创 关于安全框架shiro的导入官方的QuickStart所报的导入包的错误

要把导入的ini的包和lang包换了,下面是最新完整的 QuickStart的代码 /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright own

2021-09-27 11:36:08 269

原创 springboot启动报错

组件没有被扫描到或者没有注册组件 添加这个注解即可

2021-09-22 16:38:54 269

原创 throw和throws的区别

(1)作用不同 throw 用于程序员自行产生并抛出异常,throws用于声明在该方法内抛出了异常 (2)使用的位置不同 throw 位于方法体内部,可以作为单独语句使用。throws必须跟在方法参数列表的后面,不能单独使用 (3)内容不同 throw 抛出一个异常对象,而且只能是一个。throws后面跟异常类而且可以跟多个异常类 下面是代码: ...

2021-09-09 22:19:45 361

原创 mybatis-plus代码生成的时候报异常

Caused by: java.lang.ClassNotFoundException: org.ap 原因:缺少org.apache.velocity的依赖 解决办法:在pom文件添加依赖即可 <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>

2021-09-06 19:37:39 505

空空如也

空空如也

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

TA关注的人

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