想学java,从什么书入手好,目前java可以从事什么职业电脑硬件方面的工作。

卓越分享丨学完Java,可以从事什么工作?
卓越分享丨学完Java,可以从事什么工作?
来源: &责任编辑:小易 &
卓越分享:转行学IT的话,可以考虑培训么答:当然啦,培训的话更加系统并且解决了学习过程中的大多数疑问和难题,可以过滤掉了无用的技术信息,而且啊有专业的团队规划学习,学习这种情况还是选择一个有学习氛围的环境,这样学习的效率会更高,好一点的培训机构会有就业保障的,学完之后即...灵魂摆渡1直接分享到百度云(卓越超绝)答:注意查收kindle用户购买到的电子书籍只能在自己的kindle上...问:在网上购买的电子书籍是不是只适用于一台kindle?如果不是,网上有没有...答:1.其实kindle在网上也只能在美国亚马逊买,但实际上你可以去淘宝请人代购,一本大约RMB6-8元。而且已经破解了,也就是说你可以分享给你朋友看。2.买之...
卓越分享丨学完Java,可以从事什么工作?
卓越分享丨学完Java,可以从事什么工作?
卓越分享丨学完Java,可以从事什么工作?
卓越分享丨学完Java,可以从事什么工作?
卓越分享丨学完Java,可以从事什么工作?
卓越分享丨学完Java,可以从事什么工作?
结合自己的经历,谈谈你对分享、创新、高效、卓越作...问:当简答题对待即可,在200字左右为善。答:鼓励分享,持续创新,务实高效,追求卓越挺不错的,几个点选择的都挺好,即时髦也比较符合中国现代企业管理防抓取,学路网提供内容。
“听说程序员工资很高,想学Java语言,但不知道它到底能做什么?”
在亚马逊买了本kindle电子书,如何共享到另一个kin...问:在亚马逊上用礼品卡买的电子书,想共享给朋友看,能发送的他的kindle设...答:亚马逊购买的书是跟账号绑定的,你如果想让他看的话得用防抓取,学路网提供内容。
如果你是一个Java初学者,你可能对Java应用在什么地方感到困惑。除了“马里奥”“贪吃蛇”等经典游戏,其他领域好像也找不到Java的踪迹,那么Java究竟能做什么?学完Java可以从事什么工作呢?
卓越人生保险是不是骗局问:卓越人生保险是不是骗局答:首先,卓越人生这个名字一看就知道是某保险公司的产品名称。关键1,你要搞清楚,此险种是否出自正规保险公司。关键2,为你讲解险种的保险营销人员是不是该公防抓取,学路网提供内容。
一个令你吃惊的数据可以证明Java无处不在:超过30亿的设备正在运行Java!
深深爱的小说资源有吗。男主名字叫卓越。谢谢各位...问:深深爱的小说资源有吗。男主名字叫卓越。谢谢各位大哥合美女分享!!!答:《深深爱\那些年,我爱过的女人\爱与痛的边缘\我的美女总裁》作者:马小虎在防抓取,学路网提供内容。
一、Java22年的发展
亚马逊的kindle电子书我买了几本能分享给别人吗?答:不能,有版权加密保护,分享给别人的话需要破解。防抓取,学路网提供内容。从Java在1995年的正式发布至今已经22年了。22年来,Java语言正在不断进化,而其技术应用也在不断扩大进步。
如何将亚马逊的产品分享到twitter答:前提是你得保证在能上,去海外游官网找详细的教程防抓取,学路网提供内容。1995年,从诞生第一年,便有8.3万网页使用Java技术制作。1998年始,Java的第二代J2EE、J2ME、J2SE、陆续诞生。J2EE即企业版Java,应用于服务器,J2ME应用于移动环境,J2SE应用于桌面环境。2007年,Google和84家硬件制造商、软件开发商等组件Android系统。而Android程序是用Java编写的。2017年,而最近渐渐发展起来的AI、大数据、云计算、物联网等无不是用Java作为基础。
防抓取,学路网提供内容。二、作为Java工程师需掌握的技能
就目前电影市场来说,喜剧也好悲剧也好。人们去电影院首先是要看是谁拍的,演员是谁。就星爷,黄渤来说我本人就愿意去看,不管是他们拍的什么题材。我的意思是每个人都有自己喜欢的风格,喜欢的演员。就如同这是一个防抓取,学路网提供内容。1、Web前端技术 (HTML5、CSS、JS、jQuery、Ajax)
下面,开始今天的鉴定干货分享先来看一张正品戒指放大图精美的外观,精致的工艺技术,严格的质检流程,也让卡地亚品质经久不衰,之所以那么火热,也正因如此。下面我们通过几组对比图,来详细分析下:鉴图示:上真下防抓取,学路网提供内容。2、互联网架构(Nginx、Redis、MQ)
  在现代简约风格卧室只要清爽的色彩加上简洁的线条搭配就可以彰显卧室的美丽所在。在卧室里面要做到的是将温馨和浪漫做的满满的,而不是将豪华奢靡之气充斥其间。在卧室里面就是要享受爱意,享受休憩的恬静。现代防抓取,学路网提供内容。3、Web服务器端编程(Java基础、Servelt、SSH、SSM)
