Java
文章平均质量分 60
瑶瑶乐1117
一个努力学习大数据技术的小学生
展开
-
Java多线程高并发锁的学习
锁的分类:公平锁和非公平锁:公平锁:见之知意,对于每个申请锁的线程都是公平的,按照申请锁的顺序来获取进入锁内的权限。非公平锁:不按照顺序来获取锁,可能后申请的在先申请的线程之前获取锁,有可能会造成优先级混乱或者饥饿现象。synchronized就是一种非公平锁可重入锁如果一个线程在外层方法已经获取锁了,那么在内层方法也默认是已经获取锁,可避免死锁。独享锁和非独享锁同样见名知意,独享锁一次只能被一个线程所获取,可以执行锁内代码;共享锁就是一次可以被多个线程共享。其中,synchronized原创 2021-02-04 21:21:14 · 142 阅读 · 0 评论 -
SQL的索引学习部分总结
索引索引是数据结构,可以帮助mysql高效获取数据。是排好序的快速查找数据结构。索引一般是以BTREE实现的,每个节点保存着索引键值,指向表中的物理数据。而且索引本身也很大,一般不会放在内存中。*- 优点:1.提高了数据检索的效率,降低数据库的IO成本;2.通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗。缺点:1.索引实际上也是一张表,保存了主键和索引字段,并指向实体表的记录,所以索引列占用空间较大;2.降低了更新表的速度,因为每个修改表都会更新索引表;3.优化耗时*索引的分原创 2021-01-18 21:10:44 · 200 阅读 · 0 评论 -
SQL中的join操作总结
内连接:如图,使用inner join 执行内连接,on 后面接连接条件处理过程:表A的每一行,去遍历匹配表B的的所有行,如果遇到符合连接条件的,就把两行拼接在一起,相当于拉宽行。没有匹配到的则舍弃。两张表部分主次,相当于输出交集部分并拉宽表。外连接:外连接分为左外连接和右外连接;左外连接就是左边的表为主右边表为次,反之亦然。处理过程:处理过程与内连接处理过程类似,区别在于:如主表没有成功匹配到次表的行,那么这一行不会丢弃,而是会用null占位。结果集就是主表所有的行被拉宽,匹配到原创 2021-01-17 21:47:38 · 151 阅读 · 0 评论