Java
文章平均质量分 95
Stray_Lambs
这个作者很懒,什么都没留下…
展开
-
Java基础系列(八)——线程池详解
处理高并发场景或者是经常连接数据库的小伙伴应该经常听到或者用过“池”,那么什么是线程池呢?为什么要用线程池呢?举个简单的例子:从前,有个店铺,每天的客户都很少,所以,不需要一个常驻的收银员,都是来一个客户找个临时工充当收银员,结束后临时工就被辞退,每次都是招聘与解雇循环往复。当客户量比较少的时候还可以处理的过来(单线程模式),过几年之后,店铺越做越大,客户越来越多,这种模式就已经处理不过来增长的用户量了(高并发场景)。此时,常驻收银员就出现了,而且可能一个常驻还不够,需要好几个。原创 2022-11-10 19:43:31 · 734 阅读 · 1 评论 -
Java基础系列(七)——多线程Volatile与Synchronized详解
java多线程原创 2022-11-08 16:49:22 · 718 阅读 · 0 评论 -
Java基础系列(六)——代理机制详解
java代理机制原创 2022-11-02 16:24:42 · 415 阅读 · 0 评论 -
Java基础系列(五)——Collection集合Map源码详解
目录HashMapHashMap与HashTable的区别HashMap源码分析类属性源码Node节点源码TreeNode节点源码构造方法put方法源码get方法源码resize方法源码HashMap常用方法HashMap经典问题HashMap的长度为什么是2的幂次方HashMap多线程下死循环的原因HashMap在jdk1.8的优化ConcurrentHashMap存储结构初始化InitTable方法源码put方法get方原创 2022-05-30 20:28:35 · 250 阅读 · 0 评论 -
Java基础系列(四)——Collection集合List详解
Collection集合概述List,Set,Map,Queue的区别List(对付顺序的好帮手): 存储的元素是有序的、可重复的。 Set(注重独一无二的性质): 存储的元素是无序的、不可重复的。 Queue(实现排队功能的叫号机): 按特定的排队规则来确定先后顺序,存储的元素是有序的、可重复的。按照先进先出的顺序。 Map(用 key 来搜索的专家): 使用键值对(key-value)存储,类似于数学上的函数 y=f(x),"x" 代表 key,"y" 代表 value,key...原创 2022-05-27 17:16:30 · 989 阅读 · 0 评论 -
Java基础系列(三)——反射机制详解
目录反射基础Class类类加载反射的使用Class类对象的获取Constructor类及其用法Field类及其用法Method类及其用法反射机制执行的流程反射获取类实例反射获取方法调用 method.invoke() 方法反射调用流程小结转载反射基础RTIT(Run-Time Type Identification)运行时类型识别。在《Thinking in Java》一书第十四章中有提到,其作用是在运行时识别一个对象的类型和类的信息。主要转载 2022-05-25 16:39:18 · 705 阅读 · 0 评论 -
Java基础系列(三)——异常机制详解
异常机制详解异常的层次结构异常指不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。Java通 过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的错误条件。当条件生成时,错误将引发异常。Java异常类层次结构图:ThrowableThrowable 是 Java 语言中所有错误与异常的超类。Throwable 包含..转载 2022-05-24 10:43:30 · 448 阅读 · 0 评论 -
Java基础系列(二)——泛型机制详解
Java 基础 - 泛型机制详解Java泛型这个特性是从JDK 1.5才开始加入的,因此为了兼容之前的版本,Java泛型的实现采取了“伪泛型”的策略,即Java在语法上支持泛型,但是在编译阶段会进行所谓的“类型擦除”(Type Erasure),将所有的泛型表示(尖括号中的内容)都替换为具体的类型(其对应的原生态类型),就像完全没有泛型一样。为什么会引入泛型泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用...转载 2022-05-22 11:53:35 · 994 阅读 · 0 评论 -
Java基础系列
面向对象三大特性封装利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体。数据被保护在抽象数据类型的的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。用户无需知道对象内部的细节,但可以通过对象对外提供的接口来访问该对象。优点:减少耦合:可以独立地开发、测试、优化、使用、理解和修改。 减轻维护的负担:可以更容易被程序员理解,并且在调试的时候可以不影响其他模块。 有效地调节性能:可以通过剖析确定哪些模块影响了系统的性能。 提高软件...原创 2022-05-15 21:11:10 · 1343 阅读 · 0 评论