腕表天地在这里要很遗憾地告诉你,上海表不值得入手。按道理说,作为上海的新媒体,应该支持上海表,可是目前看起来找不到上海表可以支持的地方。四五年前,我到上海表表厂参观过一次,然后就懵逼了。表厂倒不小,可防抓取,学路网提供内容。4、数据库技术(Orale、MySQL)
按照铁总的规定,是肯定不行的。如果你真的想带回去,请开车的人带,不要快递,红酒易碎。如果你没亲戚朋友之类的,那就不要带,如果第二年不来就找个店折扣卖掉,或者送人。第二年还来的话就留着自己喝吧。下面附上防抓取,学路网提供内容。
三、Java的技术应用
出句:谷黄米白饭如雪对句:1.叶碧竹青笋似峰2.瓜绿瓤红籽若墨3.叶碧莲红藕赛霜4.碳黑火红灰似霜(注释:上联典出一个关于对联的故事:杨慎,明代大臣、文学家。明武宗正德六年,杨慎入京会试,高中状元,成防抓取,学路网提供内容。1、学习Java可以做网站
我喜欢吃土豆条做的土豆饼土豆2个,葱叶五六根,鸡蛋俩个,面半碗,盐三勺左右把土豆擦好放盆里,加俩鸡蛋,葱花,也可根据自己口味加点火腿丝或者胡萝卜又或者尖椒……然后是三勺盐,还有面粉,最后搅拌韵搅拌匀后防抓取,学路网提供内容。Java可以用来编写网站,现在很多大型网站都用Jsp写的,JSP全名Java Server Pages
这个问题,我觉得我比较有发言权。首先,我开双离合自动变速器的车已经快五年了,行驶了十多万公里。其二,买车的时候,我也纠结过双离合自动变速器,是否会真的像传说的那样,那么容易出问题。第三,我在汽车后市场防抓取,学路网提供内容。它是一种动态网页技术,比如我们熟悉的163,一些政府网站都是采用JSP编写的。
据传,入夜后的故宫会有事情发生。你懂不懂?先来讲两个真人真事。1.某年某月某日,驻故宫消防支队一个班的武警消防官兵们,下榻在慈宁宫大殿内。由于是夏天,当时的营房没有降温设施,所以许多官兵喜欢到慈宁宫大防抓取,学路网提供内容。所以学习Java的同学可以找开发网站方面的工作,而且现在找这方面的岗位比较多。
第三套人民币收藏价值分析近几年来,尤其是06年春以来,人民币收藏品市场渐渐活跃起来,一些存世量很少如第一、二套的品种价格涨幅惊人。然而,全国各地行家、市场人士和投资者纷纷看好第三套人民币的收藏、投资价防抓取,学路网提供内容。比如:网站开发,当然就是JSP+Servlet+JavaBean,一直以来都相当流行。
中年男人想要走好一生,就要遵守“三戒,三交”:一、戒色。不要“婚外情”要是管不住内心的色欲,一旦踏入婚外情的道路,那就是走向了粉身碎骨的灭亡之路。二、戒酒。虽然酒壮人胆,也可以缓解疲劳。“酒驾”后果严防抓取,学路网提供内容。2、学习Java可以做Android
因为主题是中国,不仅是恒大所在的广州,论上例如武汉、陕西四川这些没有中超球队的足球大城市,广州恒大在全国范围的球迷数量绝对是全国第一的。虽然我们听说过很多国安、申花等老牌俱乐部多么有底蕴的故事,从20防抓取,学路网提供内容。Android是一种基于Linux的自由及开放源代码的操作系统,其源代码是Java。
1不要用棍子如果碰巧有蛇进屋了,记住,不要急着找扫把或者棍子去攻击它。俗话说,“打蛇随棍上”嘛!而且,因为这样蛇容易被激怒,反而更难对付。2用毛毯有时蛇可能会溜到地板上,如果这样,最好的办法就是用一床防抓取,学路网提供内容。所以市场上见到的手机系统例如MIUI ,阿里云,乐蛙等,都是修改源代码再发行的。
冲凉房的地面在选择材质的时候不仅要考虑美观,还应考虑其抗污性、防滑性、防水性等各个方面,那么铺瓷砖好还是大理石更好呢?下面小编就为您简单介绍一下。大理石优点:  1、美观大方即使在冲凉房,不少人也是在防抓取,学路网提供内容。Java做安卓不单单是指系统,还有APP对于更多的开发人员来说,他们更多的时间是花在开发APP上面。
感谢邀请!小编,您说有一首歌的歌词里有,“有人爱的女人最美丽”。经过本人多次核实,应该是这一句:“你是我这一生想要的美丽女人”这句歌词“你是我这一生想要的美丽女人”,是来自刘嘉亮演唱的《美丽女人》。《防抓取,学路网提供内容。3、学习Java可以做游戏
艺术不分国界,但做艺术的人分了国界。只有人也不分国界的时候才能真正做到艺术不分国界。很典型的例子:最近大火的电影(战狼2)在国内观众来看是爱国,我们自己的英雄主义(美国电影这种类型的电影有很多)。但到防抓取,学路网提供内容。或者你不知道,在以前诺基亚还很流行的时候,你玩的手机游戏有90%以上都是Java开发的。
我认为每个家庭的条件不同,每个人所处的生活状态也不同,不能相提并论。更不能拿单纯的工资收入就衡量购买力和生活水准!您的意思就是你挣得多,都没买车,人家挣得比你少多了就买车了,有点儿装犊子,打肿脸充胖子防抓取,学路网提供内容。当然现在已经很少人再去开发了,都转到安卓上去了。
人食肉的天性,也是基于人类进化过程中的一个过程。但是人食肉,不是说的就是\"狗肉\"。现在一个人与自然的角度来看待,爱狗爱宠物的问题的话,这一个行为不反对,也不支持。因为人类的进化和发展到这样的一步,防抓取,学路网提供内容。电脑上也有Java开发的游戏,最经典的是:《我的世界》(minecraft ,简称MC),当今世界最具人气和影响力的网络游戏之一《英雄联盟》(简称lol)。
这个问题问的好!很多人认为现在的国产机无论是在性能、外观以及做工等方面与苹果三星越来越接近,再加上超高“性价比”,在国内市场上国产手机取代三星苹果是理所当然的、必然会到来的一天。但事实真的如此吗?国产防抓取,学路网提供内容。4、学习Java可以做软件
题主的这个问题让我想到了几大电商被黑的历史事件:比如前几年的时候美国第二大团购网站LivingSocial就曾遭遇过黑客攻击,致使5000万用户资料外泄,但值得庆幸的是并未造成财务损失。不过当时Liv防抓取,学路网提供内容。一般编程语言都可以做软件的,Java 也不例外,例如Eclipse,MyEclipse等知名Java开发工具.有关开发软件组件,可以了解Java Swing编程 或者 awt 相关知识。
当年小沈阳凭借着《不差钱》一夜爆红可以称得上是娱乐圈的奇迹,可惜的是后面的小沈阳一直都是那样,再也没有突破,现在关于小沈阳的话题真的可以用稀有来形容。宋小宝可就不一样了,如今的宋小宝可谓是喜剧界的大腕防抓取,学路网提供内容。比如:企业级应用开发,这里是JAVA的天地,大到全国联网的系统,小到中小企业的应用解决方案,Java都占有极为重要的地位。
「豆沙色」无疑是近年来最火的色号之一了。「MLBB」其实是MyLipsButBetter的缩写,意为跟自己原本唇色一样自然却更好看的的唇色。因为现在非常流行「mlbb」色。明星们对于豆沙色,也非常爱不防抓取,学路网提供内容。另外还有移动领域,典型的应用是手机游戏(国内主要是这方面),这里是J2ME的天地,其实应用范围是很广的。
谢邀,由题主提供的照片来看,这种绿植确实是太阳花,真正的名字叫做彩虹马齿苋,也叫做太阳花锦、斑叶太阳花,是国外的一个人工培育品种,同时也是马齿苋的锦斑品种,不过最近几年在国内的花市中也经常看到,而且价防抓取,学路网提供内容。Java已成为当今市面上最受欢迎的编程软件,对于处于信息高速发达的今天,Java技术已经无处不在,手机软件、手机JAVA游戏、电脑软件等等。
感谢不邀:首先更正一点!3D和4D在眼睛上的成像原理是完全相同的,不存在技术的问题,3D电影目前也早淘汰掉了红蓝眼镜,目前都是快门或者是偏光。而4D一般是用在主题公园的,因为那里人流量比较大,观看场次防抓取,学路网提供内容。可以这样说,只要你使用手机、电脑等电子产品,你就会用到跟Java有关的东西。由此可见,对于我们这些将要面临巨大就业压力的大学生来说,掌握这样一款最流行的编程语言是多么重要。
加拿大小天王贾斯汀?比伯(JustinBieber)14岁时已经出道,2009年发行了第一张个人专辑《MyWorld》,2010年更是以一首《Baby》迅速红遍全球。外表帅气的比伯从出道以来,他的一言防抓取,学路网提供内容。5、嵌入式:Write Once,Run Anywhere。嵌入式领域仿佛为Java量身打造。
都说父母是孩子最好的老师,家长如果在家里总是脾气暴躁,肯定会影响孩子的性格。做父母的都是孩子的榜样,我觉得家长在家中要保持坚定平和的态度,而不要用简单粗暴的方法来解决育儿过题中遇到的问题。比如家长遇到防抓取,学路网提供内容。6、大数据:Hadoop以及其他大数据处理技术很多都是用Java。
对东北人民来说,“姑娘”首先是一种水果!秋风渐起,市面上多了一种“穿了一层衣服”的小圆果子。常有罹患自然缺失症的顾客问曰:“这啥呀?”而摊贩则带着不知其所以然的微笑答曰:“姑娘!”不要追问是哪两个字,防抓取,学路网提供内容。7、科学应用:Java的安全性、便携性让Java在科学应用、金融服务、空间巨大。
首先,谁也不希望在格斗比赛中会出现这样的悲剧,正规的格斗比赛赛前都会进行严格的体检。以MMA的UFC为例,赛前一般都要进行十几项的体检:心、肺、脑电图、验尿、抽血,甚至包括眼睛都要检查,而且,在选手临防抓取,学路网提供内容。Java作为软件行业默认开发语言在各个领域均有广泛应用,相关从业者也都认为Java有着光明的未来。
关于数字7来说,真的很神秘吗,还是说只是人类对某些数字在进行YY。首先我们先看看数字7到底有什么传说:科学家认为,7是一个最特殊的数字,在计算中,分别用1、2、3、4、5、6去除以7,它们都是无限循环防抓取,学路网提供内容。那么,你想学习Java,做一个Java开发者吗?返回学网,查看更多
本文由提供有没有人了解过卓越美国汇点高中,能分享一下吗?问:有人能分享下经验吗答:卓越美国汇点高中其实就是原来的卓越国际高中嘛,后者是在2014年成立的,虽然没有很长的办学历史,但教学质量和教学理念还不错,他成立第一年,就有很多学生被耶鲁等世界知名大学录龋同时还有很多公益和留学活动,整体而言还是一间很不错的学校。结合自己的经历,谈谈你对分享、创新、高效、卓越作...问:当简答题对待即可,在200字左右为善。答:鼓励分享,持续创新,务实高效,追求卓越挺不错的,几个点选择的都挺好,即时髦也比较符合中国现代企业管理应提倡的价值观。1、关于分享。有本书,是麦肯锡出版的,题目就叫《分享―麦肯锡培训之道》。我感觉很不错。其中一个观点我很欣赏,“分...
本文相关:
- Copyright & 2018 www.xue63.com All Rights Reserved想转行学java 你准备好了吗?_达内长沙Java培训
想转行学java 你准备好了吗?
发布:java培训
来源:达内新闻
都想转行学java?很多人在工作一段时间以后发现自己的工作完全不适合自己,而对别人的工作却是充满了向往,不由得生出转行求理想的念头,就发现隔行如隔山成了首要难题。如何才能实现成功转行呢?先别苦恼了,看看小编整理的这些内容对你有没有帮助吧。
转行学java之后做什么?
Java语言是整个体系的基础,按照不同的用途,同样,如果掌握了JAVA这门技术,就业面也是很广的,不管是电脑方面的软硬件开发还是手机的软硬件开发java都是必不可少的技术,只要是想从事IT方面的工作,必须掌握JAVA在以下方面应用广泛:
1、企业级应用开发
这里是JAVA的天地,大到全国联网的系统,小到中小企业的应用解决方案,JAVA都占有极为重要的地位
2、网站开发
当然就是JSP+Servlet+JavaBean,一直以来都相当流行
3、移动领域
典型的应用是手机游戏(国内主要是这方面),这里是J2ME的天地,其实应用范围是很广的,只是国内开发不够 。
JAVA已成为当今市面上最受欢迎的编程软件,对于处于信息高速发达的今天,JAVA技术已经无处不在,手机软件、手机JAVA游戏、电脑软件等等。可以这样说,只要你使用手机、电脑等电子产品,你就会用到跟JAVA有关的东西。由此可见,对于我们这些将要面临巨大就业压力的在校大学生来说,掌握这样一款最流行的编程语言是多么重要。不管你以后是从事硬件还是软件的开发,面试官的第一个问题就是“你会不会使用JAVA语言编程?”
合理的评估自己
决定转行将是职业生涯中的转折点,所以转得好不好就要看自己的把握了。认真的对自己进行一个评估,包括能力、兴趣、性格特点等,结合这些特质来选择适合自己的职业,否则又进入了一个不适合自己的行业,发现自己仍不喜欢,久而久之对工作又出现了消极懒散的心态。也不要过高的评估自己的能力,毕竟是转行,太高的期望反而给自己带来更大的工作难度,时间长了容易对自己产生怀疑,否定自己,没了信心,导致再次萌发转行的想法,形成恶性循环了。
Java专业知识的弥补
想成转行功最重要的还得是专业技能,一点都不懂绝对不行,即使你不盼着在短期内达到什么高的层次,但至少也得有点让自己能够在新行业站住脚的资本,光指着入行之后再摸索是不行的,所以在转行之前就要做一些准备和铺垫。
多留心招聘网站。确定了转行之后,要多去看看招聘网站的相关职位的发布。留心你有兴趣的公司,以及所发布职位所需的工作技能。也可以和你之前的工作内容相对比,看看有没有重合的地方,并要将非重合的部分划为重点学习的内容。
多向前辈打听。想要自己迅速的成长,虚心求教是任何时候都适用的道理,前辈总结的经验一定比你慢慢摸索来的全面,要是有认识的熟人最好,如果没有可以去网络上找一些相关的专业人士进行咨询。
系统的学习java相关知识。如果所要转的行业技术要求很高,就建议要报一个课程班进行系统的学习了,或是去学习网站上看在线课程的讲解。相信经过一段时间的积累过后,你一定会有所收获。
想转行学java?
是一个人对职业的重新规划,对于转行,一定要慎重,全方位的权衡其中的利弊,不能急躁和冒进,做好了充足的准备再跳槽,免得一心为转行却没发现只是给自己下了个绊脚石。关于转行能否成功,看的还是自己,任何建议都只能拿来参考,希望正在转行路上的朋友,都能一切顺利。如果不知道怎么办!达内职业规划老师可以帮助你哟。
马上预约三天免费体验课
怕钱不够?就业挣钱后再付学费; &&&&
怕学不会?
真正0基础入学,120天精通;&&&&
担心就业?
7万家雇主企业,名企内部就业
Copyright (C)
Tedu.cn All Rights Reserved 京ICP备号-56 版权所有
选择城市和中心
达内北京亦庄大学生实训基地
达内北京网络营销中心
达内北京会计中心当前位置: >>
河北师范大学本科毕业生论文Java,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平 台的总称。用 Java 实现的 HotJava 浏览器(支持 Java applet)显示了 Java 的魅力: 跨平台、 动态的 Web、 Internet 计算。 从此, Java 被广泛接受并推动了 Web 的迅速发展, 常用的浏览器现在均支持 Java applet。 目录 平台构架与版本 历史 与众不同 相关技术 开源项目 Java IDE 图书 行业复合 平台构架与版本 历史 与众不同 相关技术 开源项目 Java IDE 图书 行业复合? ?Java 的八大基本数据类型及其包装类Java 新手入门很重要的几个基本概念 ? Java 学习 ? Java 架构设计 Java 开发中的技巧 ? Java 与云计算?展开 编辑本段平台构架与版本 编辑本段 平台构架与版本 平台 Java 平台由 Java 虚拟机(Java Virtual Machine)和 Java 应用编程接口 (Application Programming Interface、简称 API)构成。Java 应用编程接口为 Java 应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。第1页 河北师范大学本科毕业生论文在硬件或操作系统平台上安装一个 Java 平台之后,Java 应用程序就可运行。现在 Java 平台已经嵌入了几乎所有的操作系统。这样 Java 程序可以只编译一次,就可 以在各种系统中运行。Java 应用编程接口已经从 1.1x 版发展到 1.2 版。目前常用 的 Java 平台基于 Java1.5,最近版本为 Java1.7。 Java 分为三个体系 JavaSE(Java2 Platform Standard Edition,java 平台标 准版),JavaEE(Java 2 Platform,Enterprise Edition,java 平台企业版), JavaME(Java 2 Platform Micro Edition,java 平台微型版)。 Java SEJAVA* Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它 允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程 序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform, Enterprise Edition(Java EE)提供基础。 Java EE * Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。 企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程 序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管 理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。 Java ME * Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。 Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上 运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健 壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序第2页 河北师范大学本科毕业生论文的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备, 而且可以利用每个设备的本机功能。 编辑本段历史 编辑本段 历史 名字起源 Java 自 1995 诞生,至今已经 16 年历史。Java 的名字的来源:Java 是印度尼 西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java 语言中的许多库类名称,多与 咖啡有关,如 JavaBeans(咖啡豆)、NetBeans(网络豆)以及 ObjectBeans (对象豆) 等等。SUN 和 JAVA 的标识也正是一杯正冒着热气的咖啡。 据 James Gosling 回忆,最初这个为 TV 机顶盒所设计的语言在 Sun 内部一直 称为 Green 项目。我们的新语言需要一个名字。Gosling 注意到自己办公室外一棵 茂密的橡树 Oak,这是一种在硅谷很常见的树。所以他将这个新语言命名为 Oak。 但 Oak 是另外一个注册公司的名字。这个名字不可能再用了。 在命名征集会上,大家提出了很多名字。最后按大家的评选次序,将十几个 名字排列成表,上报给商标律师。排在第一位的是 Silk(丝绸)。尽管大家都喜欢 这个名字,但遭到 James Gosling 的坚决反对。排在第二和第三的都没有通过律 师这一关。只有排在第四位的名字、得到了所有人的认可和律师的通过,这个名 字就是 Java。 10 多年来,Java 就像爪哇咖啡一样誉满全球,成为实至名归的企业级应用平 台的霸主。而 Java 语言也如同咖啡一般醇香动人。 早期的 Java Java 平台和语言最开始只是 SUN 公司在 1990 年 12 开始研究的一个内部项目。 SUN 公司的一个叫做帕特里克?诺顿的工程师被升阳自己开发的 C 和 C 语言编译 器搞得焦头烂额,因为其中的 API 极其难用。帕特里克决定改用 NeXT,同时他也 获得了研究公司的一个叫做“Stealth 计划”的项目的机会。 “Stealth 计划”后来改名为“Green 计划”, 詹姆斯?高斯林和麦克?舍林 丹也加入了帕特里克的工作小组。他们和其他几个工程师一起在加利福尼亚州门 罗帕克市沙丘路的一个小工作室里面研究开发新技术,瞄准下一代智能家电(如 微波炉)的程序设计,SUN 公司预料未来科技将在家用电器领域大显身手。团队最 初考虑使用 C 语言,但是很多成员包括升阳的首席科学家比尔?乔伊,发现 C 和 可用的 API 在某些方面存在很大问题。 工作小组使用的是内嵌类型平台, 可以用的资源极其有限。 很多成员发现 C 太 复杂以至很多开发者经常错误使用。他们发现 C 缺少垃圾回收系统,还有可移植 的安全性、分布程序设计、和多线程功能。最后,他们想要一种易于移植到各种 设备上的平台。第3页 河北师范大学本科毕业生论文根据可用的资金,比尔?乔伊决定开发一种集 C 语言和 Mesa 语言大成的新语 言, 在一份报告上, 乔伊把它叫做“未来”, 他提议 SUN 公司的工程师应该在 C 的 基础上,开发一种面向对象的环境。最初,高斯林试图修改和扩展 C 的功能,他 自己称这种新语言为 C --,但是后来他放弃了。他将要创造出一种全新的语言, 被他命名为“Oak”(橡树),以他的办公室外的树而命名。 就像很多开发新技术的秘密的工程一样,工作小组没日没夜地工作到了 1992 年的夏天,他们能够演示新平台的一部分了,包括 Green 操作系统,Oak 的程序设 计语言,类库,和其硬件。最初的尝试是面向一种类 PDA 设备,被命名为 Star7, 这种设备有鲜艳的图形界面和被称为“Duke”的智能代理来帮助用户。1992 年 12 月 3 日,这台设备进行了展示。 同年 11 月,Green 计划被转化成了“FirstPerson 有限公司”,一个 SUN 公 司的全资子公司,团队也被重新安排到了帕洛阿尔托。FirstPerson 团队对建造一 种高度互动的设备感兴趣,当时代华纳发布了一个关于电视机顶盒的征求提议书 时(Request for proposal),FirstPerson 改变了他们的目标,作为对征求意见 书的响应, 提出了一个机顶盒平台的提议。但是有线电视业界觉得 FirstPerson 的平台给予用户过多地控制权,因此 FirstPerson 的投标败给了 SGI。与 3DO 公 司的另外一笔关于机顶盒的交易也没有成功,由于他们的平台不能在电视工业产 生任何效益,公司再并回 SUN 公司。 第一个 JAVA 程序 HelloWorld //文件名 HelloWorld.java //声明一个类 public class HelloWorld { //声明一个方法 public static void main(String args[]){ //程序的入口 //输出 System.out.println(“hello world!”); } } //例子 package T public class Test{ public static void main(String args[]){ short d = 12; //短整型 System.out.println(d); //输出 d long c = 144L; //长整型,要加 l System.out.println(c); //输出 c int z = 15; //整型 System.out.println(z); //输出 z第4页 河北师范大学本科毕业生论文char e = '我'; //字符型“我” System.out.println(e);//输出 e } } //无编译工具 编译运行 java 程序 //路径是相对路径 编译 java javac [java 源程序名称.java] //一定要加上后缀名 //这个时候你会发现你的原程序旁边多了一个.class 文件,文件名和源文件 名称相同 //有编译错误会提示 运行 java java [java 源程序名称] //不需要加后缀名,自动运行.class 文件 //显示程序运行结果 JAVA 遭遇互联网JAVA 应用1994 年 6、7 月间,在经历了一场历时三天的头脑风暴的讨论后,约翰?盖吉、詹 姆斯?高斯林、比尔?乔伊、帕特里克?诺顿、韦恩?罗斯因和埃里克?斯库米, 团队决定再一次改变了努力的目标,这次他们决定将该技术应用于万维网。他们 认为随着 Mosaic 浏览器的到来,因特网正在向同样的高度互动的远景演变,而这 一远景正是他们在有线电视网中看到的。作为原型,帕特里克?诺顿写了一个小 型万维网浏览器,WebRunner,后来改名为 HotJava。 同年,Oak 改名为 Java。商 标搜索显示,Oak 已被一家显卡制造商注册,因此团队找到了一个新名字。这个名 字是在很多成员常去的本地咖啡馆中杜撰出来的。名字是不是首字母缩写还不清第5页 河北师范大学本科毕业生论文楚,很大程度上来说不是。虽然有人声称是开发人员名字的组合:James Gosling (詹姆斯?高斯林) Arthur Van Hoff(阿瑟?凡?霍夫) Andy Bechtolsheim (安迪?贝克托克姆),或“Just Another Vague Acronym”(只是另外一个含 糊的缩写)。还有一种比较可信的说法是这个名字是出于对咖啡的喜爱,所以以 Java 咖啡来命名。 类文件的前四个字节如果用十六进制阅读的话, 分别为 CA FE BA BE, 就会拼出两个单词“CAFE BABE”(咖啡宝贝)。 1994 年 10 月, HotJava 和 Java 平台为公司高层进行演示。 1994 年, Java 1.0a 版本已经可以提供下载,但是 Java 和 HotJava 浏览器的第一次公开发布却是在 1995 年 3 月 23 日 SunWorld 大会上进行的。SUN 公司的科学指导约翰?盖吉宣告 Java 技术。这个发布是与网景公司的执行副总裁马克?安德森的惊人发布一起进 行的,宣布网景将在其浏览器中包含对 Java 的支持。1996 年 1 月,升阳公司成立 了 Java 业务集团,专门开发 Java 技术。 回眸贡献 2009 年 04 月 20 日,oracle(甲骨文)宣布收购 sun。 1991 年,Sun 公司的 James Gosling。Bill Joe 等人,为电视、控制烤面包 机等家用电器的交互操作开发了一个 Oak(一种橡树的名字)软件,他是 Java 的 前身。当时,Oak 并没有引起人们的注意,直到 1994 年,随着互联网和 3W 的飞速 发展,他们用 Java 编制了 HotJava 浏览器,得到了 Sun 公司首席执行官 Scott McNealy 的支持,得以研发和发展。为了促销和法律的原因,1995 年 Oak 更名为 Java。Java 的得名还有段小插曲呢,一天,Java 小组成员正在喝咖啡时,议论给 新语言起个什么名字的问题,有人提议用 Java(Java 是印度尼西亚盛产咖啡的一 个岛屿),这个提议得到了其他成员的赞同,于是就采用 Java 来命名此新语言。 很快 Java 被工业界认可,许多大公司如 IBM Microsoft.DEC 等购买了 Java 的使 用权,并被美国杂志 PC Magazine 评为 1995 年十大优秀科技产品。从此,开始了 Java 应用的新篇章。 Java 的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产 生了深远的影响: (1)软件 4A 目标要求软件能达到任何人在任何地方在任何时间对任何电子 设备都能应用。这样能满足软件平台上互相操作,具有可伸缩性和重用性并可即 插即用等分布式计算模式的需求。 (2)基于构建开发方法的崛起,引出了 CORBA 国际标准软件体系结构和多层 应用体系框架。在此基础上形成了 Java.2 平台和.NET 平台两大派系,推动了整个 IT 业的发展。 (3)对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到 了以服务为中心。中间提供商,构件提供商,服务器软件以及咨询服务商出现。 企业必须重塑自我, B2B 的电子商务将带动整个新经济市场, 使企业获得新的价值, 新的增长,新的商机,新的管理。第6页 河北师范大学本科毕业生论文(4)对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基 础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念, 协作,创作,责任,诚信是人才的基本素质。 总之,目前以看到了 Java 对信息时代的重要性,未来还会不断发展,Java 在 应用方面将会有更广阔的前景。 历史版本 1995 年 5 月 23 日,Java 语言诞生 1996 年 1 月,第一个 JDK-JDK1.0 诞生 1996 年 4 月,10 个最主要的操作系统供应商申明将在其产品中嵌入 JAVA 技 术 1996 年 9 月,约 8.3 万个网页应用了 JAVA 技术来制作 1997 年 2 1997 年 4 议规模之纪录 1997 年 9 1998 年 2 月 18 日,JDK1.1 发布 月 2 日,JavaOne 会议召开,参与者逾一万人,创当时全球同类会 月,JavaDeveloperConnection 社区成员超过十万 月,JDK1.1 被下载超过 2,000,000 次1998 年 12 月 8 日,JAVA2 企业平台 J2EE 发布 1999 年 6 月, SUN 公司发布 Java 的三个版本: 标准版 (J2SE) 企业版 、 (J2EE) 和微型版(J2ME) 01 04 年 年 年 年 年 年 5 5 6 9 2 9 月 月 月 月 月 月 8 日,JDK1.3 发布 29 日,JDK1.4 发布 5 日,NOKIA 宣布,到 2003 年将出售 1 亿部支持 Java 的手机 24 日,J2EE1.3 发布 26 日,J2SE1.4 发布,自此 Java 的计算能力有了大幅提升 30 日 18:00PM,J2SE1.5 发布,成为 Java 语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5 更名为 Java SE 5.0 2005 年 6 月,JavaOne 大会召开,SUN 公司公开 Java SE 6。此时,Java 的各 种版本已经更名,以取消其中的数字“2”:J2EE 更名为 Java EE,J2SE 更名为 Java SE,J2ME 更名为 Java ME 2006 年 12 月,SUN 公司发布 JRE6.0 目前 JDK7.0 已经在研发中.预计将于 2010 年 9 月发布,届时将增加简单闭包 功能。 编辑本段与众不同 编辑本段 与众不同 语言特点第7页 河北师范大学本科毕业生论文Java 是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构 中立的,可移植的,性能优异、多线程的动态语言。 当 1995 年 SUN 推出 Java 语言之后,全世界的目光都被这个神奇的语言所吸 引。那么 Java 到底有何神奇之处呢? Java 语言其实最早诞生于 1991 年,起初被称为 OAK 语言,是 SUN 公司为一些 消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立 于平台的软件技术, 而且在网络出现之前, OAK 可以说是默默无闻, 甚至差点夭折。 但是,网络的出现改变了 OAK 的命运。 在 Java 出现以前,Internet 上的信息内容都是一些乏味死板的 HTML 文档。 这对于那些迷恋于 WEB 浏览的人们来说简直不可容忍。他们迫切希望能在 WEB 中 看到一些交互式的内容,开发人员也极希望能够在 WEB 上创建一类无需考虑软硬 件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户 的这种要求, 传统的编程语言显得无能为力。 的工程师敏锐地察觉到了这一点, SUN 从 1994 年起,他们开始将 OAK 技术应用于 WEB 上,并且开发出了 HotJava 的第一 个版本。当 SUN 公司 1995 年正式以 Java 这个名字推出的时候,几乎所有的 WEB 开发人员都心生感叹:噢,这正是我想要的!于是 Java 成了一颗耀眼的明星,丑 小鸭一下子变成了白天鹅。 主要特性 语言是简单的。Java 语言的语法与 C 语言和 C++语言很接近,使得大 1 、Java 语言是简单的 多数程序员很容易学习和使用 Java。另一方面,Java 丢弃了 C++ 中很少使用的、 很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转 换。特别地,Java 语言不使用指针,并提供了自动的废料收集,使得程序员不必 为内存管理而担忧。 2、 Java 语言是一个面向对象的 语言是一个面向对象的。Java 语言提供类、接口和继承等原语,为 、 了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接 口之间的实现机制(关键字为 implements)。Java 语言全面支持动态绑定,而 C++ 语言只对虚函数使用动态绑定。总之,Java 语言是一个纯的面向对象程序设计语 言。 语言是分布式的。 在基本的 Java 3、 Java 语言是分布式的 Java 语言支持 Internet 应用的开发, 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用 编程的类库, 包括 URL、 URLConnection、 Socket、 ServerSocket 等。 Java 的 RMI(远 程方法激活)机制也是开发分布式应用的重要手段。 语言是健壮的。 4 、 Java 语言是健壮的 。 Java 的强类型机制、异常处理、废料的自动收集等 是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全 检查机制使得 Java 更具健壮性。 语言是安全的。 5 、 Java 语言是安全的 。 Java 通常被用在网络环境中,为此,Java 提供了一 个安全机制以防恶意代码的攻击。除了 Java 语言具有的许多安全特性以外,Java第8页 河北师范大学本科毕业生论文对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名 字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。 语言是体系结构中立的。 6 、 Java 语言是体系结构中立的 。 Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件), 然后可以 在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件 的分发。 语言是可移植的。 7 、Java 语言是可移植的 。这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性, Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。 语言是解释型的。 8 、 Java 语言是解释型的 。 如前所述,Java 程序在 Java 平台上被编译为字节 码格式, 然后可以在实现这个 Java 平台的任何系统中运行。在运行时,Java 平 台中的 Java 解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段 被载入到运行环境中。 是高性能的。 9 、 Java 是高性能的 。 与那些解释型的高级脚本语言相比,Java 的确是高性 能的。事实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来 越接近于 C++。 10、 语言是多线程的。 10 、Java 语言是多线程的 。在 Java 语言中,线程是一种特殊的对象,它必须 由 Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型 构为 Thread(Runnable) 的构造子将一个实现了 Runnable 接口的对象包装成一个 线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即 为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线 程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由 一组方法来控制。 Java 语言支持多个线程的同时执行,并提供多线程之间的同步 机制(关键字为 synchronized)。 11、 语言是动态的。 Java 语言的设计目标之一是适应于动态变化的环境。 11 、 Java 语言是动态的 。 Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要 的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进 行运行时刻的类型检查。 Java 语言的优良特性使得 Java 应用具有无比的健壮性和可靠性, 这也减少了 应用系统的维护费用。 Java 对对象技术的全面支持和 Java 平台内嵌的 API 能缩短 应用系统的开发时间并降低成本。Java 的编译一次,到处可运行的特性使得它能 够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是 Java 企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系 统提供了有关技术和丰富的类库。 编辑本段相关技术 编辑本段 相关技术第9页 河北师范大学本科毕业生论文1、JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接 口,可以为多种关系数据库提供统一访问,它由一组用 Java 语言编写的类和接口 组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,据此可以构建更高级 的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同 时,JDBC 也是个商标名。 2、EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台 的基于组件的企业应用。 3、Java RMI(Java Remote Method Invocation)用来开发分布式 Java 应用程 序。一个 Java 对象的方法能被远程 Java 虚拟机调用。这样,远程方法激活可以 发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都 是用 Java 写的。 4、Java IDL(Java Interface Definition Language) 提供与 CORBA(Common Object Request Broker Architecture)的无缝的互操作性。这使得 Java 能集成 异构的商务信息资源。 5、JNDI(Java Naming and Directory Interface)提供从 Java 平台到的统一 的无缝的连接。这个接口屏蔽了企业网络所使用的各种命名和目录服务。 6、JMAPI(Java Management API)为异构网络上系统、网络和服务管理的开 发提供一整套丰富的对象和方法。 7、JMS(Java Message Service)提供企业消息服务,如可靠的消息队列、发 布和订阅通信、以及有关推拉(Push/Pull)技术的各个方面。 8、JTS(Java transaction Service)提供存取事务处理资源的开放标准,这 些事务处理资源包括事务处理应用程序、事务处理管理及监控。 9、JMF(Java Media Framework API), 她可以帮助开发者把音频、视频和其 他一些基于时间的媒体放到 Java 应用程序或 applet 小程序中去,为多媒体开发 者提供了捕捉、回放、编解码等工具,是一个弹性的、跨平台的多媒体解决方案。 10、Annotation(Java Annotation),在已经发布的 JDK1.5(tiger)中增加新的 特色叫 Annotation。Annotation 提供一种机制,将程序的元素如:类,方法,属 性, 参数, 本地变量, 包和元数据联系起来。 这样编译器可以将元数据存储在 Class 文件中。这样虚拟机和其它对象可以根据这些元数据来决定如何使用这些程序元 素或改变它们的行为。 在 Java 技术中,值得关注的还有 JavaBeans,它是一个开放的标准的组件体 系结构,它独立于平台,但使用 Java 语言。一个 JavaBean 是一个满足 JavaBeans 规范的 Java 类,通常定义了一个现实世界的事物或概念。一个 JavaBean 的主要 特征包括属性、方法和事件。通常,在一个支持 JavaBeans 规范的开发环境(如 Sun Java Studio 和 IBM VisualAge for Java)中,可以可视地操作 JavaBean, 也可以使用 JavaBean 构造出新的 JavaBean。JavaBean 的优势还在于 Java 带来的 可移植性。现在,EJB (Enterprise JavaBeans) 将 JavaBean 概念扩展到 Java 服 务端组件体系结构,这个模型支持多层的分布式对象应用。除了 JavaBeans,典型第 10 页 河北师范大学本科毕业生论文的组件体系结构还有 DCOM 和 CORBA,关于这些组件体系结构的深入讨论超出了本 书的范围。 11、 javaFX Sun 刚刚发布了 JavaFX 技术的正式版,它使您能利用 JavaFX 编 程语言开发富互联网应用程序(RIA)。JavaFX Script 编程语言(以下称为 JavaFX) 是 Sun 微系统公司开发的一种 declarative, staticallytyped(声明性的、静态类 型)脚本语言。JavaFX 技术有着良好的前景,包括可以直接调用 Java API 的能力。 因为 JavaFXScript 是静态类型, 它同样具有结构化代码、 重用性和封装性, 如包、 类、继承和单独编译和发布单元,这些特性使得使用 Java 技术创建和管理大型程 序变为可能。 12、JMX(Java Management Extensions,即 Java 管理扩展)是一个为应用 程序、设备、系统等植入 管理功能的框架。JMX 可以跨越一系列异构操作系统平台、系统体系结构和网 络传输协议,灵活的开发无缝 [1][2][3][4][5][6] 集成的系统、网络和服务管理应用。 13、JPA (Java Persistence API), JPA 通过 JDK 5.0 注解 [7] 或 XML 描述对象 -关系表的映射关系,并将运行期的实体对象持久化到数据库中。 javajava - 参见 计算机科学课程列表 JNI(Java Native Interface)Java 本地接口,可以使用其他语言来实现 Java 的某些特定功能。 编辑本段开源项目 编辑本段 开源项目 Framework【 框架】 Spring Framework 【 Java 开源 J2EE 框架 】 Spring 是一个解决了许多在 J2EE 开发中常见的问题的强大框架。 Spring 提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良 好习惯。Spring 的架构基础是基于使用 JavaBean 属性的 Inversion of Control 容器。然而,这仅仅是完整图景中的一部分:Spring 在使用 IoC 容器作为构建完 关注所有架构层的完整解决方案方面是独一无二的。 Spring 提供了唯一的数据访 问抽象,包括简单和有效率的 JDBC 框架,极大的改进了效率并且减少了可能的错 误。Spring 的数据访问架构还集成了 Hibernate 和其他 O/R mapping 解决方案。 Spring 还提供了唯一的事务管理抽象, 它能够在各种底层事务管理技术, 例如 JTA 或者 JDBC 事务提供一个一致的编程模型。 Spring 提供了一个用标准 Java 语言编 写的 AOP 框架,它给 POJOs 提供了声明式的事务管理和其他企业事务--如果你需 要--还能实现你自己的 aspects。这个框架足够强大,使得应用程序能够抛开 EJB 的复杂性,同时享受着和传统 EJB 相关的关键服务。Spring 还提供了可以和 IoC 容器集成的强大而灵活的 MVC Web 框架。【SpringIDE:Eclipse 平台下一个辅助 开发插件】. 框架】 WebWork 【 Java 开源 Web 框架 】第 11 页 河北师范大学本科毕业生论文WebWork 是由 OpenSymphony 组织开发的,致力于组件化和代码重用的拉出 式 MVC 模式 J2EE Web 框架。WebWork 目前最新版本是 2.1,现在的 WebWork2.x 前 身是 Rickard Oberg 开发的 WebWork,但现在 WebWork 已经被拆分成了 Xwork1 和 WebWork2 两个项目。 Xwork 简洁、灵活功能强大,它是一个标准的 Command 模式 实现,并且完全从 web 层脱离出来。 Xwork 提供了很多核心功能:前端拦截机 (interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL C the Object Graph Notation Language),IoC(Inversion of Control 倒置控制) 容器等。 WebWork2 建立在 Xwork 之上,处理 HTTP 的响应和请求。WebWork2 使用 ServletDispatcher 将 HTTP 请求的变成 Action(业务层 Action 类), session(会 话)application(应用程序)范围的映射,request 请求参数映射。WebWork2 支 持多视图表示,视图部分可以使用 JSP, Velocity, FreeMarker, JasperReports, XML 等。在 WebWork2.2 中添加了对 AJAX 的支持,这支持是构建在 DWR 与 Dojo 这 两个框架的基础之上.【EclipseWork:用于 WebWork 辅助开发的一个 Eclipse 插 件】 框架】 Struts 【 Java 开源 Web 框架 】 Struts 是一个基于 Sun J2EE 平台的 MVC 框架,主要是采用 Servlet 和 JSP 技术来实现的。由于 Struts 能充分满足应用开发的需求,简单易用,敏捷迅速, 在过去的一年中颇受关注。Struts 把 Servlet、JSP、自定义标签和信息资源 (message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用 再自己编码实现全套 MVC 模式,极大的节省了时间,所以说 Struts 是一个非常不 错的应用框架。【StrutsIDE:用于 Struts 辅助开发的一个 Eclipse 插件】 持久层框架】 Hibernate 【 Java 开源 持久层框架 】 Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻 量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据 库。 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序 实用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是,Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。Eclipse 平台 下的 Hibernate 辅助开发工具:【Hibernate Synchronizer】【MiddlegenIDE】 Quartz 调度】 Quar tz 【 Java 开源 Job 调度 】 Quartz 是 OpenSymphony 开源组织在 Job scheduling 领域又一个开源项目, 它可以与 J2EE 与 J2SE 应用程序相结合也可以单独使用。Quartz 可以用来创建简 单或为运行十个,百个,甚至是好几万个 Jobs 这样复杂的日程序表。Jobs 可以做 成标准的 Java 组件或 EJBs。Quartz 的最新版本为 Quartz 1.5.0。 模板引擎】 Velocity 【 Java 开源 模板引擎 】 Velocity 是一个基于 java 的模板引擎(template engine)。它允许任何人 仅仅简单的使用模板语言(template language)来引用由 java 代码定义的对象。 当 Velocity 应用于 web 开发时,界面设计人员可以和 java 程序开发人员同步开 发一个遵循 MVC 架构的 web 站点,也就是说,页面设计人员可以只关注页面的显第 12 页 河北师范大学本科毕业生论文示效果, 而由 java 程序开发人员关注业务逻辑编码。 Velocity 将 java 代码从 web 页面中分离出来,这样为 web 站点的长期维护提供了便利,同时也为我们在 JSP 和 PHP 之外又提供了一种可选的方案。 Velocity 的能力远不止 web 站点开发这个 领域,例如,它可以从模板(template)产生 SQL 和 PostScript、XML,它也可以 被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。 Velocity 也可以为 Turbine web 开发架构提供模板服务(template service)。 Velocity+Turbine 提供一个模板服务的方式允许一个 web 应用以一个真正的 MVC 模型进行开发。 【VeloEclipse :Velocity 在 Eclipse 平台下的一个辅助开发插 件】 持久层框架】 IBATIS 【 Java 开源 持久层框架 】 使用 ibatis 提供的 ORM 机制,对业务逻辑实现人员而言,面对的是纯粹的 Java 对象, 这一层与通过 Hibernate 实现 ORM 而言基本一致,而对于具体的数 据操作,Hibernate 会自动生成 SQL 语句,而 ibatis 则要求开发者编写具体的 SQL 语句。相对 Hibernate 等 “全自动”ORM 机制而言,ibatis 以 SQL 开发的工 作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。作为“全自 动”ORM 实现的一种有益补充,ibatis 的出现显 得别具意义。 系统】 Compiere ERP&CRM 【 Java 开源 ERP 与 CRM 系统 】 Compiere ERP&CRM 为全球范围内的中小型企业提供综合型解决方案,覆盖从 客户管理、供应链到财务管理的全部领域,支持多组织、多币种、多会计模式、 多成本计算、多语种、多税制等国际化特性。易于安装、易于实施、易于使用。 只需要短短几个小时,您就可以使用申购-采购-发票-付款、报价-订单-发票-收 款、产品与定价、资产管理、客户关系、供应商关系、员工关系、经营业绩分析 等强大功能了。 博客】 Roller Weblogger 【 Java 开源 Blog 博客 】 这个 weblogging 设计得比较精巧,源代码是很好的学习资料。它支持 weblogging 应有的特性如:评论功能,所见即所得 HTML 编辑,TrackBack,提供 页面模板,RSS syndication,blogroll 管理和提供一个 XML-RPC 接口。 开发工具】 Eclipse 【 Java 开 源 开发工具 】 Eclipse 平台是 IBM 向开放源码社区捐赠的开发框架, 它之所以出名并不是因 为 IBM 宣称投入开发的资金总数 ―4 千万美元,而是因为如此巨大的投入所带来 的成果:一个成熟的、精心设计的以及可扩展的体系结构。 开发工具】 NetBeans 【 Java 开源 开发工具 】 NetBeans IDE 是一个为软件开发者提供的自由、开源的集成开发环境。您可 以从中获得您所需要的所有工具,用 Java、C/C++ 甚至是 Ruby 来创建专业的桌 面应用程序、企业应用程序、web 和移动应用程序。此 IDE 可以在多种平台上运 行,包括 Windows、Linux、Mac OS X 以及 Solaris;它易于安装且非常方便使 用。 项目管理】 XPlanner 【 Java 开源 项目管理 】第 13 页 河北师范大学本科毕业生论文XPlanner 一个基于 Web 的 XP 团队计划和跟踪工具。XP 独特的开发概念如 iteration、user stories 等,XPlanner 都提供了相对应的的管理工具,XPlanner 支持 XP 开发流程,并解决利用 XP 思想来开发项目所碰到的问题。 XPlanner 特点 包括:简单的模型规划,虚拟笔记卡(Virtual note cards),iterations、user stories 与工作记录的追踪,未完成 stories 将自动迭代,工作时间追踪,生成团 队效率,个人工时报表,SOAP 界面支持。 数据库】 HSQLDB 【 Java 开源 DBMS 数据库 】 HSQLDB(Hypersonic SQL)是纯 Java 开发的关系型数据库,并提供 JDBC 驱动存 取数据。支持 ANSI-92 标准 SQL 语法。而且他占的空间很小。大约只有 160K,拥 有快速的数据库引擎。 门户】 Liferay 【 Java 开源 Portal 门户 】 代表了完整的 J2EE 应用,使用了 Web、EJB 以及 JMS 等技术,特别是其前台 界面部分使用 Struts 框架技术, 基于 XML 的 portlet 配置文件可以自由地动态扩 展,使用了 Web Services 来支持一些远程信息的获取,使用 Apahce Lucene 实现 全文检索功能。 门户】 JetSpeed 【 Java 开源 Portal 门户 】 Jetspeed 是一个开放源代码的企业信息门户(EIP)的实现,使用的技术是 Java 和 XML。用户可以使用浏览器,支持 WAP 协议的手机或者其它的设备访问 Jetspeed 架设的信息门户获取信息。Jetspeed 扮演着信息集中器的角色,它能够 把信息集中起来并且很容易地提供给用户。 服务器】 JOnAS 【 Java 开源 J2EE 服务器 】 JOnAS 是一个开放源代码的 J2EE 实现,在 ObjectWeb 协会中开发。整合了 Tomcat 或 Jetty 成为它的 Web 容器,以确保符合 Servlet 2.3 和 JSP 1.2 规范。 JOnAS 服务器依赖或实现以下的 Java API:JCA、JDBC、JTA 、JMS、JMX、JNDI、 JAAS、JavaMail 。 服务器】 JFox3.0 【 Java 开源 J2EE 服务器 】 JFox 是 Open Source Java EE Application Server,致力于提供轻量级 的 Java EE 应用服务器,从 3.0 开始,JFox 提供了一个支持模块化的 MVC 框架, 以简化 EJB 以及 Web 应用的开发! 如果您正在寻找一个简单、轻量、高效、完善 的 Java EE 开发平台,那么 JFox 正是您需要的。 编辑本段 Java IDE 当今最流行的是 Eclipse、 Myeclipse、 Jbuilder2006、 Jdeveloper、 Netbeans、 intellij、JCreator Pro 等。 编辑本段图书 编辑本段 图书 语言导学( Java 语言导学 ( 第 4 版 )第 14 页 河北师范大学本科毕业生论文原书名: The Java Tutorial: A Short Course on the Basics, 4th Edition 原出版社: Prentice Hall PTR 作者: (美)Sharon Zakhour Scott Hommel Jacob Royal Isaac Rabinovitch Tom Risser Mark Hoeber 出版社:人民邮电出版社 ISBN:2 本书是 Sun 公司指定 Java 教程的最新版。 书中除了讲解面向对象的编程概念、 语言基础、类和对象、接口和继承、包、数字和字符串、异常、基本 I/O、集合、 并发、Swing、把程序打包到 JAR 文件中、applet 之外,还介绍了 Java WebStart、 平台环境和正则表达式,同时涵盖了 Java5.0 和 6.0 引入的新特性,比如泛型和 并发、注解。附录 B 中还给出如何准备 Java 编程语言认证考试方面的内容。此外, 本书配套的网上资源还包含本书的示例以及问题和练习的答案、在线 Java SE 指 南、Java SE 开发工具包(Java SE DevelopmentKit,JDK)、相应的 API 规范和指 导文档等。 本书既适合作为高校相关专业 Java 程序设计语言课程的教材,也适合各种层 次的 Java 程序员阅读。 编程思想( Java 编程思想 ( 第 4 版 ) 作 者: (美)埃克尔 著,陈昊鹏 译Java 编程思想(第 4 版)出 版 社: 机械工业出版社 出版时间:
字 数: 版 次: 1 页 数: 880 印刷时间:
开 本: 印 次: 纸 张: 胶版纸 I S B N : 6 包 装: 平装 作者简介第 15 页 河北师范大学本科毕业生论文Bruce Eckel 是 MindView 公司的总裁,该公司向客户提供软件咨询和培训。 他是 C++标准委员会拥有表决权的成员之一, 拥有应用物理学学士和计算机工程硕 士学位。除本书外,他还是《C++编程思想》的作者,并与人合著了《C++编程思 想 第 2 卷》(这两本书的英文影印版及中文版均已由机械工业出版社引进出版) 及其他著作。他已经发表了 150 多篇论文,还经常参加世界各地的研讨会并进行 演讲。 编辑本段行业复合 编辑本段 行业复合 Java 与 Internet 我们知道,早先的 www 仅可以传送文本和图片,Java 的出现实现了互动的页 面,是一次伟大的革命。 Java 并不是为 Internet、www 而设计的,它也可以用来编写独立的应用程序。 Java 是一种面向对象语言,Java 语言类似于 C++语言,所以已熟练掌握 C++语言 的编程人员,再学习 Java 语言就容易得多!Java 程序需要编译,它被放置在 Internet 服务器上,当用户访问服务器时,Java 程序被下载到本地的用户机上, 由浏览器解释运行。实际上有两种 Java 程序:一种 Java 应用程序是一个完整的 程序, Web 浏览器。 如 另一种 Java 小应用程序是运行于 Web 浏览器中的一个程序。 Java 程序和它的浏览器 HotJava,提供了可让你的浏览器运行程序的方法。 你能从你的浏览器里直接播放声音,你还能播放页面里的动画,Java 还能告诉你 的浏览器怎样处理新的类型文件。当我们能在 2400 baud 线上传输视频图象时, HotJava 将能显示这些视频。 Java 与电子商务 电子商务是当今的热门话题,然而传统的编程语言难以胜任电子商务系统, 电子商务要求程序代码具有基本的要求:安全、可靠、同时要求能与运行于不同 平台的机器的全世界客户开展业务。Java 以其强安全性、平台无关性、硬件结构 无关性、语言简洁同时面向对象,在网络编程语言中占据无可比拟的优势,成为 实现电子商务系统的首选语言。 编辑本段 Java 的八大基本数据类型及其包装类 原始类型 包装类 原始类型所占的字节数 short Short 2 个字节 int Integer 4 个字节 long Long 8 个字节 float Float 4 个字节 double Double 8 个字节第 16 页 河北师范大学本科毕业生论文byte Byte 1 个字节 char Character 2 个字节 boolean Boolean 这个视编译环境而定 编辑本段 Java 新手入门很重要的几个基本概念[8][9][10]final 类:为防止他人从你的类上派生新类,此类是不可扩展的。相关书籍动态调用比静态调用花费的时间要长。 多态类:在 java 中,对象变量是多态的。而 java 中不支持多重继承。 抽象类:规定一个或多个抽象方法的类本身必须定义为 abstract。 例: public abstract string getDescripition Java 中的每一个类都是从 Object 类扩展而来的。 object 类中的 equal 和 toString 方法。 equal 用于测试一个对象是否同另一个对象相等。 toString 返回一个代表该对象的字符串,几乎每一个类都会重载该方法,以 便返回当前状态的正确表示。 (toString 方法是一个很重要的方法) 通用编程:任何类类型的所有值都可以同 object 类型的变量来代替。 封装:就是把数据和行为结合起在一个包中)并对对象使用者隐藏数据的实 现过程,一个对象中的数据叫他的实例字段(instance field)。 重载:当多个方法具有相同的名字而含有不同的参数时,便发生重载。编译 器必须挑选出调用哪个方法。 数组列表:ArrayList 动态数组列表,是一个类库,定义在 java.util 包中, 可自动调节数组的大小。 class 类 object 类中的 getclass 方法返回 class 类型的一个实例,程序启 动时包含在 main 方法的类会被加载,虚拟机要加载他需要的所有类,每一个加载 的类都要加载它需要的类。 C/C++的差异 Java 与 C/C++ 的差异第 17 页 河北师范大学本科毕业生论文熟悉 C 语言和 C++语言的读者一定想搞清楚这个问题,实际上,Java 确实是从 C 语言和 C++语言继承了许多成份,甚至可以将 Java 看成是类 C 语言发展和衍生的产 物.比如 Java 语言的变量声明,操作符形式,参数传递,流程控制等方面和 C 语 言,C++语言完全相同.尽管如此,Java 和 C 语言,C++语言又有许多差别,主要表现在 如下几个方面: (1) Java 中对内存的分配是动态的,它采用面向对象的机制,采用运算符 new 为每个对象分配内存空间,而且,实际内存还会随程序运行情况而改变.程序运行 中,每个, Java 系统自动对内存进行扫描,对长期不用的空间作为”垃圾”进行收 集,使得系统资源得到更充分地利用.按照这种机制,程序员不必关注内存管理问 题,这使 Java 程序的编写变得简单明了,并且避免了了由于内存管理方面的差错而 导致系统出问题.而 C 语言通过 malloc()和 free()这两个库函数来分别实现分配 内在和释放内存空间的,C++语言中则通过运算符 new 和 delete 来分配和释放内存. 在 C 和 C++这种机制中,程序员必须非常仔细地处理内存的使用问题.一方面,如果 对己释放的内存再作释放或者对未曾分配的内存作释放,都会造成死机;而另一方 面,如果对长期不用的或不再使用的内存不释放,则会浪费系统资源,甚至因此造 成资源枯竭. (2) Java 不在所有类之外定义全局变量,而是在某个类中定义一种公用静态的 变量来完成全局变量的功能. (3) Java 不用 goto 语句,而是用 try-catch-finally 异常处理语句来代替 goto 语句处理出错的功能. (4) Java 不支持头文件,而 C 和 C++语言中都用头文件来定义类的原型,全局 变量,库函数等,这种采用头文件的结构使得系统的运行维护相当繁杂. (5) Java 不支持宏定义,而是使用关键字 final 来定义常量,在 C++中则采用 宏定义来实现常量定义,这不利于程序的可读性. (6) Java 对每种数据类型都分配固定长度.比如,在 Java 中,int 类型总是 32 位的,而在 C 和 C++中,对于不同的平台,同一个数据类型分配不同的字节数,同样是 int 类型,在 PC 机中为二字节即 16 位,而在 VAX-11 中,则为 32 位.这使得 C 语言造 成不可移植性,而 Java 则具有跨平台性(平台无关性). (7) 类型转换不同.在 C 和 C++中,可通过指针进行任意的类型转换,常常带来 不安全性,而在 Java 中,运行时系统对对象的处理要进行类型相容性检查,以防止 不安全的转换. (8) 结构和联合的处理.在 C 和 C++中,结构和联合的所有成员均为公有,这就 带来了安全性问题,而在 Java 中根本就不包含结构和联合,所有的内容都封装在类 里面. (9) Java 不再使用指针.指针是 C 和 C++中最灵活,也最容易产生错误的数据 类型.由指针所进行的内存地址操作常会造成不可预知的错误,同时通过指针对某 个内存地址进行显式类型转换后,可以访问一个 C++中的私有成员,从而破坏安全 性.而 Java 对指针进行完全地控制,程序员不能直接进行任何指针操作.第 18 页 河北师范大学本科毕业生论文编辑本段 Java 学习 Java - 近 10 年来计算机软件发展过程中的传奇,其在众多开发者心中的地 位就如“屠龙刀”、“倚天剑”。 Java 是个平台,我只想说说我对学好 Java 的一点看法,希望对初学者有所帮 助。 1. 思考一下 学习 Java 之前,先别急,静下心来好好想想: 1)你对学习 Java 是否有兴趣? 2)你是否能静下心来坚持不懈地学习? 嗯,这是个容易但又绝对不应该忽略的问题,你确信自己对 Java 感兴趣、而 且又有吃苦的准备,那你才可能学好 Java!如果具备这两点条件,就请继续往下 看…… 2. 准备一下 请不要把你的学习 Java 之路和其它计算机技术分开看待,技术的联系往往是 千丝万缕的,你应该掌握一些学习 Java 所涉及的基础知识,对于“CLASSPATH 要 怎么设置啊”、“跪求 JDK 下载地址”等等问题,你不该问,因为 Internet 上太 多答案了,甚至换个角度说,你是不是还不适合直接学习编程? 1)买本 Java 学习用书。 JDK 6 正式版刚刚推出,市面上你暂时买不到 JDK6 的书籍,但我仍推荐你买 一本适合入门的、较新 JDK 版本的 Java 书籍,那么,你现在选择一本讲述 JDK5 的入门书籍还是有条件的。我可以推荐一些入门书,但是我不打算这么做,因为 合我口味的,不一定适合你。但无论如何,《Thinking In Java》绝对不应该作 为你入门 Java 的第一本书籍! 记住,网络上学习 Java 的资源很多,但基本不够系统,拥有一本 Java 入门 书籍,是你系统学习 Java 的基础。 2)准备 Java 学习环境。 准备你的学习环境,很简单,安装 JDK6,然后用类似 UltraEdit、EditPlus 的文本编辑器配置你的学习环境,Internet 上有很多关于如何配置的文章。初学 Java,不建议用 IDE 工具,通过一行行的敲代码,你会碰到很多问题,只有这样, 你才能学会怎样解决问题,并加深自己对 Java 的理解。 准备好后,开始进入激动人心的 Java 学习里程吧! 3. Java 基础学习之路 学习 Java 的过程虽然辛苦些,但又是处处有精彩!学习过程中的心态一定要 保持专一,网上关于语言间的“PK”到处都是,别被浮躁影响!认准了 Java,你就 坚持!克服心魔,恒心最终会给你回报的。 Java 的体系分为 Java SE、Java EE 和 Java ME(JDK 5.0 以前分别叫 J2SE、 J2EE 和 J2ME),Java 的敲门砖就是 Java SE 了,也就是你要入门学习的内容,不 论你日后是选择哪个体系领域作为发展方向,你都得从 Java SE 起步。第 19 页 河北师范大学本科毕业生论文学习 Java SE,打好 Java 基础;如果想学 Java EE(对不起,我不了解 JavaME, 所以我无法涉及 JavaME 的相关内容),对于 AWT、Swing 是否要学习呢,我个人是 觉得还是要知道其所以然的,特别是其事件处理模式,我强烈建议初学者一定要 弄清楚,其他具体的开发就不一定要全面掌握了,毕竟 AWT、Swing 方面的内容足 够用几本大部头的书才能描述详尽;当然,如果你的工作就是做 AWT、Swing 开发, 那就另当别论了。 I/O、Thread 都是基础之一。 4. Java EE 学习之路 学习了 Java SE,还只是完成“万里长征”的第一步。 接下来选择学习 Java EE 或是 Java ME(或者你还想不断深入学习 JavaSE,只 要你喜欢,你可以一直深入下去,就像前面所说的,我不会讲到 Java ME 的学习); 估计选择 Java EE 方面的学习者会多一些,JavaEE 所涉及技术非常多,考虑到初 学者的接受程度,我会尽量从最常用的角度来介绍。 学习 Java EE, 在开发环境上不建议再用文本编辑器, 我感觉 NetBeans 5.5(目 前最高正式版本)很适合初学者,我个人也很喜欢 NetBeans,如果你喜欢用别的 IDE 如 Eclipse,都没问题,看自己喜欢吧。 4.1 学习 JSP/Servlet Java EE 最高版本目前是 5.0 版本。 在 JavaEE 中,首先要学习 JSP/Servlet(结合 Tomcat、MySQL)技术,建议 JSP1.2/2.X 的知识都要掌握,毕竟现在很多的在用系统都还是基于 JSP1.2,学习 JSP,还必须掌握一些外延技术,如:你还得掌握 HTML 基础知识,最好再掌握些 JavaScript(目前正火的 AJAX 技术之一)、 的技术, CSS 而了解 XML 是必不可少的(至 少描述性配置信息是通过 XML 来描述的)。在学习 JSP/Servlet 过程中,应该结合 学习 JDBC、数据库开发技术,毕竟绝大多数 Java Web 项目都是和数据库紧密结合 的。 4.2 学习数据库开发技术 这里我想重点说一下数据库开发技术,数据库技术是做业务系统必备技能, JavaWeb 开发人员最低程度都应该掌握 SQL 语句的使用!数据库技术大体可分为 DBA 技术和数据库开发技术,对于开发而言,应侧重数据库开发技术,而数据库基 本操作,也是要掌握的。常用数据库有 DB2、Oracle、SQLServer、MySQL 等,你 可以结合实际需要,选择一种数据库,并花大力气掌握其开发技术。 记住,学习数据库开发技术和学习 Java EE,是相对独立的,你可以在学习 JSP/Servlet 的同时,学习数据库开发技术(如 SQL 语句等),或者先学数据库开发 技术,之后再学习 JSP/Servlet。 4.3 学习 Java EE 其它开发技术 再往后,可以学习一些 EJB 的知识,目前 EJB 最新版本是 3.0,其和前面的 2.X 版本相比,有较大不同,考虑到目前 EJB2.X 还有很大的应用市场,建议结合 学习 EJB 2.X/3.0。在学习 EJB 过程中,应同时掌握一种企业级应用服务器的使用第 20 页 河北师范大学本科毕业生论文(如 WebSphere、 Weblogic、 Applcation Server 或 JBOSS 等, Sun 目前 Sun Applcation Server9.X 和 JBOSS 都可支持 EJB 3.0)。 之后的学习中,再逐渐扩展到其他 Java EE 技术。 5. 之后 等你对 Java EE 有些感悟的时候,你自然就会想不断扩展你的知识面,这时 候你可以学习 Spring、Hibernate,以及各种 Web 框架(如 Struts、JSF、Webwork 或是 Tapestry 等)。 随着技术、经验的不断积累,你会逐步关注分析、设计等更高层次的知识, 这时候,你可进一步学习相关的 UML、模式等知识(积累了一定经验,你就可以安 排自己学习这些知识了)。 6. 小结 永远记住:自始至终,实践是学习 Java 技术历程中极其重要的一环。脱离了 实践,是学不好技术的! Java 学习、实践之路依然没有银弹,况且一步步走来,要学的东西很多,勤 奋是金! 善于利用 Internet 上众多的资源,多吸取些别人的经验。 编辑本段 Java 架构设计 软件架构作为一个概念,体现在技术和业务两个方面。 从技术角度来说:软件架构随着技术的革新不断地更新其内容,软件架构建 立于当前技术和一些基本原则的基础之上。 先说一些基本原则: 分层原则:分层是为了降低软件深度复杂性而使用的关键思想,就像社会有 了阶级一样,软件有了层次结构。 模块化原则:模块化是化解软件广度复杂的必然手段,模块化的目的就是让 软件分工。 接口实现分离原则随着软件模块化的不断深入改进,面向接口编程而不是面 向实现编程可以让复杂度日趋增高的软件降低模块之间的耦合度,从而让各模块 更轻松改进。从这个原则出发,软件也从微观进行了细致的规范化。 还有两个比较小但很重要的原则: 细节隐藏原则很显然把复杂问题简化,把难看的细节隐去,能让软件结构更 清晰。其实这个原则使用很普遍,java/c++语言中的封装原则以及设计模式中的 Facade(外观)模式就很能体现这个原则的精神。 依赖倒置原则随着软件结构的进一步发展,层与层之间、模块与模块之间的依 赖逐渐加深,而层、模块的动态可插拔要求不端增大。依赖倒置原则可看视 为接 口实现分离原则的深化,根据此原则的精神,软件进入了工具时代。这个原则有 点类似于知名的好莱坞法则:Don't call us, we'll call you。第 21 页 河北师范大学本科毕业生论文以上这些原则奠定了我们的软件架构的价值指标。但软件架构毕竟是建立在 当前技术之上的。而每一代技术都有架构模式。过去的不再说了,让我们现在就 来看一下当前流行的技术,以及当前我们能采用的架构。 因为面向对象是当前最流行开发技术,且设计模式的大量使用使面向对象的 走向成熟,而数据库是当前最有效的存储结构、web 界面是当前最流行的用 户接 口,所以当前最典型的三层次架构就架构在以上几项技术的基础之上,用数据库 作存储层、用面向对象来实现业务层、用 web 来作为用户接口层。我们从三层 次 架构谈起: 因为面向对象技术和数据库技术不适配,所以在标准三层次架构的基础上, 我们增加了数据持久层,来管理 O-R 双向映射,但目前一直没有最理想的实 现技 术。cmp 和 entity bean 技术因为其实现复杂,功能前景有限,已接近被淘汰的边 缘。JDO 及 hibernate 作为 o-r 映射的后期之秀,尤其是 hibernate,功能 相当 完备。推荐作为持久层的首选 在业务层,因为当前业务日趋负载,且变动频繁,所以我们必须有足够敏捷的 技术来保证我们的适应变化的能力,在标准 j2ee 系统中 session bean 负责业务 处理,且有不错的性能表现,但采用 ejb 系统对业务架构模式改变太大,且其复 杂而昂贵,业务代码移植性差。而 spring 作为一个 bean 配置的轻量级架构,漂 亮的 IOC 模式实现,对业务架构影响小,所以推荐作为中间层业务框架。 在用户结构层,虽然 servlet/jsp/jstl/javaBean 能够实现 MVC 架构,但终究 过于粗糙。struts 对 MVC 架构的实现就比较完美,Taperstry 也极好地实现 MVC 架构,且采用基于事件的方式,非 常诱人,惜其不够成熟,我们仍旧推荐 struts 作为用户接口层基础架构。 因为业务层是三层次架构中最有决定意义的,所以让我们回到业务层细致地 分析一下,在复杂的业务我们常常需要以下基础服务的一种或几种:事务一致 性 服务 acid(tool:jta/jts)、 并发加锁服务 concurrent&&lock、 池化管理服务 cache、 访问控制服务 (tool:jaas)、流程控制服务 workflow、动态实现服务 IOC,串行 化消息服务(tool:jms)、负载平衡服务 blance 等。如果我 们不采用重量级应用 服务器(如 weblogic,websphere,jboss 等)及重量级组件(EJB),我们必须自己实 现其中一些服务。虽然我们大 多情况下,不需要所有这些服务,但实现起来却非 易事。幸运的是我们有大量的开源实现代码,但采用开源代码却常常是件不轻松的 事。 随着 xml 作为结构化信息传输和存储地位日渐重要,一些 xml 文档操作工具 (DOM,Digester,SAX 等)的使用愈发重要,而随着 xml schema 的 java binding 工 具(jaxb,xmlbean 等)工具的成熟,采用 xml schema 来设计 xml 文档格式,然后采 用 java binding 来生成 java bean 会成为主要编程模式,而这又进一步使数据中 心向 xml 转移,使在中小数据量上,愈发倾向于以 xquery 为查询语言的 xml 数据库。 最近还有一个趋势, microsoft,ibm 等纷纷大量开发中间软件如(microsoft office 之 infopath),可以直接从 xml schema 生成 录入页面等非常实用的功能。第 22 页 河北师范大学本科毕业生论文还有 web service 的广泛应用,都将对软件的架构有非常重大的影响。至于面向 服务架构(SOA)前景如何,三层次架构什么时候走入历史,现在还很难定论。 aop 的发展也会对软件架构有很深的影响, 但在面向对象架构里, 无论 aspectJ 还是 jboss-aop 抑是 aspectWerks、 nanning 都有其自身的严重问题:维护性很差, 所以说它将很难走远。也许作为一个很好的思想,它将在 web service 里大展身 手。 rdf,owl 作为 w3c 语义模型的标志性的语言,也很难想象能在当前业务架构发 挥太大影响。但如果真如它所声称那样,广泛地改变着信息的结构。那么对软件 架构也会有深远影响。 编辑本段 Java 开发中的技巧 Eclipse 中最常用的快捷键:Ctrl+L Go to Line F5 Step Into Ctrl+H Open Search Dialog Ctrl+Shift+K Find Previous Ctrl+F11 Run Ctrl+Shift+\ Remove Block Comment F11 Debug Ctrl+Shift+/ Add Block Comment Ctrl+K Find Next F8 Resume (during Debug) Ctrl+O Quick Outline Alt+Shift+R Rename (Refactoring) F3 Open Declaration Ctrl+R Run to Line Ctrl+/ Toggle Comment Ctrl+Shift+O Organize Imports F6 Step Over Ctrl+Shift+F Format Ctrl+Shift+G References in Workspace 编辑本段 Java 与云计算 云计算是 IT 产业发展的趋势和变革方向,云计算对整个 IT 产业都产生了深 远影响, 很多 Java 厂商加入云计算的行列,将精力和目光投向云计算。 [11] 观察 Java 的技术发展方向可以很明显发现众多的 Java 技术厂商已经将其目 标聚焦在云计算当中。在 Google、VMWare 这样的巨头带领下,众多的小厂商也开 始加入到行列当中。第 23 页 河北师范大学本科毕业生论文Java 虚拟机(Java Virtual Machine) 简称 JVM Java 虚拟机是一个想象中的机器,在实 际的计算机上通过软件模拟来实现。 Java 虚拟机有自己想象中的硬件,如处理器、 堆栈、 寄存器等,还具有相应的指令系统。 目录 定义 简介 特点 使用主体 安装方法 支持的数据类型 JVM 规格描述 体系结构 定义 简介 特点 使用主体 安装方法 支持的数据类型 JVM 规格描述 体系结构?JVM 的运行过程展开 编辑本段定义 编辑本段 定义 Java 虚拟机(Java Virtual Machine 简称 JVM)是运行所有 Java 程序的抽 象计算机,是 Java 语言的运行环境,它是 Java 最具吸引力的特性之一。 编辑本段简介 编辑本段 简介 Java 虚拟机(JVM)一种用于计算机设备的规范, 可用不同的方式 (软件或硬件) 加以实现。编译虚拟机的指令集与编译微处理器的指令集非常类似。Java 虚拟机 包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法 域。第 24 页 河北师范大学本科毕业生论文Java 虚拟机(JVM)是可运行 Java 代码的假想计算机。只要根据 JVM 规格描述 将解释器移植到特定的计算机上,就能保证经过编译的任何 Java 代码能够在该系 统上运行。 Java 虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。 Java 虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令 系统。 编辑本段特点 编辑本段 特点 Java 语言的一个非常重要的特点就是与平台的无关性。 而使用 Java 虚拟机是 实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译 成不同的目标代码。而引入 Java 语言虚拟机后,Java 语言在不同平台上运行时不 需要重新编译。Java 语言使用模式 Java 虚拟机屏蔽了与具体平台相关的信息,使 得 Java 语言编译程序只需生成在 Java 虚拟机上运行的目标代码(字节码),就可以 在多种平台上不加修改地运行。 Java 虚拟机在执行字节码时,把字节码解释成具体 平台上的机器指令执行。i do believe 编辑本段使用主体 编辑本段 使用主体 Java 虚拟机是 Java 语言底层实现的基础,对 Java 语言感兴趣的人都应对 Java 虚拟机有个大概的了解。这有助于理解 Java 语言的一些性质,也有助于使用 Java 语言。对于要在特定平台上实现 Java 虚拟机的软件人员,Java 语言的编译器作者 以及要用硬件芯片实现 Java 虚拟机的人来说,则必须深刻理解 Java 虚拟机的规 范。另外,如果你想扩展 Java 语言,或是把其它语言编译成 Java 语言的字节码,你 也需要深入地了解 Java 虚拟机。 编辑本段安装方法 编辑本段 安装方法java 虚拟机安装方法 [1]下载解压: 下载解压第 25 页 河北师范大学本科毕业生论文下载 j2sdk-1_4_2_05-linux-i586.bin 随便放到一个目录里,比如/tmp。 在终端里输入:sh j2sdk-1_4_2_05-linux-i586.bin 回车 之后会出现一堆软件说明,按回车 n 次直到问你 yes or no,当然回答 yes, 输入 y,回车后开始解压缩。 完成之后,在/tmp 里就会出现一个名为 j2sdk1.4.2_05 的文件夹。 安装: 安装 安装很简单:将 j2sdk1.4.2_05 文件夹复制到/usr 目录里。 设置环境变量: 只有设置好环境变量,系统才能调用 java 虚拟环境 打开/etc/profile 文件,在相关位置中加入: export JAVA_HOME=/usr/j2sdk1.4.2_05 export PATH=/usr/j2sdk1.4.2_05/bin:$PATH export CLASSPATH=/usr/j2sdk1.4.2_05/lib:/usr/j2sdk1.4.2_05/jre/lib:.: 保存 设置中文字体: 注意:下面涉及到的文件请先备份,以防万一! 进入/usr/j2sdk1.4.2_05/jre/lib/文件夹 删除里面所有带.zn 的文档,只留下 font.properties.zh 文档。 安装 simsun 字体如果不喜欢 simsun 可以不装。 编辑 font.properties.zh,将所有 -tlc-song-medium-r-normal--*-%d-*-*-c-*-gbk-0 替换成: -misc-simsun-medium-r-normal--*-%d-*-*-c-*-gbk-0(如果没装 simsun 字 体,可以将-simsun-那里改成你喜欢的字体,前提是该字体在系统中存在) 之后在终端中转到目录/usr/j2sdk1.4.2_05/jre/bin/下 输入命令: ./ControlPanel 回车 编辑本段支持的数据类型 编辑本段 支持的数据类型 Java 虚拟机支持 Java 语言的基本数据类型如下: byte://1 字节有符号整数的补码 short://2 字节有符号整数的补码 int://4 字节有符号整数的补码 long://8 字节有符号整数的补码 float://4 字节 IEEE754 单精度浮点数 double://8 字节 IEEE754 双精度浮点数 char://2 字节无符号 Unicode 字符第 26 页 河北师范大学本科毕业生论文几乎所有的 Java 类型检查都是在编译时完成的。上面列出的原始数据类型的 数据在 Java 执行时不需要用硬件标记。操作这些原始数据类型数据的字节码(指 令)本身就已经指出了操作数的数据类型,例如 iadd、ladd、fadd 和 dadd 指令都 是把两个数相加,其操作数类型别是 int、long、float 和 double。虚拟机没有给 boolean(布尔)类型设置单独的指令。boolean 型的数据是由 integer 指令,包括 integer 返回来处理的。boolean 型的数组则是用 byte 数组来处理的。虚拟机使 用 IEEE754 格式的浮点数。不支持 IEEE 格式的较旧的计算机,在运行 Java 数值计 算程序时,可能会非常慢。 虚拟机支持的其它数据类型包括: object//对一个 Javaobject(对象)的 4 字节引用 returnAddress//4 字节,用于 jsr/ret/jsr-w/ret-w 指令 注:Java 数组被当作 object 处理。 虚拟机的规范对于 object 内部的结构没有任何特殊的要求。在 Sun 公司的实 现中,对 object 的引用是一个句柄,其中包含一对指针:一个指针指向该 object 的 方法表,另一个指向该 object 的数据。用 Java 虚拟机的字节码表示的程序应该遵 守类型规定。Java 虚拟机的实现应拒绝执行违反了类型规定的字节码程序。Java 虚拟机由于字节码定义的限制似乎只能运行于 32 位地址空间的机器上。但是可以 创建一个 Java 虚拟机,它自动地把字节码转换成 64 位的形式。从 Java 虚拟机支 持的数据类型可以看出,Java 对数据类型的内部格式进行了严格规定,这样使得各 种 Java 虚拟机的实现对数据的解释是相同的,从而保证了 Java 的与平台无关性和 可移植性。 编辑本段 JVM 规格描述 JVM 的设计目标是提供一个基于抽象规格描述的计算机模型, 为解释程序开发 人员提范的任何系统上运行。JVM 对其实现的某些方面给出了具体的定义,特别是 对 Java 可执行代码,即字节码(Bytecode)的格式给出了明确的规格。这一规格包 括操作码和操作数的语法和数值、标识符的数值表示方式、以及 Java 类文件中的 Java 对象、常量缓冲池在 JVM 的存储映象。这些定义为 JVM 解释器开发人员提供 了所需的信息和开发环境。 Java 的设计者希望给开发人员以随心所欲使用 Java 的 自由。 JVM 定义了控制 Java 代码解释执行和具体实现的五种规格,它们是: *JVM 指令系统 *JVM 寄存器 *JVM 栈结构 *JVM 碎片回收堆 *JVM 存储区 JVM 指令系统 JVM 指令系统同其他计算机的指令系统极其相似。Java 指令也是由 操作码和 操作数两部分组成。操作码为 8 位二进制数,操作数进紧随在操作码的后面,其第 27 页 河北师范大学本科毕业生论文长度根据需要而不同。操作码用于指定一条指令操作的性质(在这里我们采用汇 编符号的形式进行说明),如 iload 表示从存储器中装入一个整数,anewarray 表 示为一个新数组分配空间,iand 表示两个整数的&与&,ret 用于流程控制,表示 从对某一方法的调用中返回。当长度大于 8 位时,操作数被分为两个以上字节存 放。JVM 采用了&big endian&的编码方式来处理这种情况,即高位 bits 存放在低 字节中。这同 Motorola 及其他的 RISC CPU 采用的编码方式是一致的,而与 Intel 采用的&little endian &的编码方式即低位 bits 存放在低位字节的方法不同。 Java 指令系统是以 Java 语言的实现为目的设计的, 其中包含了用于调用方法和监 视多先程系统的指令。Java 的 8 位操作码的长度使得 JVM 最多有 256 种指令,目 前已使用了 160 多种操作码。 JVM 寄存器 所有的 CPU 均包含用于保存系统状态和处理器所需信息的寄存器组。如果虚 拟机定义较多的寄存器,便可以从中得到更多的信息而不必对栈或内存进行访问, 这有利于提高运行速度。然而,如果虚拟机中的寄存器比实际 CPU 的寄存器多, 在实现虚拟机时就会占用处理器大量的时间来用常规存储器模拟寄存器,这反而 会降低虚拟机的效率。针对这种情况,JVM 只设置了 4 个最为常用的寄存器。它们 是: pc 程序计数器 optop 操作数栈顶指针 frame 当前执行环境指针 vars 指向 当前执行环境中第一个局部变量的指针 所有寄存器均为 32 位。pc 用于记录程序 的执行。optop,frame 和 vars 用于记录指向 Java 栈区的指针。 JVM 栈结构 作为基于栈结

我要回帖

更多关于 为什么从事java开发 的文章

 

随机推荐