- 浏览: 476846 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (501)
- java基础 (45)
- struts2 (22)
- WebService (9)
- JavaScript (21)
- Java多线程 (37)
- Hibernate (5)
- Spring (31)
- 数据库 (4)
- 软件设计 (1)
- J2ee (8)
- oracle (2)
- Linux (41)
- Hadoop (1)
- Java集合 (3)
- 设计模式 (3)
- 高并发 (1)
- JVM (15)
- xml (2)
- 数据库事务 (3)
- 动态代理 (1)
- tomcat (9)
- 其他 (4)
- DNS域名 (3)
- CDN (2)
- javaapi (1)
- 编码问题 (6)
- CSS样式 (1)
- TCP学习 (3)
- Java IO (6)
- 常见异常问题 (1)
- 网络编程 (1)
- 开发工具 (5)
- Maven (10)
- ibatis (12)
- Velocity (8)
- Jquery (11)
- HTTP (9)
- 中间件 (3)
- 软件管理 (2)
- Html (2)
- Redis (3)
- 服务器 (1)
- 分布式文件系统 (1)
- 异常 (1)
- 杂谈 (1)
- ICE (4)
- cxf (1)
- Apache ActiveMQ (1)
- 好文 (1)
- Json (1)
- junit (2)
- JMS (1)
- java工具 (1)
- memcache (5)
- 加密解密 (1)
- powerdesigner (3)
- Enterprise Architect (1)
- ide (0)
- hessian (3)
- svn (1)
- xstream (1)
- idea (12)
- HttpClient (2)
- solr (4)
- lucene (2)
- 正则 (2)
- 商品设计 (1)
- poi (1)
- nginx (8)
- java基础;Java集合类 (1)
- javassist (1)
- JMeter (1)
- springmvc (1)
- Java对象序列化 (2)
- java nio (4)
- RandomAccessFile (1)
- socket (1)
- netty (3)
- 博客 (1)
- Spring AOP (7)
- mysql (10)
- 远程调用 (2)
- https (3)
- 加密 (3)
- sql (1)
- git (1)
- webx (1)
- eclipse (1)
- 上传下载 (2)
- log4j (4)
- Mac 系统使用 (6)
最新评论
-
wanxiaotao12:
aswang 写道总结的不错,
正在读《java并发编程实战 ...
Java并发编程实战-学习笔记 -
aswang:
总结的不错, 正在读《java并发编程实战》,看到其中的不变性 ...
Java并发编程实战-学习笔记 -
lianhan3344:
感谢博主分享!!!!
深入剖析Tomcat How+Tomcat+Works中文367页.pdf -
vict0323:
真的是酱紫么?求真相
Spring 实际开发项目中, 是否要default-autowire="byName"
1、Java类常量 由 static + final + 数据类型+ 字母 组成 , 如: static final int a =1; 只能在声明的时候就初始化
2、Java类变量 由 static + 数据类型 +字母 组成, 如:static int a ; 或static int a =1; 这里可以赋值, 也可以不赋值
3、类初始化方法:即由static修饰的方法块,对类变量操作或赋值, 如:static {...}
共同点:都可以直接用类名调用,
区别:
1、类常量在定义后就不允许修改, 类变量可以修改
2、类常量没有初始化为默认值, 比如对int 初始化为0, 对引用初始化为null
类变量在类加载的时候, 会初始化为默认值 , int 初始化为0, 引用初始化为null
3、直接用类调用类常量时, 不加载类; 而直接用类调用类变量时, 会加载类 测试如下
public class A { public static int a =1;//类变量 public static final int b =2;//类常量 static { a = 3; System.out.println("A static code"); } } public class B { public static void main(String[] args) { System.out.println("A.b= " +A.b); System.out.println(A.a); } }
运行结果: A.b= 2 A static code 3
如果main方法在Class A中
public class A { public static int a =1;//类变量 public static final int b =2;//类常量 static { a = 3; System.out.println("A static code"); } public static void main(String[] args) { System.out.println("A.b= " +A.b); System.out.println(A.a); } } 运行结果: A static code A.b= 2 3 因为在执行main方法时, 首先会加载类A, 所以static 方法会先执行
发表评论
-
ThreadLocal 浅析
2015-07-20 23:15 615ThreadLocal使用场景及用法 ThreadLoca ... -
ClassLoader.getResourceAsStream() 与 Class.getResourceAsStream()的区别
2014-08-05 10:16 672Class.getResour ... -
Java 可变参数
2014-08-03 23:17 604Java1.5增加了新特性:可变参数:适用于参数个数不确定, ... -
Java property 的加载读取
2014-08-03 18:22 446Properties properties = new P ... -
Java property文件中文乱码解决方案
2014-08-03 17:53 7071,原理 Property文件中,使用的编码方式根 ... -
JDK native2ascii工具用法
2014-08-03 00:09 621背景:在做Java开发的时候,常常会出现一些乱码,或者无法正 ... -
IDEA properties中文unicode转码问题
2014-08-02 20:02 754在IDEA中创建了properties文件,发现默认中文不会 ... -
Java中Vector和ArrayList的区别
2014-03-19 21:44 571转:Java中Vector和ArrayLi ... -
java 7 Reflection详解(二),获取class对象信息
2014-03-07 15:36 725java 7 Reflection详解(二),获取class对 ... -
内省、JavaBean、PropertyDescriptor类、Introspector类、BeanUtils工具包、注解、Rentention、Target、
2014-02-28 15:34 472内省IntroSpector JavaBean主要用于传递 ... -
java自定义annotation学习
2014-02-10 20:00 693补课了,30分钟让你学会java自定义annotation ... -
java中finally子句的分析
2013-12-12 23:41 906参考:java中finally子句的分析 p ... -
javap反编译命令的使用
2013-11-15 14:16 757Javap 用法 用习惯了著名的反编译工具ja ... -
string
2013-11-15 00:03 513http://www.cnblogs.com/A_ming/a ... -
Java 中 Vector、ArrayList、List 使用深入剖析(转)
2013-11-13 23:55 434Java 中 Vector、ArrayList、List 使用 ... -
java逻辑运算符与位运算符
2013-11-11 14:52 463一. 与、或、非、异或运算 与 0&&0 ... -
HashMap学习
2013-11-11 10:55 321深入理解HashMap HashMap深度分析 ... -
Java过滤特殊字符的正则表达式
2013-10-15 09:35 1051Java过滤特殊字符的正则表达式 正则表达式说明 ... -
Java数字格式化
2013-10-09 13:21 740Java数字的格式化 : Java代码 ... -
Java读取文件内容并转换为字符串
2013-09-30 17:05 1250String FileName="d:/2.txt& ...
相关推荐
Java 中的静态变量、静态方法、静态块和静态类 Java 中的静态变量、静态方法、静态块和静态类是 Java 编程语言的四个重要概念,它们之间存在着紧密的关系。下面将对这四个概念进行详细的介绍。 一、静态变量...
总结来说,Java类的执行顺序涉及到类加载、验证、准备和初始化四个关键步骤,这些步骤在JVM内部协同工作,确保代码的正确性和安全性。理解这些基础知识对于编写高效、可靠的Java程序至关重要,也是面试中常见的技术...
### Java 类加载机制详解 #### 一、Java 类的生命周期 Java 类的生命周期分为五个主要阶段:加载、连接(包括验证、准备、解析三个子阶段)、初始化、使用和卸载。 1. **加载**:这一阶段的主要任务是通过类的全...
JVM系列(一):Java类的加载机制 类加载机制是 JVM 中的一种机制,将类的.class 文件中的二进制数据读入到内存中,并将其放在运行时数据区的方法区内,然后在堆区创建一个对象,用来封装类在方法区内的数据结构。...
知识点:Java整型常量可以用十进制、十六进制、八进制表示,Java变量可以是基本类型或引用类型,Java控制结构包括顺序结构、选择结构、循环结构等,Java运算符包括算术运算符、比较运算符、逻辑运算符、赋值运算符等...
Java类加载过程是Java应用程序启动的关键步骤,它涉及到类的加载、链接以及初始化。下面将详细阐述这些步骤。 1. **加载**: 加载阶段是类加载过程的第一步,它的任务是找到类的二进制字节流,并将其加载到Java...
总结起来,`static`关键字在Java中用于创建类级别的变量和方法,允许在不创建对象的情况下访问和操作它们,从而提高代码的效率和灵活性。理解和正确使用`static`关键字是编写高效、可维护的Java代码的关键。
在Java编程语言中,`final`关键字扮演着重要的角色,它用于声明不可变的变量、方法和类。理解`final`的关键在于其不可变性,这有助于提高程序的效率、稳定性和设计规范。 首先,`final`变量表示常量,一旦赋值后就...
关键字是java语言中赋予特殊含义的单词,标示符是程序中自定义的名词,常量是程序中的不会变化的数据,变量是内存中的一个存储空间,用于存储常量数据。 变量的定义需要考虑两个要素:存储什么数据(数据类型)和这...
final 关键字是 Java 中的一种访问修饰符,用于修饰类、方法和变量,以确保它们不能被修改或继承。下面是 final 关键字的详细解释: 1. final 类 final 类不能被继承,也就是说,final 类不能有子类。final 类中的...
JVM在加载类文件时,按照预定的顺序解析各部分,先读取可变长度的数据长度,再读取具体内容。这种结构允许类文件适应各种不同大小和结构的类或接口。 总的来说,Java类文件的基本结构是一个精心设计的二进制格式,...
静态块是 Java 中的一个特殊概念,如果您需要进行计算以初始化静态变量,可以声明一个静态块,该块在首次加载类时只执行一次。静态块可以用于初始化静态变量 или执行一些特殊的操作。 静态变量是 Java 中的一种...
本文将深入探讨Java类中各成分的加载顺序以及它们在内存中的存放位置。 首先,类的加载通常发生在以下三种情况: 1. 创建对象:通过`new`关键字创建类的实例。 2. 使用类的静态成员:访问类的静态变量或调用静态...
- 静态变量在类加载时被初始化,所有类的对象共享同一份静态变量的副本。 - 静态方法不依赖于任何特定对象,可以直接通过类名调用,无法访问非静态成员。 4. **final修饰符**: - `final`用于声明不可改变的变量...
14. 实例变量与局部变量:实例变量是类的成员变量,静态变量在类加载时创建,局部变量在声明时必须初始化。选项C(静态变量在方法执行时创建)是错误的。 15. 构造方法调用:构造方法不能像普通方法那样被调用,...
2. **扩展类加载器(Extension ClassLoader)**:它继承自启动类加载器,主要负责加载<JAVA_HOME>\jre\lib\ext目录下的jar包,以及由java.ext.dirs系统变量所指定目录中的所有jar包。开发者可以直接使用扩展类加载器...
Java 中的 static 关键字 ...在 Java 中,类装载器把一个类装入 Java 虚拟机中,要经过三个步骤来完成:装载、链接和初始化,其中链接又可以分成校验、准备和解析三步,除了解析外,其它步骤是严格按照顺序完成的。
Java提供了四种访问修饰符:`public`、`private`、`protected`和`default`,用于控制类、方法和变量的可见性。 ##### 6.7 构造方法 构造方法是一种特殊的方法,用于初始化对象。 ##### 6.8 封装 封装是指隐藏...