我的Java之路一

原创 2004年03月02日 10:26:00

我的Java之路一

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

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

*本人emailchenfei@sohu.com

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

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

初接触java,被一大堆概念搞迷糊了。什么javajava2j2sej2eej2mejavabeansEJB……呀,都是些什么呀?糊涂哟!

先澄清个事情,自从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体系结构的基础是j2sejava 2 platform,standard editions),顾名思义,标准版。j2se最底层是JREjava 运行环境),JRE提供包括java apijava虚拟机和其他支持applet以及java应用程序运行的组件等。也就是说安装了JRE,就可以运行由java编写的各种程序了。有了JRE还不能开发java程序,想开发java程序还需要jdkjava 开发包),对应win中的sdkJdk自然中包括compilerdebuger等等工具。具体内容参考http://java.sun.com/j2se/overview.html吧,人家官方网站讲得蛮清楚。

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

下面做些名词解释。

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

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

Servletjsp

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

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

Jdbcjava平台上连接数据库的东东,作用类似于odbc

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

我对java平台的理解:

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

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

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

我的Java学习之路

  将近两个月的时间没有更新过博客了,这个东西还是不能断,以后要坚持按时更新。这段时间主要在学习Java编程方面的知识,之前自己主要是通过C++来做图像,技多不压身,学习了一个月,再次写一篇博客来...
  • u013088062
  • u013088062
  • 2016年06月15日 23:19
  • 3328

我的Java成长之路

Java我最热爱的一门编程语言--分享我的Java学习之路       从2011年上大学开始我接触的第一门计算语言就是Java,它所带给我的感觉是很好的!从一开始接触它,我就已经喜欢上了这门编程语言...
  • JavaChenZhenlin
  • JavaChenZhenlin
  • 2013年06月15日 00:36
  • 1181

Java程序员谈一谈-----java程序员成长之路

转载:http://www.banzg.com/archives/679.html?ref=myread 阿里面试回来,想和Java程序员谈一谈 引言 其实本来真的没打算写这...
  • wickedvalley
  • wickedvalley
  • 2017年02月10日 22:07
  • 5642

java工程师进阶之路

java工程师进阶之路,努力学习20周,奠定CTO 下面是需要掌握的知识点:...
  • u011159417
  • u011159417
  • 2017年03月03日 17:18
  • 870

Java进阶之路——从初级程序员到架构师

怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老程序员经常会问到的问题。希...
  • lovebosom
  • lovebosom
  • 2016年07月22日 17:29
  • 4049

Java进阶之路——从初级程序员到架构师,从小工到专家

怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,希望这篇文章会是你看到过的最全面最权威的回答。...
  • anmiaochu
  • anmiaochu
  • 2016年07月20日 16:57
  • 28677

java程序员成长之路——转

第二部分:对于参加工作一年以内的同学。   恭喜你,这个时候,你已经拥有了一份Java的工作。这个阶段是你成长极快的阶段,而且你可能会经常加班。   但是加班不代表你就可以松懈了,永远记得...
  • zxh_2581285470
  • zxh_2581285470
  • 2016年09月21日 17:06
  • 1088

一个JAVA程序员成长之路分享

我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的还算滋润, 起码顶得住一月近万元的吃喝拉...
  • u013659231
  • u013659231
  • 2017年05月26日 16:18
  • 3908

Java工程师成神之路~

一、基础篇1.1 JVM1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收http://www.jcp.org/en/jsr/detail?id=133 http://ife...
  • chengfangang
  • chengfangang
  • 2015年12月11日 12:50
  • 2966

java晋级之路--如何成为高级工程师

首先,先给大家讲述一下我个人的经历吧。 我虽然是软件工程专业,但是大学没学到啥东西,算是零基础了。找工作那会,就找了个培训班,简单学了下,极度勉强的情况下算是入门了。于是在北京开始寻找生涯中的第一份...
  • u011550710
  • u011550710
  • 2017年07月25日 20:42
  • 590
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:我的Java之路一
举报原因:
原因补充:

(最多只允许输入30个字)