![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java
文章平均质量分 81
Java 学习
菜鸟日常
公众号:菜鸟日常
展开
-
Java 多线程关键字 ThreadLocal 学习
基于 JDK 1.8介绍线程局部变量使用场景对这个变量的操作,其它线程不可见,这样就避免的对共享变量的操作而造成的并发问题。怎么用声明:ThreadLocal threadLocal = new ThreadLocal<>(); T 表示泛型,表示支持放入任意形式的对象set get 方法:threadLocal.set(“123”);String temp = test.threadLocal.get();源码学习set 方法,每个 .原创 2021-07-02 09:54:18 · 144 阅读 · 0 评论 -
为什么枚举类是单例模式?
反射克隆序列化https://www.cnblogs.com/call-me-pengye/p/11214435.html原创 2021-06-30 10:44:05 · 2943 阅读 · 1 评论 -
Java StringBuilder StringBuffer字符串拼接效率对比
用 Google photo 搜索关键词「String」,有兴趣的朋友可以试试,感觉发现了新大陆…Java 中有 3 种字符串的拼接方式,了解这三种拼接方式的实现,将有益于提高自己的代码质量。本文主要讲解 String 对象的三种拼接方式,以及它们之间的效率对比。三种方式// 方式 1String s = "Hello";s += "Hello";// 方式 2StringBuilder stringBuilder = new StringBuilder("Hello");stringB原创 2021-06-08 23:13:51 · 541 阅读 · 0 评论 -
Java 中的序列化
介绍什么是序列化与反序列化序列化:将对象转换为字节序列,保存着对象的类型信息、对象的数据,对象中的数据类型反序列化:将字节序列转换为对象为什么序列化将对象转换为字节序列后,对象可以保存在磁盘上、或者通过网络传输传到另外的程序中,序列化机制使得对象可以脱离程序的运行而独立存在。序列化使用场景实体类实现 Serializable 或者 Externalizable 接口,表明该类的实例可以序列化所有可在网络上传输的对象都必须是可序列化的,比如 RMI(remote method in原创 2021-06-08 23:11:09 · 84 阅读 · 0 评论 -
Java 中的基本数据类型与包装类
介绍本文主要介绍基本数据类型相关概念、自动拆装箱机制和可能遇到的问题阐述。基本概念1. 8 种基本数据类型,具体可以分为下面 3 类:数值型整数型:byte、short、int、long浮点型:float、double字符型:char布尔型:boolean基本数据类型长度默认值byte字节、1 byte 就是 1 个字节,8 位二进制,-128 ~ 1270short2 字节,16 位,-2^15 ~ 2^15 - 10int4 字节,原创 2021-06-08 23:09:47 · 262 阅读 · 0 评论 -
HashMap、HashTable、ConcurrentHashMap 区别
简单总结 HashMap、Hashtable、ConcurrentHashMap 之间的区别,基于 JDK 1.8.0_191先说结论,暂时有以下几个需要注意的不同点:继承、实现接口不同初始大小、扩容倍数不同线程安全NULL KEY,NULL VALUE 支持不同计算 Hash 值的方式不同1. 继承、实现接口不同public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K.原创 2021-06-08 22:50:53 · 86 阅读 · 0 评论 -
ArraryList、LinkList和Vector的区别
本文基于 JDK 1.8.0_1911. 源码对比实现接口类对比扩容机制对比线程安全1.1 实现接口类对比public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable public class LinkedList<E> exte.原创 2021-06-08 22:42:18 · 200 阅读 · 3 评论 -
Java 中的泛型学习
什么是泛型泛型即参数化类型,将类型由原来的具体类型参数化,类似方法中的变量参数。提供编译期的安全检测机制,JDK 5 引入泛型参数一般情况下,使用下面大写字母来表达不同的含义:E 代表 Element or ExceptionN 代表 Number,数字K 代表 KeyV 代表 Value ,通常与 K 配合使用泛型通配符? extends T描述了通配符的上界,即具体的泛型参数必须是 T 类型或者 T 的子类型List<? extends Number> numberA原创 2021-06-05 22:21:04 · 103 阅读 · 1 评论 -
Java 中的异常架构体系
异常类型Throwable 类是 Error 和 Exception 的父类,只有是 Throwable 的实例才能被 JVM 或者 Java 语句抛出,捕获。Error:表示不希望被程序捕获或者是程序无法处理的错误,Error 类对象由 Java 虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关。Checked Exception:受检查异常,需要被 try catch ...原创 2019-12-31 16:54:47 · 223 阅读 · 0 评论 -
Java只有值传递的解释
几个重要概念实参、形参形式参数:定义函数名和函数体时候使用的参数,目的用来接收调用该函数时传入的参数实际参数:在调用有参函数时,主调函数与被调函数之间有数据传递关系。实际参数是调用有参方法的时候真正传递的内容。public void tes(String name){ // 形式参数 name System.out.println(name);}public sta...原创 2019-12-31 15:41:09 · 495 阅读 · 1 评论 -
Java 单例模式全面学习
介绍什么是单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点解决什么问题:省略创建对象所花费的时间,不需要频繁创建对象,减轻 GC 压力。单例模式有以下几种实现方式:线程安全并发性能好可以延迟加载序列化/反序列化安全能抵御反射攻击饿汉式YY懒汉式-不加锁YY懒汉式-加锁YY双重检查 Double CheckY...原创 2019-12-31 11:32:09 · 333 阅读 · 1 评论 -
MQTT 简单介绍与实现
1. MQTT 介绍它是一种 机器之间通讯 machine-to-machine (M2M)、物联网 Internet of Things (IoT)常用的一种轻量级消息传输协议适用于网络带宽较低的场合包含发布、订阅模式,通过一个代理服务器(broker),任何一个客户端(client)都可以订阅或者发布某个主题的消息,然后订阅了该主题的客户端则会收到该消息1.1 消息主题...原创 2018-08-02 20:04:59 · 26281 阅读 · 1 评论 -
生产者消费者 Java 实现
生产者消费者问题是研究多线程程序时绕不开的经典问题之一,这里提供 Java 的几种实现方式。这里将生产者、消费者线程的具体实现方式封装在 Resource 类中,生产者和消费者只需调用 Resource 类中的生产、消费方法即可完成生产、消费的功能。wait / notifyAll public class Resource { private int count = 0; //原创 2017-09-22 15:16:56 · 875 阅读 · 0 评论