静态常量(static final)在class文件中是怎样的呢?
来源:互联网 发布:数据挖掘以什么为基础 编辑:程序博客网 时间:2024/06/06 13:00
最近写项目遇到一个问题,来回折腾了几次,终于探究清楚了。不废话,上例子。
背景:因为项目小,没有使用配置文件,所有静态常量都放在Config.java里面了
public class Config { public static final String URL="http://www.xxxx.com/"; public static final int PAGE_NUM=10;}
好吧,放到服务器上运行一下,正常啊。
接下来,问题来了。
URL改,PAGE_NUM也改。
public class Config { public static final String URL="http://www.yyyy.com/"; public static final int PAGE_NUM=200;}
好了,生成下class文件,放到服务器上,喝杯茶。。。
刷新下,没变,再等等,服务器有个转换时间。。。
30s。。。没变
1min。。。没变
重启服务器。。。(应该好了)
怎么还是没变???~~~!!!@@@###&&&+++***(到底怎么回事,服务器坏了,重装?)
其实什么都没坏。你不信?往下看。
找个小工具,把class文件反编译一下,找找引用常量的地方,你就瞬间明白了。
不是你想象的
Config.URLConfig.PAGE_NUM
而是
"http://www.xxxx.com/"10
明白了吧,常量在class文件中,直接替换为值了。
那还是想用Config.java,又不想改很多地方,怎么办?
两个方法:
public class Config { public static final String URL=new String("http://www.xxxx.com/");//好用 public static final int PAGE_NUM=new Integer(10);//不好用}
public class Config { public static String getURL(){return "http://www.yyyy.com"; } public static int getPageNum(){return 200; } }
好了,其余的,等待大家去发现。
1 0
- 静态常量(static final)在class文件中是怎样的呢?
- 静态常量(static final)的研究
- method方法在class文件中是怎样组织的
- 为什么接口里面的值必须是常量final且静态static
- class文件中的字段表集合--field字段在class文件中是怎样组织的
- class文件中的方法表集合--method方法在class文件中是怎样组织的
- static+final与final区别,静态常量与常量
- static+final与final区别,静态常量与常量
- 1.4 class文件中的字段表集合--field字段在class文件中是怎样组织的
- 1.5、 class文件中的方法表集合--method方法在class文件中是怎样组织的
- java中的常量,是不是必须定义为static final的呢
- class文件结构[2] static final、static、final、普通类型成员变量的赋初值
- Java程序在运行的时候具体是如何确定.class文件位置的呢?
- 《Java虚拟机原理图解》1.4 class文件中的字段表集合--field字段在class文件中是怎样组织的
- 《Java虚拟机原理图解》1.5、 class文件中的方法表集合--method方法在class文件中是怎样组织的
- (转)《Java虚拟机原理图解》1.4 class文件中的字段表集合--field字段在class文件中是怎样组织的
- 《Java虚拟机原理图解》1.4 class文件中的字段表集合--field字段在class文件中是怎样组织的
- 《Java虚拟机原理图解》1.4 class文件中的字段表集合--field字段在class文件中是怎样组织的
- DataMatrix编码 关于libdmtx的使用
- 理解Storm拓扑的并行
- IKAnalyzer添加用户自定字典
- miniUI界面
- iOS 7兼容
- 静态常量(static final)在class文件中是怎样的呢?
- calendar的使用
- 【再思考】PATBasic——1024. 科学计数法 (20)
- 童年的友情你还记得?
- Autolayout优秀的第三方开源库
- SQL调优(连接方式)
- iOS对NSNull的判断
- Spring@Autowired注解与自动装配
- Oracle中的Hash Join祥解