摘要: 1、一个事务对表中的某一行加了排它锁并且未提交,其他事务想要获得该表的表锁就需要保证: •当前没有其他事务持有该表的排他锁 •当前没有其他事务持有该表的其中任一行的排它锁 为了检测是否满足第二个条件,就需要在确保users表不存在排它锁的前提下去检测每一行是否存在排它锁,这样的话效率就会很差。因此就 阅读全文
posted @ 2021-08-05 22:08 酒饮风不疯 阅读(2014) 评论(0) 推荐(0)
摘要: ThreadLocal详解: https://www.cnblogs.com/fsmly/p/11020641.html 对ThreadlLocal内存泄露的个人理解: 1、Thread类中维护了ThreadLocalMap类型的threadlocals变量,ThreadLocalMap是通过子类E 阅读全文
posted @ 2021-07-31 23:09 酒饮风不疯 阅读(103) 评论(0) 推荐(0)
摘要: future的cancel方法取消任务时会给线程发一个中断信号,但是线程并没有真正停止,需要线程根据中断信号自己决定线程中断的时机,实例如下: /** * "!Thread.currentThread().isInterrupted()"不能省略,否则本线程无法被future#cancel方法停止! 阅读全文
posted @ 2021-07-31 19:55 酒饮风不疯 阅读(2967) 评论(0) 推荐(0)
摘要: 1、volatile可以保证的是内存可见性和指令有序性,不能保证操作的原子性;synchronized可以保证的是内存的可见性和操作的原子性,不能保证同步块中的有序性(有人说synchronized可以保证有序性,其实synchronized保证的是指获取相同锁的同步块只能串行执行,但是同步块内的代 阅读全文
posted @ 2021-07-18 00:14 酒饮风不疯 阅读(675) 评论(0) 推荐(0)
摘要: 有时候我们需要对ArrayList进行遍历,然后根据条件删除元素,就像下面这样: public static void main(String[] args) { ArrayList<String> list=new ArrayList<>(); list.add("aa"); list.add(" 阅读全文
posted @ 2020-04-11 21:42 酒饮风不疯 阅读(1416) 评论(0) 推荐(0)
摘要: 代码: 结果: 长度为0的字符串:40 字符串赋空值null:0 全局变量不赋值:16 变量赋初值:16 总结: 1.长度为0的字符串占内存 2.字符串赋null不占内存(事实上,应该是字符串在栈中占了内存,但是堆中没有占内存,即栈中是存在字符串对象ss的,但是没有引用任何堆中的内容) 3.全局变量 阅读全文
posted @ 2020-04-08 23:29 酒饮风不疯 阅读(1151) 评论(0) 推荐(0)
摘要: JavaWeb项目中用Servlet实现学生签到和下载文件功能,过程中遇到了一些路径上的问题,做个总结。 目录结构: 学生签到实验(将从前端收到的学生签到信息记录在指定文件中,向login.txt中记录学生签到信息):1、多次试验发现,用相对路径(String path="/login.txt")可 阅读全文
posted @ 2020-03-21 20:13 酒饮风不疯 阅读(741) 评论(0) 推荐(0)
摘要: 最近用电脑的时候遇到了一些麻烦,倒腾了挺久的终于整出了解决方案。 一、Win10恢复出厂设置后,在桌面鼠标右键一直转圈,很久才有反应,其他地方鼠标右键是正常的。 解决方案: 1、Win+r输入regedit,打开注册表编辑器 2、定位到HKEY_CLASSES_ROOT/Directory/Back 阅读全文
posted @ 2020-03-21 18:16 酒饮风不疯 阅读(985) 评论(0) 推荐(0)