- 博客(7)
- 收藏
- 关注
原创 GC算法
GC算法 GC算法就是垃圾回收算法,是Java中的守护线程,而我们创建的线程都是用户线程。 那么我们回收不用的线程就需要用到GC。 1 判断对象是否存活 (1) 引用计数法 象增加一个引用计数器,每当有一个地方引用它时,计数器就+1;当引用失效时,计数器就-1;任何时刻计数器 为0的对象就是不能再被使用的,即对象已"死"。 但是这个方法无法解决循环引用问题,所以java没有采用这个方法。 (2)可...
2019-08-20 16:47:45
397
原创 JVM小小理解
JVM理解 我们在初学Java的时候经常不理解JVM是什么? JVM是JAVA Virtual Machine(JAVA虚拟机) 的简称。它是一个虚构出来的计算机,是通过在实际计算机上仿真模拟各种计算机功能来实现的。 JVM 主要包括以下几个方面,我直接图来展示,大家可能清楚一点 ...
2019-08-18 17:33:08
115
原创 二叉树的三种遍历
#二叉树的三种遍历 二叉树有三种遍历方式: (1)前序遍历 :先访问根节点,再访问左孩子,最后访问右孩子。 (2)中序遍历:先访问左孩子,再访问根节点,最后访问右孩子。 (3)后序遍历:先访问左孩子,再访问右孩子,最后访问根节点。 三种方式是针对根节点而言的。 前序遍历:A B D G H J K E C F I M 中序遍历: G D J H K B E A C F M I 后序遍历:G J...
2019-07-14 00:36:52
251
原创 死锁产生的四个条件
我们在进行程序运行的时候,有时候会遇到死锁问题,那么死锁产生的条件是什么呢? 下面4个条件缺一不可: 1互斥:共享资源X,Y之只能被一个线程占用 2占有且等待:线程1已经获得共享资源X,同时在等待资源Y,并且不释放X 3不可抢占:其他线程无法抢占线程1已经占有的资源X 4循环等待:线程1等待线程2的西元,线程2等待线程1的资源 正是因为这是个条件缺一不可,所以我们只要破坏其中一个条件,那么死锁问题...
2019-07-05 23:50:11
130
原创 Synchronized 与 ReentrantLock的关系与区别?
关系: 1、Synchronized与ReentrantLock都属于独占锁的实现,都可重入锁 区别: 1、Synchronized是关键字,JVM层面的实现;ReentrantLock是JAVA语言层面的实现。 2、ReentrantLock具备一些Synchronized不具备的特性,如响应中断,支持超时,支持非阻塞式的获取锁,可以实现公平锁(默认非公平锁)。 3、Synchronized只有...
2019-07-05 23:47:02
97
原创 java类与对象(一)
java类与对象(一) 一、类:一个具体事物的抽象表现,是模板。 对象:类的具体表现。 具体举例: 类: 交通工具 对象: 汽车 火车 轮船 类: 动物 对象: 狗 猫 老虎 从上面的具体实例中我们也可以看出一个特性:一个类有多个对象。 在JAVA中我们用class来定义一个类 public class Student { pr...
2019-04-12 22:31:15
149
原创 菜鸟新征程
#小白第一天 人生每个阶段都有新的开始,也会学习新的知识,从今天开始我就要开始新的征程,学习编程,这里将记录我的菜鸟之路。 首先要给自己立一个flag 1 每天编程5个小时,坚持下来。 2 每天去论坛上看一些大佬写的好的,对自己有用的东西。 3 我的目标是今年9月达到一些公司的要人水平。 4 最终进入字节跳动,这也是我最想进入的公司之一。 ...
2019-03-26 13:52:03
201
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人