自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 【并发】进程间通信与线程间通信

一、进程和线程进程:简单来说,一个进程就是一个正在执行的程序实例,包括程序计数器、寄存器、程序上下文等信息。进程是资源分配的最小单位,每个进程拥有自己的地址空间,因此当一个进程崩溃时,其他进程不会受到影响。线程:线程又称为轻量级进程,是CPU调度的最小单位,对于同一个进程所拥有的多个线程是共享同一个地址空间的,因此一个线程崩溃很容易引起整个进程的崩溃。二、进程间通信与同步1、...

2019-03-18 23:38:18 341

原创 【Java】LinkedHashMap及HashSet源码阅读(JDK1.8)

其实LinkedHashMap和HashSet都是基于HashMap来构建的,如果了解HashMap的底层原理的话,这两种数据结构就很好理解了。LinkedHashMap继承自HashMap并实现了Map接口public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map&...

2019-03-15 12:58:10 106

原创 【Java】HashMap源码阅读(JDK1.8)

哈希表底层采用数组+链表(红黑树)的数据结构:static class Node<K,V> implements Map.Entry<K,V> { final int hash; //哈希值 final K key; //节点的键 V value; //节点的值 Node<K,V&...

2019-03-15 12:32:00 95

原创 【面经】三七互娱Java游戏研发实习(一面)

一、王者荣耀服务器实现二、接口和类的区别?1、类只能继承一个类,但可以实现多个接口。2、对于继承性,类继承了父类的方法,子类可以选择是否覆盖父类的方法。3、接口的方法只有声明,没有实现;而类中的方法必须有方法体。三、接口可以实例化吗?为什么?那lambda表达式不就是传入一个接口的实例吗?接口不可以实例化,因为接口可以看成是特殊的抽象类,比抽象类的程度更高,其所...

2019-03-14 22:54:42 1658

原创 【并发】Java锁分类

在Java并发领域,根据锁的状态、特性、粒度、轻重等有不同的分类方法,很多并发书籍或者文章都会或多或少提及一些专有的锁名词,为了理解各种分类的分类方法、原理及作用,在此特意总结一下。一、乐观锁/悲观锁乐观锁:乐观地认为对于同一个数据来说不会被其他线程修改,因此不会加锁。更新数据的时候,借助冲突检查机制来判断更新过程中是否存在来自其他线程的干扰,存在则操作失败,并且可以重试。乐...

2019-03-13 14:43:55 191

原创 【算法】双队列实现栈及双栈实现队列(Java实现)

一、两个队列实现一个栈实现方法:两个队列一个用作工作队列,另一个用作临时队列。插入数据:将该数据插入到工作队列队尾;弹出数据:首先将工作队列的前n-1个元素弹出到临时队列中,并返回最后一个元素,实现栈“后进先出”的功能。最后临时队列变为工作队列,工作队列变为临时队列,任务完成。public class TwoQueue2Stack<T> { private Q...

2019-03-13 11:41:21 687 1

原创 【设计模式】单例模式

单例模式是用来创建只有一个实例的对象的设计模式,通常应用在用来管理共享资源的对象上比如数据库连接池、线程池、事件管理器等。下面是几种单例模式的实现:一、饿汉式(线程安全)public class Singleton1 { private static Singleton1 instance = new Singleton1(); private Singleton1() ...

2019-03-12 13:04:29 118

原创 【Java】jvm类加载机制

一、类的生命周期类从被加载到虚拟机内存当中,到卸载出内存位置,其生命周期包括七个阶段:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、运行(Using)、卸载(Unloading),其中验证、准备、解析三个阶段统称为连接(Linking)阶段。1、加载、验证、准备、初始化...

2019-03-10 15:22:36 182

原创 【数据库】数据库基本知识

一、事务概念事务简单来说就是一组原子性的SQL查询,或者一个独立的工作单元,通常由一组SQL语句组成,如果其中任何一条语句因为崩溃或其他原因没有执行,那么所有的语句都不会执行。二、事务特性(ACID)1、原子性(Atomicity)一个事务是数据库系统最小的工作单元,不可再分割,整个事务的所有操作要么全部提交执行成功,要么全部失败回滚,不可能只执行其中的一部分。2、一致性...

2019-03-09 13:41:01 1261

原创 【Java】垃圾回收算法

一、判断对象存活情况1、引用计数算法(非Java所使用的方法)每个对象都维护一个引用计数器,每有一个地方引用这个对象的时候,引用计数器就加1;当引用失效时,引用计数器就减1,当引用计数器的值为0时表示这个对象不可能再被使用了。2、可达性分析算法虚拟机维护一系列称为“GC Roots”的对象作为根节点的树,所有引用了这个“GC Root”的对象都是其子节点,由此可以得到以可引用树,当...

2019-03-02 03:11:28 178

原创 【Java】四种引用关系

引用关系在判断对象是否能够存活的过程中起到了关键的作用,但其实引用并不像字面上理解那么简单,在Java语言中引用分为强引用、软引用、弱引用、虚引用四类,其引用强度依次减弱。强引用(Strong Reference):程序代码中普遍存在的,普通对象创建时默认是强引用关系,只要强引用还存在,垃圾收集器就不会收集这些对象。Object obj = new Object(); //强引用对象...

2019-03-01 19:56:51 2038

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除