自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (4)
  • 收藏
  • 关注

原创 发生java.lang.StackOverflowError的所有情况

根本原因总结就是一句话请求的栈深度大于虚拟机所允许的最大深度。具体情况目前我一共遇到过四种情况下的StackOverFlowError异常,全部列举如下:不恰当的递归方法;两个方法循环调用;循环调用构造方法;程序自动循环调用toString()方法;1.不恰当的递归方法写过递归方法的我们都知道,对于递归方法来说,为防止其无休止地进行,必须在方法内有终止条件。比如就用递归方法实...

2020-03-25 18:38:36 3887

原创 多线程线程安全与synchronized关键字

线程安全问题对于上次的小实例,是强调过不考虑线程安全问题的。如果我们通过调用线程类的sleep()方法,模拟CUP突然暂停对程序A的执行转而执行线程B。这在实际中是有可能发生的。class Shopping implements Runnable { private int num = 10; public void run() { while (true) { if ...

2020-03-24 16:45:01 239

原创 Java创建线程的两种方式

1.Thread类新建一个线程很简单,只需要new一个Java为我们封装好的Thread类,并且调用它的start()方法即可。Thread thread = new Thread();thread.start();这里的start()方法会新建一个线程并让这个线程执行run()方法,但是在默认情况下,Thread类中的run()方法“什么都没干”,因此,这个线程一启动就马上结束啦,如果...

2020-03-23 18:43:58 517

原创 从虚拟机角度谈谈Java多态与重载、重写

我们先来看三个例题,如果都能答对的话,那么恭喜你,说明已经彻底理解了Java多态与重载、重写的本质。例一: Java多态与重载class Human {}class Man extends Human {}class Woman extends Human {}public class OverloadDemo { public void say(Human human)...

2020-03-08 16:48:40 179

原创 Java字节码new之后为什么会有dup

在看《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》这本书时,有几处的字节码在new之后会紧接着出现dup指令,我么以书中253页的字节码为例,说明dup指令的作用。其中Java代码为:public class DynamicDispatch { static abstract class Human { protected abstract void sayHello(...

2020-03-06 18:12:18 1045 2

原创 关于红黑树,这篇文章你要看啊

目录前言一、二叉排序树已经够用了?二、红黑树的定义三、怎么保持平衡1.左旋2.右旋四、查找五、增加插入的所有情况1.空树2.父节点是黑色3.父节点是红色3.1父节点是祖父节点的左儿子3.1.1叔叔节点是红色3.1.2叔叔节点不存在3.1.2.1插入节点是父节点左儿子3.1.2.2插入节点是父节点右儿子3.2父节点是祖父节点的右儿子3.2.1叔叔节点是红色3.2.2叔叔节点不存在3.2.2.1插入节...

2020-03-01 15:40:54 691

JDK5HashMap源码

想不通,竟然很多人都收费,这个明明可以在安装JDK的目录中找到啊!自己下一个JDK就可以得到。 想不通,竟然很多人都收费,这个明明可以在安装JDK的目录中找到啊!自己下一个JDK就可以得到。

2020-04-13

JDK6HashMap源码

精确的版本号是jdk-6u45。想不通,竟然很多人都收费,这个明明可以在安装JDK的目录中找到啊!自己下一个JDK就可以得到。

2020-04-13

JDK7HashMap源码

精确的版本号是jdk-7u80。想不通,竟然很多人都收费,这个明明可以在安装JDK的目录中找到啊!自己下一个JDK就可以得到。

2020-04-13

JDK8HashMap源码

精确的版本号是jdk-8u181。想不通,竟然很多人都收费,这个明明可以在安装JDK的目录中找到啊!自己下一个JDK就可以得到。

2020-04-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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