![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
七凉`
余見伱
展开
-
java垃圾回收机制
垃圾回收机制java与从C++的区别之一就是C++需要手动管理内存,而java则不需要,java拥有一套比较完整的垃圾回收机制。java垃圾回收器(GC)能够自动回收垃圾、减轻了编程者的难度,不需要编程者自己去手动申请、释放内存。GC进行回收的主要区域是堆内存,因为堆内存是存放大量对象的内存区域。从GC的角度来看,堆内存可分为新生代和老年代,新生代占1/3的内存空间、老年代占用2/3的内存空间,而新生代中区域又可划分为Eden区、From区和To区。新生代新生代主要存放新创建的对象、对象在创建时,系原创 2020-12-27 17:21:57 · 332 阅读 · 0 评论 -
JVM之内存模型
JVM内存模型JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是java程序运行的平台,它是一种假想的计算机,是一种用于计算设备的规范,java语言的跨平台是通过JVM实现的。java跨平台原理原创 2020-10-27 21:52:54 · 438 阅读 · 0 评论 -
JDK与JRE的区别
JDK与JRE的区别JDK(Java Develoment Kit)是包含Java程序语言设计、Java虚拟机、Java API类库这三部分,JDK是用于支持Java程序开发的最小环境。JRE(Java Runtime Environment)包含Java API类库中Java SE API子集和Java虚拟机两部分,JRE是支持Java程序运行的标准环境。java技术体系所包含的内容...原创 2019-11-29 11:10:30 · 129 阅读 · 0 评论 -
java中访问对象的两种方式
java中访问对象的两种方式当在堆内存中创建对象之后,java程序需要refrence数据来操作对象。由于refrence类型在java虚拟机规范中只规定了指向对象的引用,并没有规定这个引用以如何的方式去定位、访问堆中的对象具体位置。访问方式取决于虚拟机的实现,主要有两种方式,分别是句柄和直接指针。其中Refrence是java中的引用类,它主要是对普通对象进行包装,从而在JVM在垃圾回收时,...原创 2019-11-12 19:34:40 · 978 阅读 · 0 评论 -
线程产生死锁的必备条件及解决方法
一、多线程的使用二、线程产生死锁的四个必备条件及解决方法原创 2019-11-05 19:45:40 · 393 阅读 · 0 评论 -
wait方法与sleep方法的区别
1. 共同点wait()与sleep()方法都可以暂停线程的执行。2. 不同点(1)两者最主要的区别是wait方法执行的时候释放了锁;而sleep没有释放锁。(2)wait方法通常用于线程间的交互或通信;sleep主要用于程序的暂停执行。(3)wait方法执行后,线程不会自动苏醒,需要调用notify()方法或者notifyAll()唤醒,但执行wait(long timeout)超时后...原创 2019-10-30 20:28:00 · 330 阅读 · 0 评论 -
java创建一个对象的过程
一、java创建一个对象的过程java中个,创建一个对象需要经过五步,分别是类加载检查、分配内存、初始化零值、设置对象头和执行初始化init()。1. 类加载检查在java中,new一个对象的时候,java虚拟机会首先去检查这个指令的参数是否能在常量池中找到这个对象对应的类的符号引用,检查这个符号引用代表的类是否被类加载器加载、解析和初始化;如果没有,则必须要进行类加载。2. 分配内存...原创 2019-10-29 21:56:48 · 1616 阅读 · 2 评论 -
线程生命周期详解
一、线程的生命周期线程生命周期有新建状态、就绪状态、运行状态、阻塞状态和死亡状态五种基本状态。其中阻塞状态又可细分为等待阻塞、同步阻塞和其他阻塞。如下图所示:新建状态(New)创建一个新的线程,即新建状态。java中创建一个线程的四种方式:(1)一种是继承Thread类,重写run()方法;(2)第二种是实现Runnable接口,重写run()方法;(3)使用Callable和F...原创 2019-09-30 10:16:17 · 311 阅读 · 0 评论