会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
charlie-pang
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
10
下一页
2025年7月17日
JVM调优
摘要: JVM调优: 1、内存相关参数: -Xms初始堆大小 -Xmx最大堆大小 -Xmn年轻代大小 -XX元空间大小 -Xss线程栈大小 2、垃圾回收器的选择 3、开启GC日志调试参数 -Xloggc 3、性能调优 OOM 时生成堆快照 -XX:+HeapDumpOnOutOfMemoryError
阅读全文
posted @ 2025-07-17 11:16 Charlie-Pang
阅读(5)
评论(0)
推荐(0)
2025年7月15日
BeanFactory和FactoryBean的区别
摘要: BeanFactory和Factory Bean的区别 相同点:都是用来创建bean对象的,最终都会被spring来管理。 不同点:使用BeanFactory创建对象时,必须要遵循严格的生命周期流程,过程复杂,如果想要简单的自定义某个对象的创建,同时创建完成的对象想要交给spring管理, 需要实现
阅读全文
posted @ 2025-07-15 22:58 Charlie-Pang
阅读(3)
评论(0)
推荐(0)
drop、truncate和delete的区别
摘要: 特性 / 命令 DELETE TRUNCATE DROP 删除目标 删除表中的部分或全部数据 删除整张表中的全部数据 删除整个数据库对象(表/库) 是否可回滚 ✅ 支持事务,可回滚 ❌ 不支持回滚 ❌ 不支持回滚 是否记录日志 ✅ 行级别记录日志 ✅ 记录,但不记录每一行 ✅ 记录结构变更(非行级)
阅读全文
posted @ 2025-07-15 21:01 Charlie-Pang
阅读(7)
评论(0)
推荐(0)
基础语法
摘要: for循环 func main() { sum := 0 for i := 0; i < 100; i++ { sum = sum + 1 } fmt.Println("sum =", sum) } defer 先defer的后执行,后defer的先执行。 案例1 所有 defer 注册的语句会按照
阅读全文
posted @ 2025-07-15 08:33 Charlie-Pang
阅读(6)
评论(0)
推荐(0)
2025年7月14日
脏读、不可重读度、幻读
摘要: 1、脏读:脏读是指一个事务可以读取到另一个事务尚未提交的数据。 2、不可重复读:不可重复读是指同一个事务中,前后两次查询同一条记录,结果不一致,因为中间该记录被其他事务修改了并提交了。 不可重复读的例子: 初始数据: id name balance 1 张三 100 事务A BEGIN; SELEC
阅读全文
posted @ 2025-07-14 11:01 Charlie-Pang
阅读(36)
评论(0)
推荐(0)
Java内存区域
摘要: 橙色区域是所有线程共享的数据区 银灰色区域是线程隔离的数据区 程序计数器:是一块较小的内存空间,类似当前线程执行的字节码行号指示器,字节码解释器工作就是通过改变计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖计数器完成。每个
阅读全文
posted @ 2025-07-14 08:55 Charlie-Pang
阅读(6)
评论(0)
推荐(0)
2025年7月11日
spring三级缓存的作用
摘要: 一级缓存解决的问题是Bean的实例化。 二级缓存解决的问题是Bean的依赖注入(初始化)。 三级缓存解决的问题是Bean Aop代理生成。 为什么需要三级缓存: 三级缓存的value类型是ObjectFactory,是一个函数式接口,存在的意义是保证在整个容器的运行过程中同名的bean对象只能有一个
阅读全文
posted @ 2025-07-11 14:34 Charlie-Pang
阅读(6)
评论(0)
推荐(0)
多线程中锁的总结
摘要: B站锁的讲解 乐观锁 认为自己在使用数据的时候不会被别的线程来修改数据,不会加锁,只是在更新数据的时候去判断之前有没有被别的线程更新了这个数据。 CAS(Compare-and-Swap)算法, AtomicInteger这类原子类就是CAS 悲观锁 认为自己在使用数据的时候一定有别的线程来修改数据
阅读全文
posted @ 2025-07-11 09:05 Charlie-Pang
阅读(14)
评论(0)
推荐(0)
ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal的区别
摘要: ThreadLocal 在下面的案例中,local.get()取到的值是null,因为子线程获取不到主线程的值。用InheritableThreadLocal可以让子线程获取到主线程的值。 public static void main(String[] args) { ThreadLocal<St
阅读全文
posted @ 2025-07-11 08:57 Charlie-Pang
阅读(11)
评论(0)
推荐(0)
2025年7月10日
ReentrantLock
摘要: ReentrantLock比Synchronized更加灵活。 ReentrantLock reentrantLock = new ReentrantLock(); ReentrantLock有以下几个重要的方法: reentrantLock.lock(),//上锁 reentrantLock.un
阅读全文
posted @ 2025-07-10 22:47 Charlie-Pang
阅读(8)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
10
下一页
公告