分享
 
 
 

我的Java之路一

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

我的Java之路一

/******************************************************************

*本文首发于bbs.bluegem.org的Java区

*本人email:chenfei@sohu.com

*如转载本文,请保留首发地和本人联络方式,以方便交流,谢谢!

******************************************************************/

初接触java,被一大堆概念搞迷糊了。什么java、java2、j2se、j2ee、j2me、javabeans、EJB……呀,都是些什么呀?糊涂哟!

先澄清个事情,自从jdk 1.2推出以后,sun公司就将java重新命名为java2,现在所提的java一般就是指java2。

之所以java显得如此神秘,是因为,java既是一种变成语言,也是一个平台(platform),或者说是架构。如果不了解java平台,就无法理解java。遗憾的是很少有人能深入浅出的讲解java 平台。

如果撇开java平台,仅仅作为一种编程语言,java在语法以及编程思想(指coding方面)上与传统语言没有多大本质区别。java具有纯面向对象、优化的内存管理模型等等好处,具体细节查书吧,我写也是copy&paste,没意思哦。

下边我就按照我的理解说说java 平台。

首先说,编译后的java程序并不是直接可以在某个特定操作系统上运行的二进制代码,而是一种所谓的字节码。要把安装了java vm的计算机看成一个虚拟机,字节码只能在这个虚拟机上运行。至于真正的硬件和操作系统是什么并不重要。什么?您没听说过虚拟机?那赶紧把《计算机原理》翻出来看看,我可讲不了这么高深的东东。其实不明白也无妨,只要知道无论在win、*nix抑或mac OS上要运行java语言编的程序必须安个叫java虚拟机的玩意就够了。

说到这里,有心人已经可以想见,既然java写的程序是运行在java虚拟机上,那么同一个编译后的java就可以在任何java虚拟机上运行,而不必关心java虚拟机下到底是什么操作系统什么硬件了。这也就是SUN一直吹嘘的“一次编写,处处运行”特性。好像很自然就引出来了,看到大学里基础课程的重要性了吧,哈哈!

了解了这一点以后就可以继续了。

Java体系结构的基础是j2se(java 2 platform,standard editions),顾名思义,标准版。j2se最底层是JRE(java 运行环境),JRE提供包括java api、java虚拟机和其他支持applet以及java应用程序运行的组件等。也就是说安装了JRE,就可以运行由java编写的各种程序了。有了JRE还不能开发java程序,想开发java程序还需要jdk(java 开发包),对应win中的sdk。Jdk自然中包括compiler和debuger等等工具。具体内容参考http://java.sun.com/j2se/overview.html吧,人家官方网站讲得蛮清楚。

J2ee(Java 2 Platform, Enterprise Edition),相对j2se,很明显j2ee就是为企业服务的。j2ee是j2se的一个超集,为企业运算提供了一个平台。这个在这个平台上使用java技术开发具有很多优点:易于开发、跨平台性、兼容其它应用比如数据库、CORBA、轻松实现中间件。实现的技术手段有EJB(Enterprise JavaBeans), Java Servlets API,JSP( JavaServer Pages) 和xml。

下面做些名词解释。

Java应用程序(java application):像普通的windows应用程序或者linux下elf应用程序一样,用java语言编写的“可执行程序”。打引号的意思是说它只能在java虚拟机上运行,而不能在低一级的虚拟机上运行。

Applet:所谓的“java小程序”,迷糊了吧?其实我第一次看得时候不明白是什么。Applet是一种特殊的程序,只且只能在支持applet的浏览器中运行,如果浏览器不支持,那她就只能哀叹自古红颜多薄命了。好在现在大部分浏览器都支持applet。

Servlet和jsp:

在解释jsp和servlet之前先讲讲cgi和服务器端脚本的区别。Cgi和服务器端脚本都实现动态网页的技术,cgi是个运行在服务器端的特殊的可执行程序,用c就可以写个cgi;而服务器端脚本是一种解释执行的脚本语言,不是可执行程序。她的运行需要www服务器支持,比如iis支持的asp、asp.net,apatch支持php都是。

Servlet就是在java平台上运行的cgi,是编译好的用java写好的特殊程序。而jsp就是那个需要www服务器支持的脚本语言。

Jdbc:java平台上连接数据库的东东,作用类似于odbc。

Ejb(Enterprise JavaBeans):我现在也不太明白到底是个什么东东。只知道是个具有高可重用性程序。主要作用是隐藏异构系统得区别。给上层的jsp和servlet提供独立的编程接口,jsp和servlet程序员不必关心ejb后边到底是什么样的系统。

我对java平台的理解:

java的核心在于跨平台。把复杂的系统细分成多层,每层屏蔽掉底层的异构特性,为高层提供统一的访问接口。这种模型可以参考网络的七层协议模型。

就单机而言,比如pentium上跑windows2000的机器、pentium上跑Linux的机器、rs60000上跑aix的机器都是不同的平台。Sun公司针对不同的操作系统开发了相应版本的java虚拟机,这样,同一个java应用程序不必重新编译就可以在安装了java虚拟机的任何平台上运行了。

对网络环境来说稍微复杂些。传统的三层模型不讲了,不懂的自己查资料。Java平台的模型有点不同。请参考http://java.sun.com/j2ee/images/appmodel.jpg。由ejb为不同的数据库提供了相同的访问方法,屏蔽掉了数据库的异构性。这样jsp和servlet的程序员就可以不必关心访问不同数据库的细节问题,把精力集中于算法。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有