最新 最热

Java注解总结

所谓注解,其实是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行 相应的处理。通过使用注解,程序开发人员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充的信息。代码分析工具、开发工具和部署...

2022-05-12
0

【Java基础篇】一文看懂Exception和Error的区别

Java 语言在设计之初就提供了相对完善的异常处理机制,因为这种机制大大降低了编写和维护可靠程序的门槛。 Exception 和 Error 都是继承了 Throwable类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(c...

2022-05-12
0

Thread类的run()和start()方法的区别

start()方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码: 通过调用Thread类的start()方法来启动一个线程,这时此线程是处于就绪状态,并没有运行。然后通过此Thread类调用方...

2022-05-12
1

浅谈线程的生命周期

当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在线程的生命周期中,它要经过新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5种状态。尤其是当线程启动以后,它不可...

2022-05-12
0

Java程序运行机制

Java语言是一种特殊的高级语言,它既具有解释性语言的特征,也具有编译型语言的特征,因为Java程序要经过先编译,后解释两个步骤。     可是,什么是编译型语言,什么是解释型语言呢。     编译型语言是指使用专门的编...

2022-05-12
0

【深入理解JVM】模拟内存溢出及排查分析

内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存。    引起内存溢出的原因有很多种,常见的有以下几种:...

2022-05-12
0

【深入理解JVM】详解GC日志参数配置及日志分析

2019-07-31T01:49:29.633+0800: 0.086: [GC (Allocation Failure) [PSYoungGen: 504K->488K(1024K)] 504K->504K(1536K), 0.0007589 secs] [Times: user=0.00 sys=0.00, rea...

2022-05-12
1

【深入理解JVM】GC垃圾回收面试热点

“堆”是一个“运行时”数据区,是通过new等指令建立的,Java的堆是有Java的垃圾回收机制来负责处理的。堆是动态分配内存大小,垃圾收集器可以自动回收不再使用的内存空间。所谓的内存垃圾,是指在堆上开辟的内存空间,在不用...

2022-05-12
0

摸个鱼的功夫,搞懂双亲委派机制

我们知道Java是运行在JVM虚拟机中的,它是怎么运行的呢?其实,我们在IDE中编写的Java源代码在启动时,会被编译器编译成.class的字节码文件。然后由ClassLoader负责将这些class文件给加载到JVM内存中,转为Class对象再去调用或...

2022-05-11
1

JVM组成部分和作用详细介绍

所谓java能实现跨平台,是因为在不同平台上运行不同的虚拟机决定的,因此java文件的执行不直接在操作系统上执行,而是通过jvm虚拟机执行,我们可以从这张图看到,JVM并没有直接与硬件打交道,而是与操作系统交互用以执行java程序...

2022-05-11
0