虚拟机加载机制
来源:互联网 发布:大数据平台调度系统 编辑:程序博客网 时间:2024/06/18 08:54
class A{
static{
System.out.println("I am A!");
}
}
publicclass test1 {
publicstaticvoid main(String[]args){}
}
class SuperClass{
static{
System.out.println("SuperClass init!");
}
}
class SubClass extends SuperClass{
static{
System.out.println("SubClass init!");
}
}
publicclass test1 {
publicstaticvoid main(String[]args){
SubClass subClass = new SubClass();
}
}
class SuperClass{
static{
System.out.println("SuperClass init!");
}
}
class SubClass extends SuperClass{
static{
System.out.println("SubClass init!");
}
}
publicclass test1 {
publicstaticvoid main(String[]args){
System.out.println(SubClass.class);
}
}
class SuperClass{
static{
System.out.println("SuperClass init!");
}
public static int value = 10;//该变量会放入方法区
}
class SubClass extends SuperClass{
static{
System.out.println("SubClass init!");
}
}
publicclass test1 {
public static void main(String[]args){
System.out.println(SubClass.value);
}
}
class SuperClass{
static{
System.out.println("SuperClass init!");
}
publicstaticfinalintfinalValue = 20;//该变量会放入方法区中的常量池里
}
class SubClass extends SuperClass{
static{
System.out.println("SubClass init!");
}
}
publicclass test1 {
publicstaticvoid main(String[]args){
System.out.println(SubClass.finalValue);
}
}
class SuperClass{
static{
System.out.println("SuperClass init!");
}
}
class SubClass extends SuperClass{
static{
System.out.println("SubClass init!");
}
}
publicclass test1 {
publicstaticvoid main(String[]args){
SuperClass[]sup = new SuperClass[5];
SubClass[]sub = new SubClass[5];
}
}
#include<iostream>
usingnamespace std;
classA
{
public:
A()
{
cout << "A构造函数被调用" << endl;
}
};
void main()
{
A a[3];
}
publicclass test1 {
static{
System.out.println("The main class is inited!");
}
staticclass innerClass{
static{
System.out.println("The innerClass is inited!");
}
}
publicstaticvoid main(String[]args){
}
}
publicclass test1 {
staticclass innerClass{
staticintA = 0;
static{
System.out.println("The innerClass is inited!");
}
}
publicstaticvoid main(String[]args){
System.out.println(innerClass.A);
}
}
publicclass test1 {
staticclass Parent{
publicstaticintA = 0;
static{
System.out.println("Parent is inited!");
}
}
staticclass Child extends Parent{
static{
System.out.println("Child is inited!");
}
}
publicstaticvoid main(String[]args){
System.out.println(Child.A);
}
}
publicclass test1 {
staticclass Parent{
publicstaticintA = 0;
static{
A = 2;
}
}
staticclass Child extends Parent{
publicstaticintB = A;
}
publicstaticvoid main(String[]args){
System.out.println(Child.B);
}
}
publicclass Test{
public Test(){
System.out.println("构造函数");
}
static{
System.out.println("static块");
}
publicstaticvoid main(String []args){
Test test = new Test();
}
}
public
class
Person {
static
{
System.out.println(
"person static"
);
}
public
Person(){
System.out.println(
"person structor"
);
}
}
public
class
Test
extends
Person{
static
{
System.out.println(
"test static"
);
}
public
Test(){
System.out.println(
"test constructor"
);
}
public
static
void
main(String[] args) {}
}
publicclass Test{
static{
n = 2;//如果是System.out.println(n);则报错,因为n还没定义
}
publicstaticintn = 1;
publicstaticvoid main(String []args){
System.out.println(Test.n);
}
}
public
class
Test2 {
private
String baseName =
"base"
;
public
Test2() {
callName();
}
public
void
callName() {
System.out.println(baseName);
}
static
class
Sub
extends
Test2 {
private
String baseName =
"sub"
;
public
void
callName() {
System.out.println(baseName);
}
}
public
static
void
main(String[] args) {
new
Sub();
}
}
public
class
Person {
static
{
System.out.println(Thread.currentThread().getId()+
"....."
);
}
static
{
System.out.println(Thread.currentThread().getId()+
"....."
);
}
static
{
System.out.println(Thread.currentThread().getId()+
"....."
);
}
}
public
class
Test {
public
static
void
main(String[] args) {
Runnable runnable =
new
Runnable() {
@Override
public
void
run() {
new
Person();
}
};
Thread thread1 =
new
Thread(runnable);
Thread thread2 =
new
Thread(runnable);
thread1.start();
thread2.start();
System.out.println(
"main finish"
);
}
}
public
class
Person {
static
{
System.out.println(
"static..."
);
if
(
true
){
while
(
true
){}
}
}
}
public
class
Test {
public
static
void
main(String[] args) {
Runnable runnable =
new
Runnable() {
@Override
public
void
run() {
new
Person();
System.out.println(
"thread finish"
);
}
};
Thread thread1 =
new
Thread(runnable);
Thread thread2 =
new
Thread(runnable);
thread1.start();
thread2.start();
System.out.println(
"main finish"
);
}
}
类何时被卸载
- 虚拟机类加载机制
- 虚拟机类加载机制
- 虚拟机类加载机制
- 虚拟机类加载机制
- 虚拟机类加载机制
- java虚拟机加载机制
- 虚拟机类加载机制.
- 虚拟机类加载机制
- 虚拟机类加载机制
- 虚拟机类加载机制
- 虚拟机加载机制
- 虚拟机类加载机制
- 虚拟机类加载机制
- 虚拟机类加载机制
- 虚拟机类加载机制
- 虚拟机类加载机制
- 虚拟机类加载机制
- 虚拟机类加载机制
- 方法分派
- Codeforces Round #245 (Div. 1)D(最近点对)
- 最小代价树
- 综合简单聊天系统
- HEVC码率控制算法研究与HM相应代码分析(三)——算法及代码分析
- 虚拟机加载机制
- 强、弱、软、虚引用
- 动态规划01背包问题
- leetcode 097 —— Interleaving String
- php绘图
- Android控件详解之列表控件
- 四舍六入五成双的浮点转整型的宏定义
- IOS调用相机和相册时无法显示中文
- 利用log4j写日志