社区
非技术区
帖子详情
讨论一下:JAVA中的哪一块最有前途!
chgjszj
2003-09-14 10:24:53
JAVA中的哪一块最有前途!大家来讨论一下看看。
...全文
32
3
打赏
收藏
讨论一下:JAVA中的哪一块最有前途!
JAVA中的哪一块最有前途!大家来讨论一下看看。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mbl
2003-09-16
打赏
举报
回复
都性
aixy
2003-09-14
打赏
举报
回复
嘴上那一块/。
qzy80
2003-09-14
打赏
举报
回复
这个吗!J2ME 啦!还用问吗!
Java
经典入门教程pdf完整版
Java
经典入门教程pdf完整版
Java
私塾跟我学系列JAⅥ篇网址:htp:/www.lavass.Cn电话:010-86835215 3;
Java
是一种软件运行平台 3.1:什么是软件的运行平台 如同我们需要阳光、空气、水和食物才能正常存活一样,软件最终要能够运行,也需要 系列旳外部环境,来为软件的运行提供支持,而提供这些支持的就是运行平台。 3.2:
Java
是一种运行平台
Java
本身提供
Java
软件所需要的运行环境,
Java
应用可运行在安装了JRE(
Java
Runtime environment)的机器上,所以我们说
Java
是一个运行平台。 JRE:
Java
Runtime Environment,
Java
运行环境。 4:
Java
是一种软件部署环境 4.1:什么是软件的部署 简单地讲,部署就是安装,就是把软件放置到相应的地方,并且进行相应的配置(一般 称作部署描述),让软件能够正常运行起来。 4.2:
Java
是一种软件部署环境 ava本身是一个开发的平台,开发后的
Java
程序也是运行在
Java
平台上的。也就是说, 开发后的
Java
程序也是部署在
Java
平台上的,这个尤其在后面学习JEE(
Java
的企业版) 的时候,体现更为明显 :
Java
能干什么 JaⅦa能做的事情很多,涉及到编程领域的各个方面。 1:桌面级应用:尤其是需要跨平台的桌面级应用程序。 先解释一下桌面级应用:简单的说就是主要功能都在我们本机上运行的程序,比如 word、 excel等运行在木机上的应用就属」桌面应用。 2:企业级应用 先解释一下企业级应用:简单的说是大规模的应用,一般使用人数较多,数据量较大, 对系统的稳定性、安全性、可扩展性和可装配性等都有比较高的要求 这是目前
Java
应用最广泛的一个领域,几乎一枝独秀。包括各种行业应用,企业信息、 化,也包括电子政务等,领域涉及:办公自动化OA,客户关系管理CRM,人力资源HR, 企业资源计划ERP、知识管理KM、供应链管理SCM、企业设备管理系统EAM、产品生命 周期管理PLM、面向服务体系架构SOA、商业智能BⅠ、项日管理PM、营销管理、流程管 理 Work Flow、财务管理…..等几乎所有你能想到的应用 3:嵌入式设备及消费类电子产品 包括无线手持设备、智能卡、通信终端、医疗设备、信息家电(如数字电视、机顶盒 电冰箱)、汽车电子没备等都是近年以来热门的
Java
应用领域,尤其是手机上的
Java
应用 程序和
Java
游戏,更是普及。 4:除了上面提到的,
Java
还有很多功能:如进行数学运算、显示图形界面、进行网络操作、 进行数据库操作、进行文件的操作等等。 PDF文件使用" pdfFactory Pro"试用版本创建ww, fineprint,cn
Java
私塾跟我学系列JAⅥ篇网址:htp:/www.lavass.Cn电话:010-86835215 三:
Java
有什么
Java
体系比较庞杂,功能繁多,这也导致很多人在自学
Java
的时候总是感觉无法建立 全面的知识体系,无法从整体上把握
Java
的原因。在这里我们先简单了解一下
Java
的版本 具体的
Java
体系知识结构,将在后面详细讲述。
Java
分成三种版本,分别是
Java
标准版(JSE)、
Java
微缩版JME)和
Java
企业版(JE), 每一和版本都有自己的功能和应用方向。 1:
Java
标准版:JSE(
Java
standard Edition) JSE(
Java
Standard edition)是sun公司针对桌面开发以及低端商务计算解决方案而开 发的版本,例如:我们平常熟悉的 Application桌面应用程序。这个版本是个基础,它也是 我们半常开发和使用最多的技术,
Java
的主要的技术将在这个版本
中
体现。本书主要讲的 就是JSF。 2:
Java
微缩版:JME(
Java
Micro edition) JE(
Java
, Micro edition)是对标准版JSE进行功能缩减后的版本,于199年6月 由 Sun Microsystems第一次推向
Java
团体。它是一项能更好满足
Java
开发人员不同需求 的广泛倡议的一部分。 Sun Microsystems将JM定义为“一种以广泛的消费性产品为目标 的高度优化的
Java
运行时环境,包括寻呼机、移动电话、可视电话、数字机顶盒和汽车导 航系统。” JE是致丿于消费产品和嵌入式设备的开发人员的最佳选择。尽管早期人们对它看好而 且
Java
开发人员团体
中
的热衷人土也不少,然而,J最近才开始从其影响更大的同属 品JEE和JSE的阴影
中
走出其不成熟期。 JME在开发面向內存有限的移动终端(例如寻呼机、移动电话)的应用时,显得尤其实用。 因为它是建立在操作系统之上的,使得应用的丌发无须考虑太多特殊的硬件配置类型或操作 系统。因此,开发商也无须为不同的终端建立特殊的应用,制造商也只需要简单地使它们的 操作平台可以攴持JM便可, 3:
Java
企业版:JEE(
Java
enterprise edition) JE( ava Enterprise edition)是·种利用
Java
平台来简化企业解决方案的开发、部 著和管理相关的复杂问题的体系结构。JE技术的基础就是核心
Java
平台或
Java
平台的标 准版,JEE不仅巩固了标淮版屮的诈多优点,例如“编写一次、随处运行”的特性、方便存 取数据库的 JDBC API、 CORBA技术以及能够在 Internet应用
中
保护数据的安全模式等等, 同时还提供了对BJB( Enterprise
java
beans)、
Java
Servlets aPi、JSP(
Java
Server pages) 以及ⅫML技术的全面攴持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时 间的体系结构。 JEE体系结构提供屮间层集成框架来满足无需太多费用而又需要高可用性、高可靠性以 及可扩展性的应用的需求。通过提供统的开发平台,J降低了开发多层应用的费用和复 杂性,同时提供对现有应用稈序集成强有力支持,完全支持 Entcrprise
java
beans,有良 好的向导攴持打包和部署应用,添加了目录攴持,增强了安全机制,提高了性能 JE是对标准版进行功能扩展,提供一系列功能,用来解决进行企业应用开发
中
所面临 的复杂的问题。具体的我们会放到后面JFE的课程去讲。 4:三个版本之间的关系 JE几乎完全包含JSE的功能,然后在JSE的基础上添加了很多新的功能。 JME主要是JSE的功能子集,然后冉加上一部分额外添加的功能 PDF文件使用" pdfFactory Pro"试用版本创建ww, fineprint,cn
Java
私塾跟我学系列JAⅥ篇网址:htp:/www.lavass.Cn电话:010-86835215 如下图所示 JEE JSC JME
Java
的API类库之
中
有一组所谓的核心类( Corellas,即
java
.*),在核心类之外还有 所谓的扩允类( xtended Class,即
Java
x.*)。根据对这两种类的支持程度,进而区分出几 种不同的
Java
版本。 我们必须以
Java
Standard Edition(JSE)作为基准,这个版本做了所有
Java
标准规格 之
中
所定义的核心类,也文持所有的
Java
基木类。JSE定位在客户端程序的应用上 从JSE往外延伸,其外面为
Java
Entcrprise edition(JEE),此版本除了支持所有的 标准核心类外,而且还增加了许多文持全业内部使用的扩充类,攴持 Servlet/JSP的
Java
x. servlet.*类、支持 Enterprise
Java
Bean的
java
x.ejb.*类。当然,JE必定支 持所有的
Java
基本类。JE定位在服务器端( server-side)程序的应用上。 从J5E向内看,是
Java
micro edition(JME),它所支持的只有核心类的了集合,在JME CLDC的规格之
中
,只支持
java
.lang.*、
java
.io.*、以及
java
.uti1.*这些类。此版本 也增加了一些攴持“微小装置”的扩充类,如
Java
x. microedition.io.*类。然而,此版 木并不支持所有的
Java
基木类,就标准的 JMECLDO,也就是能在 Palmos上执行的 KwM( KVirtualmachine)来说,它就不支持属于浮点数( float、 double)的
Java
基本类。JME 定位在嵌入式系统的应用上 最里层,还有一个
Java
的 Smart card版本,原本在
Java
的文件之
中
并没有这样定义 但是将亡画在JⅦ内部是很合理的。因为 SmartCard版本具攴持
java
.lang*这个核心类, 比起JM所支持的核心类更少,但它也有属」自凵的扩充类,如
Java
card.*、
java
card. 这些类 Smartcard版本只支持 Boolean与Bytc这两种
Java
基本类,此版本定位在 SmartCard 的应用上 四:闲话 ava 1:
Java
历史 在上世纪90年代初,sun公司有一个叫做 Green的项目,目的是为家用消费电子广品 开发一个分布式代码系统,这样就可以对家用电器进行控制,和它们进行信息交流。詹姆 斯·高斯林( James Gosling)等人基于C+开发一种新的语言0 ak (
java
的前身)。0ak是 种用于网络的精巧而安全的语言。Sun公司曾依此投标个交互式电视项目,但结果是被SGl 打败,Sun打算抛弃0ak。随着可联网的发展,Sun看到了0ak在计算机网络上的广阔应用 前景,于是改造0ak,在1995年5月以“
Java
”的名称正式发布,从此
Java
走上繁荣之路 当然提到Jaa历史,不得不提的一个故事就是
Java
的命名。开始“Oak”的命名是以 项目小组办公室外的树而得名,但是Oak商标被其他公司注册了,必须另外取一个名字 传说有天,几位
Java
成员组的会员正在讨论给这个新的语言取什么名字,当时他们止在 咖啡馆喝着
Java
(爪哇)咖啡,有一个人灵机一动说就叫
Java
怎杵,得到了其他人的赞同, 于是,
Java
这个名字就这样传开了。当然对于传说,了解一下就好了,不必过于认真 2:
Java
大事记 PDF文件使用" pdfFactory Pro"试用版本创建ww, fineprint,cn
Java
私塾跟我学系列JAⅥ篇网址:htp:/www.lavass.Cn电话:010-86835215 作为学习
Java
的人士,对
Java
历史上发生的大事件有一个了解是应该的。 JDK〔
Java
Software Develop kit):
Java
软件开发工具包。JIK是
Java
的核心,包 括了
Java
运行坏境,一系刎
Java
开发工具和
Java
基础的类库。目前主流的JDK是Sun公 同发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JD,例如IBM公司开 发的JD,BA公司的 Jrocket,还有GN组织丌发的JDK等等。 时间 事件 1995年5月23日
Java
语言诞生 1996年1月 第个 JDK-JDK1.0诞生 1997年2月18日 JDK1.1发布 1998年12月8日
Java
2企业平台J2EE发布 1999年6月 Sun发布JaⅤa三个版本:标准版J2SF,企业 版J2EE,微型版JME 2004年9月30日
Java
se50发布 2006年12月
Java
se60发布 3:
Java
特点 简单地说,
Java
具有如下特点:简单的、面向对象、平台无关、多线程、分布式、安全、 晑性能、可靠的、解释型、自动垃圾回收等特点。 这里只解释一下平台无关和分布式,其余的在后面会逐步接触到 3:平台无关 所谓平台无关指的是:用
Java
写的程序不用修改就可在不同的软硬件平台上运行。这 烊就能实现同样的程序既可以在 Windows下运行,到了Unix或者 Linux环境不用修改就直 接可以运行了。
Java
主要靠
Java
虚拟机(JⅧM)实现平台无关性 平台无关性就是一次编写,到处运行: Write Once, Run Anywhere 32:分布式 分布式指的是:软件由很多个可以独立执行的模块组成,这些模块被分布在多台计算机 上,可以同时运行,对外看起来还是个整体。也就是说,分布式能够把多台计算机集合起 来就像一台计算机一样,从而提供更好的性能 4:
Java
标准组织—Cp JCP(
Java
Community process)是一个开放的国际组织,成立于1995年,主要职能 是发展和更新
Java
技术规范、参考实现(RⅠ)、技术兼容包(TCK)。
Java
技术和JCP两者 的原创者都是SN计算机公司。组织成员可以提交JSR(
Java
Specification Requests), 通过讨论、认可、审核以后,将进入到下一版本的规范里面。 也就是说JCP是目前
Java
技术发展事实上的控制者和领导者。 五:
Java
如何做到让机器理解我们想要做的东西 用·个图来描述这个过程会比较谷易理解: PDF文件使用" pdfFactory Pro"试用版本创建ww, fineprint,cn
Java
私塾跟我学系列JAⅥ篇网址:htp:/www.lavass.Cn电话:010-86835215 Runtime Compile Class loader Byte code Verifier
Java
c Hello.
java
Netwo Hello class Interpreter code Runtime generator/ Hardware 1:编写代码 首先把我们想要计算机做的事情,通过
Java
表达出来,写成
Java
文件,这个过程就是 编写代码的过程。如上图所示的 Hello
java
文件。 2:编译 写完Jaa代码后,机器并不认识我们写的
Java
代码,需要进行编译成为字节码,编译 后的文件叫做clas文件。如上图所示的 Hello, class文件。 3:类装载 Classloader 类裝载的功能是为执行程序寻找和装载所需要的类 Classloader能够加强代似的安全性,主要方式是:把本机上的类和內络资源类相分离, 在调入类的时候进行检查,因而可以限制任何“特洛伊木马”的应用。 4:字节码(byte-code)校验 功能是对 class文件的代码进行校验,保证代码的安全。
Java
软件代码在实际运行之前要经过几次测试。JWM将代码输入一个字节码校验器以 测试代码段格式并进行规则检査一一检査伪造指针、违反对象访问权限或试图改变对象类型 的非法代码。 注意-—所有源于网络的类文件都要经过字节码校验器 字节码校验器对程序代码进冇四遍校验,这可以保证代码符合JⅧM规范并∏不破坏系统 的完整性。如果校验器在完成四遍校验后未返回出错信息,则下列各点可被保证 类符合JWⅦM规范的类文件格式 无访问限制异常 代码木引起操作数栈上溢或下溢 所有操作代码的参数类型将总是正确的 无非法数据转换发生,如将整数转换为对象引用 对象域访问是合法的 5:解释( Interpreter) 可是机器也不能认识clas文件,还需要被解释器进行解释,机器才能最终理解我们所 要表达的东西 PDF文件使用" pdfFactory Pro"试用版本创建ww, fineprint,cn
Java
私塾跟我学系列JAⅥ篇网址:htp:/www.lavass.Cn电话:010-86835215 6:运行 最后由运行环境屮的 Runtime对代码进行运行,真正实现我们想要机器完成的工作 7:说明 由上面的讲述,大家看到,
Java
通过个编译阶段和个运行阶段,来让机器最终坦解 我们想要它完成的工作,并按照我们的要求进行运行 在这两个阶段屮,需要我们去完成的就是编译阶段的工作,也就是说:我们需要把我们 想要札器完成的工作用Jaa语言表达出来,写成
Java
源文件,然后把源文件进行编译,形 成 class文件,最后就可以在JaⅦa运行环境
中
运行了。运行阶段的工作由
Java
平台自身提供 我们不需要做什么上作。 六:
Java
技术三大特性 1:虚拟机
Java
虚拟机JM(
Java
Virtual Machine)在
Java
编程里面具有非常重要的地位,约 相当于前面学到的
Java
运行环境,虚拟机的基本功能如下: (1):通过 Classloader寻找和装载 class文件 (2):解释字节码成为指令并执行,提供 class文件的运行环境 (3):进行运行期间垃圾回收 4):提供与硬件交互的平台
Java
虚拟杋是在真实札器
中
用软件模拟实现的—种想象机器。Jaa虚拟札代码被存储 在.clas文件
中
;每个文件都包含最多一个 public类。
Java
虚拟机规范为不同的硬件平台 提供了·种编译
Java
技术代码的规氾,该规范使
Java
软件独立于平台,因为编译是针对作 为虚拟机的“一般机器”而做。这个“一般机器”可用软件模拟并运行于各种现存的计算机 系统,也可用硬件米实现ε编译器在获取
Java
应用程序的源代码后,将其生成字节码,它是 为J硎M生成的一种机器码指令。每个
Java
解释器,不管它是
Java
技术廾发工具,还是可运行 applets的Wcb浏览器,都可执行JVM。 JWM为下列各项做出了定义 指令集(相当于
中
央处理器[CP]) 寄存器 类文件格式 栈 垃圾收集堆 存储区 JⅧM的代码格式由紧缩冇效的字节码构成。由J硎M字节码编写的程序必须保持适当的类 型约東。大部分类型检査是在编译时完成。任何从属的
Java
技术解释器必须能够运行仼何 含有类文件的程序,这些类文件应符合
Java
虚拟机规范
中
所指定的类文件格式 1.1:虚拟机是
Java
平合无关的保障 正是因为有虚拟机这个
中
间层,
Java
才能够实现与平台无关。虚拟机就好比是一个
Java
运行的基本平台,所有的
Java
程序都运行在虚拟机上,如下图所示: PDF文件使用" pdfFactory Pro"试用版本创建ww, fineprint,cn
Java
私塾跟我学系列JAⅥ篇网址:htp:/www.lavass.Cn电话:010-86835215
Java
源程序(*
java
文件)
Java
c编译 ava类文件(*cass文什) 平台无 被装载进入虚拟机
Java
虚拟机 平台相关 解释执行字节码文件 Linux Windows 2:垃圾回收 2.1:什么是垃圾 在程序运行的过程
中
,存在被分配了的内存块不再被需要的情况,那么这些内存块对程 序来讲就是垃圾。 产生了垃圾,自然就需要清理这些垃圾,更为重要的是需要把这些垃圾所占用的内存资 源,回收回来,加以再利用,从而节省资源,提高系统性能。 2.2:垃圾回收 不再需要的凵分配内存应取消分配(释放内存) 在其它语言
中
,取消分配是程序员的责仟
Java
编程语言提供了种系统级线程以跟踪内存分配 垃圾攻集 可检查和释放不再需要的内存 可自动完成上述工作 可在JM实现周期
中
,产生意想不到的变化 许多编程语言都允许在程序运行时动态分配内存,分配内存的过程由于语言句法不同而 有所变化,但总是要将指针返回到内存的起始位置,当分配内存不再需要时(內存指针已溢 出范围),程序或运行环境应释放内存 在C,C艹+或其它语言
中
,程序员负责释放内存。有吋,这是件很困难的事情。因为 你并不总是事先知道内存应在何时被释放。当在系统
中
没有能够被分配的内有时,可导致程 序瘫痪,这种程序被称作具有内存漏洞
java
编程语言解除∫程序员释放内存的贲仼。它可提供一种系统级线程以跟踪每一次 内存的分配情況。在
Java
虚拟机的空闲周期,垃圾收集线程检查并释敚那些可被释放的内 存。垃圾收集在
Java
技术程序的生命周期
中
自动进行,它解除了释放内存的要求,这样能 够有效避免内存漏洞和内存泄露(内冇泄露就是程序运行期间,所占用的内存一直往上涨, 很容易造成系统资源耗尽而降低性能或崩溃) PDF文件使用" pdfFactory Pro"试用版本创建ww, fineprint,cn
Java
私塾跟我学系列JAⅥ篇网址:htp:/www.lavass.Cn电话:010-86835215 2.3:提示 (1):在
Java
里面,垃圾回收是一个自动的系统行为,程序员不能控制垃圾回收的功 能和行为。比如垃圾回收什么时候开始,什么时侯结束,还有到底哪些资源需要回收等,都 是程序员不能控制的 (2):有些跟垃圾回收相关的方法,比如: System. gc(,记住“点,调用这些方法, 仅仅是在通知垃圾回收程序,全于垃圾回收程序运个运行,仆么时候运行,都是尢法控制的。 (3):程序员可以通过设置对象为nul(后面会讲到)来标示某个对象不再被需要了, 这只是表示这个对象可以被回收了,并不是马上被回收 3:代码安全
Java
如何保证编写的代仍是安全可靠的呢? (1):第一关:编写的代码首先要被编译成为 class文件,如果代码写得有问题,编译期间 就会发现,然后提示有编译错误,无法编译通过。 (2):第二关:通过编译关后,在类装载的时候,还会进行类装载检查,把本机上的类和网 络资源类相分离,在调入类的时候进行检査,因而可以限制仁何“特洛伊木马”的应用 (3):第三关:类装载后,在运行前,还会进行字节校验,以判断你的程序是安全的。 (4):第四关:如果你的程序在网终上运行,还有沙箱( Sand box)的保护,什么是沙箱呢? 就是如果你的程序没有汏得授权,只能在沙箱限定的范围内运行,是不能够访问本地資源的, 从而保证安全性。 如下图所示: Runtime Compile
Java
class Loader匿载检查 Hello world.
java
Network Byte code verifier 节码校验
Java
c 编译检耷 Hello World class Interpreter Runtime Hardware 学习到这甲,大家应该对
Java
有了一定的了解了。现在是否想要看看
Java
程序究竟什 么样子呢?是不是想要体会一下如何开发
Java
程序呢?下面我们先米看看如何构建JSE的 环境,这是进行
Java
程序开发的第一步, PDF文件使用" pdfFactory Pro"试用版本创建ww, fineprint,cn
一个牛人给
JAVA
初学者的建议
目录 给初学者之一:浅谈
java
及应用 给初学者之二:从JDK说起 给初学者之三:
java
企业级应用之硬件篇 给初学者之四:
java
企业级应用之软件篇 给初学者之五:企业级应用之
中
间件 给初学者之六:
java
企业级应用之综合篇 给初学者之七:
java
企业级应用之术语篇 给初学者之八:
java
高级应用之框架篇 给初学者之九:收尾 给初学者之一:浅谈
java
及应用 学jav...
java
开发 jvm_适用于
Java
开发人员的微服务:
Java
/ JVM格局
java
开发 jvm1.简介 在本教程的前一部分
中
,我们介绍了在构建微服务时广泛使用的多种通信方式。 现在该是通过讨论最流行且经过实践检验的
Java
库和框架来将这些知识付诸实践的时候了,这些库和框架可以用作您的微服务体系结构实现的基础。 尽管有许多足够古老的东西可以记住SOAP时代,但是我们不久将要讨论的许多框架都还很年轻,并且常常是自以为是。 选择哪一个最适合您可能是您将要尽早做出的...
【编程语言】
Java
夯实基础(一):
Java
的起源与发展
1990年代初,任职于Sun微系统的詹姆斯·高斯林等人开发了
Java
语言的雏形Oak,当时的目标是开发一款应用在家用电器等小型系统上的编程语言。由于这些智能化家电的市场需求没有预期的高,Sun公司便放弃了这项计划。随着1990年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是决定改造Oak,之后在1995年5月以
Java
为名称正式发布这款编程语言。
Java
伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
Java
值传递与引用传递的区别
Java
值传递与引用传递 文章目录
Java
值传递与引用传递前景实参与形参值传递与引用传递
Java
中
的值传递总结 前景 关于这个问题,引发过很多广泛的讨论,看来很多程序员对于这个问题的理解都不尽相同,甚至很多人理解的是错误的。还有的人可能知道
Java
中
的参数传递是值传递,但是说不出来为什么。 在开始深入讲解之前,有必要纠正一下大家以前的那些错误看法了。如果你有以下想法,那么你有必要好好阅读本文。 错误理解一:值传递和引用传递,区分的条件是传递的内容,如果是个值,就是值传递。如果是个引用,就是引用传递。 错误
非技术区
23,404
社区成员
70,596
社区内容
发帖
与我相关
我的任务
非技术区
Java 非技术区
复制链接
扫一扫
分享
社区描述
Java 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章