
技术
S梅冬
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二叉树的三种遍历
#二叉树的三种遍历 二叉树有三种遍历方式: (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 阅读 · 0 评论 -
Synchronized 与 ReentrantLock的关系与区别?
关系: 1、Synchronized与ReentrantLock都属于独占锁的实现,都可重入锁 区别: 1、Synchronized是关键字,JVM层面的实现;ReentrantLock是JAVA语言层面的实现。 2、ReentrantLock具备一些Synchronized不具备的特性,如响应中断,支持超时,支持非阻塞式的获取锁,可以实现公平锁(默认非公平锁)。 3、Synchronized只有...原创 2019-07-05 23:47:02 · 97 阅读 · 0 评论 -
死锁产生的四个条件
我们在进行程序运行的时候,有时候会遇到死锁问题,那么死锁产生的条件是什么呢? 下面4个条件缺一不可: 1互斥:共享资源X,Y之只能被一个线程占用 2占有且等待:线程1已经获得共享资源X,同时在等待资源Y,并且不释放X 3不可抢占:其他线程无法抢占线程1已经占有的资源X 4循环等待:线程1等待线程2的西元,线程2等待线程1的资源 正是因为这是个条件缺一不可,所以我们只要破坏其中一个条件,那么死锁问题...原创 2019-07-05 23:50:11 · 130 阅读 · 0 评论 -
JVM小小理解
JVM理解 我们在初学Java的时候经常不理解JVM是什么? JVM是JAVA Virtual Machine(JAVA虚拟机) 的简称。它是一个虚构出来的计算机,是通过在实际计算机上仿真模拟各种计算机功能来实现的。 JVM 主要包括以下几个方面,我直接图来展示,大家可能清楚一点 ...原创 2019-08-18 17:33:08 · 115 阅读 · 0 评论 -
GC算法
GC算法 GC算法就是垃圾回收算法,是Java中的守护线程,而我们创建的线程都是用户线程。 那么我们回收不用的线程就需要用到GC。 1 判断对象是否存活 (1) 引用计数法 象增加一个引用计数器,每当有一个地方引用它时,计数器就+1;当引用失效时,计数器就-1;任何时刻计数器 为0的对象就是不能再被使用的,即对象已"死"。 但是这个方法无法解决循环引用问题,所以java没有采用这个方法。 (2)可...原创 2019-08-20 16:47:45 · 397 阅读 · 0 评论