static 关键字的特点 1. 随着类的加载而加载; 2. 优先于对象存在; 3. 被类的所有对象共享; 4. 可以通过类名调用; 内存图 构造代码块 构造代码块优先于构造方法执行,创建一个对象就会执行一次; 输出结果: 构造代码块执行 构造方法执行 final 关键字 1. 在继承中,用fina ...
分类:
编程语言 时间:
2018-06-17 13:36:38
阅读次数:
126
static是表示静态的意思,它可用来修饰成员变量和成员函数,被静态修饰的成员函数只能访问静态成员,不能访问非静态成员。静态是随着类的加载而加载,因此可以直接用类进行访问。 覆盖又称为重写,重写就是子类中的方法和子类继承的父类中的方法一样(函数名、参数类型、参数、返回值类型),但子类的访问权限不要低 ...
分类:
编程语言 时间:
2018-06-16 13:38:07
阅读次数:
247
1、什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向 ...
分类:
编程语言 时间:
2018-06-14 14:46:07
阅读次数:
140
类的生命周期从类被加载、连接和初始化开始,到类被卸载结束。 只有当类处于生命周期时,java程序才能使用它,比如 调用类的静态属性和方法、或者创建类的实列 简要介绍 1:加载 类的加载时指把类的.class文件中的二进制读入到内存中,把它存放在运行时数据区的方法区内,然后在堆区创建一个java.lo ...
分类:
编程语言 时间:
2018-06-14 01:12:37
阅读次数:
194
一、概念 在代码编译后,就会生成JVM(Java虚拟机)能够识别的二进制字节流文件(*.class)。而JVM把Class文件中的类描述数据从文件加载到内存,并对数据进行校验、转换解析、初始化,使这些数据最终成为可以被JVM直接使用的Java类型,这个说来简单但实际复杂的过程叫做JVM的类加载机制。 ...
分类:
其他好文 时间:
2018-06-09 23:22:39
阅读次数:
298
一、静态代码块 里面可以有输出语句 随着类的加载而加载,而且只被加载一次 多个静态代码块之间按照顺序结构执行 静态代码块的执行要早于非静态代码块的执行。 静态的代码块中只能执行静态的结构(类属性,类方法) 二、非静态代码块 可以对类的属性(静态的 & 非静态的)进行初始化操作,同时也可以调用本类声明 ...
分类:
编程语言 时间:
2018-06-02 17:43:07
阅读次数:
186
最近有很多同学开始学习Java,都问了我一个很基础的问题: public class MethodInvokeTest{ int i = 0; public static void main(String[] args) { System.out.println(i); } } 这种情况下为什么不可 ...
分类:
其他好文 时间:
2018-05-31 15:33:11
阅读次数:
187
前言 JVM设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作房东Java虚拟机外面去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。 类与类加载器 类加载器虽然只用户实现类的加载动作,但它在Java程序中起到的作用却远远不 ...
分类:
其他好文 时间:
2018-05-29 01:55:21
阅读次数:
183
jvm_类加载机制类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。 1.类加载的过程包括了加载、验证、准备、解析、初始化五个阶段 2.类初始化时机:只有当对类的主动使 ...
分类:
其他好文 时间:
2018-05-28 16:05:11
阅读次数:
103
我们每天都能见到太阳,时间长了便习以为常了,不会去思考,太阳光是怎么传来的。但是如果仔细的思考这个问题的话,发现不一定能解释的很清楚。 同理,我们每天用spring框架来开发Java应用,慢慢的掉入了业务开发的深渊,成了springframework 程序员,忘记了Java本质的东西。比方说Java ...
分类:
编程语言 时间:
2018-05-27 16:18:09
阅读次数:
146