摘要:
java线程池 什么是线程池? 线程池就是一个容器,把创建的若干个线程放入这个容器中,当处理任务需要运行线程时,线程池会将线程提交到任务队列中,处理完之后线程并不会被销毁,而是仍然处于线程中,等待下一任务,如果之后还有任务要使用这个线程,该线程会再次被提交到任务队列中。 使用线程池的优点 java中 阅读全文
摘要:
Java线程的状态与状态间的切换 新建状态(NEW): 当线程对象被创建时,就会进入新建状态。比如说new一个新的进程,Thread thread1 = new MyThread();这个时候线程中的代码还未执行。 就绪状态(Runnable): 新建的线程并不会自动开始运行,要执行线程,要调用线程 阅读全文
摘要:
java多线程一 –概念 Java线程和进程 java中多线程是同时执行多个线程的过程,线程是一个轻量级的子进程,也是最小的处理单元。在有处理多任务的需求时,会用到多进程和多线程,以此来尽可能利用CPU,提高运行效率。一个系统下可以存在多个进程,一个进程中又存在多个线程。线程使用共享内存区域,它们不 阅读全文
摘要:
Linkedlist底层原理 LinkedList的底层结构是基于双向链表实现的,优势是插入数据效率很高,缺点是遍历数据效率低。LinkedList没有长度限制,所以不需要提供初始化大小的构造方法。 功能方面: 1)查找方面先是在双向链表里找到节点的位置index,找到之后,再对这个节点进行一系列操 阅读全文
摘要:
java ArrayList实现原理 ArrayList底层源码分析 ArrayList:底层的数据结构是数组,作为List的主要实现类;线程不安全,效率高。 ArrayList底层实际上是一个动态的数组,与普通的数组相比较,它的容量可以根据需要动态地增长。ArrayList 继承了Abstract 阅读全文
摘要:
Java Minor GC、 Full GC之间的区别 Minor GC Minor GC 指发生在新生代(分为Eden区和Survivor区)的一系列垃圾回收操作,当新生代内存不足,无法给新的新生代对象分配空间的时候,就会触发Minor GC。 Minor GC的具体触发条件: jvm在进行Min 阅读全文
摘要:
并发与并行的概念 并行:在同一时刻,有多个程序在多个处理器上运行(每个处理器运行一个程序)。 也可以理解为多个处理器同时处理多个不同任务。 并发:在同一cpu上同时运行多个程序。在微观上不是真正的同时,因为处理器是在各个程序之间来回切换的,只能说在宏观上看来是同时运行的。 并发,就好比一个人同时吃多 阅读全文
摘要:
java垃圾回收算法以及原理 在java中常见的垃圾回收算法有四种,分别是标记清除算法、复制算法、标记整理算法以及分代回收算法。 标记清除算法(Mark-Sweep算法) 标记清除算法是最基础的垃圾回收算法,容易实现,而且思想也很简单。根据算法的名字我们就大致可以猜到这个算法分为两个阶段进行,一个是 阅读全文
摘要:
java中的finalize()方法 首先,finallize()方法是Object类中的方法,在GC准备释放对象占用的内存之前,必须执行finalize()方法 在Object类中的定义如下: finalize()方法什么时候调用 在java中finalize()并不会每次都及时执行,因为GC的自 阅读全文
摘要:
java的垃圾回收机制 垃圾收集GC是垃圾回收机制的核心,也是java语言的核心之一,在java中,程序员不需要过多地关心内存的动态分配关系和内存回收处理的问题,jvm(java虚拟机)会自动处理这些事情。 什么情况下的对象算是垃圾? 对于java对象来说,如果这个对象没有被其它的对象所引用,那么j 阅读全文