08 2020 档案
摘要:Java线程的状态与状态间的切换 新建状态(NEW): 当线程对象被创建时,就会进入新建状态。比如说new一个新的进程,Thread thread1 = new MyThread();这个时候线程中的代码还未执行。 就绪状态(Runnable): 新建的线程并不会自动开始运行,要执行线程,要调用线程
阅读全文
posted @ 2020-08-24 15:09
TidalCoast
摘要:java多线程一 –概念 Java线程和进程 java中多线程是同时执行多个线程的过程,线程是一个轻量级的子进程,也是最小的处理单元。在有处理多任务的需求时,会用到多进程和多线程,以此来尽可能利用CPU,提高运行效率。一个系统下可以存在多个进程,一个进程中又存在多个线程。线程使用共享内存区域,它们不
阅读全文
posted @ 2020-08-24 14:12
TidalCoast
摘要:Linkedlist底层原理 LinkedList的底层结构是基于双向链表实现的,优势是插入数据效率很高,缺点是遍历数据效率低。LinkedList没有长度限制,所以不需要提供初始化大小的构造方法。 功能方面: 1)查找方面先是在双向链表里找到节点的位置index,找到之后,再对这个节点进行一系列操
阅读全文
posted @ 2020-08-21 22:44
TidalCoast
摘要:java ArrayList实现原理 ArrayList底层源码分析 ArrayList:底层的数据结构是数组,作为List的主要实现类;线程不安全,效率高。 ArrayList底层实际上是一个动态的数组,与普通的数组相比较,它的容量可以根据需要动态地增长。ArrayList 继承了Abstract
阅读全文
posted @ 2020-08-18 22:06
TidalCoast
摘要:Java Minor GC、 Full GC之间的区别 Minor GC Minor GC 指发生在新生代(分为Eden区和Survivor区)的一系列垃圾回收操作,当新生代内存不足,无法给新的新生代对象分配空间的时候,就会触发Minor GC。 Minor GC的具体触发条件: jvm在进行Min
阅读全文
posted @ 2020-08-16 20:56
TidalCoast
摘要:并发与并行的概念 并行:在同一时刻,有多个程序在多个处理器上运行(每个处理器运行一个程序)。 也可以理解为多个处理器同时处理多个不同任务。 并发:在同一cpu上同时运行多个程序。在微观上不是真正的同时,因为处理器是在各个程序之间来回切换的,只能说在宏观上看来是同时运行的。 并发,就好比一个人同时吃多
阅读全文
posted @ 2020-08-15 21:24
TidalCoast
摘要:java垃圾回收算法以及原理 在java中常见的垃圾回收算法有四种,分别是标记清除算法、复制算法、标记整理算法以及分代回收算法。 标记清除算法(Mark-Sweep算法) 标记清除算法是最基础的垃圾回收算法,容易实现,而且思想也很简单。根据算法的名字我们就大致可以猜到这个算法分为两个阶段进行,一个是
阅读全文
posted @ 2020-08-15 21:01
TidalCoast
摘要:java中的finalize()方法 首先,finallize()方法是Object类中的方法,在GC准备释放对象占用的内存之前,必须执行finalize()方法 在Object类中的定义如下: finalize()方法什么时候调用 在java中finalize()并不会每次都及时执行,因为GC的自
阅读全文
posted @ 2020-08-14 14:15
TidalCoast
摘要:java的垃圾回收机制 垃圾收集GC是垃圾回收机制的核心,也是java语言的核心之一,在java中,程序员不需要过多地关心内存的动态分配关系和内存回收处理的问题,jvm(java虚拟机)会自动处理这些事情。 什么情况下的对象算是垃圾? 对于java对象来说,如果这个对象没有被其它的对象所引用,那么j
阅读全文
posted @ 2020-08-13 20:03
TidalCoast
摘要:重载和重写的区别 java中方法的重载和重写都是实现多态性的一种方式,区别在于前者实现多态性是在编译的时候,后者实现多态性是在运行的时候。 重写(Override) 重写的前提是继承,是子类对父类的方法的实现过程进行重新编写,方法重写参数类型、个数、顺序必须完全一致。重写的主要作用在于可以根据子类的
阅读全文
posted @ 2020-08-12 21:30
TidalCoast
摘要:int 和 Integer 的区别(基本数据类型和包装类) int是基本数据类型,直接存储数值,Integer是引用类型,保存的是地址,而且int的初始值是0;Integer是引用类型的对象,保存的是对象的地址,Integer对象的默认值是null。java是面向对象的编程,为编程的方便才引入了不是
阅读全文
posted @ 2020-08-08 13:29
TidalCoast
摘要:java中的访问修饰符 修饰符权限图: public是Java语言中访问限制最宽的修饰符,一般称之为“公共的”,可以修饰成员变量、成员方法、构造方法和类 其次是protected介于public 和 private 之间的一种访问修饰符,一般称之为“保护访问权限”,可以修饰成员变量,成员方法,构造方
阅读全文
posted @ 2020-08-05 22:01
TidalCoast

浙公网安备 33010602011771号