仓酷云
标题:
来看Java String字符串对象的创立及办理
[打印本页]
作者:
金色的骷髅
时间:
2015-1-18 11:23
标题:
来看Java String字符串对象的创立及办理
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net网页编程并驾齐驱的
ConstantPool常量池的观点:
在讲到String的一些特别情形时,总会提到StringPool大概ConstantPool,可是我想良多人都不太分明ConstantPool究竟是个怎样的工具,运转的时分存储在那里,以是在这里先说一下ConstantPool的内容。
StringPool是对应于在ConstantPool中存储String常量的地区.习气称为StringPool,也有人称为StringConstantPool.仿佛没有正式的定名。
在java编译好的class文件中,有个地区称为ConstantPool,他是一个由数组构成的表,范例为cp_infoconstant_pool[],用来存储程序中利用的各类常量,包含Class/String/Integer等各类基础Java数据范例。
关于ConstantPool,表的基础通用布局为:
cp_info{
u1tag;
u1info[];
}
tag是一个数字,用来暗示存储的常量的范例,比方8暗示String范例,5暗示Long范例,info[]依据
范例码tag的分歧会产生响应变更。
关于String范例,表的布局为:
CONSTANT_String_info{
u1tag;
u2string_index;
}
tag流动为8,string_index是字符串内容信息,范例为:
CONSTANT_Utf8_info{
u1tag;
u2length;
u1bytes[length];
}
tag流动为1,length为字符串的长度,bytes[length]为字符串的内容。
(以下代码在jdk6中编译)
为了具体了解ConstantPool的布局,我们参看一些代码:
Strings1="sss111";
Strings2="sss222";
System.out.println(s1+""+s2);
因为"sss111"和"sss222"都是字符串常量,在编译期就已创立好了存储在class文件中。
在编译后的class文件中会存在这2个常量的对应暗示:
08001101000673737331313108001301;......sss111....
0006737373323232 ;..sss222
<p>
不得不提一下的是:.net网页编程是看到java红,而开发出来的工具。
作者:
若天明
时间:
2015-1-20 23:18
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
作者:
飘飘悠悠
时间:
2015-1-23 23:39
是一种为 Internet发展的计算机语言
作者:
愤怒的大鸟
时间:
2015-1-24 15:33
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
作者:
乐观
时间:
2015-1-26 05:04
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
作者:
冷月葬花魂
时间:
2015-2-5 06:59
是一种为 Internet发展的计算机语言
作者:
莫相离
时间:
2015-2-6 08:14
是一种将安全性(Security)列为第一优先考虑的语言
作者:
兰色精灵
时间:
2015-2-28 17:14
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
作者:
变相怪杰
时间:
2015-3-10 02:45
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
作者:
不帅
时间:
2015-3-11 12:27
是一种将安全性(Security)列为第一优先考虑的语言
作者:
小妖女
时间:
2015-3-18 10:56
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
作者:
活着的死人
时间:
2015-3-25 18:08
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2