
Java基础知识总结
总结Java的核心基础知识
Young.Chen
关于我的一切 https://chenjiayang.me/about
展开
-
ThreadPoolExecutor 核心源码深度解析
本文只介绍 ThreadPoolExecutor 源码的关键部分,开篇会先介绍 ThreadPoolExecutor 中的一些核心常量定义,然后选取线程池工作周期中的几个关键方法分析其源码实现。其实,看 JDK 源码的最好途径就是看类文件注释,作者把想说的全都写在里面了。一些重要的常量ThreadPoolExecutor 内部作者采用了一个 32bit 的 int 值来表示线程池的运行状态(...原创 2019-02-04 20:00:29 · 449 阅读 · 0 评论 -
Java基础知识总结:深入浅出Java线程池
ThreadPoolExecutorJava 中线程池的核心类为 ThreadPoolExecutor,它有五个具体的参数:如果以下的文字解释你看的实在头疼,推荐你看看这种 图解线程池的文章corePoolSize:核心线程数,最初为 0,接收一个任务创建一个直到数目增长至 corePoolSize 为止,类似于 lazyinit 的形式,之后核心线程也不会被回收,而是一直以这个数目稳定...原创 2019-01-31 18:48:10 · 376 阅读 · 0 评论 -
Java基础知识总结:基础数据类型和包装类
int 是 Java 的八个基础数据类型(boolean、byte 、short、char、int、foat、double、long)之一,Integer 则是其包装类型。需要注意的是,基础数据类型并不是对象,它们的包装类才是。包装类的缓存Integer 源码中存在IntegerCache 这个结构,其实就是缓存,缓存的范围为-128 ~ 127 之间,下面的代码中后者就使用到了缓存机制。I...原创 2019-01-27 14:32:32 · 251 阅读 · 0 评论 -
Java基础知识总结:接口vs抽象类、重写vs重载
我觉得面试就真不该问这种问题,不了解的同学建议去看看 JDK 集合类的源码,对接口和抽象类的理解会更深刻。接口接口是方法的集合,不同的实现类可以去实现这个接口中的方法,因此有点像抽象类里的抽象方法,但是和抽象方法不同的是,接口更加通用,规定了一整套行为(例如java.util.List),而抽象方法往往是规定了该抽象类里的某种行为。抽象类抽象类的作用大多是抽取多个 Java 类的通用逻辑,...原创 2019-01-27 14:05:06 · 337 阅读 · 0 评论 -
Java基础知识总结:Java里四种引用类型的作用和区别
对这个知识点不要去死记硬背,要知道 Java 为什么要有不同的引用类型,它们存在的意义是什么?其实之所以划分不同的引用类型,主要作用体现在划分对象不同的可达性和 GC 对对象回收的影响。四种引用类型分别为强引用,软引用,弱引用和虚引用。所谓强引用,就是我们最常见的普通对象引用,我们 new 出来的对象就是强引用,只要尚且存在强引用指向某一个对象,那就能表明该对象还存活,GC 不能去回收这种...原创 2019-01-27 13:47:04 · 2339 阅读 · 0 评论 -
Java基础知识总结:一文讲透 Exception 和 Error 的差别
Exception 和 Error 都是继承自 Throwable 类,只有 Throwable 类型的实例才可以被抛出( throw )或者捕获( catch )。ErrorError 是指在程序的非正常错误,绝大部分的 Error 都会导致程序(比如 JVM 自身)处于非正常的、不可恢复状态,因为无法预知,所以不便于也不需要捕获,Error 的例子有 OutOfMemoryError 等,...原创 2019-01-27 13:35:29 · 267 阅读 · 0 评论 -
Java基础知识总结:常见的负载均衡算法
单机压力过大促使架构向集群模式转变,那么对于请求必定需要一个分发器进行任务分配和流量权衡,业界一般习惯于叫“负载均衡器”,但其实它的作用不仅仅在于平衡机器间的压力,还在于如何更智能的选择任务分发策略,并在一定时候提供降级等保护措施,总之对负载均衡器的理解不能局限在表面意思上。本文谈谈常见的负载均衡算法,也是初级程序员面试中大概率出现的问题。轮询意思很简单,对台机器组成的集群,前置的负载均衡器...原创 2019-01-23 19:55:32 · 1073 阅读 · 0 评论 -
Java基础知识总结:Java 常见的垃圾收集器总结
从 Java 到 Golang,垃圾收集器几乎成为现代语言的标配,让编码人员可以从手动释放内存的繁琐中彻底解放出来,提高了编码效率,那么在 Java 中你知道有哪些常见的垃圾收集器么,它们经历了怎样的演进呢?实际上,垃圾收集器并非是统一的,它和具体的 JVM 实现相关,本文主要谈谈最主流 的 Oracle JDK。从年代上来说,收集器可以按照其工作的不同年代区间分为新生代收集器和老年代收集器,再...原创 2019-01-22 19:44:39 · 319 阅读 · 0 评论