2021年9月14日

HashMap底层是如何检测重复的?

摘要: HashMap底层是如何检测重复的? HashMap,它在添加元素时首先会通过该元素的hasecode值得到一个hash值。再通过此hash值计算得到此元素要存储的索引位置。 判断table表的索引位置是否为空,为空则直接添加 否则,这里有三个判断分支,首先判断要添加的元素的hash值与此位置元素的 阅读全文

posted @ 2021-09-14 23:11 凡人精灵 阅读(30) 评论(0) 推荐(0) 编辑

2021年9月11日

代理模式

摘要: 代理模式(结构模式) 基本介绍 代理模式是指给某一个对象提供一个代理对象,由代理对象控制对原对象的引用。 优点:在原对象实现的基础上增强额外的功能操作,及扩展原对象的功能。 原对象可以是远程对象,创建开销大的对象或需要安全控制的对象 分类 代理模式的三种主要形式:静态代理,动态代理(JDK代理,接口 阅读全文

posted @ 2021-09-11 22:03 凡人精灵 阅读(6) 评论(0) 推荐(0) 编辑

2021年9月6日

TCP三次握手四次挥手流程详解

摘要: TCP三次握手? 三次握手就是tcp连接的建立, 客户端首先向服务端发送一段tcp报文,标志位为syn,表示请求建立连接。 服务端接收到客户端的tcp报文后,返回给客户端一段tcp报文,此报文的标志位为syn,ack,即告诉客户端,服务器接收到了你发送的数据,并同意建立新连接 客户端接收到服务端的t 阅读全文

posted @ 2021-09-06 22:19 凡人精灵 阅读(14) 评论(0) 推荐(0) 编辑

2021年9月3日

ThreadLocal详解

摘要: ThreadLocal 基本介绍 介绍: ThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问时,保证各个线程的变量,相对独立于其他线程内的变量,Thread类的实例通常来说是private static类型的,用于关联线程与线程上下文。 作用: 提供线程内的局部变量,不同 阅读全文

posted @ 2021-09-03 08:26 凡人精灵 阅读(16) 评论(0) 推荐(0) 编辑

2021年8月31日

线程池中的线程为什么可以复用?

摘要: 线程池中的线程为什么可以复用? 线程池底层维护了一个HashMap集合用来存放worker对象,这个worker类实现了runnable接口,代表它是一个可执行的任务,worker类中有两个重要属性:具体工作线程,第一次要执行的任务。 初始化worker类时,它会创建一个线程并将当先对象封装到线程中 阅读全文

posted @ 2021-08-31 22:27 凡人精灵 阅读(28) 评论(0) 推荐(0) 编辑

2021年8月2日

基于xml配置log4j2打印日志

摘要: 基于xml配置log4j打印日志 配置流程 首先创建一个maven项目,从maven库中引入log4j2的maven依赖。 打开log4j2的官网找到基于xml配置的代码。 在maven项目的resources文件夹中创建log4j2.xml文件, 将找到的配置代码复制到其中,再更改一些属性即可。 阅读全文

posted @ 2021-08-02 08:03 凡人精灵 阅读(61) 评论(0) 推荐(0) 编辑

2021年7月6日

单例模式详解

摘要: 单例模式(创建型模式) 基本介绍 单例模式指在整个应用中,某个类只存在一个实例对象,且该类只提供一个取得其对象实例的方法。 应用 JDK的Runtime中使用到了饿汉式单例模式 单例模式的八种方式 (1)饿汉式(静态常量) (2)饿汉式(静态代码块) (3)懒汉式(线程不安全) (4)懒汉式(线程安 阅读全文

posted @ 2021-07-06 22:10 凡人精灵 阅读(13) 评论(0) 推荐(0) 编辑

2021年7月4日

设计模式简要及其七大原则详解

摘要: 设计模式 简介 解决软件开发某些特定问题而提出的解决方案或解决问题的思路,通过设计模式帮助我们增加代码的可重用性,可读性(编程规范性)可靠性(增加新功能后对原功能无影响),可扩展性(增加新功能非常方便),灵活性,设计模式最终的目的是实现代码的高内聚(模块内部是紧密的),低耦合(两个模块的依赖性低)。 阅读全文

posted @ 2021-07-04 20:23 凡人精灵 阅读(20) 评论(0) 推荐(0) 编辑

2021年7月3日

关于语法糖

摘要: 语法糖 解释:语法糖是指java编译器把*.java源码编译成*.class字节码的过程中,自动生成和转换的一些代码,主要是为了减轻程序员的负担, 默认构造器 java类中不显示的创建构造器时,在编译成字节码后,编译器会自动帮助我们加上一个无参的构造器,并在此构造器中调用父类的无参构造方法。 自动拆 阅读全文

posted @ 2021-07-03 20:21 凡人精灵 阅读(16) 评论(0) 推荐(0) 编辑

2021年6月27日

JVM内存结构

摘要: JVM 一,基本介绍 **解释:**java虚拟机,准确的来说是java二进制字节码的运行环境。(jvm是一套规范),用来执行class文件,保证java语言跨平台。 Java虚拟机可以看作是一台虚拟的计算机,和真是的计算机一样,有着自己的指令集以及各种运行时内存。 jvm就是一个字节码翻译器,它将 阅读全文

posted @ 2021-06-27 09:28 凡人精灵 阅读(17) 评论(0) 推荐(0) 编辑

导航