
Java SE
文章平均质量分 63
IT_GJW
杭州电子科技大学,计算机专业,硕士在读
展开
-
浅析java.lang.Class类及其对象
1.Class类及其对象简介Class类位于java.lang包中,父类是Object,该类的对象表示正在运行的 Java 应用程序中的类和接口。Class 类没有公共构造方法,Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的defineClass 方法自动构造的。通俗来讲就是JVM会为每一个被加载的类创建一个对应的对象(即字节码文件在jvm中也是以对象的形式被jv原创 2016-10-10 16:38:17 · 646 阅读 · 1 评论 -
浅析Java的反射机制
1、JAVA反射机制是指,在程序运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。之所以能做到这一点,靠的是java中Class类,该类是用于描述字节码文件的类,通过该类的实例化对象可以得到该对象所表示的类的所有信息,包括类中的构造器,字段,以及类方法。因此简单来说,反原创 2016-11-17 10:37:42 · 427 阅读 · 0 评论 -
接口与抽象类
一.接口使用关键字interface来定义一个接口,接口的定义和类的定义很相似,分为接口声明和接口体1.接口声明interface 接口名字2.接口体接口体中包含常量(使用final关键字修饰的变量)的定义和抽象方法的定义。接口中所有常量的访问权限必须是public,而且是static常量,允许省略public、final、static修饰符;Java 8以前,接口中的方法必须是抽象方法,不能有普...原创 2018-05-10 14:43:15 · 239 阅读 · 0 评论 -
Java类的初始化
类的初始化是一个Java类生命周期中的其中一个阶段。如下图所示:生命周期中的前五个阶段(加载、验证、准备、解析、初始化)是一个类在JVM中的完整加载过程。初始化是类加载的最后一个阶段,也正是在初始化阶段,才会真正开始执行类中所写的Java代码。Java虚拟机规范中严格规定了有且只有四种情况必须立即对类进行初始化:1.遇到new、getstatic、putstatic、或者invoicestatic...原创 2018-04-26 15:32:24 · 1121 阅读 · 2 评论 -
Java异常处理机制
一.Java中的异常类概述Java将程序中出现的异常情况封装成对象,用对象实例对异常情况进行描述。Java异常类层次结构图:从图中可以看出,所有的异常都是由Throwable继承而来,Throwable有两个直接子类:Error和Exception。Error是程序无法处理的错误,一般是Java运行时系统的内部错误和资源耗尽错误。例如Java虚拟机错误。出现这类错误,会导致程序的终止,无法对这类错...原创 2018-05-11 12:04:20 · 339 阅读 · 1 评论 -
Class文件详解
引言 众所周知,Java语言有一个很重要的特点是平台无关性,即用Java语言编写的程序可以在不同平台之间无缝迁移,Java对这个特性有一个著名的宣传口号:“一次编写,到处运行(Write Once,Run AnyWhere)”。Java能够实现平台无关性的原因是它在平台之上提供了一个Java运行环境,也就是JVM,Sun公司以及其他虚拟机提供商发布了许多可以运行在各种不同平台上的虚拟...原创 2018-05-27 20:24:25 · 14063 阅读 · 6 评论 -
Java集合框架概述
Java集合框架类图概览上述类图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,折线边框的是抽象类,比如AbstractCollection,AbstractList,AbstractMap等,而点线边框的是接口,比如Collection,Iterator,List等。Java集合可以被分为两大类,一类是单列集合,这类集合的根接口是Collect...原创 2018-07-26 20:59:57 · 543 阅读 · 0 评论 -
JVM类加载机制
概述 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。与那些在编译时需要进行连接工作的语言不同,在Java中,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类加载时稍微增加一些性能开销,但是为Java应用程序提供高度的灵活性。类加载的时机 类从被加载到虚拟机...原创 2018-06-06 16:10:17 · 279 阅读 · 1 评论 -
关于Java中整数类型数据的取值范围
要想分析数据的取值范围,首先应该明确两点:1.java中的数值型数据都是符号数,符号数由符号位和数值位两部分组成,符号位都是用0表示正数,用1表示负数2.java中是以补码来表示数值数据的,正数的补码是其本身,负数的补码是该数绝对值按位取反后再加1。所谓补码就是将二进制位取反再加1,比如二进制数0011的补码是1101。以byte类型的数据为例分析其取值范围:byte类型的数据占8个二进制位,由于...原创 2016-10-30 21:53:15 · 1080 阅读 · 0 评论