了解下JAVA的从假造机视角谈Java使用功能优化
到时我们不用学struts,不用学spring,不用学Hibernate,只要能把jsf学会了,完全可以替代所有的框架,包括AJAX,都知道AJAX并不是新技术,虽说我没深入学习jsf但我认为jsf应该已经能通过其它技术替代AJAX,实现无缝刷新。Java的提高和普遍使用,和其基于假造机运转的机制,使得功能成绩愈来愈主要。本文从Java假造机的角度,出格是渣滓接纳机制来分析了Java使用程序计划必要注重的方面,并总结出了几条十分简单被无视的计划、编写代码的准绳和习气。最初经由过程实例来先容几种次要的JavaProfiler工具对我们举行开辟和剖析的匡助。本文请求读者具有必定的Java假造机的基本常识,必定的Java计划形式和开辟履历。经由过程浏览本文,读者能从Java运转的实质上对功能方面有一个很好的掌控,在计划和编码的过程当中,遵守文中总结的准绳和习气,关于进步功能、可保护性、可扩大性很有匡助。同时让读者懂得使用profiler工具来剖析Java程序的功能。
入手下手之前
Java平台已无处不在,JavaEE、JavaSE、JavaME和JavaCard,Java的开展为有数程序员供应了事情时机,都是“Java”,但是除基础的Java语法多数分歧外,程序员必需基于分歧的平台有分歧的思索,进修分歧平台的特性:
分歧平台的情况
JavaEE所运转的硬件服务器、操纵体系,JavaSE地点PC机的系统布局(X86/X64、MAC、SPARC等),JavaME所运转的手机或挪动设备,JavaCard地点的智能卡芯片范例等;
分歧平台假造机的特性
如是不是撑持多线程(这仿佛是无庸置疑,可是在JavaCard平台上,因为盘算资本相称无限,多线程今朝还不被撑持),JavaEE和JavaSE的假造机特征几近不异,而JavaME假造机(KVM)依据挪动设备的特性举行裁剪和优化,以顺应于无限的物理内存和存储空间,而依据设备处置才能的强弱还分为CDC(ConnectedDeviceConfiguration,联网设备设置)和CLDC(ConnectedLimitedDeviceConfiguration,联网受限设备设置),更小设备和智能卡的假造机JCVM(JavaCardVM)更是裁剪了很多特征,如多线程、很多庞大数据范例的撑持、自动的渣滓搜集机制等,这乃至招致了对Java语法集的裁剪;
分歧平台的API和可用的第三方库
JavaEE和JavaSE是超集与子集的干系,由于她们所处的盘算机平台和操纵体系今朝很好的兼容,而JavaME和JavaCard与EE和SE是Totallydifferent,除java.lang.*,部分java.io.*等中心类库保存外,其他的API和类库完整分歧。java.microedition.*和javax.microedition.*标明这是ME平台,javacard.*标明这是JavaCard平台。同时,因为EE和SE平台的提高水平和开辟者人数,使得之上的第三方库非常海量。深切懂得和把握平台的API和库是分歧平台程序员进阶的殊途同归。
从这个角度上说,Java在分歧的平台之间,并非“一次编写、到处运转”,思索使用程序的计划和优化的时分,起首要看是在甚么平台上,由于源于以上分歧的特性,编程模子、计划形式,乃至言语集都不尽不异。在这里我们侧重思索JavaEE和SE的视角,但有良多计划、编程准绳和习气关于一切平台的程序员来讲,都合用。
Java假造机
Java假造机是撑持Java言语运转的基本,避开过量的JVM和完成的手艺细节,我们对基本架构举行懂得,是举行使用程序优化必不成少的。以下图所示:
.Java假造机系统布局
<p>
Java到底会发战成什么样,让我们拭目以待吧,我始终坚信着java会更好。以上都是俺个人看法,欢迎大家一起交流. Java是一种计算机编程语言,拥有跨平台、面向对java 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 Java是一种计算机编程语言,拥有跨平台、面向对java 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
页:
[1]