java学习有必要去培训班吗?

以我的亲身经历告诉大家学习java有没有必要参加java培训
java有没有必要参加?作为一个刚毕业的而且参加过培训的java工程师,我来说下我的感受吧。
首先,虽然学费可能会让同学们感到头疼,但其好处也在于知识与学费可以等价交换,当然学习得好就业得好便更是超值了。
其次,上培训班与自学相比较的好处在与,学习的课程不会零碎而更会非常系统化。
再次,能让同学们在学习过程中少走弯路,跟着老师跟着班走,有学习的环境和氛围,不懂的知识能及时与同学交流与老师沟通,能大缩短学习时间早日步入工作岗位。
最后,如今培训机构鱼龙混杂,其师资、其课程设计、其就业到底有没有保障,这也是大多学生不太敢选择培训机构原因。我是在上海海文参加的java培训,这个机构还算比较靠谱。老师确实有多年的工作经验和授课经验,而且挺负责的,周末休息日也有老师在教室值班。学费在业内算良心了,学完毕业后也是有推荐就业的。但关于就业问题我要明确一点,参加培训绝不是买了保险,悠哉悠哉逃逃课睡睡觉,靠培训机构的保证就想得到一份高薪的工作。就业靠的是技术,真正保障你的是你参加培训学到的东西。
这里我还要补充一点。由于一般都是短期培训,课程设置也比较紧凑,一堂课不上的损失就相当大了,两到三堂课不来上,除非你对自己的自学能力相当有信心或者可以让老师补上,否则基本可以放弃了。有一些略有基础的学员因为之前学过就漏掉一些课不来上,结果做起课堂练习都只能干瞪眼。有一点是一定要了解的,会看代码和会写代码完全是两码事,就像读作家的大作容易,自己写起一般的作文来就不行了。面对市面上泛滥的java参考书许多人会无所适从,(一个程序员在业界混几年,总结一些自己的经验,在拼凑些牛人的书的章节就算出本书了)。而闭门造车式的自学又会陷入什么都好象懂些却好象又什么都不懂上午噩梦,没有规划,盲目的学习后果可想而知。我不是想给培训机构说好话,但培训机构的确有自己的一套,至少你可以明晰哪条路适合自己,哪条对自己是死路。
本文来自上海海文信息技术有限公司网址
,转载请注明。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。小站会根据您的关注,为您发现更多,
看到喜欢的小站就马上关注吧!
下一站,你会遇见谁的梦想?
云图智联,缔造中国IT教育高薪就业奇迹
中国大学生最应选择的高端IT培训机构!
来云图智联,遇见5个月后的自己!
二、云图智联四大综合优势
中关村腾飞大学生创就业研究会,官方合作伙伴,以中关村软件园为依托,助力大学生就业、创业
百度、新浪、腾讯、用友、红帽与云图同时签订培训合作协议,毕业直接进名企
入学就签就业协议,保证法律效力,承诺高薪就业,月薪低于5000,退全部学费
视每一位学员为自己的亲人般对待,为每一位学员专门设计职业发展路径,帮助每一位学员成长为行业精英
三、云图智联高端课程
&&&& ANDROID高端就业实训课程
&&&& 最潮IT技术,月薪轻松过万
&& JAVA软件工程师课程
&&& 使用最广泛编程语言,人才需求量巨大
&&.NET软件工程师课程
&& 微软出品,零基础学生的最佳选择
&&& 高级网络营销师
& 21世纪不会网络营销,就没营销可做了
四、学习报名方式
地址:北京市昌平区沙阳路18号 北京科技职业学院
网址:www.010it.net
Telphone: 010--
Java培训要花多少钱?
&&&& Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。在计算机应用以及遍及生活各个角落的时代,Java语言已经是使用最广泛的服务器端语言,覆盖到了关系国计民生的各个行业领域,如电信、银行、互联网等,这些行业的企业(如中国移动、中国银联、大智慧软件)都在使用基于Java语言开发的web应用架构平台,所以掌握好Java开发技术、具备基于web项目应用开发能力,是一个Java工程师必须具备的一项职业技能。&&&& 据职友集(中国最大的职位搜索引擎)统计,以上海地区为例,Java软件工程师平均薪资8339元。在珠三角地区,Java软件工程师平均薪资为6440元。而从Java培训毕业的Java学员薪资又有多少呢?据统计,疯狂软件Java培训学员平均就业薪资5500元,Java编程是很赚钱的技术,Java编程很多人都能掌握。这也是为什么那么最人选择学习Java编程作为谋生的工具。Java工程师平均月薪6000多,Java培训多少钱呢?Java培训接近1万元,Java培训毕业后,从事Java开发,只需要两个月即可赚回成本。Java培训对于很多人来说,都能成为高大上一族。&&&&&&目前在我国,参加Java培训的人数每年都增加2到3倍。据预测,2016年,我国对Java技术人员的需求量将高达2000万余人。但是,到目前为止,我国参加培训的学员只有近几十万人,这个数字和2000万的需求量相差甚远。因此,早日掌握Java技术,对每个有志于在IT行业发展的人来说是十分重要的。
Java培训周记20篇(5)
第二十三周实习第二十三个礼拜项目,概述:融合通信产品是一款基于云计算体系架构,融合所有通讯录,集中管理用户通讯会话的工具。它以融合通信录为关系链,提供多种通信方式并融合至统一入口,并融合互联网热点应用,提供进入互联网的入口,可根据实际政企用户的定制需求增加扩展功能。功能范围:支持android系统手机,暂不支持iphone。处理流程:导航栏:用于在层级结构的信息中导航,也可以用来管理屏幕信息标签栏:Tab栏用于切换子任务、视图和模式。内容栏:显示页面内容的区域。列表视图:列表视图在一行行格子里展示信息,可以划分为块或进行归组。用户可以拖动内容,以显示更多行。用户可以点击选中一项,然后用控件增加或删除行,选中多拍,查看某一行的更多信息或者展开另一个表示视图。当用户选中某项目时,表格会短暂地高亮。浮出层:浮出层是一种临时的视图方式,可以通过用户点击控件或区域来召唤。分段控件:是一条分割成多段的线,每一段都像是按钮,可以激活一种视图方式。关联菜单:通过长按屏幕上的内容来打开关联菜单,显示被选中内容的一些可操作指令的列表,指令可以成为当前进程的一部分,系统也能通过被选中内容去启动另一个进程进行操作。第二十四周实习第二十四个礼拜,上一个星期的实习下来,有很多经验,有很多认识,自己总是有很多的感慨。也许在实习的这些天中,我也在逐渐的成长。在认识学习逐渐的成熟。每个人都会在时间潮流中不断认识自我,只不过是时间的长短的问题。因此待人要真诚,时时为人着想,处处为人行事。能够把自己溶入群体,而不耻向工人群众学习。要想在如今的社会中生存,就要吸收新的思想与知识,不断更新观念,趋于完善。这样才有利于思想与实际行动真正地结合,只有在思想演练,才能在最短的时间里把自己要从事的行业中处于领先的地位进而起着不可替代的作用,因为我将会为它比其他人付出更多创造更多价值。我也应该得到我应得到的报酬与珍贵的经验。在团队合作中,项目经理与技术经理起了很大作用。团队离不开统一的指挥,才能保证团队的顺利工作和工作成绩的取得,这就是团队精神的巨大作用;还有一点是可以值得大家重视的就是,在凝聚人心鼓舞士气方面都具有十分重要的作用。在这里,我更好的明白了团队合作的精神与凝聚力。
Java培训周记20篇(4)
第二十周实习第十二十五个礼拜最后总结一下我在实习过程中的收获:在工作有苦,有甜,有辛酸,有快乐。但总的来说对自己还上一个不错的锻炼。失败是成功之母,要想有成功就必定会有失败,要能承受住失败的打击,从失败中总结出经验,把它化成自己的知识为以后遇到同样的事或者是类似的事就不会出同样的错误,感觉每周还是多接触接触一些事,对我们的成长是有好处的,关键还是在于自己平时对一些事情的处理和总结,不管自己以后走到那里这个都是必须的,在工作的时候不过分的依赖师傅而自己不去动手,不去想。如果是这样的话,你永远不会得到进步,只能在社会的竞争中被淘汰,在工作中要不断的学习积累,完善自己,而不是得过且过。要能做别人不能做的事,吃别人不能吃的苦,有苦以后才能有甜。实习是为将来打基础的重要阶段,珍惜自己每一个工作的机会,不论什么人,什么学历,从事什么工作,好好的表现、展示自己的能力,不要错过好的机遇。没有一件事情是轻轻松松的,但每一件事都是让人成长的,经历一段过程,喜悦或是艰辛,尽管经历的方式不尽相同,但它的结果是相同的,我们都会因涉事而成长。通过实习,我自身发生了重大的转变。首先,进入公司,你就是一名职业人,不再是一名学生,你要具备一名职业人应具备的素养,不迟到不早退是必然的,而且还要时刻严格要求自己,公司的规定要严格遵守。然后,在技术上也有了很大的提高,学习了很多公司自己的框架和工具,这都是一些前辈的宝贵经验。而且所作的软件应用性更强。所以,我要坚定自己的信念,在公司好好实习,争取提早转正,我相信我会在JAVA开发这条路上走的更长更远。第二十一周实习第二十一个礼拜struts是开源软件。使用Struts的目的是为了帮助我们减少在运MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。软件工程师使用Struts为业务应用的每一层提供支持。它的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。如果想混合使用Servlets和JSP的优点来建立可扩展的应用。Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。Model部分:由JavaBean组成,ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Actio,根据ActionForm里面的请求参数处理用户的请求。JavaBean则封装了底层的业务逻辑,包括数据库访问等。View部分:该部分采用JSP实现。Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。Controller组件:Controller组件有两个部分组成&&系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。总结:学习了才知道struts很强大。第二十二周实习第二十二个礼拜Spring也是一个开源框架,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。传统J2EE应用的开发效率低,Spring作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的功能,如声明式事务、事务处理等。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。轻量&&从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。控制反转&&Spring通过一种称作控制反转(IoC)的技术促进了松耦合。面向切面&&Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。容器&&Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建&&基于一个可配置原型,你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例&&以及它们是如何相互关联的。框架&&Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。
Java培训周记20篇(3)
第十六周实习第十六个礼拜,Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernat,可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。数据库设计:a)降低关联的复杂性、b)尽量不使用联合主键、c) ID的生成机制,不同的数据库所提供的机制并不完全一样、d)适当的冗余数据,不过分追求高范式。HQL优化:HQL如果抛开它同HIBERNAT,本身一些缓存机制的关联,HQL的优化技巧同普通的SQL优化技巧一样,可以很容易在网上找到一些经验之谈。加载策略:延迟加载vs立即加载、-延迟加载(默认,不会立即命中数据库,使用数据时命中、在可以改变为立即、*使用数据必须在session关闭之前、-立即加载:立即命中数据库,不管有没有数据抓取策略、查询抓取(N+1)、连接抓取:需要在关联的对象中设置fetch="selectjoin"、N+1与1+M:-针对一端,如果查询有m个对象,这时会先发送1条sql语句查出m个对象,然后再发送m条sql语句查关联对象,这就是1+M、-针对多端,如果查询有n个对象,那么对每个对象需要重新发送一条sql语句,这就是n+1。事务控制:事务方面对性能有影响的主要包括;事务方式的选用,事务隔离级别以及锁的选用a)事务方式选用:如果不涉及多个事务管理器事务的话,不需要使用JTA,只有JDBC的事务控制就可以。b)事务隔离级别:参见标准的SQL事务隔离级别c)锁的选用;共享锁、独占锁、更新锁、死锁、悲观锁、乐观锁。第十七周实习第十七个礼拜前面做过的新豆商城,使用JDBC来连接数据库,现在学习了Hibernate,所以把所有连接数据库的代码转变成hibernate来连接。为什么选择Hibernate:由于是对JDBC的轻易级封闭,内存消耗少,最快的运行效率。、开发效率高,Eclipse、JBuilder等主流JAVA集成开发环境对Hibernate有很好的支持,在大的项目,特别是持久层关系映射很复杂的情况下,Hibernate效率高的惊人。分布式,安全检查,集群,负载均衡的支持。轻量级封装,避免引入过多复杂的问题,调试容易,也减轻程序员的负担。具有可扩展性,API开放,当本身功能不够用的时候,可以自己遍码进行扩展。对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。总结:通过hibernate连接,发现比以前用JDBC连接的代码量要少很多,简洁很多。唯一不好的是在XML的配置文件中,经常会有错误。我相信,这只是我对hibernate不熟悉造成的,当对hibernate使用多了,这些问题就迎刃而解。第十八周这个阶段我们主要重新学习了三大框架并小组开发了当当网项目。通过这次实习,让我理论联系实际,在软件工程的开发过程、数据库的开发、分布式计算等工程实践经验上有了很大的提高。在公司中也培养了初步的大型项目合作开发经验,这一些都第十九周第一次参加专业实习,让我明白了大学生生产实习是引导我们学生走出校门,走向社会,接触社会,了解社会,投身社会的良好形式;是培养锻炼才干的好渠道;是提升思想,树立服务社会的思想的有效途径。通过参加专业实习活动,有助于我们在校中学生更新观念,吸收新的思想与知识。近五个月的实习,虽然时间很短,却让我从中领悟到了很多的东西,而这些东西将让我终生受用。专业实习加深了我与社会各阶层人的感情,拉近了我与社会的距离,也让自己在实践中开拓了视野,增长了才干,进一步明确了我们青年学生的成材之路与肩负的历史使命。社会才是学习和受教育的大课堂,在那片广阔的天地里,我们的人生价值得到了体现,为将来更加激烈的竞争打下了更为坚实的基础。我在实践中得到许多的感悟!实习期间,java语言基础(算法基础,常用数据结构,企业编程规范);Java面向对象,JDK核心API;并做了一个&在线考试系统项目&。第二阶段:主要学习了SQL语言(SQL语言基础和提高,SQL语句调优);Oracle数据库开发,PL/SQL;javaSE核心编程;XML;JDBC;并粗略的完成&在线考试系统&的数据部分。第三阶段:主要学习了HTML/CSS;javaScript核心;Servlet/JSP;Ajax;javaScript框架;SSH三大框架;并完成了当当书店项目。通过实习,让我的专业知识有了进一步的提高,缩短了我与社会接轨距离。让我懂得在工作上还要有自信。自信不是盲目地自夸,而是对自己的能力做出肯定。社会经验缺乏,学历不足等种种原因会使自己缺乏自信。其实有谁一生下来句什么都会的,只要有自信,就能克服心理障碍,那一切就变得容易解决了。同时知识的积累也是非常重要的。知识犹如人的血液。人缺少了血液,身体就会衰弱,人缺少了知识,头脑就要枯竭。这次接触的酿造业,对我来说很陌生,要想把工作做好,就必须了解这方面的知识,对其各方面都有深入的了解,才能更好地应用于工作中。
Java培训周记20篇(2)
第五周实习第五个礼拜,使用Collection框架做派叫号系统首先分析项目需求,概述如下:1.产品参与者顾客:到营业大厅排队取号柜员:提供业务服务的柜台业务员管理员:负责对业务类型、业务受理情况进行实时查看、调配的管理2.功能需求1)、取号:顾客来到营业大厅通过取号机取号,可以选择自己要办理的业务类型。取号后自动进入排队中。等待叫号;2)、叫号:柜员可以通过叫号端进行重复呼叫、暂停服务和转移。叫号端可是软件也可以是硬件设备;3)、管理业务类型:管理人员可以通过后台管理进行业务类型的管理。可以添加、禁用、修改一种业务类型,为某种业务类型可以设置每天最大办理量;4)、管理窗口:管理人员可以通过后台管理对业务窗口进行管理。可以为某个窗口指定办理某种业务类型;5)、统计整合数据:系统可以定时的整合数据,将分散在每天的数据按人、业务类型、时间进行整合,可以将统计数据输出成图表形式;6)、查看办理情况:可以查看当前流量、已经办理、未办理的人数。当前办理效率,历史数据等等;7)、记录日志:系统对关键的地方进行日志记录,以便系统可以在出错时进行调试和处理。实施代码编写。第一个项目设计,感觉难度很大。之前所学的是零零散散的知识点,现在要把之前所学的知识连贯起来,刚开始不知道怎么去连贯,后来看了需求分析文档,分析图,慢慢的有点思路。在后面的做项目的过程中,遇到了太多的问题,通过自己的思考、问同事,问老师慢慢的解决了。而在第一个项目中也学到了很多东西。会员能够查看已购买的商品。会员能够完成与论坛的相关功能。总结:通过实战,发现自己学得不是自己想象的那么好,有些功能还是做不出来。通过新豆商城项目,发现自己的不足,跟同事之间的交流中,能学到很多新知识。简单的总结为几个字,那就是:多看,多问,多观察,多思考!第十四周实习第十四个礼拜,一、AJAX是什么?在传统的web应用中,用户与应用的每一次交互,都是首先用户通过浏览器向服务器端发送一个请求,服务器解析这个请求,将相应的响应信息返回给浏览器。在服务器端业务逻辑非常复杂或者需要耗时较长的情况下,浏览器等待刷新时,页面经常是一片空白,用户只能被动等待服务器端响应完成在此期间客户不能在页面上做任何操作,带给用户非常糟糕的体验。它包括:基于XHTML和CSS标准的表示;使用DOM行动态显示和交互;使用XML和XSLT进行数据交换与处理使用XMLHttpRequest与服务器进行异步通信;使用JavaScript绑定一切。二、使用AJAX的利弊:使用AJAX,可以为开发人员、终端用户带来可见的便捷:减轻服务器的负担。AJAX的原则是&按需取数据&,可以最大程度的减少冗余请求和响应对服务器造成的负担。无刷新更新页面,减少用户心理和实际的等待时间。特别是当读取大量数据的时候,AJAX使用XMLHTTP对象发送请求获取服务器响应,在不重新载入整个页面的情况下用Javascript操作DOM最终更新页面。在读取数据的过程中,用户面对的不是白屏,是原来页面的内容,用户可以继续进行其他操作,只有当数据接收完毕之后才更新相应部分内容。带来更好的用户体验。一直以来,B/S程序在用户易操作性、界面友好性上跟C/S相比都有较大的差距,随着AJAX的应用,这种情况将得到较大的改观。可以把以前服务器负担的一些工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器的担。第十五周实习第十五个礼拜,XML:概念:可扩展的标记语言、优点:结构化,平台、语言无关,标准的XML读写XML格式的文档,完成数据交换、声明:大多数XML文档以XML声明作为开始、建议使用XML声明,但它不是必需的。如果有,它一定是文档的第一行内容。、注释、实体:不能直接表示的符号、五个实体、自定义实体、CDATA:一段文本,不会被解析器解析。Log4j:是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。
Java培训周记20篇(1)
第一周到了实训基地,我看到了久别的几个同学也是永远的同学,感到分外的高兴,每一个人都充满着本属于我们这个时代的朝气与活力。大家聚在一块永远都有说不完的话和描绘不完的未来。实训的第一天,实训基地的组织人员为我们做了一个简单的实训典礼,介绍了我们在实训期间应该遵守的规章制度,为我们安排了一个简单的实训实施计划。老师们一直都在强调着,来到这里就要把实训当做是真正的工作,我们每时每刻都要严格的要求自己,把自己当成一个职业人来对待,要完成从学生到职业人角色的转变,征做一名合格的职员,要体验什么是正规企业的规范模式。我会努力完成这次实训内容,因为我会收获很多。第二周实习第二个礼拜,主要是熟悉java的基础语法,把基础打扎实,以后在开发中才能如鱼得水。学习总结如下几点:1、类之间的关系:关联、聚合、继承、实现和多态。2、基本数据类型:整数型、浮点型、字符型、布尔型。3、常用逻辑语句和循环语句:switch只支持int类型判断,没有写break易穿透至下一个循环,jdk7.0貌似增强了支持数据类型。Break:强行退出循环;Continue:跳出当前循环。重写:重写方法必须和被重写方法具有相同参数列表、相同方法和相同返回值。重写方法不能使用比被重写方法更严格的访问权限。抽象:抽象类被继承后,方法必须被重写并实现,否则子类也还是抽象类。抽象方法只需声明,无需实现。接口:实现关键字implements。接口中所有成员变量和方法都是public。接口可以继承其他接口,并添加新的属性和方法。接口和实现类之间存在多态。多态:三个必要条件分别是继承、重写和父类引用子类对象。(java的核心思想)第四周实习第四个礼拜,主要熟悉了java的高级应用线程:进程是运行中的应用程序,是一套顺序执行的指令,每个进程都有自己独立的内存空间。线程是一个并发执行的顺序流,一个进程包括多个顺序执行流程,这些流程称为线程。JVM就是一个进程,在JVM中分出线程,比如main( )就是主线程。同时开辟并发执行的序列即多线程。调用start( )方法,线程启动;run( )方法结束,线程就终止。线程是一个操作系统创建并维护的一个资源。对单CPU系统来说,某一个时刻只可能由一个线程在运行。一个Thread对象就表示一个线程。进程的数据空间独立;线程的数据空间共享,能充分使用CPU的资源。线程间通信更容易。共享数据就要加锁、解锁,会降低效率。I/O:是在JVM和外部数据源之间交换数据。按数据传输方向划分:输入流和输出;按数据单位划分:字节流和字符流;过滤流用来封装节点流或者其他过滤流,从而给节点流或其他的过滤流增加功能。
Java学习路径七步走
第一步:学习Java的第一步是安装好JDK,写一个Hello World,其实JDK的学习没有那么简单,关于JDK有两个问题是很容易一直困扰Java程序员的地方:一个是CLASSPATH的问题,其实从原理上来说,是要搞清楚JRE的ClassLoader是如何加载Class的;另一个问题是package和import问题,如何来寻找类的路径问题。把这两个问题摸索清楚了,就扫除了学习Java和使用JDK的最大障碍。推荐看一下王森的《Java深度历险》,对这两个问题进行了深入的探讨。第二步:学习Java的语法。Java的语法是类C++的,基本上主流的编程语言不是类C,就是类C++的,没有什么新东西,所以语法的学习,大概就是半天的时间足够了。唯一需要注意的是有几个不容易搞清楚的关键字的用法,public,protected,private,static,什么时候用,为什么要用,怎么用,这可能需要有人来指点一下,我当初是完全自己琢磨出来的,花了很久的时间。不过后来我看到《Thinking in Java》这本书上面是讲了这些概念的。第三步:学习Java的面向对象的编程语言的特性的地方。比如继承,构造器,抽象类,接口,方法的多态,重载,覆盖,Java的异常处理机制。对于一个没有面向对象语言背景的人来说,我觉得这个过程需要花很长很长时间,因为学习Java之前没有C++的经验,只有C的经验,我是大概花了一个月左右吧,才彻底把这些概念都搞清楚,把书上面的例子反复的揣摩,修改,尝试,把那几章内容反复的看过来,看过去,看了不下5遍,才彻底领悟了。不过我想如果有C++经验的话,应该一两天时间足够了。那么在这个过程中,可以多看看《Thinking in Java》这本书,对面向对象的讲解非常透彻。可惜的是我学习的时候,并没有看到这本书,所以自己花了大量的时间,通过自己的尝试和揣摩来学会的。第四步:开始熟悉Java的类库。Java的基础类库其实就是JDK安装目录下面jre\lib\rt.jar这个包。学习基础类库就是学习rt.jar。基础类库里面的类非常非常多。据说有3000多个,我没有统计过。但是真正对于我们来说最核心的只有4个,分别是java.lang.*;java.io.*;java.util.*;java.sql.*;这四个包的学习,每个包的学习都可以写成一本厚厚的教材,而O'reilly也确实是这样做的。我觉得如果时间比较紧,是不可能通过读四本书来学习。我觉得比较好的学习方法是这样的:首先要通读整个package的框架,了解整个package的class,interface,exception的构成,最好是能够找到介绍整个包框架的文章。这些专门介绍包的书籍的前几章应该就是这些总体的框架内容介绍。对包整体框架的把握并不是要熟悉每个类的用法,记住它有哪些属性,方法。想记也记不住的。而是要知道包有哪些方面的类构成的,这些类的用途是什么,最核心的几个类分别是完成什么功能的。我在给人培训的时候一般是一次课讲一个包,所以不可能详细的介绍每个类的用法,但是我反复强调,我给你们讲这些包的不是要告诉你们类的方法是怎么调用的,也不要求你们记住类的方法调用,而是要你们了解,Java给我们提供了哪些类,每个类是用在什么场合,当我遇到问题的时候,我知道哪个类,或者哪几个类的组合可以解决我的问题,That'all!,当我们具体写程序的时候,只要你知道该用哪个类来完成你的工作就足够了。编码的时候,具体的方法调用,是边写代码,边查Documentation,所有的东西都在Documentation里面,不要求你一定记住,实际你也记不住3000多个类的总共将近10万个方法调用。所以对每个包的总体框架的把握就变得极为重要。第五步:通过上面的学习,如果学的比较扎实的话,就打好了Java的基础了,剩下要做的工作是扫清Documentation里面除了上面4个包之外的其他一些比较有用处的类。相信进展到这一步,Java的自学能力已经被培养出来了,可以到了直接学习Documentation的水平了。除了要做GUI编程之外,JDK里面其他会有用处的包是这些:java.text.*;java.net.*;javax.naming.*;这些包里面真正用的比较多的类其实很少,只有几个,所以不需要花很多时间。第六步:Web编程的核心是HTTP协议,HTTP协议和Java无关,如果不熟悉HTTP协议的话,虽然也可以学好Servlet/JSP编程,但是达不到举一反三,一通百通的境界。所以HTTP协议的学习是必备的。如果熟悉了HTTP协议的话,又有了Java编程的良好的基础,学习Servlet/JSP简直易如反掌,我学习Servlet/JSP就用了不到一周的时间,然后就开始用JSP来做项目了。在Servlet/JSP的学习中,重头仍然是Servlet Documentation。Servlet API最常用的类很少,花比较少的时间就可以掌握了。把这些类都看一遍,多写几个例子试试。Servlet/JSP编程本质就是在反复调用这些类来通过HTTP协议在Web Server和Brower之间交谈。另外对JSP,还需要熟悉几个常用JSP的标记,具体的写法记不住的话,临时查就是了。此外Java Web编程学习的重点要放在Web Application的设计模式上,如何进行业务逻辑的分析,并且进行合理的设计,按照MVC设计模式的要求,运用Servlet和JSP分别完成不同的逻辑层,掌握如何在Servlet和JSP之间进行流程的控制和数据的共享,以及Web Application应该如何配置和部署。第七步J2EE编程以上的学习过程如果是比较顺利的话,进行到这一步,难度又陡然提高。因为上面的知识内容都是只涉及一个方面,而像EJB,JMS,JTA等核心的J2EE规范往往是几种Java技术的综合运用的结晶,所以掌握起来难度比较大。首先一定要学习好JNDI,JNDI是App Server定位服务器资源(EJB组件,Datasouce,JMS)查找方法,如果对JNDI不熟悉的话,EJB,JMS这些东西几乎学不下去。JNDI其实就是javax.naming.*这个包,运用起来很简单。难点在于服务器资源文件的配置。对于服务器资源文件的配置,就需要看看专门的文档规范了,比如web.xml的写法,ejb-jar.xml的写法等等。针对每种不同的App Server,还有自己的服务资源配置文件,也是需要熟悉的。然后可以学习JTA,主要是要理解JTA对于事务的控制的方法,以及该在什么场合使用JTA。这里可以简单的举个例子,我们知道一般情况可以对于一个数据库连接进行事务控制(conn.setAutoCommit(false),....,conn.commit()),做为一个原子操作,但是假设我的业务需求是要把对两个不同数据库的操作做为一个原子操作,你能做的到吗?这时候只能用JTA了。假设操作过程是先往A数据库插一条记录,然后删除B数据库另一个记录,我们自己写代码是控制不了把整个操作做为一个原子操作的。用JTA的话,由App Server来完成控制。在学习EJB之前要学习对象序列化和RMI,RMI是EJB的基础。接着学习JMS和EJB,对于EJB来说,最关键是要理解EJB是如何通过RMI来实现对远端对象的调用的,以及在什么情况下要用到EJB。在学习完EJB,JMS这些东西之后,你可能会意识到要急不可待学习两个领域的知识,一个是UML,另一个是Design Pattern。Java企业软件的设计非常重视框架(Framework)的设计,一个好的软件框架是软件开发成功的必要条件。在这个时候,应该开始把学习的重点放在设计模式和框架的学习上,通过学习和实际的编程经验来掌握EJB的设计模式和J2EE的核心模式。J2EE规范里面,除了EJB,JMS,JTA,Servlet/JSP,JDBC之外还有很多很多的企业技术,这里不一一进行介绍了。另外还有一个最新领域Web Services。Web Services也完全没有任何新东西,它像是一种黏合剂,可以把不同的服务统一起来提供一个统一的调用接口,作为使用者来说,我只要获得服务提供者给我的WSDL(对服务的描述),就够了,我完全不知道服务器提供者提供的服务究竟是EJB组件,还是.Net组件,还是什么CORBA组件,还是其他的什么实现,我也不需要知道。Web Services最伟大的地方就在于通过统一的服务提供方式和调用方式,实现了整个Internet服务的共享,是一个非常令人激动的技术领域。Web Services好像目前还没有什么很好的书籍,但是可以通过在网络上面查资料的方式来学习。
有关培训班里的项目实训
1、项目实训与正常教学比较项目实训的每天讲课时间是其他正常教课时间的1/2&1/4也就是正常教学一天8小时学习,有4小时授课,而项目实训的讲课时只有1-2小时,同学们更多的时间在做项目。授课内容项目实训以项目进展为主,正常教学,以每天讲授新知识为主。学生学习状态实训时间,学生处在放羊状态,晚来早走,或经常不来校,因为老师不讲新课。2、项目实训的选材老师指导下的学生自主选材项目团除人员自由组合,项目题材自由选取,难度自己撑控,有人员争吵协作,同学们做起来有与乐趣与收获,能力强的做得多,能力弱做得少,也能收获。全班统一题材全班所有学生做同一个项目,老师给出每个环节标准答案,学生无项目成员间协作,无自己处理需求分析过程,无解决问题过程,无真实项目的感觉。3、项目实训的时间跨度,有的培训机构Java总学习时间为6个月,项目实训为3个月正常教学时,必须有足够时间,才能学会计划中的全部技术,时间太短,一定学不会。有的培训机构,缩短正常教学时间,延长实训时间,将部分新知识留在实训时让学生自己学,而事实上,大部分学生不想自学,或无能力自学。取消框架SSH正常教学,用于项目实训框架SSH是Java培训的高端课程,个别培训机构用项目实训的方法为学生上SSH课,好像是既学习了SSH,也做了实训,结果是什么都没有学会。框架SSH属于正常教学模块,只有按正常教学方法为学生授课,才能学会。4、项目实训的难度及企业实用性,项目实训的难度大,并且实现了企业部分复杂应用,可这是老师的作品,所有学生完成的内容都一样,全部照抄了一次老师的项目,结果是学生无任何收获,到企业面试时,说不出项目过程中的任何关键内容。
有的老师技术很好,可学生就是听不懂他的课,为什么呢?
1、任何天才的逻辑思维能力,都需后天长时间的勤奋努力。2、由于Java培训班学生的成长经历与老师不同,逻辑思维能力不同,感悟新知识的进度不同,老师以自己类比学生讲课时,学生自然听不懂课。3、这类老师不善于与学生沟通,在学生面前显摆技术好,学生只能听天书。4、这类老师往往很自傲,瞧不起学生,不正眼关注学生所谓低级提问。5、无论一项技术简单,或复杂,以符合不同层次学生都能听懂的方式讲述出来,是一件艰难的事件,小学、初中、高中、大学都有特级老师,特级老师的课特易懂,与技术特难、特新无关。6、一名老师懂得学生感悟知识的规律,因材施教,比老师技术好更重要。&讲课老师实力&你如何了解一名授课老师是否有实力,可以从以下几方面考虑1、授课老师的基础素质这名老师的毕业大学是985或211大学吗?这名老师有过企业工作经验吗?企业名称?工作过的项目名称?工作年限?2、培训机构公示的讲课老师真是这里的授课老师吗?是不是只挂名,从来不讲课?是这个培训机构的专职老师?还是临时的?授课内容?授课班级名称?授课了多长时间?还继续吗?3、用最简单方法了解授课质量这位授课老师有回头客学生吗?名单里回头客学生是指学生毕业后,工作后,帮招生回来的学生上课时,玩游戏与睡觉学生占多少课件?是中文的,还是英文的?是念他人的PPT?还是课堂写出的课件?后者需要老师真才实学与对学生勤奋一位老师是讲一门课,还是多门课?如果讲多门课,学生易学会,但对老师要求高。
Java培训的上课时间
1、有的培训机构一周上6天课学生没有缓冲休息时间,很难学会。2、有的培训机构一周上3天课由于场地不够,学生太多,只能拉长学生的学习时间,变相增加学生的培训费用。3、有的培训机构随意缩短学生上课时间可能因为老师有事,或下一新班要开班,将现有学生的授课时间改为二天的内容,一天讲完,最后结果是:学生什么都没有学会,而又说不出原因。这与病人在医院住院吃药的原理相同,医院为节省费用,将3天的用药,合并到2天给病人吃,性质相同。学生花钱,是购买的这个老师按规定时间,为学生讲懂这些知识,岂能乱来。4、有的培训机构半天上课,另半天上机上课地方,不需要机房,只需要教室,可以节省企业成本,可半天上完课后,再上机,早己忘得精光。5、有的培训机构讲2小时,另2小时上机这也是培训机构的机房不够,到了学生上机时,好多学生早己忘得精光。6、有的培训机构早晨9:00,或更晚时间上课如果一家机构是8:30上课,另一家是9:00上课,则后一家会减少学生一天半小时吸取知识的时间。点评如下:最好的情况应当是一周上5天课,一天上课6――7小时,每讲一小时,学生练习一小时,并且早晨8:30必须上课,中午得有一个半小时休息时间,这样时间安排,学习学习效率最高。讲课与上机必须在同一个地方,因为学生随时需要练习。有些关键知识点,讲20分钟,就需要学生即时练习,才能有最高效率。
Java培训机构的陷阱
1、资金实力招生有的Java培训机构一个月能在全国范围内招几千人,这个机构就优秀么?可以在一些招生网站能看到,每月就业人数有200人,300人,等数据,兴许这些就业人数,只占总招生人数10%不到呢。点评:招生人数多少,只能反应这个机构的资金实力很强,并不能反应教学效果好,除非他能拿出以班为单位入学及就业数据,不是某一个班,而是全部班,他敢吗?2、以985重点大学名义招生事实上,985重点大学是学历教育,而java培训机构是市场化职业技术教育,两者性质完全不同,两套完全不同的管理机制及教师队伍。无论这所大学有多么优秀,也是这个大学招收本科生时,学员素质优秀,与java培训班学生无任何系,他的培训机构学生就业时,占不到任何先机。点评:这是一种欺骗学生及学生家长的行为,好象985大学培训机构学生就业时,能有什么优势似的。3、保障就业或最低薪水的招生任何一名学生,想在市场上找到工作,必须有真实本领,否则决不可能。任何保障就业,或最低薪水,也只能是口头的说说,或有其他附加条件。点评:学生的就业能力,是不能够用钱购买的,而是通过自己努力,及正确的方法。这是一种典型的欺骗学生行为。高薪水就业同学,不能代表这个培训机构优秀,而是学生本身素质优秀。4、以技术实力招生--美丽陷阱可能这个培训机构有大量的教学视频下载,讲课方法及内容也还不错貌似教学队伍很强大,可视频老师不为你上课,有用么?可能这个培训机构有成百上千的开发人员开发人员再多,还是那几名老师上课,两者无关系,并且培训班毕业学生也很难能成为这些开发人员中的一名。
到底谁才是java培训机构第一名
这两年看到IT培训机构的广告可谓是如火如荼,无论是在网络上,还是电视、报刊、杂志及公交站牌上,都能见到各种各样的IT培训广告,其中比较火的就是Java培训、android培训、网络工程师培训、平面培训等。经常见到这些广告中会打一些荣誉头衔,比如这个政府那个部的认可与扶持,这个名企、那个名企的合作与订单,还有就是号称诸多的第一:最知名、就业率最高、最优秀、最大、师资最强等。如果你到这些Java培训机构的网站上看,也能见到诸多对自己的美称。正如武林大会,天下第一总归只有一个,谁才是天下第一?达内吗?北大青鸟吗?国信蓝点吗?还是传智博客、尚学堂、万和、java私塾、甲骨文、华育、源动、思普。。。说起培训机构,我知道的就一大筐,其中相当多都非常知名,当然要算起来培训机构品牌的分支机构,那就更多了。比如,达内集团在国内40多个城市都有分支机构,北大青鸟的分支机构也非常多。好多品牌有有不少分支。总得算起来,罗列个几十个品牌、几百家机构是有的,如何排名?谁是第一?who is no1?要从这么多培训机构中,选出一个第一来。恐怕不是一个容易事。如果靠实力说话,那么衡量实力的标准是什么?有人说是教学水平、学校名气、有钱,这个恐怕很难衡量;又有人说办学历史、学生数量,这个还有一些说服力,能从一定成面上反映学校的人气和知名度,但这也只能说明这个学校规模大、办学悠久,最大的不一定是最好的。实际上,了解行情的人也知道,也有某些规模小的培训机构,拥有者良好的口碑,这可能和他们小班授课、打造精品的理念一致,然而,如果我们将这样的培训机构列为行业第一,恐怕也难以服众。以哪些标准来衡量一个培训机构,做个排名,难唉!实际上,现在尚缺乏对行业培训学校科学的测评体系,只有有了统一的行业评价标准,才能够客观真实的反映市场状况,用数据告诉大家,哪个培训机构好,哪个培训机构差;通过公平的第三方研究来给出行业排名及市场分析,这样不但能对学生们有益,也能帮助培训机构认识到自己的优势和不足,第三方立场才能保证客观公正。目前,国内这样的机构还很少,做的比较正规的也只有java培训指南网一家。一个希望java培训指南网再接再厉,越做越好,另外一个,希望越来越多的行业机构关注java培训领域,为这个领域的品牌建设和发展贡献自身的力量。
2012年上半年北京优秀java培训机构推荐
北京正规java培训机构有数十家之多,开展java培训或有相关培训业务的机构更是多达数百家。那么,在这许多培训机构中,有的办学比较认真,教学质量高,教学效果好;而有的培训学校则名不副实,甚至存在欺诈行为。java培训指南网根据2012年上半年学员的反馈,对北京的java培训机构进行了抽样调查,主要考量办学实力、教学水平和学员就业率及学员口碑。列举出5家2012年上半年北京优秀java培训机构:达内科技北京达内科技有限公司是致力于培养面向电信和金融领域的 Java、C++、C#/.Net、测试、嵌入式、PHP等方面的中高端软件人才,由美国国际数据集团IDG和集富亚洲JAFCO ASIA投资。达内科技以中关村科技园区为依托,在中国软件业发达城市&&北京、上海、广州、深圳、大连、南京、武汉、杭州、西安、苏州、成都、太原20大城市。普科国际北京普科国际科技有限公司,主要从事软件开发及Java培训业务。普科国际java培训机构致力于提供国际品质、实用型国际化软件人才培训服务,为北京众多软件企业提供大量的优质的软件人才。普科国际培训项目及课程,均由具备丰富实际开发经验及系统理论知识的团队经过精心设计而成。 普科国际java培训机构已与众多优秀软件 IT 企业建立了密切的合作关系。国信蓝点国信蓝点信息技术(北京)有限公司成立于 2005年,是工业和信息化部人才交流中心的直属单位。公司的成立旨在设置软件高级人才培养的快速通道,促进我国信息产业的可持续发展。北软教育北软教育,全称北京IT人才实训基地。是隶属于中国最大的软件产业服务机构&&北京软件与信息服务业促进中心,总部基地位于北京市高科技产业带中关村软件园区。北大青鸟北大青鸟APTECH公司是北大青鸟集团与印度APTECH公司合作成立的中国最大的IT教育机构,在全国拥有100多家授权培训中心,学员毕业后可获得北大青鸟APTECH&信息系统工程师&System Administrators&、&信息系统专家&System Master&国际认证、国家劳动和社会保障部联合认证。以上培训机构在2012年上半年的口碑比较好,学员就业情况也比较好,所以特此向广大想在北京报java培训班的学生们推荐。当然,着并不代表者北京其他的培训机构就不好,java培训指南网历来坚持选择最合适的培训机构,因为每个培训学校的教学模式、学生来源、就业方向都略有不同。
中国Java培训机构排行
我不是为传智做宣传 只是无意中看到尚学堂倒闭了 个人非常欣赏马士兵这个人,太可惜了传智播客选择指数:(http://www.itcast.cn)传智播客应该说是java就业培训行业的老大。可惜传智播客仗着拥有强大的师资,经常鄙视其他培训机构,所以在网上受到了各大培训机构的攻击。抛开这一点不谈,就师资、项目和学生的就业情况而言,传智播客做的确实不错,这恐怕是各个培训机构应该学习的地方。近期,传智播客对外公开了其项目的网址,更是打破了培训行业的hidden规则,招致各大培训机构的痛恨,要知道现在大部分培训机构的项目都存在夸大其词,充其量只是Demo,无法见光。传智播客这么一来,恐怕其他培训机构想在项目上继续忽悠学生就不容易了。传智播客的这一做法,是严重地不守行规。另外传智播客最恶心的是放出的视频通常不带源代码,严重鄙视这一做法。传智播客的学费在java培训行业中是最具性价比的,团报7920元,个人8800元。在java培训行业有个奇怪现象,就是越好的培训机构收费就越低,如:北大青鸟的学费20000、达内13800、尚学堂9800、传智播客7920。传智播客的师资队伍主要由企业一线知名开发人员组成,主要人员:张孝祥、黎活明、佟刚、杨中科、冯威、赖家才、徐培成、毕向东等国信蓝点选择指数:(http://www.fsailing.com)国信蓝点是中国最早一批从事JAVA高端人才培养的专业机构之一。国信蓝点的学费是9800元,无团报。在口碑、师资、教学质量和就业情况方面还算得过去。相对其他培训机构,国信蓝点走的是政策招生,喜欢炒作工业和信息化部的各种红头文件,不知道信息化部出的文件跟他们又有何关?不了解的同学还真以为他们就是工业和信息化部的化身。一个不通过教学实力招生,而热衷摆乱各种文件招生的机构,教学质量也可想而知。国信蓝点的项目没有对外公开,项目质量如何不得而知。国信蓝点的师资队伍主要由企业一线普通开发人员组成,主要人员:果占先、吴逸秋、耿宇航尚学堂选择指数:(http://www.bjsxt.com)尚学堂最先推出免费java培训视频教程,如马老师的j2se视频,虽然有不少错误之处,但确实帮助了不少想入门java的同学,正因其免费视频教程的流行,在市场营销方面取的了巨大的成功。尚学堂的基础课程还算可以,可惜就业课程却存在严重教学问题,尚学堂声称以项目为主导,可实际教授的项目只有CMS和OA,而且都是不能对外公开的demo,导致学生无法真正了解真实项目开发的全过程,所以每个班的就业人数并不乐观,尽管如此,尚学堂在公司网站上仍然夸大其词,宣传全部学生高薪就业,曾经就被湖南农业大学的学生拆穿其就业信息的虚假,就业信息说&赵* JAVA135班学员,湖南农业大学软件工程硕士,毕业时就业于-华美迅达(深圳)-任职JAVA高级工程师&,可湖南农业大学压根就没有软硕的点。09年尚学堂的教学质量已经快到了惨不忍睹的阶段,最终,在09年底,马士兵不得不把王建平和高文华两位老师开除,并亲身教授SSH,试图挽救尚学堂,不过因为马士兵只擅长javase知识,对javaee高级部分的知识了解比较肤浅,而且也没从事过相关领域的开发,恐怕是心有余而力不功。2010年尚学堂半年内只开了一期班,人数只有二十几人左右。因为形势不好,尚学堂的老师纷纷出来自立门户。到2010年7月只剩下马士兵本人。尚学堂的师资队伍主要由企业一线普通开发人员组成,主要人员:马士兵(MLDN)魔乐科技选择指数:(http://www.mldnjava.cn)魔乐科技的特色是:魔乐科技的师资由李兴华和几个水平一般的老师组成。魔乐科技对外发布了比较多的java视频,对于初学者有一定的帮助。因为人力及实力有限,魔乐科技是小班授课,学费8900元。魔乐科技J2SE阶段教学质量不错,可惜就业阶段的教学由于老师自身技术水平的限制,教学质量不高,从对外公布的视频来看也是错误百出,所以就业率相对较低。魔乐科技的师资由一线普通开发人员组成,主要人员:李兴华、李祺、周野java私塾选择指数:(http://www.javass.cn)java私塾的特色是:java私塾的师资由一个全职和几个兼职老师组成,因为人力有限,所以打着小班授课,学费8800元。java私塾号称自己的项目是真实的,可惜没有像传智播客那样对外公开项目网址,是否存在水分不得而知。普科优信选择指数:(http://www.puckasoft.com)普科优信的特色是:环境较好,小班授课,学费8800元。师资情况与尚学堂差不多,不过在学生管理及市场营销方面比尚学堂差很多。所以招生并不理想。普科优信的师资由一线普通开发人员组成,主要人员:孙立,武霄鹏,徐康清软国际选择指数:(http://www.sinojava.com)清软国际的特色是:清软国际的特色是以市场为主导,名字取名清软,不了解内情的人还真以为是清华大学主办的培训机构。清软国际纯市场操作导致其总体成本比较高,公司为了盈利,必然减少在教学上的投入。所以目前大部分老师都是从八维学校过来的,开发经验不多。因为教学经费投入太少,导致教师队伍不稳定,再加上没有合理的课程体系和教学管理团队,教学质量可以说是惨不忍睹。费用:11800元清软国际的师资由一线流动普通开发人员组成达内选择指数:(http://www.tarena.com.cn)达内的特色是:达内的特色是老牌Java培训,师资丰富、课程稳定,全国各地均有分校。教学质量相对好些的是北京培训点,费用:13800元达内的师资由一线普通开发人员和毕业学生组成北大青鸟选择指数:(http://www.jadebird.com.cn/)北大青鸟广告:聊QQ不会打字?写情书不会用WORD?首选北大青鸟,北大青鸟成就你IT打字梦想,费用:20000元北大青鸟的师资:无语!安博选择指数:(http://www.ambow.com.cn/)从安博的起家及发展历程不难发现,安博从一开始的&根&并为扎在教育服务领域,可以说,安博高层对教育本质的理解不透彻,理念偏失教育方向。做软件技术、续而融资、第二、第三、第四轮创造了中国民营教育企业融资的记录。这样的公司骨子里已经是资本当道,教育成了跑龙套的配角。整个发展历程都是资本在推动,教学质量和服务并未得到社会认同,没有形成影响力和口碑。以至于上市首日,股价一泻千里。安博的师资:只为走走形式,不能称为老师!
相关的专业点的Java培训学校
我考查过好的也就三家左右:北大青鸟、达内、ITJOB;北大青鸟虽是全国最大,但是没有学历的限制,学习时间太长,至少学出来也需要一年半以上的时间,有足够钱以和时间的可以考虑;达内采用的全部为远程教学,教学环境还可以,但是主讲和辅导老师的水平相差太大,所以听课和练习的时候心态很不平,辅导老师比学生都大不了几岁;ITJOB学习4-6个月,虽然时间有点紧,不过努力去学应该是可以实现就业的,他们的老师都是企业项目经理级的,付的费用也不是太高,最低首付3500元,余款都可以采用银行的贷款,美中不足就是住宿条件一般要8个人住一间,呵呵,不过学生嘛只能艰苦一下啦。大家在考查培训机构的过程中注意看一下:是否有教学许可证。以上的意见供参考
培训管不管用?
①&& 近年来,社会上出现了各式各样的JAVA软件开发培训,而且每家培训机构都说自已是中国最好的培训机构,广告说得牛气冲天,对于很多在社会上想去通过培训学习JAVA而进入软件开发的人来说,总是不知道怎么去选择。&&&&& 本人就是一个从培训机构出来的人,虽然也已经通过自已的努力在从事这方面的工作了,但我还是要奉劝一下想去培训的人,第一,培训的时间一般是比较短的,你是否能够在这么短的时间内消化掉这么多知识;第二,没有什么统一的教材,所以完全取绝于授课老师的授课水平,同时还得看你的接受能力;第三,培训学费加生活费是很高的,你是否有足够的承受力;第四,现在社会上的JAVA开发人员已经很充足,的火暴不再是JAVA刚刚兴起时,你找工作的门槛也相对高了,如果你很长时间没找到工作,学的东西又很容易忘记;&&&& 所以,本人的经历,希望给大家一个参考,不要被培训机构牛哄哄的广告给迷惑,慎重选择自已的发展道路。②&&& 有的时候 真的许多人需要培训,因为在学校的时候都玩了,各种各样的玩,只有想不到,没有做不到等快毕业了,很多人才发现自己四年真是烧钱来了,不仅烧了很多钱,而且啥都没有所以有的时候去培训机构未必是个坏事只要用心学,好歹还是能学到点东西的,至少在好的大学里面是不会讲java,不会讲c++什么的,除了c是系统的纯粹讲语言之外,剩下都是在算法、面向对象、数据结构之类的课程中提及一下的,而不系统的学习一门语言的话,内功还是不行的,容易走火入魔成畸形的当然我不是来做广告 做宣传的,奉劝一句大学里面的课程永远都是有用的,不要浪费了在学校的日子,再好的培训机构也只是一个培训机构,不是学校,学校---教书育人培训机构--赚钱走人.
适合推荐给 Java 初学者的书籍?
【一.Java架构师之路:JAVA程序员必看的15本书】作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Java程序员们。一、Java编程入门类对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是&囫囵吞枣不求甚解&,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要&知其然&。1、《Java编程思想》下载地址:http://www.shangxueba.com/share/p2446196.html...在有了一定的Java编程经验之后,你需要&知其所以然&了。这个时候《Java编程思想》是一本让你知其所以然的好书,它对于基本的面向对象知识有比较清楚的交待,对Java基本语法,基本类库有比较清楚的讲解,可以帮你打一个良好的Java编程基础。这本书的缺点是实在太厚,也比较罗嗦,不适合现代人快节奏学习,因此看这本书要懂得取舍,不是每章每节都值得一看的,挑重点的深入看就可以了。2、《Agile Java》中文版下载地址:《Agile Java》高清中文版(rar,软件开发/编程)_上学吧这本书是出版社送给我的,我一拿到就束之高阁,放在书柜一页都没有翻过,但是前两天整理书柜的时候,拿出来一翻,竟然发现这绝对是一本好书!这本书一大特点是以单元测试和TDD来贯穿全书的,在教你Java各种重要的基础知识的过程中,潜移默化的影响你的编程思维走向敏捷,走向TDD。另外这本书成书很新,以JDK5.0的语法为基础讲解,要学习JDK5.0的新语法也不错。还有这本书对于内容取舍也非常得当,Java语言毕竟类库庞大,可以讲的内容太多,这本书选择的内容以及内容的多寡都很得当,可以让你以最少的时间掌握 Java最重要的知识,顺便培养出来优秀的编程思路,真是一本不可多得的好书。虽然作者自己把这本书定位在入门级别,但我不确定这本书用来入门是不是稍微深了点,我自己也准备有空的时候翻翻这本书,学习学习。二、Java编程进阶类打下一个良好的Java基础,还需要更多的实践经验积累,我想没有什么捷径。有两本书值得你在编程生涯的这个阶段阅读,培养良好的编程习惯,提高你的代码质量。1、《重构 改善既有代码的设计》下载地址:重构&&改善既有代码的设计(中文版)(pdf,计算机/IT)_上学吧这本书名气很大,不用多介绍,可以在闲暇的时候多翻翻,多和自己的实践相互印证。这本书对产生影响是潜移默化的。2、《测试驱动开发 by Example》下载地址:吉林申论(甲级)2007年(doc,公务员考试)_上学吧本书最大特点是很薄,看起来没有什么负担。可以找一个周末的下午,一边看,一边照做,一个下午就把书看完,这本书的所有例子跑完了。这本书的作用是通过实战让你培养TDD的思路。三、Java架构师之路到这个阶段,应该已经非常娴熟的运用Java编程,而且有了一个良好的编程思路和习惯了,但是可能还缺乏对应用软件整体架构的把握,现在就是迈向架构师的第一步。1、《Expert One-on-One J2EE Design and Development》下载地址:Expert One-on-One J2EE Design and Development(PDF,软件开发/编程)_上学吧这本书是Rod Johnson的成名著作,非常经典,从这本书中的代码诞生了springframework。但是好像这本书没有中译本。2、《Expert One-on-One J2EE Development without EJB》下载地址:Expert One On One J2EE Development Without EJB英文下载(pdf,软件开发/编程)_上学吧这本书由gigix组织翻译,多位业界专家参与,虽然署名译者是JavaEye,其实JavaEye出力不多,实在是忝居译者之名。以上两本书都是Rod Johnson的经典名著,Java架构师的必读书籍。在所推荐的这些书籍当中,是看过的最仔细,最认真的书,当时读这本书几乎是废寝忘食的一气读完的,有小时候挑灯夜读金庸武侠小说的劲头,书中所讲内容和自己的经验知识一一印证,又被无比精辟的总结出来,读完这本书以后,有种被打通经脉,功力爆增的感觉。但是后来看过一些其他人的评价,似乎阅读体验并没有那么high,也许是因为每个人的知识积累和经验不同导致的。那个时候刚好是经验知识积累已经足够丰富,但是还没有系统的整理成型,让这本书一梳理,立刻形成完整的知识体系了。3、《企业应用架构模式》下载地址:企业应用架构模式中文版(pdf,计算机/IT)_上学吧Martin的又一本名著,但这本书只是泛泛的看了一遍,并没有仔细看。这本书似乎更适合做框架的人去看,例如如果打算自己写一个ORM的话,这本书是一定要看的。但是做应用的人,不看貌似也无所谓,但是如果有空,还是推荐认真看看,会让知道框架为什么要这样设计,这样的层次可以晋升到框架设计者的角度去思考问题。Martin的书向来都是推崇,但是从来都没有像Rod Johnson的书那样非常认真去看。4、《敏捷软件开发原则、模式与实践》下载地址:敏捷软件开发:原则、模式与实践(C#版)(rar,软件开发/编程)_上学吧Uncle Bob的名著,敏捷的经典名著,这本书比较特别,与其说是讲软件开发过程的书,不如说讲软件架构的书,本书用了很大篇幅讲各种面向对象软件开发的各种模式,个人以为看了这本书,就不必看GoF的《设计模式》了。四、软件开发过程了解软件开发过程不单纯是提高程序员个人的良好编程习惯,也是增强团队协作的基础。1、《UML精粹》下载地址:UML 精華第三版(pdf,软件开发/编程)_上学吧UML其实和软件开发过程没有什么必然联系,却是软件团队协作沟通,撰写软件文档需要的工具。但是UML真正实用的图不多,看看这本书已经足够了,完全没有必要去啃《UML用户指南》之类的东西。要提醒大家的是,这本书的中译本翻译的非常之烂,建议有条件的看英文原版。2、《解析极限编程 拥抱变化》XP下载地址:解析极限编程-拥抱变化(pdf,软件开发/编程)_上学吧这是Kent Beck名著的第二版,中英文对照。没什么好说的,必读书籍。3、《统一软件开发过程》UP下载地址:统一软件开发过程(PDF,软件开发/编程)_上学吧其实UP和敏捷并不一定冲突,UP也非常强调迭代,测试,但是UP强调的文档和过程驱动却是敏捷所不取的。不管怎么说,UP值得去读,毕竟在中国真正接受敏捷的企业很少,还是需要用UP来武装一下自己的,哪怕是披着UP的XP。4、《敏捷建模》AM下载地址:敏捷建模:极限编程和统一过程的有效实践(pdf,软件开发/编程)_上学吧Scott Ambler的名著,这本书非常的progmatic,告诉怎么既敏捷又UP,把敏捷和UP统一起来了,又提出了很多progmatic的建议和做法。可以把《解析极限编程拥抱变化》、《统一软件开发过程》和《敏捷建模》这三本书放在一起读,看XP和UP的不同点,再看AM是怎么统一XP和UP的,把这三种理论融为一炉,形成自己的理论体系,那么也可以去写书了。五、软件项目管理如果突然被领导提拔为项目经理,而完全没有项目管理经验,肯定会心里没底;如果觉得自己管理项目不善,很想改善项目管理能力,那么去考PMP肯定是远水不解近渴的。1、《快速软件开发》下载地址:快速软件开发(pdf,软件开发/编程)_上学吧这也是一本名著。可以这样说,有本书在手,就有了一个项目管理的高级参谋给你出谋划策,再也不必担心自己不能胜任的问题了。这本书不是讲管理的理论的,在实际的项目管理中,讲这些理论是不解决问题的,这本书有点类似于&软件项目点子大全&之类的东西,列举了种种软件项目当中面临的各种问题,以及应该如何解决问题的点子,只需要稍加变通,找方抓药就行了。六、总结在这份推荐阅读书籍的名单中,没有列举流行的软件框架类学习书籍,例如Struts,Hibernate,Spring之类,也没有列举AJAX方面的书籍。是因为这类书籍容易过时,而上述的大半书籍的生命周期都足够长,值得去购买和收藏。【二.Java书籍Top 10】下面是Java Inside上推荐的十本不错的Java书籍。(文章来源)1)Java Language Specification, Third Edition (by James Gosling)本书由Java技术的发明者编写,是Java TM编程语言的权威性技术指南。如果你想知道语言之构造的精确含义,本书是最好的资源。中文版链接:《Java编程规范》英文版链接:《The Java Language Specification (3rd Edition) 》2)Effective Java , Second Edition (by Joshua Bloch)本书介绍了在Java编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。.本书中的每条规则都以简短、独立的小文章形式出现,并通过例子代码加以进一步说明。本书内容全面,结构清晰,讲解详细。可作为技术人员的参考用书。&中文版链接:《Effective Java 第二版》英文版链接:《Effective Java (2nd Edition) 》3)Java Concurrency in Practice (by Brian Goetz)随着多核处理器的普及,使用并发成为构建高性能应用程序的关键。Java 5以及6在开发并发程序取得了显著的进步,提高了Java虚拟机的性能,提高了并发类的可伸缩性,并加入了丰富的新并发构建块。在本书中,这些便利工具的创造者不仅解释了它们究竟如何工作、如何使用,同时,还阐释了创造它们的原因,及其背后的设计模式。本书既能够成为读者的理论支持,又可以作为构建可靠的,可伸缩的,可维护的并发程序的技术支持。本书并不仅仅提供并发API的清单及其机制,本书还提供了设计原则,模式和思想模型,使我们能够更好地构建正确的,性能良好的并发程序。本书的读者是那些具有一定Java编程经验的程序员、希望了解Java SE 5,6在线程技术上的改进和新特性的程序员,以及Java和并发编程的爱好者。中文版链接:《JAVA并发编程实践》英文版链接:《Java Concurrency in Practice 》4)Java Puzzles: Traps, Pitfalls and Corner Cases (by Joshua Bloch)Java教父的又一经典名著&Java Puzzlers,Amazon五星图书。认为你到底有多了解Java?你是一个代码神探吗?你是否曾经花费过数天时间去追踪一个由Java或其类库的陷阱和缺陷而导致的bug?你喜欢智力测验吗?那么这本书正好适合你!中文版链接:《JAVA解惑》英文版链接:《Java Puzzlers : Traps, Pitfalls, and Corner Cases 》5)Thinking in Java (by Bruce Eckel)本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作。本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。本书共22章,包括操作符、控制执行流程、访问权限控制、复用类、多态、接口、通过异常处理错误、字符串、泛型、数组、容器深入研究、Java I/O系统、枚举类型、并发以及图形化用户界面等内容。这些丰富的内容,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的绝佳教材和参考书。中文版链接:《JAVA编程思想(第4版)》英文版链接:《Thinking in Java (4th Edition) 》6)Better, faster, lighter Java (by Justin Gehtland, Bruce A. Tate)Java的开发者正深陷于复杂性的泥沼中而无法自拔。我们的经验和能力正接近极限,程序员为了编写支持所选框架的程序所花的时间比解决真正问题的时间要多得多。我们不禁要问,有必要把Java搞得这么复杂吗?.答案是否定的。本书给你指引了一条出路。无论是维护应用程序,还是从头开始设计,你都能够超越成规,并大幅精简基本框架、开发过程和最终代码。你能重新掌握一度失控的J2EE应用程序。..在本书中,原作者Bruce A.Tate与Justin Gehtland将循序渐进、娓娓道来。首先,他们列出了五项基本法则。他们展示了如何构建简单、解耦的代码,并告诉你如何选择技术。他们还对两种被广泛运用的开源程序如何迎合这些概念进行了剖析。最后,作者还将利用这些基本概念构建一个简单但内涵丰富的应用程序来解决现实世界中所遇到的问题。中文版链接:《轻快的JAVA》英文版链接:《Better, Faster, Lighter Java 》7)Core Java (vol. 1, 2) (by Cay S. Horstmann, Gary Cornell)《Java核心技术》出版以来一直畅销不衰,深受读者青睐,每个新版本都尽可能快地跟上Java开发工具箱发展的步伐,而且每一版都重新改写了部分内容,以便适应Java的最新特性。本版也不例外,它反映了Java SE 6的新特性。全书共14章,包括Java基本的程序结构、对象与类、继承、接口与内部类、图形程序设计、事件处理、Swing用户界面组件、部署应用程序和Applet、异常日志断言和调试、泛型程序设计、集合以及多线程等内容。.全书对Java技术的阐述精确到位,叙述方式深入浅出,并包含大量示例,从而帮助读者充分理解Java语言以及Java类库的相关特性。中文版链接:《JAVA核心技术,卷1,卷2》英文版链接:《Core Java, Volume I&Fundamentals (8th Edition) ,Core Java, Vol. 2: Advanced Features, 8th Edition 》8) The Java Virtual Machine Specification (by Tim Linholm, Frank Yellin)如果你需要了解Java虚拟机的byte code,或者是一些编译方面的东西,这本书绝对让你得偿所愿。其不但包含了机器码的规范说明,同时它也是Java编译器和运行环境的规格说明书。中文版链接:《无》英文版链接:《The Java Virtual Machine Specification (2nd Edition) 》9)Robust Java: Exception Handling, Testing, and Debugging (by Stephen Stelting)处理异常涉及开发、设计和体系结构等方面的知识。本书共分3个部分。第Ⅰ部分介绍Java异常的产生机理和用法,介绍一些最佳实践,讲述各类异常处理使用的一般API和技术。第Ⅱ部分阐述可测试性设计,介绍故障模式分析,讨论常见API的异常及起因,分析J2EE体系结构和分布式API的异常模式。第Ⅲ部分讨论在软件开发周期执行异常和错误处理,分析软件体系结构、设计模式、测试和调试,列举成熟的设计模式,介绍处理策略对系统体系结构的影响,讲述如何构建健壮系统。中文版链接:《ROBUST JAVA中文版&JAVA异常处理、测试与调试》英文版链接:《Robust Java Exception Handling,Testing and Debugging 》10)Java Code Convention最后一本当然是Java编码规范,这是由Sun公司官方出品的。这也是每个程序员为了得供程序的易读性,可维护性需要知道的。Oracle Technology Network for Java Developers【三.Java 专业人士必备的书籍】每个程序员都会有一些由于经常被当作专业资料参阅而磨坏的书。下列书籍应该是 Java 语言程序员的书架上必备的。书很贵,所以我有意将这份列表弄得很短,仅限于重要书籍。Thinking in Java (Bruce Eckel)Thinking in Java, 3rd edition (Bruce E Prentice Hall PTR,2002 年)Java 编程思想:第3版 (陈昊鹏 等译; 机械工业出版社,2005 年)Eckel 的书对于学习如何在 Java 语言环境中使用好面向对象技术极其实用。书中大量的代码样例解释了他所介绍的概念。文字出自一个并不认为 Java 技术总是正确答案的人,所以相当地实用。Eckel 具有多种语言的大量经验,还有用面向对象方式进行思考的扎实技能。本书将这些技能放到实用的 Java 语言环境中。他还在写一本新书,名为 Thinking in Enterprise Java。Effective Java (Joshua Bloch)Effective Java: Programming Language Guide(Joshua B Addison-Wesley,2001 年)Effective Java 中文版 (潘爱民 译; 机械工业出版社,2003 年)本书是理解优秀 Java 程序设计原则的最佳书籍。大多数材料从其他的 &学习 Java & 的书中根本找不到。例如,Bloch 书中关于覆盖equals() 这一章是我读过的最好的参考资料之一。他也在书中包括了很实用的建议:用接口替代抽象类和灵活使用异常。Bloch 是 Sun 公司 Java 平台库的架构师,所以他透彻地了解这门语言。事实上,他编写了该语言中大量有用的库。本书必读!The Java Programming Language (Ken Arnold, James Gosling, David Holmes)The Java Programming Language(Ken Arnold,James Gosling,David H Addison-Wesley,2000 年)Java 编程语言(第 3 版) (虞万荣 等译,中国电力出版社,2003 年)这也许是能弄到的最好的 Java 入门读物。它并不是一个标准规范,而是一本介绍每门语言特性的可读书籍。这本书在严谨性和教育性方面权衡得很好,能够让懂编程的人迅速被 Java 语言(和其丰富的类库)所吸引。Concurrent Programming in Java: Design Principles and Patterns (Doug Lea)Concurrent Programming in Java: Design Principles and Patterns, 2nd edition(Doug L Addison-Wesley,1999 年)Java 并发编程&设计原则与模式(第二版) (赵涌 等译,中国电力出版社,2004 年)不是每个开发人员都需要如此细致地了解并发性,也不是每个工程师都能达到本书的水准,但却没有比本书更好的关于并发性编程的概述了。如果您对此感兴趣,请从这里开始。Lea 是 SUNY 的一名专业程序员,他的和并发性有关的作品和想法都包含在了 JDK 5.0 规范(引自 JSR166)中,所以您大可放心,他所说的关于有效使用 Java 语言的建议是值得一听的。他是一个很善于沟通的人。Expert One-On-One J2EE Design and Development (Rod Johnson)Expert One-On-One J2EE Design and Development(Rod Johnson)WROX: J2EE 设计开发编程指南 (魏海萍 译,电子工业出版社,2003 年)对于刚接触 J2EE 的人来说,这是唯一的一本如实反映这项技术的书。本书收录了多年的成功经验和失败经验,不同于其他许多作者,Johnson 乐于将失败的经验公诸于众。J2EE 常常都被过度使用。Johnson 的书能帮您避免这一点。Refactoring (Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts)Refactoring: Improving the Design of Existing Code(Martin Fowler,Kent Beck,John Brant,William Opdyke,Don R Addison-Wesley,1999 年)重构:改善既有代码的设计(中文版) (侯捷 等译,中国电力出版社 ,2003 年)Fowler 写了几本现已出版的最流行的编程书,包括 Analysis Patterns。他的关于重构的书是这一主题的基本书籍。重构代码是被程序员忽略的训练,但却是程序员最直观的想法。重构是在不改变代码结果的前提下改进现有代码的设计。这是保持代码整洁的最佳方式,用这种方法设计的代码总是很容易修改。什么时候进行重构呢?当代码&散发出味道&时。Fowler 的书里满是 Java 语言代码的例子。许多 Java 语言集成开发环境(IDE)(包括了 IBM 的 Eclipse)都将 Fowler 的重构包含了进去,每一个都使用他的重构名命名,所以熟悉如extract method 等重构方法还是很值得的。Design Patterns (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)Design Patterns: Elements of Reusable Object Oriented Software(Erich Gamma,Richard Helm,Ralph Johnson,John V Addison-Wesley,1997 年)设计模式:可复用面向对象软件的基础 (李英军 等译,机械工业出版社 ,2005 年)这是一本在专业程序员圈子里更为有名的书,基于作者共同的绰号,这本书被认为是 &四人帮(GOF)之书&。模式是思考和解决普通编程问题时可以重用的方式。学习模式是一门学科。使用好模式(或知道什么时候不使用模式)是一项技能。忽略模式则是错误的。书中所有的例子都以 C++ 表示,但 Java 语言是从那里诞生的,让 Java 语言程序员由此联系到如何在 Java 语言中实现这些模式相对简单一些。熟悉模式并了解如何使用好模式使编程更加简单。这使得和其他程序员交流也更简单,因为在针对通用问题的通用解决方案中,模式是描述解决方案中彼此协作的大量相关编程概念的快捷方式。一些更为通用的方式,如工厂方法则是普便存在的,甚至存在于 Java 语言本身。关于明智使用模式的这个主题,也可以阅读 Joshua Kerievsky 的 Refactoring to Patterns,该书称可以让代码来告诉您何时实现模式。Patterns of Enterprise Application Architecture (Martin Fowler)Patterns of Enterprise Application Architecture(Martin F Addison-Wesley,2002 年)企业应用架构模式 (王怀民 等译,机械工业出版社 ,2004 年)比起小型、一次性项目来说,企业开发当然代表了更大的挑战。那并不意味着企业开发带来的所有挑战都是新挑战。事实上有些时候,这项开发已经是以前完成过的了。Fowler 做了很多个这样的项目。他的书提到了一些通用解决方案,并提供了关于使用、折中和可选方案的指导。Fowler 在书中包含了一些熟悉的模式,如模型视图控制器(MVC),他也提供了一些您也许不了解的模式,如处理 Web 站点上特定页面请求或行为请求的 Page Controller 模式。正如您对待大多数模式一样,一旦您读过许多模式,您就会认为 &我已经知道那个模式了& 。也许是这样,但有一个用来引用模式的通用表达方式还是很有帮助的。在有多个组件(由不同人开发)的大型项目中,该类引用是一项很好的帮助。UML Distilled (Martin Fowler)UML Distilled: A Brief Guide to the Standard Object Modeling Language(Martin F Addison-Wesley 2003 年)UML精粹:标准对象语言简明指南(第3版) (徐家福 译,清华大学出版社 ,2005 年)对于专业的程序员来说,UML 是一门很重要的通用可视化沟通语言,但是它被过度使用和草率地滥用了。您无需对使用 UML 沟通了解太多。Martin 对 UML 的提炼为您提供了最核心的东西。事实上,前后的封页提供了常规基础上可能使用到的所有东西。该书中 UML 例子的代码都是 Java 代码。Test-Driven Development: By Example (Kent Beck)Test-Driven Development: By Example(Kent B Addison-Wesley 2002 年)测试驱动开发(中文版) (崔凯 译,中国电力出版社 ,2004 年)测试优先编程将使编程发生革命性变化,能助您成为更好的程序员。在写代码之前编写测试开始很难,但却是一项威力强大的技能。通过优先编写测试,可使代码更加简单,并确保从一开始它就能工作(Beck 实践着他提倡的测试优先,与人合写了 JUnit,这是 Java 语言最流行的测试框架)。Beck 的书是权威的参考资料,扩展了的 Money 例子也用 Java 语言写成。Beck 详述了如何用测试优先进行 思考(这也许是许多程序员首先遇到的障碍)。The Pragmatic Programmer: From Journeyman to Master (Andy Hunt and Dave Thomas)The Pragmatic Programmer: From Journeyman to Master(Andrew Hunt 和 David T Addison-Wesley 1999 年)程序员修炼之道&&从小工到专家 (马维达 译,电子工业出版社 ,2004 年)做一个纯粹的面向对象开发人员有其优势所在。在当今复杂的社会中,作为 Java 语言开发人员,为完成任务常要妥协。Hunt 和 Thomas 探讨了如何不将真正重要的东西妥协掉而完成任务。这不是一本关于 Java 语言的书,而是 Java 语言开发人员重要的思想读物。例如,我认为没从&要解决问题,而不是推卸责任&这句忠言中受益的程序员,不能像个自豪的艺术家一样在他的杰作上签上大名。Peopleware: Productive Projects and Teams (Tom DeMarco and Timothy Lister)Peopleware: Productive Projects and Teams(Tom DeMarco,Timothy L Dorset House,1999 年)人件(第2版) (UMLChina 翻译组 译,清华大学出版社 ,2003 年)这份列表中的其他所有书籍都至少和技术有些相关。这本书却不是。在所有技术行话和首字母缩略词的海洋中,有时软件开发人员和经理们会忘记:是人制造了软件。DeMarco 和 Lister 向我们提醒了这一事实,也向我们提醒了形成这一区别的原因。这不是一本关于一门特定编程语言的书籍,但却是每个 Java 语言程序员都应该读的书。关于 &累死程序员如何让经理们适得其反& 还有许多其他的好书,但这是最好的一本。【四.推荐给初级Java程序员的3本进阶书 】原作者在这篇文章中介绍3本不错的技术书籍。作者认为这些书籍对新手或者学生而言尤其有帮助。通过一些基础性的教程入门后,我们可以使用Java做基础性的编程。然而,当我们需要从初级提升更高的一个层次时,大多数的人却不知道从何入手。一些好的书籍在这个阶段可以很好地帮助初级开发人员。《Head First设计模式》这本书介绍 GoF 常用设计模式的方式引人入胜。如果只看封面很难看出来这是一本技术书籍,更不用说这本技术书籍介绍的还是面向对象编程的一些很有用的技巧。这本书采用 Kathy Sierra 式编写风格:虽然她的博客已经关了,但是还是能从前面这个链接看到一些她的文章,建议读一读。如果你周围有人认为设计模式没有什么用处,这本书倒是能够让他们改变看法。个人而言,我认为经典的 GoF 手册是一个很好的参考,但它并不是专为新手准备的。因此强烈推荐在校生(包括那些不清楚组合模式是什么的程序员们)阅读此书。书中介绍的设计模式是程序开发中比较基本的编程模式,也是面向对象编程的程序员应该了解和掌握的。接下来要介绍的这本书则更偏向于Java语言本身,这也是我日常使用的编程语言。《Effective Java中文版》第二版每个Java程序员的书桌上都应该放有这本书。让我们先了解下作者:Joshua Bloch是Google公司的首席Java设计师,并且也是一位Jolt 奖获得者。他之前是Sun的一位杰出工程师(distinguished engineer),也是Transarc公司的一个资深系统设计师。Bloch主导了众多基于Java平台的软件系统的设计和实现,包括JDK5.0的功能加强以及获得过奖项的Java集合框架的设计实现。他同时也参与编写了《Java解惑Java Puzzlers》 和《Java并发编程实战Java Concurrency in Practice》这两本技术书。就凭&Java集合框架开发者&这个称号,我们就应该认真听取这位值得尊敬的程序员的建议。这些建议在这本书中组织成78个点:读者可以按照自己的速度进行阅读。&在复写equals和hashcode方法时,我们应该遵循什么规则?&不可变类(immutable class)是什么?&在特定的情况下,应当选用哪种最相关的异常类型?运行时异常(Runtime exception)还是可捕获异常(checked exception)?&对于一个托管语言(managed language,详细请参考 wiki介绍),如何在混淆编译时保留(preserve)类的成员?上面所有的问题(也包括其他74个)都有实用主义者Joshua Bloch的详细解释。读完这本书,程序员应该能意识到使用Findbugs、Checkstyle这些工具的必要性了。《Java并发编程实战》一年前我正努力在做 UI 开发工作时(在Eclipse 插件中使用SWT/JFace,其他一些项目则使用Swing ),就看了这本书。那时,我想了解如何实现一个快速响应的UI,从而能给用户更好的使用体验。我知道自己写线程安全的代码是非常复杂的,尽管运行时间长的操作通常是一个独立的线程。UI开发和多核系统应用开发是学习如何开发线程安全的软件系统的一个很好的理由。这本书的作者如下:Brian Goetz,Joshua Bloch(又出现这位大牛了,我们刚提到过,还记得吗?), Doug Lea(java.util.concurrent包的开发者), David Holmes,Tim Peierls 和Joseph Bowbeer。这本书的风格非常直接,有的代码在非线程安全的环境下表现不错,可一旦到了线程安全的环境下就变得十分的危险。接着,这本书介绍了基本的保证线程安全的机制:同步机制,volatile关键字等。本书还有对java.util.concurrent接口的介绍,你可以根据自己的需要来选择适合的并发集合类。这本书也介绍了程序运行时的错误管理,以及如何测试代码是否是线程安全的。
Java培训机构可靠吗?
1.&&&不恰当的类比。培训班出来的学员 :圈养速成鸡,3个月催熟。肉重不好吃。自学加交流成长 :散养本地鸡,1年熟,肉好吃,但不重。很多地方采用这样的养殖方式 : 前1-2个月圈养,后几个月散养。肉重,味不差。学习也一样,如果没有入门,找个导师或者机构学习一下,然后自我和交流,实战提升。在不知道怎么做的时候找导师,知道自己想要什么的时候,靠自己。2.&& 这种培训机构是不可靠的,但是并不能说所有的培训机构都是没用的。java虽然较其他语言好学,但是要想尽快学会自己钻研是比较慢的,会走很多弯路,当然这样可能会记忆深刻,但是很多弯路其实是没有必要的。培训机构不只是教完就算,还有实习的时间。它会带着你模仿企业的工作,毕竟大学学的偏于理论,和企业要求有很大差距,这样可以让你很快适应以后的工作。我感觉,培训机构就是把你领上路的,当然修行还是在自己,但是会走很多捷径,明白前人的经验。说明一下,我不是做广告的,只是根据自己的经历说一下看法,找培训一定要找靠谱负责任的,这点很重要!不喜勿喷!!
我们如何学好Java?
提问者情况:&&&& 我先说说自己情况,一名大二学生,马上大三了,跟着一个培训班学习java三个月了,我们一直在学基础期间老师也让做过五子棋,弹球游戏,但是没有一个自己能打出来的,感觉很郁闷,因为在一块学的他们就能做出来,而且很多都是我陌生的知识,有的就不知道,我也很郁闷,感觉自己这三个月貌似什么也没学一样,我这种在学习java中缺少的是什么?_?代码还是?我接下来应该怎么改变自己这种状况?优秀解答:首先先搞懂JavaSE的部分,Swing和swt部分就可以少看或不看,因为现在用的比较少。重点是看懂Java中的面向对象、集合框架、JDBC、异常、IO、线程和网络编程。JavaSE搞定后再学习Servlet、JSP,然后才是经典的Struts2、Hibernate和Spring,学习框架时重点理解框架的运行原理,甚至可以尝试自己写个轻量级的框架。理解运行原理的最好方法就是阅读源代码,还是要感谢Java中的开源项目。这期间还要多找

我要回帖

 

随机推荐