再现理想 发表于 2015-1-18 11:32:56

JAVA教程之复杂、全体化的JDK应当模块化仓酷云

恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架?Sun公司的首席工程师——MarkReinhold一向主意将SunJDK模块化。他举例申明了庞大性怎样伤害这个平台,和JDK6update10版的JavaKernel和Quickstarter的功效只是办理了JDK临时联系关系发展招致的外表诟病。
Mark起首注释了JDK为什么会成为如今如许复杂的形态:
JDK十分年夜,但还没有像宇宙这么年夜。
JDK很年夜是由于在已往13年里,JavaSE平台已从一个最后盘算用于嵌进式设备的小体系开展成为高出宽广范畴、服务于宽大需求的一套丰厚的库汇合。具有如许一个复杂且功效壮大的瑞士军刀真是难以相信的便利,不外尺寸却分歧适。
他接着注释了由此招致的弱点:
JDK很年夜——同时也是严密联系关系的。它作为一个全体的软件体系构建。在这类开辟形式下,当编写新代码大概改善老代码的时分,很天然地会使用平台的其他部分,依托Java假造机的天真链接机制包管运转时统统都一般事情。
可是多年来,这类开辟情势招致了API之间的意想不到的联系关系——和API的完成之间——这又增添了启动工夫和内存占用。比方,一个复杂的命令行“Hello,world!”程序,如今加载和初始化凌驾300个独自的类,只管做出了更优异的工程优化(好比类共享),可是在最新的桌面体系上仍旧必要100毫秒。固然,关于更年夜的使用来讲,情形会更糟。Mark仿佛以为JDK6update10版中的JavaKernel和Quickstarter功效是不敷的:
JDK6update10版的JavaKernel和Quickstarter功效切实其实改良了下载工夫和(冷)启动工夫,最少对Windows用户来讲是如许。这些手艺也的确办理了临时联系关系发展的外表诟病,可是,没有办理基本成绩。
模块化JDK——最有但愿改善下载工夫、启动工夫和内存占用这些关头值的办法是正面办理基本成绩:把JDK分别为一系列界说优秀的、独自的、可是相互依附的模块。
他又议论了模块化对平台的优点:
把JDK分化为模块的历程会强制一切意想不到的联系关系公然化,然后经由剖析,多半会被埋没大概打消。这反过去,会削减加载类的总数,从而改良启动工夫和内存占用。假如我们有一个模块化的JDK,鄙人载时,我们就会供应启动特定使用所需的那些模块,而不是全部JRE。JavaKernel是这类办理计划的第一步,利用界说优秀的模块的进一步优点是下载流能够依据以后使用的特定必要提早定制。Weijun对最后的帖子宣布了定见,以为JDK的全体特征是因为Java没有办理依附的符合体例招致的:
JDK很年夜是由于Java历来没有指定任何办理软件依附的产业级办法。因而,独一牢靠部署java栈的举措就是把它打包成一个伟大的怪物。
特地说一句,只要SUN和其JDK是如许的。这类短少依附性办理的最坏了局不是招致JDK痴肥,而是一切带有硬编码类路径和大批分支的没法办理的使用(由于假如你没法自力的办理和更新依附,你大概会分付出一个自愿绑定到使用的公有拷贝)。
你应当很简单了解为何Java只存在于J2EE服务器中(服务器供应了基本java平台所短少的办理功效)
GeekyCoder以为模块化的JDK对年夜多半开辟职员来讲大概不是最急需的:
固然这很“酷”,但我嫌疑这对年夜多半开辟职员来讲是不是是最急需的。
我有一种欠好的感到,就是你大概会被多数对你博客的主动回应所影响,而不管他们是不是代表了全部Java开辟社区。
即便只是修复一个票数最多的bug也比仅仅弄“酷”要好很多。我以为“聆听你的客户”只是一个过期的、关闭的、已被完全丢弃的设法,可是,看一看好的方面...你如今具有两名宣称乐于助人的开辟职员。祝你好远。SimilarlyMichaelB仿佛以为企业用户不体贴模块化JDK:
模块化的JDK(或更切实地说JRE)对企业用户完整有关。我以为,企业用户喜好JDK它如今的模样,由于模块意味着依附,这听起来像“DLL天堂”。如今JDK很简单分发和打补钉,这很主要。别的,Java具有优秀的向上兼容性:不但“编写一次,各处运转”,并且还“编写一次,永久运转”,这意味着伟大的投资报答率(ROI)。这是人们更喜好Java而不是.NET的缘故原由之一。MS的计谋一向是:“这是增加了最新功效的新版本,请修正和兼容你的一切使用。”MS手艺太夭折了。Java平台今朝已模块化:模块是我的使用所必要的第三方库。我喜好SUN的形式——只要这些库充足成熟了才会酿成平台的一部分。强健性和牢靠性是Java乐成的关头。以是,请归去持续办理那些残剩的bug吧。我真的很喜好JDK6update10版的这方面功效。
检察英文原文:TheMassive,MonolithicJDKshouldbecomeModular
本文出自:http://www.infoq.com/cn/news/2008/12/modular_jdk

学习JAVA的目的更多的是培养自身的工作能力,我觉得工作能力的一个核心就是:独立思考能力,因为只有独立思考后,才会有自己的见解

因胸联盟 发表于 2015-1-21 10:00:44

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

爱飞 发表于 2015-1-25 14:40:48

Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。

简单生活 发表于 2015-2-2 22:29:51

吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧

小女巫 发表于 2015-2-6 13:59:26

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

admin 发表于 2015-2-6 20:03:12

Java 编程语言的风格十分接近C、C++语言。

第二个灵魂 发表于 2015-2-12 13:28:14

是一种突破用户端机器环境和CPU

老尸 发表于 2015-3-3 03:09:28

是一种将安全性(Security)列为第一优先考虑的语言

飘飘悠悠 发表于 2015-3-9 10:24:26

是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言

小妖女 发表于 2015-3-10 07:43:58

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。

分手快乐 发表于 2015-3-11 17:30:58

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

谁可相欹 发表于 2015-3-16 03:20:57

是一种将安全性(Security)列为第一优先考虑的语言

莫相离 发表于 2015-3-17 23:51:08

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

透明 发表于 2015-3-25 07:49:31

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

飘灵儿 发表于 2015-3-30 11:05:18

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

再见西城 发表于 2015-4-1 18:10:12

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台

再现理想 发表于 2015-4-7 11:45:57

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

海妖 发表于 2015-4-11 06:11:50

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!

若相依 发表于 2015-4-16 22:10:48

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言

冷月葬花魂 发表于 2015-5-2 13:56:03

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
页: [1]
查看完整版本: JAVA教程之复杂、全体化的JDK应当模块化仓酷云