ziheng's Blog

zihengCat is here!

Java 高级教程系列 - 集合框架概览

Java Tutorial for Language Adavanced - Collection Framework Overview

Java 集合框架集合(Collection)又被称为容器(Container),是一种可以存储与操作对象的对象,存放在集合中的对象被称为集合元素(Element)。 Java 语言标准库设计并实现了一系列集合类型,统称为 Java 集合框架(Java Collection Framework)。Java 集合框架由三部分核心组件构成,位于java.util包下。 集合接口(Collect......

Java 高级教程系列 - 反射效率

Java Tutorial for Language Adavanced - Reflection Efficiency

前言通过 Java 反射(Reflection)机制,我们可以动态地构造实例,获取对象信息,调用对象方法等。我们通过几个测试用例,来探索反射调用与直接调用的效率差异。 反射机制的效率测量准备一个简单的反射测试类,包含两个属性字段,以及它们的getter/setter方法,另外还有一个自定义方法。 public class UserClass { private Intege......

Java 基础教程系列 - final 关键字详解

Java Tutorial for Language Basics - final Keyword Explanation

Java 语言 final 关键字final是 Java 语言的关键字之一,final关键字可用于多个场景,在不同场景下具有不同的作用。 图:final关键字几个使用场景 final修饰变量:被修饰变量必须先被初始化(赋值),初始化后不能修改值(常量)。 final修饰方法:被修饰方法无法被其子类重写或覆写。 final修饰类:被修饰类无法被继承,类中所有成员方法会被隐式指定为f......

Java 基础教程系列 - 自动装箱与拆箱

Java Tutorial for Language Basics - Autoboxing and Unboxing

Java 基本类型包装类(Primitive Wrapper Classes)在 Java 中,一切皆对象。Java 类库提供了基本类型(Primitive Types)的对象包装类(Primitive Wrapper Classes),位于java.lang包中。 基本类型(Primitive Type) 包装类型(Wrapper Class) byte Byte shor......

Java 高级教程系列 - 数组反射

Java Tutorial for Language Adavanced - Array Reflection

数组反射(Array Reflection)数组(Array)是 Java 语言中一个比较特殊的存在,但其仍是对象。对于数组对象的反射操作,主要由java.lang.reflect.Array提供。Array类提供一系列静态方法允许我们动态创建与操作 Java 数组,注意,Array类中的所有方法都是静态方法。 public final class Array extends Object ......

Java 高级教程系列 - 构造器反射

Java Tutorial for Language Adavanced - Constructor Reflection

构造器反射(Constructor Reflection)Java 类java.lang.reflect.Constructor实例是对类构造器(Constructor)的反射。Constructor类继承自通用抽象父类Executable,其自身是不可变(Immutable)类。 public final class Constructor<T> extends Executa......

Java 高级教程系列 - 方法反射

Java Tutorial for Language Adavanced - Method Reflection

方法反射(Method Reflection)Java 类java.lang.reflect.Method实例是对类方法(Method)的反射。Method类继承自通用抽象父类Executable,其自身是不可变(Immutable)类。 Method[] getMethods() Method[] getDeclaredMethods() Method getMethod(String n......

Java 高级教程系列 - 类字段反射

Java Tutorial for Language Adavanced - Field Reflection

类字段反射(Field Reflection)我们可以使用java.lang.reflect.Field反射取得某个类中的字段(Field)信息。 Java 核心Class类提供的字段类型信息的反射 API 如下所示。 Field[] getFields() Field[] getDeclaredFields() Field getField(String name) Field getDe......

Java 高级教程系列 - 反射 Class 类型信息

Java Tutorial for Language Adavanced - Class Reflection and RTTI

Class 类Java 类java.lang.Class是对 Java 虚拟机(JVM)载入类型信息的抽象,一枚Class类实例即表示程序运行时 JVM 载入的某个类,Class类是 Java 反射机制(Reflection)的核心。 Class类是一个泛型(Generics)类,接受一个类型参数,例如:Class<Boolean>表示Boolean对象的类型信息,Class&l......

Java 高级教程系列 - 反射概览

Java Tutorial for Language Adavanced - Reflection Overview

什么是反射(Reflection)反射机制(Reflection)是一种在程序运行时获取或修改程序运行状态的方法。 传统意义上,我们认为 Java 是一门静态语言,但是 Java 提供了反射机制,可以在程序运行时(Runtime)动态获取某个类的相关信息:字段(Fields)、修饰符(Modifiers)、方法(Methods)、父类(Superclass)等。 我们可以使用 Java 反射......