JAVA零散知识点
文章平均质量分 74
微笑的丛林
这个作者很懒,什么都没留下…
展开
-
并发情况下三种线程/并发安全
1.主存内小的共享变量线程安全[JMM,工作内存,主存屏障,volatile+cas]2.磁盘内数据库读写并发安全[对version的cas]因为读,写是通过执行sql语句实现的,而不是直接像指针访问主存一样,因而没有情况1的可见性问题,直接对version进行CAS即可[由于数据库事务中又包含多个sql语句,所以在前面提到的针对单个sql语句竞争的基础上,更上一层要考虑事务隔离性问题,如脏读,不可重复读,幻读,,,前两者一般涉及update,delete,直接锁行即可,幻读需要锁表,.原创 2021-05-04 23:53:38 · 187 阅读 · 0 评论 -
java知识点杂记
就是一些随笔,从手机便签中摞到CSDN1. hashmap(key,value)类型中的hashcode和hashset中的hashcode实现不完全一样1-1hashmap中的key通常是String,且多是用户根据业务自定义的,如name,因而hashcode函数针对的是String进行处理的,如从前到后对每个字符h=31*h+val[i],这样每个不同字符串返回的hashcode必不一样(h是int型,万一溢出呢?取低位?因为取得是31奇素数所以即使溢出低32位也不会相同?)1-2而h.原创 2021-05-04 23:41:27 · 142 阅读 · 0 评论