自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除