一个类可以使用不包含在任何方法体中的静态代码块,当类被载入时,静态代码块被执行,且只被执行一次,静态块常用来执行类属性的初始化。一.类加载时,变量的初始化顺序:  1.首先,给静态成员变量分配内存空间,进行默认初始化  (整型为0,浮点型为0.0,布尔型为false,字符型为'\u0000',引用型为null)    2.其次,执行静态成
堆常用:-Xms:JVM初始最小分配的内存由-Xms指定,默认是物理内存的1/64 -Xmx:JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4新生代: -Xmn:设置年轻代大小-Xmn2G:设置年轻代大小为2G。 -XX:NewSize设置新生代最小空间大小。-XX:MaxNewSize设置新生代最大空间大小。-XX:PermSize设置永久代最小空间大小。-XX:MaxPer
转载 2023-05-30 13:09:32
241阅读
1、堆设置-Xms:堆内存的最小值-Xmx:堆内存的最大值-Xmn:堆内存中新生代的初始化大小-XX:newSize:表示堆内存中新生代初始化的最小值,应该小于-Xms的值; -XX:MaxnewSize:表示堆内存中新生代初始化的最大值;当然这个值应该小于-Xmx的值; -Xmn:至于这个参数则是相当于对 -XX:newSize、-XX:MaxnewSize两个参数的同时配置,也就是说如果通过-
转载 2023-12-09 15:51:52
79阅读
创建如下Demo 运行结果 创建Demo2 打印结果: 创建Demo3 打印结果 4、Demo4 使用反射使类初始化 打印结果 说明反射Class.forName会使类初始化。而调用ClassLoader类的loadClass方法加载一个类,并不是对类的主动使用,不会导致类的初始化
转载 2019-06-09 20:22:00
138阅读
2评论
1、创建两个接口,MyParent5接口,MyChild5 接口继承自MyParent5接口 接口成员变量默认为:public static final 打印结果 1、删除MyParent5.class 程序还是能正常运行。 2、接着讲MyChild5.class 程序还是能正常运行 总结: 当一个
转载 2019-06-08 12:30:00
76阅读
2评论
jvm
原创 2023-03-19 08:11:49
47阅读
## Java接口与JVM初始化 在Java编程中,接口(Interface)是一种定义了一组方法签名的抽象类型。它可以被类实现,实现类必须实现接口中的所有方法。本文将介绍Java接口的基本概念,以及JVM初始化接口的过程。 ### Java接口的基本概念 Java接口是一种抽象类型,它定义了一组方法的签名,但没有实现任何具体的方法体。接口通过`interface`关键字来声明,可以包含常量
原创 2023-08-11 09:22:33
108阅读
一、普通类(无继承)的初始化顺序:  java编程思想中,对一个对象的创建过程总结如下,假设有一个名为Dog的类:  1.即使没有显示的使用static关键字,构造器实际上也是静态方法。因此当首次创建一个类型为Dog的对象时,或者Dog类的静态方法或静态域首次被访问时,Java解释器必须查找类路径,以定位Dog.class文件。  2.然后载入Dog.class(这将创建一个Class对象),有关
转载 2023-11-14 06:31:16
75阅读
堆内存相关Java 虚拟机所管理的内存中最大的一块,Java 堆是所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例以及数组都在这里分配内存。显式指定堆内存–Xms和-Xmx与性能有关的最常见实践之一是根据应用程序要求初始化堆内存。如果我们需要指定最小和最大堆大小(推荐显示指定大小),以下参数可以帮助你实现:-Xms<heap size&
转载 2023-09-05 10:49:47
111阅读
jvm
原创 2023-03-19 08:12:06
34阅读
package com.atChina.jvm;import java.util.Random;/* * 当一个接口在初始化时,并不要求其父接口都完成了初始化 * 只有在真正使用到父接口的时候,(如引用接口中所定义的常量时),才会初始化 */public class Test5 { public static void main(String[] args) { ...
原创 2021-08-24 15:48:33
168阅读
1、JVM的运行参数jvm的参数类型分为三类, 分别是:1)标准参数如:     -help     -version2)-X参数 (非标准参数)如:     -Xint     -Xcomp3)-XX参数(使用率较高)如:     -XX:newSize     -XX:+Us
1、创建FinalTest类,里面有一个final常量x 然后在Main方法里打印fianl常量。打印结果 2、然后去掉final, 打印结果为: 3、将fianl常量改为随机生成 打印结果
转载 2019-06-09 20:19:00
83阅读
2评论
jvm
原创 2023-03-19 07:40:17
82阅读
在java代码中,类型的加载,连接与初始化过程都是在程序运行期间完成的。 这种方式提供了更大的灵活性,增加了更多的可能性。动态代理的类型在运行期间才被创建出来,在编译期间是不存在的。类的加载,连接,初始化1.常见的加载方式: 将已经编写好的类的class文件从磁盘上加载到内存中。(查找并加载类的二进制数据) 将类的.cl...
原创 2021-08-24 15:29:54
237阅读
总体说明 新买来的硬盘,通过USB口插在电脑上时显示不出来。(如下图)   这种情况可能是硬盘尚未初始化造成的。Microsoft网站上有一个详细的新硬盘初始化方法可供参考:https://docs.microsoft.com/zh-cn/windows-server/storage/disk-management/initialize-new-disks&
转载 2023-05-18 15:18:25
445阅读
【SerDe】 –用于做序列和反序列 –构建在数据存储和执行引擎之间,对两者实现解耦【Beeline】 –要与HiveServer2配合使用 –服务端启动hiveserver2 –客户端通过beeline两种方式连接到hive –beeline -u jdbc:hive2://localhost:10000/default -n root –beeline beeline>!connec
转载 2023-11-24 06:40:53
222阅读
一、各种初始化的形式 二、默认初始化 定义变量时没有指定初值(此时变量被赋予了“默认值”) 内置类型:①全局变量被初始化为0,②局部变量不被初始化(值是未定义的) 类类型:①有默认构造函数则由默认构造函数初始化,②无默认构造函数同内置类型 三、拷贝初始化 使用等号=初始化一个变量(编译器把等号右侧的
转载 2018-03-24 08:48:00
1490阅读
2评论
最近看了些书, 发现其中一些都对init的设计方法做了些说明, 这里总结下:当然, 和NSCoding协议相关的对象要另外考虑.init方法应当遵循的规则:如果某个类有多个初始化方法,那么应该由其中的一个方法来完成实际的任务,该方法称为指定初始化方法. 其他的初始化方法都应该(直接地或间接地)调用指定初始化方法.指定初始化方法应该先调用父类的指定初始化方法,然后再对实例变量进行初始化.如果某个类的
转载 2024-03-06 17:15:53
197阅读
1 /* 2 初始化块:普通初始化块、静态初始化块(类初始化块) 3 4 下面程序创建了三个类:Root,Mid和Leaf, 5 者三个类都提供了静态初始化块和普通初始化块, 6 而且Mid类里还是用this调用重载构造区,而 7 Leaf使用super显示调用父类指定的构造器 8 */ 9 class Root 10 { 11 static{ 12 ...
  • 1
  • 2
  • 3
  • 4
  • 5