- 博客(9)
- 收藏
- 关注
原创 sql基础--between和in的区别
between和in的区别between是min和max范围内的,包括min和max,是数字型的in是在一个数组范围内的,类型可以是数值型的也可以是字符型的,当值在其中之一的才被选中案例:select * from test where x between 900 and 10000;select * from test where y in(n1,n2,n3);...
2022-01-25 22:29:09
2697
转载 java 枚举类
1 枚举类型初探枚举类型,其语法总让人觉着怪怪的,如下:简单的一行,就定义了包含四个值的枚举类型,缺总让人觉着语法有点怪异。而在使用时:就可以得到输出:那我们简单的一行定义中,到底发生了什么?枚举类型在编译时是怎样实现的?它还有着怎样的特点?我们将会分几节对Java中的枚举类型进行介绍。2 枚举产生之前如果不使用枚举,我们要对“春夏秋冬”这四个值分别赋予一个数字,则常见的操作为:...
2021-04-19 14:41:35
261
原创 2021-01-25
目录join调用了wait,但为什么不需要主动调用notify或notifyAll?wait一定需要notify或notifyAll吗?notify或notifyAll的原理是什么?join调用了wait,但为什么不需要主动调用notify或notifyAll?一般来说wait必须和notifyAll配合使用来释放锁和恢复锁,那我们来看一下join源码,发现并没有调用notify或notifyAll,来试主线程重新获得锁。public final synchronized void
2021-01-25 17:21:41
224
转载 关于join() 是否会释放锁的一些思考
关于join() 是否会释放锁的一些思考# 首先从一个很有意思的问题开始: - 问 : Thread 的join() 方法是否会释放锁? - 答: 会!# 如果一切到这里就结束了,那可能也就没有这篇小记了,但是我的脑子却冒出了一些奇怪的想法: - 释放哪个对象的锁呢? - 难道是释放父线程所持有的所有对象的锁? -- 其实如果看了源码,很容易明白释放的是运行(这个地方可能有些歧义,但是我也不知道怎么说最好)join()方法的那个线程对象的锁,不过这些都是后话,我们且往下
2021-01-25 16:17:09
358
原创 JVM垃圾回收整理(初级)
目录垃圾回收总结1、Serial GC(复制算法)2、Serial Old GC(标记-整理算法)3、ParNew GC(复制算法)4、Parallel Scavenge GC(复制算法)5、Parallel Old GC(标记-整理算法)6、CMS GC(标记-清除算法)6.1 Initial Mark(初始标记)6.2 Concurrent Mark(并发标记)6.3 Concurrent Preclean(并发预清理)6.4 Final Remark(.
2021-01-22 21:51:00
518
原创 字节码学习案例
public class MovingAverage { private int count = 0; private double sum = 0.0D; public void submit(double value) { this.count++; this.sum += value; } public double getAvg() { if (0 == this.count) { ..
2021-01-06 18:20:26
243
原创 Java字节码
目录1、字节码是什么2、为什么要用字节码3、怎么用字节码1、字节码是什么Java 中字节码英文为bytecode,由单字节(byte)的指令组成,理论上最多支持2的8次方(256)个操作码,但java中只使用200左右的操作码,且这些字节码作为JVM的指令集,供JVM加载并执行(换句话说java字节码就是JVM执行的指令格式,就像汇编语言和机器语言一样)补充:操作码主要由类型前缀和操作名称组成,根据指令性质,主要分为4类:栈操作指令;程序流程控制指令;对象操作指令;运算以及类型转换指
2021-01-06 16:52:49
536
原创 HashMap源码学习记录(一)
1、HashMap是什么HashMap是Map的一种实现类,那Map又是什么呢?Map是描述一系列的key和value一一对应的数据结构;而HashMap则是实现了key和value键值对存储的容器及一些列相关操作(具体操作可见本文的源码中关键方法),且key和values都允许为null,说了这么多是不是还是不清楚他到达是什么?那下来就是干货,他是:A、整体是一个数组;B、数组每个位置是一个链表;但当键值对个数大于树阀值TREEIFY_THRESHOLD时,则数组中每个位置存储的是树C、链表每个节
2020-12-18 17:27:05
189
1
原创 Object-hashCode算法笔记
hashCode()是什么Object的hashCode()通过JVM虚拟机来实现其算法,主要为对象计算出一个hash值hashCode()的作用及怎么用:通过该hash值可以高效的对两个对象进行比较,比较逻辑如下: if (A.hash != B.hash){ A != B }else { if (A.equals != B.equals) { A != B } else { A == B
2020-12-18 12:14:09
388
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人