仓酷云

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

[学习教程] 发布一篇Java共享类

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:14:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
ruby里有这些工具吗?又要简单多少?我没有用过这两门语言,我估计在这些语言力没有很统一的这种标准,或者根本就没有提供。
要真正相互断绝Java使用程序,本色上必要多个JVM,但是启动本钱和内存占用使这类体例不那末幻想。而共享类能够同时办理这两个成绩。在多JVM情况中,共享类经由过程将一组中心体系类装载到共享内存中,能够在多个JVM中共享这些类。这些共享类放到内存的一个共享地区中,它们在这里对一切JVM都是坚持分歧的。了局,共享类只必要在第一次利用古装载到内存中,这打消了在今后每次JVM挪用古装载它们的流动本钱,并削减了每一个JVM中的内存占用。
IBM在z/OS平台上完成了共享类手艺。AppleComputerInc.在MacOSX上完成了名为JavaSharedArchive(JSA)的一种共享类,而Sun在J2SE1.5版中引进了基于JSA手艺的ClassDataSharing(CDS)。让我们剖析一下这些完成是怎样事情的。
IBM的完成
自J2SE1.3.1以来,IBM就在z/OS平台上供应了共享类手艺的完成。这类完成是经由过程让一个主(或称master)JVM将中心体系类装载到共享内存完成的,那末这究竟是甚么意义呢?
分化堆
内存分为共享堆和Java堆。主JVM将体系堆(即共享堆)分派到共享内存中,这里是安排体系类的中央。体系堆在主JVM的保存周期中一向存在,而且不会遭到渣滓搜集(GC)的影响。每个后续(大概worker)JVM附加到这个体系堆上,如所示,并为本人的Java堆分派非共享内存,它会受渣滓搜集的影响。Java堆包括特定于每个workerJVM运转的使用程序的非共享类和一切实例化的对象。
.共享类分化堆

共享类装载器
每一个workerJVM都能够经由过程将类放到共享类装载器的classpath中而将它们装载到共享堆中。共享类与一般类的装载体例一样——利用parent-delegation形式。
条理布局中的每个类装载器反省其缓存,断定这个类是不是已装载。假如还没有装载,那末类装载器就向其父类装载器传送一个反省装载哀求,如许一向上溯到条理布局顶部的primordial大概bootstrap类装载器。假如没有在任何缓冲区中发明这个类,那末每个类装载器城市试图从本人的存储库中装载这个类,假如乐成,就前往这个类。不然,它将哀求传送给条理布局中上面的装载器。这类模子包管了起首反省最受信托的存储库,并避免信托水平低的代码经由过程接纳与中心API成员不异的名字取代受信托的中心API类。
假如类是primordial类大概界说的类装载器是共享类装载器,那末类对象将在共享堆中创立,而且类标志为共享类。显现了bootstrap类装载器位于类装载器条理布局的顶部,并卖力装载中心API中的类。这些类是信托水平最高的。扩大类装载器装载extensions目次中的尺度扩大JAR文件中的类。共享使用程序类装载器能够用于共享用户大概使用程序类。
.类装载器条理布局

<p>
再举这样一个例子:如果你想对一个数字取绝对值,你会怎么做呢?java的做法是intc=Math.abs(-166);而ruby的做法是:c=-166.abs。呵呵,这就看出了java与ruby的区别。
小妖女 该用户已被删除
沙发
发表于 2015-1-18 23:06:03 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
透明 该用户已被删除
板凳
发表于 2015-1-23 22:51:44 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
再现理想 该用户已被删除
地板
发表于 2015-1-31 20:36:53 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
愤怒的大鸟 该用户已被删除
5#
发表于 2015-2-6 22:26:48 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
乐观 该用户已被删除
6#
发表于 2015-2-16 09:17:36 | 只看该作者
是一种为 Internet发展的计算机语言
再见西城 该用户已被删除
7#
发表于 2015-3-5 03:22:35 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
莫相离 该用户已被删除
8#
发表于 2015-3-5 23:34:46 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
小女巫 该用户已被删除
9#
发表于 2015-3-9 21:07:41 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
变相怪杰 该用户已被删除
10#
发表于 2015-3-11 17:39:13 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
老尸 该用户已被删除
11#
发表于 2015-3-27 06:12:28 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 04:30

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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