第一篇:Java程序员供需分析
Java程序员供需分析
学生姓名:张挥
黑龙江八一农垦大学理学院数学系信息与计算科学2010级
中文摘要
Java是一种简单的,面向对象的,分布式的,说明型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。JAVA程序员广义上是指一群以JAVA为谋生手段的软件开发人员。狭义的说,是指拥有SUN公司JAVA认证的程序员。
Sun Java认证分为两个级别:Sun 认证Java程序员和Sun 认证Java开发员。Sun 认证Java程序员考试内容涉及Java所有相关知识、编程概念及applet开发技巧。Sun认证Java程序员考试旨在考察您通过应用软件分配进行复杂编程的能力。之后还要测试您完成编程所需的知识。每次考试都包括65道以上的多项选择题,时间大约为90分钟。考试合格后由Sun公司颁发的国际通用的Java程序员证书。
关键词:JAVA,JAVA程序员,JAVA开发员,动态语言。
引言
Java是一种简单的,面向对象的,分布式的,说明型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(Java 2 Platform Micro Edition,java平台微型版)。所以一般JAVA培训也分为J2SE,J2EE,J2ME培训,各个体系的方向有所不同,JAVA培训的内容也有所不同。
通过JAVA培训,学员可以系统把握面向对象编程语言JAVA的核心语法,能够理解J2SE、J2ME、J2EE三种体系架构的理论思想和架构内容,把握JAVA程序设计的主要模式和核心思想,熟练把握基于JAVA语言的编程技巧和编程工具,能够独立完成基于JAVA的客户端和服务器端应用程序的开发、调试、部署和执行。一般JAVA培训包括以下内容:HTML/XML语言。数据库技术。Java程序设计。数据结构与算法。Java设计模式。J2EE设计和应用。
Eclipse/CVS/OpenSource.软件测试/安全性编码技术。UML设计。UNIX.项目实战。
JAVA程序员广义上是指一群以JAVA为谋生手段的软件开发人员。狭义的说,是指拥有SUN公司JAVA认证的程序员。
Sun Java认证分为两个级别:Sun 认证Java程序员和Sun 认证Java开发员。Sun 认证Java程序员考试内容涉及Java所有相关知识、编程概念及applet开发技巧。Sun认证Java程序员考试旨在考察您通过应用软件分配进行复杂编程的能力。之后还要测试您完成编程所需的知识。每次考试都包括65道以上的多项选择题,时间大约为90分钟。考试合格后由Sun公司颁发的国际通用的Java程序员证书。
1、Java语言的四大应用领域
Java技术自1995年问世以来,在我国的应用和开发也得到了迅速普及,总体来看,这些应用主要集中于企业应用开发。据有关单位调查显示,从开发领域的分布情况上看 Web开发占了一半以上,为57.9%,JavaME移动或嵌入式应用占15%,C/S应用占11.7%,系统编程占15.4%。近30%的开发者用Java从事C/S应用或系统级应用的开发。在桌面应用上,尽管Java在桌面GUI方面尚有不尽如人意之处,但仍然有很多开发者用来开发运行在多种操作系统平台上的桌面应用。具体应用在如下几个领域: 1.行业和企业信息化
由于Sun、IBM、Oracle、BEA等国际厂商相继推出各种基于Java技术的应用服务器以及各种应用软件,带动了Java在金融、电信、制造等领域日益广泛的应用。如清华大学计算机系利用Java、XML和Web技术研制开发了多个软件平台,东方科技的Tong Web、金碟的Apusic、中创的Inforweb 等J2EE应用服务器及和佳ERP和宝信ERP等ERP产品,已在许多企业得到应用。2.电子政务及办公自动化
东方科技、金碟、中创等开发的J2EE应用服务器在电子政务及办公自动化中也得到应用: 如金碟的Apusic在民政部、广东省市工商局应用;东软电子政务架构EAP平台在社会保险、公检法、税务系统得到应用;中创的Inforweb等Infor系列中间件产品在国家海事局、山东省政府及中国建设银行、民生银行等金融系统应用;无锡永中科技基于Java平台开发的国产化集成办公软件“永中Office”也已在一些省市政府部门得到应用。3.嵌入式设备及消费类电子产品
无线手持设备、通信终端、医疗设备、信息家电(如数字电视、机顶盒、电冰箱)、汽车电子设备等是今年以来比较热门的Java应用领域。在这方面的应用有中国联通CDMA 1X网络中基于Java技术的无线数据增值服务——UniJa。4.辅助教学
在辅助教学方面,东南大学与中兴通讯公司开发了远程教学系统,用于本地网上教学、课后学习和异地远程教育,清华大学用Java进行了“计算机软件基础课”教学改革,分析研究Java教学软件BlueJ的汉化方案,电子科技大学应用Java RMI技术进行远程教育,西安电力高等专科学校采用Java技术,开发了交互式电站仿真系统,实现电站锅炉仿真、锅炉膛火焰仿真,为实现网上仿真进行有益探索。
不过,与Java技术应用比较普及的国家相比,我国在应用的深度和广度上都还存在一定的差距。为了加快Java技术在我国的普及,笔者在此提出以下几点建议: 1.政府主管部门要把Java技术及应用作为落实”十一五”软件及信息产业发展规划的重要环节,继续支持开发有自主版权的软件产品,支持建立Java技术产品评测中心,加强对相关产品的质量监管。
2.各行业主管部门及行业协会应积极组织软件企业开发基于Java的行业应用软件,有条件的可以建立行业软件组件库,这是防止低水平重复开发,加快国产软件商品化、产业化的有效办法。
3.通过学会、协会与有关企业合作,继续组织各种类型的Java技术交流及科普活动。
4.搞好Java社区及Java网站,采用多种途径加强Java的宣传教育培训与人才培养。
2、Java程序员就业发展方向:
Java程序员的未来发展方向大致分为两类:
一是成为管理人员,例如产品研发经理,技术经理,项目经理等;
二是继续他的技术工作之路,成为高级软件工程师、需求工程师等。
3、java程序员就业前景分析
目前,我国对软件人才的需求已达20万,并且以每年20%左右的速度增长。在未来5年内,合格软件人才的需求将远大于供给。2005年,我国软件人才的缺口已达42.5万,其中尤以JAVA人才最为缺乏。根据IDC的统计数字,在所有软件开发类人才的需求中,对JAVA工程师的需求达到全部需求量的60%~70%。同时,JAVA工程师的薪水相对较高。通常来说,具有3~5年开发经验的工程师,拥有年薪10万元是很正常的一个薪酬水平。80%学员毕业后年薪都超过了5万元。
现在,虽然JAVA人才的薪水很高,但是对该类人才需求旺盛的IT企业却很难招聘到合格的JAVA人员。其中,最根本的原因就是许多计算机专业的毕业生在读期间没有掌握实用的技能与经验,距离企业的实际用人需求有较大的差距。因此,计算机专业的大学生欲成为JAVA工程师,最便捷的一条路就是参加以实战项目为主要教学方法的JAVA职业技能培训,从而有效地缩短同企业具体用人需求之间的差距。全球有25亿Java器件运行着Java,450多万Java开发者活跃在地球的每个角落,数以千万计的Web用户每次上网都亲历Java的威力。今天,Java运行在7.08亿手机、10亿智能卡和7亿PC机上,并为28款可兼容的应用服务器提供了功能强大的平台。这么多应用,彻底改变了用户的生活。越来越多的企业,因为使用了Java而提高了生产效率。在中国,越来越多的用户,因为Java而降低了成本,享受了生活。
Sun公司副总裁、Sun研究院院士、软件部首席技术官詹姆斯·戈士林(JamesGosling)博士以“Java技术之父”闻名于世。作为Sun研究院院士,他亲手设计了Java语言,完成了Java技术的原始编译器和虚拟机。在他的带领下,Java现已成为互联网的标准编程模式以及分布式企业级应用的事实标准,其跨平台的技术优势为网络计算带来了划时代的变革.自1995年5月正式推出的11年以来,Java已从编程语言发展成为全球第一大通用开发平台。Java技术已为计算机行业主要公司所采纳,同时也被越来越多的国际技术标准化组织所接受。1999年,Sun推出了以Java2平台为核心的J2EE、J2SE和J2ME三大平台。随着三大平台的迅速推进,在世界上形成了一股巨大的Java应用浪潮。作为唯一在互联网上开发的语言,Java平台以其移动性、安全性和开放性受到追捧。据IDC预计,自2001年起的其后5年内,采用Java的IT产品的价值将翻番,在2006年将达到4.53亿美元,年增长率为14.9%。截止到2003年5月,Java注册开发商超过300万人,对JRE(Java运行环境)的下载达7200万次。詹姆斯·戈士林博士预计在3~5年内Java技术开发商将发展到1000万。无线Java也在迅速攀升。
据Sun公司副总裁詹姆斯·戈士林透露,Sun刚与中国联通和振戎融通公司结成了技术联盟,将用“UniJa”品牌进一步促进Java技术的无线应用和服务。手机制造商TCL公司也已取得了Java2平台的移动版的许可,使中国移动用户得以使用基于Java技术的新型TCL手机。而目前世界上采用Java技术的手机已有1.2亿部,全球七十多家运营商基于Java技术推出了200多款的不同类型的手机。詹姆斯·戈士林博士最近指出,“在短短的十年间,Java社团已发展成为拥有数百万之众的群体,他们以其聪明才智和协同作战的方式,为Java这一未来最酷的技术作出了巨大的贡献。那么,下一个十年,Java将发展到怎样的程度?只有那些使Java发展到今天的开发商群体才有资格回答这一问题。
我们相信,Java发展之路将把我们带向更加令人神往的前方。Java的前景一片辉煌!” Java程序员是美国SUN公司国际认证的程序员,她是目前全球最受重视、最受欢迎的程序员资格认证之一,具备这一认证就可以获得极好的工作机会和丰厚待遇。Java跨平台等许多特性使之成为当代成长最快的软件产品:它受到了大约150个许可证颁发机构、200所大学和50万开发者的拥戴;1000多个应用程序是用它编写的;有关它的书籍有800余种;Java开发套件的下载次数超过一百万次;Java BEANS? 开发套件的下载次数超过10万次;受到了全球所有主要计算机厂商的支持,而这一切都发生在其发表后的800天内;Java闯入企业计算的心脏正成为大众传媒舆论的推动力量,正在改变企业的计算环境。它通过为因特网商务提供安全和稳健平台的方式改变商业自身。
Java计算是各行各业中倍受信赖的企业解决方案。独立于平台的Java计算环境可以降低企业的总成本,缩短产品上市周期,安全地扩展公司的网络。不少国家到中国寻求合作伙伴时,都把能否用Java进行编程作为合作的前提条件。当前世界各地持有Java Programmer证书的人员供需差距极大,迫使企业不得不用高薪聘请Java程序员。因此,Java Programmer的含金量比一般的技术人员要高出很大一块。在美国、加拿大、澳大利亚、新加坡等发达国家和中等发达国家,持有Java Programmer认证证书的人年薪均在4-10万美金,而在国内持有Java Programmer认证的程序员也有极好的工作机会和很高的薪水。Java程序员是美国SUN公司国际认证的程序员,她是目前全球最受重视、最受欢迎的程序员资格认证之一,具备这一认证就可以获得极好的工作机会和丰厚待遇。Java跨平台等许多特性使之成为当代成长最快的软件产品:它受到了大约150个许可证颁发机构、200所大学和50万开发者的拥戴;1000多个应用程序是用它编写的;有关它的书籍有800余种;Java开发套件的下载次数超过一百万次;Java BEANS? 开发套件的下载次数超过10万次;受到了全球所有主要计算机厂商的支持,而这一切都发生在其发表后的800天内;Java闯入企业计算的心脏正成为大众传媒舆论的推动力量,正在改变企业的计算环境。它通过为因特网商务提供安全和稳健平台的方式改变商业自身。Java计算是各行各业中倍受信赖的企业解决方案。独立于平台的Java计算环境可以降低企业的总成本,缩短产品上市周期,安全地扩展公司的网络。不少国家到中国寻求合作伙伴时,都把能否用Java进行编程作为合作的前提条件。
当前世界各地持有Java Programmer证书的人员供需差距极大,迫使企业不得不用高薪聘请Java程序员。因此,Java Programmer的含金量比一般的技术人员要高出很大一块。在美国、加拿大、澳大利亚、新加坡等发达国家和中等发达国家,持有Java Programmer认证证书的人年薪均在4-10万美金,而在国内持有Java Programmer认证的程序员也有极好的工作机会和很高的薪水。詹姆斯·戈士林博士指出,“在短短的十年间,Java社团已发展成为拥有数百万之众的群体,他们以其聪明才智和协同作战的方式,为Java这一未来最酷的技术作出了巨大的贡献。那么,下一个十年,Java将发展到怎样的程度?只有那些使Java发展到今天的开发商群体才有资格回答这一问题。我们相信,Java发展之路将把我们带向更加令人神往的前方。Java的前景一片辉煌!”
总结
JAVA人才社会需求量大,根据IDC的统计数字,在所有软件开发类人才的需求中,对JAVA工程师的需求达倒全部需求量的60%~70%。同时,JAVA工程师的薪水相对较高。通常来说,具有3~5年开发经验的工程师,拥有年薪10万元是很正常的一个薪酬水平。80%学员毕业后年薪都超过了5万元。Java平台以其移动性、安全性和开放性受倒追捧。
【参考文献】
1、张京,闫术卓,《Java程序员生存手册 问自己赢得一份IT名企职位》,2010年7月。
2、保罗·戴特尔,哈维·戴特尔,《Java程序员教程》,2010年5月。
3、(美)Douglas A.Lyon著;朱剑平,汪青青等译,《Java程序员指南》,2005年。
4、(美)(D.I.乔希)Daniel I.Joshi,(美)(P.A.沃罗别夫)Pavel A.Vorobiev著;吕宏辉,李建萍译,《Java程序员参考大全》,1999年。
5、陈畅,《100个最具前景的职业 理科版》,2010年1月。
第二篇:Java程序员入行需要做哪些准备工作
千锋教育-中国IT职业教育领先品牌
Java程序员入行需要做哪些准备工作
随着IT从业人员的分工会越来越细,要求也会越来越专业,很多想要入行的人士不知道做何种准备才能更好适应此行业,为此千锋老师依据相关招聘信息分析得出所有公司招聘Java程序员的三类基本要求:
一、入行的两个基本要求
(1)学历:大学本科及以上学历(能力优秀的专科也考虑),计算机及其相关专业;
(2)经验:一年以上Java开发工作经验;
这两个要求,可以说,是目前大多数开发类技术岗位上,一定都会有的要求。
(一)学历问题的门槛分析
学历方面,文凭都只是“沉没成本”!只是证明了你在过去的时间段内有学好某个方面知识的能力!具体到某个时间段的某个特定的人来说,就不一定了,但没办法,HR们也看不到你的未来,只能看到你的过去,所以,也就只能通过“过去和现在,从概率上排除你了”!
越来越多的公司开始限定最低本科学历,除了上面的学习能力之外,还有一个更重要的原因,HR部门年终的时候都要给老总出一张图表,其上显示“985院校招了多少,普通本科招了多少,专科招了多少”,以显示公司人员的“综合学历”越来越高,人力资源部的工作越做越出色,这就是“形式决定内容!”
(二)如何跨越学历门槛
虽说学历绝大多数时候都只是个敲门砖,但是基本的要求还是要达到的,当然,如果你的要求不太合适,可以强调你的技术实力!人力资源部门在学历方面会设置门槛,而技术部门却对你的“功力”更看重,有个能立即上手干活的下属
千锋教育www.xiexiebang.com
比一张文凭更重要,毕竟你“干多了,干好了”,功劳全是领导的,“领导功不可没呀!呵呵!”
在绝大多数公司中,技术部门的权限要比人力资源部的权限大多了,所以,如何绕过HR们,找到直接的“未来上级”就显得格外重要了!
(三)经验问题的门槛分析
经验方面,很多大学生会说:“我如何能具备工作经验啊?”,“那我就没办法找到工作了?”……
没办法,这个社会就是这么残酷!企业是盈利为目的的!大多数公司,都不想花培养人的成本,都希望用熟手,所以,你的工资高低是由“利润贡献度”决定的!而不是公司的规模,不一定大公司的工资就比小公司高!;但从另一方面来说,具有一定的项目开发经验,工作起点就会高很多,不管是收入,还是发展,你都会站在一个比较有利的位置上。
实际上,大学生也可以通过一定的训练,积累很多的项目开发经验,达到工作1-2年程序员的水平,这个我们下次再讨论。
二、入行的三个软实力要求
(1)良好的职业素养,有较强的学习能力,能不断提升自我能力;
(2)具有良好的表达,较强的沟通能力,富有进取心,能承受一定的工作压力;
(3)具有阅读相关技术需求文档能力;具有一定的软件设计及文档编写能力;
这三个要求,也是对当今IT技术人员的基本要求了:学习能力关系到你是否具有可持续的职场发展能力;沟通能力关系到你能否在团队中愉快地工作,同时也保证项目的顺利进行;阅读和写作能力,这差不多是中国理工科学生的软肋,千锋教育-中国IT职业教育领先品牌
千锋教育www.xiexiebang.com
所以招聘方,一般都着力强调。
不过这些方面的能力,在工作中适当训练,即可提高,毕竟也是软实力,面试不太好考核,关键是以下的硬性技术指标要求。
千锋教育-中国IT职业教育领先品牌
三、入行的Java硬性技术要求
(1)精通Java开发语言、熟练掌握Eclipse开发工具;
(2)熟悉HTML、精通Apache、JSP、Servlet3.x等Web开发相关技术;
(3)熟悉主流数据库Oracle、MySQL、MS-SQL Server,熟练掌握SQL。
(4)熟悉使用Struts2.x、Spring4.x、Hibernate5等常用开发框架;
(5)熟练使用JavaScript、Ajax技术及AngularJS等前端MVC框架;
(6)具有一年及以上相关开发经验;
除此之外,还有一些特色要求:
(1)精通J2EE,熟悉主流应用服务器如JBOSS(WildFly)、WebLogic、WebSphere中至少一种;
(2)熟悉J2EE平台部署配置及性能调试(WebLogic和WebSphere);
(3)熟悉web service 开发,精通一种大型数据库开发和调试;
(4)精通Transaction、Security、Persistence等机制及实现,IOC、AOP、SOA
千锋教育www.xiexiebang.com
等理念及实现;
千锋教育-中国IT职业教育领先品牌
(5)熟练掌握面向对象的分析设计技术和工具,包括UML等;
(6)了解Web应用的性能瓶颈和调优方式;
(7)了解软件测试、软件工程、SOA、设计模式等相关知识;
(8)应用过UML、重构、软件设计模式,Ruby技术者优先;
当然,这些技术要求,并不特别要求你一定会掌握,有些可以通过快速的学习掌握,有些需要长时间的积累。
HR们自己也明白,这些要求属于人力资源储备式样的要求,如果你具备,可以在面试中加分,不具备,关系也不大。
四、如何成为一名合格的Java程序员?
有了上面的分析,我们可以看出,要成为一个合格的Java程序员,必须具备过硬的技术本领,集中在三个方面:
(1)精通Java面向对象基本语法,能完成Java Web开发;
(2)熟练SSH三大开发框架,能用它们完成一些项目;
(3)掌握主流数据库Oracle、MySQL、MS-SQL Server,熟练掌握SQL;
千锋教育www.xiexiebang.com
仔细分析一下,要达到上述三个基本要求,也不是那么的难,你只需要花上4-6个月的时间,找齐备资料,自己开发一些小程序,再参加一些项目的开发,如果你感觉你的自学能力还不够,可以去参加一些培训,和一些同学,一起学习。
千锋教育-中国IT职业教育领先品牌
千锋教育www.xiexiebang.com
第三篇:java程序员需掌握的知识点
一、数据库事务
答:是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。事务处理可以确保事务性单元内的所有操作都成功完成,否则永久不会更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。
事务是数据库运行中的一个逻辑工作单位,由数据库管理系统(DBMS)中的事务管理子系统负责事务的处理。
原子性
事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消除了系统处理操作子集的可能性。
一致性
事务在完成时,必须使所有的数据都保持一致状态。
隔离性
由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。
持久性
事务完成之后,它对于系统的影响是永久性的。该修改即使出现致命的系统故障也将一直保持。
二、多态,重写,重载
重写:重写的方法必须和被重写的方法相同的方法名、参数列表和返回值类型。
重载:重载时只能通过相同的方法名、不同的参数形式实现。不同的参数类型可以是不同的参数类型,不同的参数个数,不同的参数顺序(参数类型必须不一样)。
多态:父类对象持有对子类的引用,并可以调用子类的方法,但该方法的实际持有对象是子类。
三、JDBC思想
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java编写的类和接口组成。1.注册驱动(只做一次)2.建立连接(Connection)
3.创建执行SQL的语句(Statement)
4.处理执行结果(ResultSet)
5.释放资源(ResultSet, Statement,Connection)
四、抽象类与接口的区别
1、接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的。
2、实现接口的一定要实现接口里定义的所有方法,而继承类可以有选择地重写需要用到的方法
3、接口要用implement实现,抽象类要使用extends继承。
五、jsp和servlet之间的联系
六、面向对象3大特征
继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父
类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。继承性很好的解决了软件的可重用性问题。
封装:封装是面向对象的特征之一,是对象和类概念的主要特性。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。
多态性:多态性是指允许不同类的对象对同一消息作出响应。很好的解决了应用程序函数同名问题。
七、MVC
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。MVC模式:用一种将业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的。Controller(控制器)是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
八、软件开发模型:快速原型模型 优点:耦合性低、重用性高、部署快、可维护性高。
缺点:没有明确的定义、不适合小型,中等规模的应用程序、增加系统结构和实现的复杂性。
九、hibernate的延迟加载:延迟加载也叫懒加载,是提高程序执行效率的一种机制,即只有真正使用该对象的数据时才会创建。
十、exeuteupdate()和executequery()区别:前者用于修改已有数据,比如增删改。后者用于查询数据,需返回查询结果。
十一、单例模式
package SingletonDemo;//单例设计模式 public class Singleton {
/** * 实际开发中,我们通常会将饿汉模式和懒汉模式结合在一起来书写单例设计模式。//这个成员变量就是用来返回记录当前对外提供的那个对象。private static Singleton singleton;static{//在static初始化块中初始化,饿汉模式。确保成员变量仅仅被初始化一次。
} //构造方法私有化 private Singleton(){}
} //定义一个对外的方法,能够让用户调用该方法来获取一个属于该类的实例方法。//不管是哪个用户来调用这个方法都需要注意这个方法的返回对象永远是同一个。public static Singleton getInstance(){
} //懒汉模式
if(singleton==null){//第一次初始化。
} singleton=new Singleton();
singleton=new Singleton();return singleton;*/
十二、不用stop()的原因:因为它不安全。它会解除由线程获取的所有锁定。
不用suspend()的原因:suspend()方法容易发生死锁。调用 suspend()的时候,目标线程会停下来,但却仍然持有在这之前获得的锁定。挂起:wait()重写启动线程:notify()线程有四种状态分别是:运行、就绪、挂起、结束。
十三、什么时候使用同步和异步
如果数据将在线程间共享,必须进行同步存取。
同步 的实现方法有两种,分别是 synchronized, wait
与 notify。
第四篇:java程序员
如何迅速成为Java高手[Tomjava原创]
很多网友问我学习Java有没有什么捷径,我说“无他,唯手熟尔”。但是我却很愿意将自己学习的一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛!
要想学好Java,首先要知道Java的大致分类。我们知道,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。J2SE开发桌面应用软件比起VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。所以现在应用最广泛又最好学的就是J2EE了。J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。
那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。然后你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?还好,SUN提供了Javabean可以把你的JSP中的Java代码封装起来,便于调用也便于重用。接着就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail了。
好了,对Java和J2EE有了一些基本概念之后,你就应该编一些程序了,千万不要纸上谈兵哦。最好找一些有实例且带光盘的书来看,这样看到好的程序就可以直接Ctrl+C再Ctrl+V,也不用劳您老大架再亲自把它再输一遍吧,再说直接复制还不用怕出错,何乐而不为呢!还有就是要经常上一些好的Java编程文章,有好的文章要Cut下来,有问题尽管问,只要问题不是太傻,一般高手都会回答你的。下面介绍几个好的Java方面的编程网站:
CSDN论坛 http:///那里Java资料比较全;
java.com.cnhttp://.cn/看这域名就知道有多牛,注册用户快接近一万了,同时在线人数也在一千左右,人气很旺的;
IBM的开发者网络http://IBM永远的蓝色巨人;
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!你现在最缺的是实际的工作经验,而不是书本上那些
凭空想出来的程序。所以你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他还愿意不厌其烦地教你,这样好象有点难哦!
还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。学Java必读的两个开源程序就是Jive和Pet Store.。Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站http:///去下载,或到同济技术论坛的服务器上ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要错过了。
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体“技术”,它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧,让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。关于设计模式的资料,还是向大家推荐banq的网站http:///,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring(重整)和极限XP编程,相信你又会上一个台阶。
做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧,你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的来了。。。当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
下面介绍两个好的开源项目网站:
湖北省软件公共开发平台http://gro.clinux.org/
共创联盟http://cosoft.org.cn/
哇,好高兴哦,我终于成为高手了!非也,非也。古人云:“识时务者为俊杰”。你知道计算
机界现在的发展形势吗?你知道微软的.NET蓝图和SUN ONE计划之间的明争暗斗吗?你知道计算机技术将向何处发展吗?其实从各大计算机厂商最近的动作,都可以看出来“Web服务将是下一代互联网应用的制高点”,而微软的.NET蓝图和SUN ONE计划的斗争焦点,也就是Web服务。Web服务就是一个崭新的分布式计算模型,它是一系列标准的综合(XML,SOAP,UDDI,WSDL和WSFL等)。它使得不同语言编写的软件能够轻易的集成起来,使网络资源和Web站点变成一种服务而不是混乱的垃圾场。不远的将来,我们就可以在家里点击一下鼠标,就可以完成出门旅游的全部准备工作,包括定飞机票,定旅游线路,定好房间等。请注意,这所有的一切都是Web站点间自动完成的,再也不用象现在一样,表面上是电子商务,实际上很多环节都是人工操作。也许你会觉得这是天方夜谈,不过就近的说,你也很有可能承接一个项目,要集成两个企业的ERP系统。很有可能上游企业的系统是用Dephi编的,而下游企业的系统是用Java编的。你说你是Java高手,大家都看者你怎么做呢。所以啊,你还得学习新技术,如Web服务,而且你Dephi也要懂一点吧(Dephi6现在已经提供Web服务的控件了)。你编的Java系统,可能要和.NET集成,所以你.NET要懂一点吧?到最后,你可能发现你已经成为Java高手了,但很多时间却在搞别的技术。太极张三丰里说,最厉害的招式就是没有招式,可能就是这个道理吧!
因为刚刚兴起,所以网上Web服务的资料不是很多,我还是给大家推荐几个网站吧: 中国UDDI技术联盟http:///developerWorks/cn/xml/index.shtml?csdnIBM可是Web服务的力推者
呜„你费劲千心万苦,总算成为Java高手了,怎叫人不由喜极而泣呢!是啊,真不容易,真不简单,真叫人感动啊!那么打个电话告诉我吧,什么?我的电话号码是多少?昏到,你打电话问不就知道了吗,真是的„„
第五篇:JAVA程序员就业前景分析
JAVA程序员就业前景分析
不知道大家对Java就业前景了解多少。随着信息化的发展,IT培训受倒了越来越多人的追捧。在开发领域,JAVA培训成为了许多人的首选!JAVA应用广泛,JAVA培训就业前景良好!目前,虽然JAVA人才的薪水很高,但是对该类人才需求旺盛的IT企业却很难招聘倒合格的JAVA人才。
JAVA就业前景分析:JAVA培训与JAVA就业前景 Java是一种简单的,面向对象的,分布式的,说明型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(Java 2 Platform Micro Edition,java平台微型版)。所以一般JAVA培训也分为J2SE,J2EE,J2ME培训,各个体系的方向有所不同,JAVA培训的内容也有所不同。
通过JAVA培训,学员可以系统把握面向对象编程语言JAVA的核心语法,能够理解J2SE、J2ME、J2EE三种体系架构的理论思想和架构内容,把握JAVA程序设计的主要模式和核心思想,熟练把握基于JAVA语言的编程技巧和编程工具,能够独立完成基于JAVA的客户端和服务器端应用程序的开发、调试、部署和执行。一般JAVA培训包括以下内容:HTML/XML语言。数据库技术。Java程序设计。数据结构与算法。Java设计模式。J2EE设计和应用。Eclipse/CVS/OpenSource.软件测试/安全性编码技术。UML设计。UNIX.项目实战。
下面来看下JAVA就业前景。JAVA人才社会需求量大,根据IDC的统计数字,在所有软件开发类人才的需求中,对JAVA工程师的需求达倒全部需求量的60%~70%。同时,JAVA工程师的薪水相对较高。通常来说,具有3~5年开发经验的工程师,拥有年薪10万元是很正常的一个薪酬水平。80%学员毕业后年薪都超过了5万元。Java平台以其移动性、安全性和开放性受倒追捧。
目前,虽然JAVA人才的薪水很高,但是对该类人才需求旺盛的IT企业却很难招聘倒合格的JAVA人才。其中,最根本的原因就是许多计算机专业的毕业生在读期间没有把握实用的技能与经验,距离企业的实际用人需求有较大的差距。因此,计算机专业的大学生欲成为JAVA工程师,最快捷的一条路就是参加以实战项目为主要教学方法的JAVA培训,从而有效地缩短同企业具体用人需求之间的差距。
JAVA培训不仅注重理论,更注重项目的实战能力,能够让你快速适应企业开发的进度,成为企业所需要的JAVA人才。
JAVA就业前景分析:Java发展方向大致分为两类:
一是成为管理人员,例如产品研发经理,技术经理,项目经理等;二是继续他的技术工作之路,成为高级软件工程师、需求工程师等。根据IDC的统计数字,在所有软件开发类人才的需求中,对Java工程师的需求达到全部需求量的60%~70%。同时,Java工程师的薪水相对较高。Java软件工程师一般月薪范围在4000-10000元,远远超过了应届毕业生月薪2500元的平均水平。通常来说,有一年工作经验的Java高级软件工程师的薪酬大致在年薪10—13万左右。
自1995年5月正式推出的八年多以来,Java已从编程语言发展成为全球第一大通用开发平台。Java技术已为计算机行业主要公司所采纳,同时也被越来越多的国际技术标准化组织所接受。1999年,Sun推出了以Java2平台为核心的J2EE、J2SE和J2ME三大平台。随着三大平台的迅速推进,在世界上形成了一股巨大的Java应用浪潮。
作为惟一在互联网上开发的语言,Java平台以其移动性、安全性和开放性受到追捧。据IDC预计,自2001年起的其后5年内,采用Java的IT产品的价值将翻番,在2006年将达到4.53亿美元,年增长率为14.9%。截止到2003年5月,Java注册开发商超过300万人,对JRE(Java运行环境)的下载达7200万次。詹姆斯•戈士林博士预计在3~5年内Java技术开发商将发展到1000万。詹姆斯•戈士林博士最近指出,“在短短的八年间,Java社团已发展成为拥有数百万之众的群体,他们以其聪明才智和协同作战的方式,为Java这一未来最酷的技术作出了巨大的贡献。那么,下一个八年,Java将发展到怎样的程度?只有那些使Java发展到今天的开发商群体才有资格回答这一问题。我们相信,Java发展之路将把我们带向更加令人神往的前方。Java的前景一片辉煌!”
从Java的应用领域来分,Java语言的应用方向主要表现在以下三个方面:首先是大中型的商业应用;其次是桌面应用,就是常说的C/S应用;再次是移动领域应用。综上而言JAVA就业方向为:可以从事JSP网站开发、Java编程、Java游戏开发、Java桌面程序设计,以及其他与Java语言编程相关的工作。可进入电信、银行、保险专业软件开发公司等从事软件设计和开发工作。这就是本文介绍的JAVA就业前景分析,你还满意吗?