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