Java之final修饰符
final修饰符是Java语言中比较常见的一个修饰符,我们经常用的String类就是一个final类。 final的用法主要有以下几种:final可以修饰变量,被final修饰的变量被赋初始值之后,不能对它重新赋值。final可以修饰方法,被final修饰的方法不能被重写。final可以修饰类,被final修饰的类不能派生子类。final修饰的变量被final修饰的实例变量必须显式指定初始 …… 阅读全文
final修饰符是Java语言中比较常见的一个修饰符,我们经常用的String类就是一个final类。 final的用法主要有以下几种:final可以修饰变量,被final修饰的变量被赋初始值之后,不能对它重新赋值。final可以修饰方法,被final修饰的方法不能被重写。final可以修饰类,被final修饰的类不能派生子类。final修饰的变量被final修饰的实例变量必须显式指定初始 …… 阅读全文
首先看如下代码示例:System.out.println(0.05 + 0.01);System.out.println(0.05 - 0.03);System.out.println(1.025 * 100);System.out.println(305.1 / 1000);输出结果为:0.0600000000000000050.020000000000000004 …… 阅读全文
在Java开发中,我们经常用到将对象转换成String类型这一功能,常用的有如下三种方式(String)[对象][对象].toStringString.valueOf([对象])(String)这是标准的类型转换,将对象强制转换为String类型,前提是该对象必须能保证转成String类型,否则将抛出ClassCastException异常toStringAPI源码 …… 阅读全文
代理模式:代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。代理的实现分为静态代理:代理类是在编译时就实现好的,也就是说Java编译完成后代理类是一个实际的class文件动态代理:代理类是在运行时生成的,也就是说Java编译完之后并没有实际的class文件,而 …… 阅读全文
类加载器基本概念顾名思义,类加载器(class loader)用来加载Java类到Java虚拟机中。一般来说,Java虚拟机使用Java类的方式如下:Java源程序(.java文件)在经过Java编译器编译之后就被转换成Java字节代码(.class文件)。类加载器负责读取Java字节代码,并转换成java.lang.Class类的一个实例。每个这样的实例用来表示一个Java类。通过此实例的n …… 阅读全文
概述虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。类加载的时机类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使 …… 阅读全文