摘要:
在学习有关java枚举的时候,我们知道了所有的枚举类型均是继承自java.lang.Enum类的,且所有的枚举常量均是该枚举类型的一个对象,且对象名即为该枚举常量的名称。例子如下:源码: 反编译后的代码: 在写代码的时候,由于输入法切换的问题,发现枚举常量的常量名称居然是可以使用中文的。代码如下: 阅读全文
摘要:
枚举是如何保证线程安全的且其在序列化和反序列化的操作中是单例的? 要想看源码,首先得有一个类吧,那么枚举类型到底是什么类呢?是enum吗?答案很明显不是,enum就和class一样,只是一个关键字,他并不是一个类,那么枚举是由什么类维护的呢,我们简单的 阅读全文
摘要:
用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl....。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 用法二:switch JDK1.6之前的switch语句 阅读全文
摘要:
设计模式中的单例模式可以有7种写法,这7种写法有各自的优点和缺点: 代码示例(java)及其分析如下: 一、懒汉式 优点: 不是马上就初始化的,当需要使用的时候才进行初始化(即是lazy loading) 缺点: 在并发情况下是线程不安全的 二、懒汉式线程安全版 优点: 不是类加载之后就进行初始化的 阅读全文
摘要:
首先,应该明白的是transient是java中的一个关键字,音标为 英: [ˈtrænziənt] 。 在了解transient关键字之前,应该先弄明白序列化和反序列化。所谓的序列化,通俗点的来说,就是将一个对象转化为字节序列的形式来表示,这些字节序 阅读全文
摘要:
在java中,对一个对象进行序列化操作,其有如下两种方式: 第一种: 通过实现java.io.Serializable接口,该接口是一个标志接口,其没有任何抽象方法需要进行重写,实现了Serializable接口的类,其序列化过程是默认的,当然,也可以通过在该类中重写如下四个方法对序列化的过程进行控 阅读全文
摘要:
Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?以下内容将围绕这些问题进行展开讨论。 1. Java序列化与反序列化 简单来说Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。 2. 为什么需 阅读全文