java枚举类型的原理
说明1、Java追加了java.lang.Enum抽象类,是所有的枚举类型的基础类。提供了基本的属性和基本的方法。同时,支持将枚举作为Set和Map使用2、用关键字enum创建枚举类型并进行编译之后,编译器就会为我们生成一个相关的类别,它继承了java.lang.Enum类。实例public abstract class Enum<E extends Enum<E>> ...
2024-01-10java单例模式中的Holder是什么
区别1、在声明类中,成员变量不声明实例变量,而是放置在静态内部类中。这种方法类似于懒汉。他们都采用类装载机制,以确保初始化实例只有一个线程。不同的是,Holder单个模式是将实例的初始化放入静态类别从而实现懒加载。Holder模式的核心还是静态变量,足够方便,线程安全;通过静态Holder...
2024-01-10java懒汉和饿汉模式的区别
区别1、懒汉比较懒,只有当调用getInstance的时候,才回去初始化这个单例。2、饿汉就是类一旦加载,就把单例初始化完成,保证getInstance的时候,单例是已经存在的了线程安全:饿汉式天生线程安全,可直接用于多线程,无任何问题,懒汉风格本身是非线程安全的(双检锁解决并发问题)资源加载和性能:...
2024-01-10java单例中饿汉模式的使用
使用说明1、类加载时初始化单例,以后访问时直接返回即可。优缺点2、好处是天生的线程安全(得益于类加载机制),使用时没有延迟。坏处是有可能造成资源浪费(如果类加载后就一直不使用单例的话)。实例public class HelloWorld {//创建私有静态的本类对象private static HelloWorld hello = new HelloWorl...
2024-01-10java单例中的饱汉模式实现
使用说明1、饱汉是变种最多的单例模式。2、饱汉模式的核心是懒惰加载。优点是启动速度快,节约资源,直到实例首次访问为止,需要初始化的案例小缺点是写起来麻烦,缺点是线程不安全,if语句有竞争条件。实例//饱汉//UnThreadSafepublic class Singleton1 { private static Singletion1 singleton = null; ...
2024-01-10Java反序列化如何理解
概念1、客户端从文件或网络中获取序列对象的字节流,并根据字节流中保存的对象状态和描述信息通过反序列重建对象。使用注意2、反序列化时需注意json串的格式,如果是数组则最外层是用‘[ ]’来包括的,如果是对象或者是Map则是用‘{ }’来包括的,根据需要反序列化的json格式来选定需要反序列...
2024-01-10Java序列化是什么
概念把Java对象转换为字节序列的过程。作用序列化的主要用途是在传递和保存物体时,确保物体的完整性和可传递性。序列化是将物体转换成有序的字节流,以便在网络上传输或保存在本地文件中。其核心作用是保存和重建目标状态。实例package constxiong.interview; import java.io.FileInputStream;import java.io....
2024-01-10filter在JavaScript中过滤数组元素
方法说明1、filter为数组中的每个元素调用一次callback函数,并利用所有使callback返回true或等于true值的元素创建一个新的数组。callback只会调用已赋值的索引,而不会调用已删除或从未赋值的索引。未通过callback测试的元素将被跳过,不包含在新的数组中。过滤出符合条件的数组,组成新的数组。语法arr....
2024-01-10JavaScript使用map创建新数组
方法说明1、map方法将原始数组中的每一个元素按顺序调用callback函数。每一次执行后,callback的返回值(包括undefined)组合在一起,形成一个新的数组。callback函数只会被调用到有价值的索引中;那些从未被赋予或使用delete删除的索引不会被调用。2、使数组通过某种计算产生一个新的数组,影射成一个新...
2024-01-10JavaScriptforin和forof的不同点
不同点1、for-in语句按原始插入顺序迭代对象的可枚举属性。for-in将继承链中的所有对象属性重复,因此需要更多的时间。2、for-of语句只经历可迭代对象的数据。使用实例for-in:var obj = { name: 'test', color: 'red', day: 'sunday', number: 5}for (var key in obj) { console.log(obj[key])}f...
2024-01-10