自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程的生命周期(状态)

使当前线程让出CPU执行权保留执行资格,但让出时间不可设定,且不会释放锁资源。有可能CPU下次进行线程调度,还会让这个线程获得CPU时间片继续执行。⚠️在 ConcurrentHashMap中的 initTable() 初始化中,用到了 yield() 方法。因为ConcurrentHashMap可能会被多个线程初始化table,但初始化只需一个线程操作,且由于这个操作很快,如果让其他线程进入阻塞状态或者等待状态会造成上下文切换等相对大的开销。

2025-12-24 14:49:51 1234

原创 Mapper.xml文件的动态SQL语句中#{ }和${ }的区别

在Mybatis中,动态SQL是一种强大特性,能够根据【不同的输入参数】生成不同的SQL语句。结果只有第一页分页正常,之后页都会把之前的分页全部在本页展示(比如,第一页展示10条,第二页却展示了20条,第三页展示了30条…而在-- 之后的语句将作为注释,不起作用,这样在一条查询语句中偷偷的加了一个删除表数据的SQL,会对系统造成危害。Mybatis在对SQL语句进行预编译之前,会对SQL语句进行动态解析,解析为一个BoundSql对象。因为${ }在预编译之前已经被变量替换了,这会存在SQL注入问题。

2025-11-20 15:20:28 343

空空如也

空空如也

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

TA关注的人

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