×
请登录
账号
密码
登录 Use it
博客
随笔
分享
标签
登录
注册
没有程序计数器会怎么样?
没有程序计数器,Java程序中的流程控制将无法得到正确的控制,多线程也无法正确的轮换。 扩展阅读 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在Java虚拟机...
KLEYYY
随笔
10月前
43
0
说说你对JUC的了解
JUC是java.util.concurrent的缩写,该包参考自EDU.oswego.cs.dl.util.concurrent,是JSR 166标准规范的一个实现。JSR 166是一个关于Java并发编程的规范提案,在JDK中该规范由java...
KLEYYY
随笔
10月前
64
0
说一说sleep()和wait()的区别
sleep()是Thread类中的静态方法,而wait()是Object类中的成员方法; sleep()可以在任何地方使用,而wait()只能在同步方法或同步代码块中使用; sleep()不会释放锁,而wait()会释放锁,并需要通过notify...
Wenhao
随笔
10月前
49
0
如何判断数据库的索引有没有生效?
可以使用EXPLAIN语句查看索引是否正在使用。 举例,假设已经创建了book表,并已经在其year_publication字段上建立了普通索引。执行如下语句: EXPLAIN SELECT * FROM book WHERE year_publ...
liyan
随笔
10月前
63
0
如何创建和保存mysql的索引
MySQL支持多种方法在单个或多个列上创建索引: 在创建表的时候创建索引: 使用CREATE TABLE创建表时,除了可以定义列的数据类型,还可以定义主键约束、外键约束或者唯一性约束,而不论创建哪种约束,在定义约束的同时相当于在指定列上创建了一个...
小豆丁
随笔
10月前
68
0
ConcurrentHashMap是怎么分段分组的?
get操作: Segment的get操作实现非常简单和高效,先经过一次再散列,然后使用这个散列值通过散列运算定位到 Segment,再通过散列算法定位到元素。get操作的高效之处在于整个get过程都不需要加锁,除非读到空的值才会加锁重读。原因就是...
Wenhao
随笔
10月前
74
0
请介绍LinkedHashMap的底层原理
LinkedHashMap继承于HashMap,它在HashMap的基础上,通过维护一条双向链表,解决了HashMap不能随时保持遍历顺序和插入顺序一致的问题。在实现上,LinkedHashMap很多方法直接继承自HashMap,仅为维护双向链表...
KLEYYY
随笔
10月前
49
0
JVM是如何运行的?
JVM的启动过程分为如下四个步骤: JVM的装入环境和配置 java.exe负责查找JRE,并且它会按照如下的顺序来选择JRE: 自己目录下的JRE; 父级目录下的JRE; 查注册中注册的JRE。 装载JVM 通过第一步找到JVM的路径后,Jav...
liyan
随笔
11月前
144
0
如何得到一个线程安全的Map?
使用Collections工具类,将线程不安全的Map包装成线程安全的Map; 使用java.util.concurrent包下的Map,如ConcurrentHashMap; 不建议使用Hashtable,虽然Hashtable是线程安全的,但...
KLEYYY
随笔
11月前
49
0
什么是内存溢出,怎么解决?
内存溢出(out of memory):简单地说内存溢出就是指程序运行过程中申请的内存大于系统能够提供的内存,导致无法申请到足够的内存,于是就发生了内存溢出。 引起内存溢出的原因有很多种,常见的有以下几种: 内存中加载的数据量过于庞大,如一次从数...
Awe
随笔
11月前
41
0
1
...
3
4
5
6
热门文章
1.
事务有哪几种类型,它们之间有什么区别?
2.
HashMap的底层原理及原理
3.
互联网项目中需要遵守的sql规范有哪些,请简单举例并说明为什么?
4.
Synchronized有什么作用,是如何实现的呢?
5.
IO多路复用技术select,poll,epoll,并说说他们之间的区别
6.
JVM是如何运行的?
最新发布
1.
Spring的事务如何配置,常用注解有哪些?
2.
说一说你对BeanFactory的了解
3.
说一说你对工厂模式的理解
4.
谈谈虚拟内存模型。
5.
请介绍线程之间的通信方式。
6.
Linux查看内存的命令是什么?
最新评论
111
1111
11