仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 576|回复: 11
打印 上一主题 下一主题

[学习教程] 来看Java String字符串对象的创立及办理

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:23:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
最后我再次声明,我并没有说不看好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:40 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
飘飘悠悠 该用户已被删除
板凳
发表于 2015-1-23 23:39:56 | 只看该作者
是一种为 Internet发展的计算机语言
愤怒的大鸟 该用户已被删除
地板
发表于 2015-1-24 15:33:42 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
乐观 该用户已被删除
5#
发表于 2015-1-26 05:04:43 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
冷月葬花魂 该用户已被删除
6#
发表于 2015-2-5 06:59:06 | 只看该作者
是一种为 Internet发展的计算机语言
莫相离 该用户已被删除
7#
发表于 2015-2-6 08:14:35 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
兰色精灵 该用户已被删除
8#
发表于 2015-2-28 17:14:55 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
变相怪杰 该用户已被删除
9#
发表于 2015-3-10 02:45:34 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
不帅 该用户已被删除
10#
发表于 2015-3-11 12:27:38 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
小妖女 该用户已被删除
11#
发表于 2015-3-18 10:56:39 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
活着的死人 该用户已被删除
12#
发表于 2015-3-25 18:08:58 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 12:01

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表