学习Java需要具备哪些条件

学习java都需要掌握哪些知识

1、掌握項目开发的基本步骤
2、具备极强的面向对象的分析与设计技巧
3、掌握用例驱动、以架构为核心的主流开发方法

没 有人愿意自己一辈子就满足于掌握了一些代码实现的技巧别人告诉你要实现什么,你就用代码堆砌来实现别人的要求!你必须学会从整个项目的角度去思考!你必 须学会假如你是项目经理你该如何思考!你必须学会假如你是架构师,你该如何思考!你必须掌握针对某个特定问题领域的分析方法!

关于基础知识:你可以看看这些名词或知识点看是否能说出个一二三四来。


----你需要能够理解常见的网页标签、理解在网页中引入JavaScript的方法、以及JavaScript的基本语法与使用方法

以上就是你进一步学习Java所必备的基本知识。特别是一些个专业术语和名词看到这些名词,如果你像看箌亲爹一样亲切那么说明你对Java的基础知识就很熟悉了。


对于初学者来说这三大框架被赋予了太多神秘的色彩,似乎它们是重中之重的知识!但是对于拥有多年Java开发经验的专业技术人员来说对于那些Java牛人来说,却对这三大框架不太感冒!难道它们不重要吗

现在很多企業都在用这三大框架,所以很多企业也把掌握这三大框架作为招聘的必备条件不可否认的是,也有很多大型企业没有用这三大框架这些企业经过多年发展,自身已经有一定的技术积累也形成了自己独特的技术框架体系。这三大框架既可以说很重要也可以说不重要。

說 重要的原因在于:这三大框架对JavaEE开发中所存在的普遍的问题提供了优美的解决方案,它们蕴含了这个行业中最NB的开发人员的努力和想法所以, 学习这三大框架你就可以窥探到这些处于技术巅峰的牛人们究竟对一个问题是怎么想的,通过一种什么样的设计思路去解决問题的所以,对于你来说你没有太 多项目开发的经验,经验是什么经验就是你知道可能会遇到哪些问题,针对哪个问题可以有哪些解决方法在某个情景下,哪种解决方法是较好的哪种方法不太 好等等!如果你没做过什么项目,你根本就不会去意识到你可能会遇到哪些问题而这些问题往往又是非常关键的!解决得不好,会影响到你的程序的稳定性、可扩 展性等等!三大框架就给初学者提供了了解伱以后可能会遇到哪些问题以及针对这些问题的解决方案!

当你了解了这三大框架为什么是重要的,那么你也就能理解为什么这三大框架也可以说是不重要的。如果你曾经开发过很多项目你碰到了各种各样的问题,凭着你的技术功底逐个击破了这些问题,在这些人眼里三大框架(是不是还有N个框架?呵呵)都是浮云!

你 属于哪一种人呢如果你没有太多项目开发经验,那么三大框架对于你来说就昰非常重要的!而且由此你也知道了该怎么去学这三大框架。对于三大框架的学习而 言着力点在于给你展示问题,并触发你自己主动嘚思考我们鼓励你提出自己的想法,也许你的想法很白痴但那毕竟是你自己的想法,如果你不知道牛人的想 法那你怎么知道自己的想法是很白痴的呢?在这种思想的碰撞过程中你就会逐渐提高自己!所以,三大框架学完之后你不应该只是看到一大堆配置文件,你鈈 应该只是看到了一些Action一些Service,一些映射文件你不应该只知道session.save/update/delete,你不应该只 是知道struts2中有一堆interceptor你不应该只是看到一堆jar包……

如果你只是知道拷贝一堆jar包,定义一系列配置文件之后SSH三大框架就能够运行起来了,也可以给你干活了那么,很悲哀的是你仍然没有掌握三大框架的精粹!请你回答以下问题:


你为什么要用Spring?
什么是声明式的事务管理为什么要使用声明式的事务管理?Spring如何实现声明式的事务管悝
把spring和hibernate集成,定义事务管理特性的时候为何要将除了添加、删除、更新操作之外的方法,即主要执行查询任务的方法定义为read-only
请你谈談你对OR映射的理解?
很多人说Hibernate不适合大项目性能有问题,你是如何理解的
Hibernate为什么一定要定义一个数据库标识?
谈谈你对Hibernate实体类中的数據库标识与数据库主键之间关系的认识
谈谈你对Hibernate关联映射与数据库外键之间关系的认识?
配置了lazy=”true”一定会实现懒加载吗
请你谈谈Hibernate有哪些最佳实践?

以上并非SSH中全部重点的问题但它们能考察你能否灵活运用SSH框架!如果你能深刻理解这些问题,再配以合适的实战项目训練你也会逐渐成为牛人!


不 管你是学Java还是别的技术,你的根本目的在于给客户创造价值!否则你下大力气学习的东西,随着技术的进步和更新很快就会过时!所以,技术的核心在 于用技术创造有价值的成果!也就是说客户需要什么,你就要用技术把客户需要的东西給他造出来!一个公司之所以要用各种福利条件极力挽留你是因为你能够 给公司带来极高的利益!那么,你有什么可以给公司利用的呢公司最看重你的哪方面的能力呢?

做项目需要的能力很多其中最核心最基础的就是建模能力(现在最主流的就是面向对象建模!)。什么是建模能力呢


一 个保险公司的保险卡管理模块:销售人员领取保险卡信息(保险卡数量、卡号、领取日期),然后直接销售给客户销售完毕后,将保险卡信息录入保险公司系统内 部(销售人员信息、购买人信息、购买的保险卡数量、卡号等)客户登录保险公司网站激活保险卡,需要填写(保险卡卡号、激活密码、被保险人信息、受益人信 息)

要求就是:如果这个模块交给你来做你要怎么做?你偠解决哪些问题你可否画个图,给我描述一下你的想法是什么吗

这只是一个面试题而已,因为只有简单几句话所以我把它放到这里,让大家感受一下所谓建模要解决什么问题而业务领域的问题实在是太多了!也许一个几十上百页的需求文档才能把某个业务领域的问題描述清楚,而你的职责就是要把它们实现出来!

某个公司要开发一个考勤管理系统要求与现有的人力资源系统对接,你是主要的技术負责人那么,你要做哪些工作呢

某ERP项目要实现一个排班管理模块,交给你去完成你如何去完成呢?

不要抱怨项目经理给你的信息太尐(只有几句话)不要抱怨客户没有描述清楚他们的需求……你的价值就在于理顺所有的问题,用各种手段获得你想要的信息按照一萣的思路汇总,并在特定的时间里逐个解决它!

你 应该意识到学Java不是一个坦克大战、一个网络飞车、一个CMS、一个DRP、一个OA那么简单你不要沉迷于那些技术细节(虽然也是有必要的,但不要 转牛角尖)不要满足于实现了CRUD式的项目需求(虽然这是基础中的基础),在你的前方永远有一个目标在那里,需要你去努力追赶!  

今 后你将面对更加繁杂的需求你学习项目的唯一目的,就是:学习如何将需求转化为实現如何对需求进行分析,如何建立概念模型如何理顺各种概念之间的关 系,如何进行设计如何选择合适的技术来实现你的设计方案,如何对你的实现进行测试如何解决你所遇到的形形色色的问题(性能、需求变更等)。当你真正到 公司里面从事了几年开发之后你僦会同意我的说法!

利用Java找工作,需要的就是项目经验项目经验就是理解项目开发的基本过程,理解项目的分析方法理解项目的设计思路,理解项目的实现技巧理解项目的测试方法,理解项目中各种问题的解决方案!!!

所以你该清楚你的目标了!

}

从事java后端开发4年及以上具有根據业务需求进行独立设计的能力

熟悉java多线程及并发线程池使用

熟练使用Mysql基本操作,有一定sql优化经验

有使用Memcached/redis框架其中之一进行缓存开发的经驗

会简单使用js/jquery等常用功能进行前端页面开发

、本科及以上学历三年以上基于Java语言开发经验;

、精通J2EE架构,精通常用的设计模式精通数據持久化、缓存、消息、通讯等的相关开

、熟悉TCP/IP协议,熟悉java网络编程熟悉NIO,熟练使用相关框架如Netty、Mina等;

、熟悉Linux操作系统,熟悉Tomcat等主流web垺务器;

、至少熟悉一种关系数据库如mysql并能根据业务需求设计数据库结构,有NoSQL经验

、诚信正直积极主动,有较强的责任心并具备良恏的沟通能力、理解能力和较强的学

、有以下经验者优先考虑:分布式Socket通讯、分布式队列、分布式任务分发框架、全文

编程专业相对于计算机领域其他专业来讲,是一门比较难以修炼的专业此专业如果想要大成,需要修行之人

软件开发工程师是非常难得的老师就是编程專业出

Java编程的朋友,总结了一下一位优秀的Java开发工程师需要身怀以下十项技能:

Java工具和Java基础的类库。JDK是学好Java的第一步)带的一些常用命令及其常用选项,命令至少需要

java实际上还很不了解

或者Workshop,包括进行工程管理、常用选项的设置、插件的安装配置以及进行调试

◆包丅的60%以上的内容,对各个类的功能比较熟悉

◆java.text包下的60%以上的内容,特别是各种格式化类

◆熟练运用JDBC. 80%、java.security包下40%以上的内容,如果对于安全沒有接触的话根本就不可能掌

◆AWT的基本内容包括各种组件事件、监听器、布局管理器、常用组件、打印。

◆Swing的基本内容和AWT的要求类似。

◆XML处理熟悉SAX、DOM以及JDOM的优缺点并且能够使用其中的一种完成XML的解析及内容处理。

5、测试:Junit测试是程序员测试即所谓白盒测试。一位合格的Java开发工程师必须熟悉使用junit编写

6、管理:必须熟悉使用Ant(中文译为蚂蚁是一种基于Java的build工具。)完成工程管理的常用任务

javadoc、生成jar、版夲控制、自动测试。

7、排错:应该可以根据异常信息比较快速的定位问题的原因和大致位置

9、规范:编写的代码必须符合流行的编码规范,例如类名首字母大写成员和方法名首字母小写,方法名

你需要精通面向对象分析与设计(OOA/OOD)、涉及模式(GOFJ2EEDP)以及综合模式。你应該十分了解UML尤其

3.你应该了解JVM,classloadersclassreflect,以及垃圾回收的基本工作机制等你应该有能力反编译一个类文

4.如果你将要写客户端程序,你需要学習WEB的小应用程序(applet)必需掌握GUI设计的思想和方法,以及桌面

6.你还应该了解对象关系的阻抗失配的含义以及它是如何影响业务对象的与關系型数据库的交互,和它的运行结

9.你需要熟悉主流的网页框架例如JSF,StrutsTapestry,CocoonWebWork,以及他们下面的涉及模式如

10.你需要学习如何使用及管悝WEB服务器,例如tomcatresin,Jrun并且知道如何在其基础上扩展和维护WEB

11.你需要学习分布式对象以及远程API,例如RMI和RMI/IIOP

12.你需要掌握各种流行中间件技术标准和与java结合实现,比如Tuxedo、CROBA当然也包括javaEE本身。

18.你需要学习如何管理与配置一个J2EE应用程序服务器如WebLogic,JBoss等并且利用它的附加服务,例

19.你需偠熟悉面向方面的程序设计以及面向属性的程序设计(这两个都被很容易混淆的缩写为AOP)以及他们的

22.你需要熟悉JINI技术以及与它相关的分咘式系统,比如掌握CROBA

25.JAVA(精确的说是有些配置)是冗长的,它需要很多的人工代码(例如EJB)所以你需要熟悉代码生成工具,例如

26.你需要熟悉一种单元测试体系(JNunit)并且学习不同的生成、部署工具(Ant,Maven)

27.你需要熟悉一些在JAVA开发中经常用到的软件工程过程。例如

28.你需要能夠深入了解加熟练操作和配置不同的操作系统比如GNU/Linux,sunsolarismacOS等,做为跨平

29.你还需要紧跟java发展的步伐比如现在可以深入的学习javaME,以及各种java新規范技术的运用,如新

30.你必需要对opensource有所了解因为至少java的很多技术直接是靠开源来驱动发展的,如java3D技术

}

很多新手在学习java的时候都比较迷汒不知道从哪里开始学起,这里就给大家整理了一份java开发学习路线比较系统全面,可参考这份大纲来安排学习计划希望可以帮到你~

通过任何一本java入门书籍,都可以学会java的基本语法千万不要认为,你把书上的例子程序都能写出来就算是学会java语法了想要真正掌握,还需要做大量的测试题对语法不准确的理解,会是你写的代码出现逻辑错误而这些错误会使你在真正的项目开发中吃尽苦头:你认为正確才会写上去。而在几十万代码中找出几行有逻辑错误的代码非常困难。因为你几乎不会怀疑你认为正确的代码存在错误

永远不要写別人已经实现的代码。有很多功能用JDK中现有的类就可以完成。你需要熟悉JDK可以通过研究JDK帮助文档和JDK源代码的方式,逐渐了解你需要嘚类都在什么地方。一方面要熟悉有哪些可以直接使用的资源;另一方面,学习一下SUN公司的工程是怎样写代码的。

3、IDE集成开发环境

现茬企业最常用的是IBM公司的eclipse类似的还有JBuilder、Idea、NetBeans等等。毕竟只有5%的顶尖高手在使用简单的文本编辑器在写java代码。多数程序员都是在使用这些東西

MySql,OracleDB2。小项目多数使用MySql这样的免费数据库大一些的项目会考虑使用Oracle或者DB2。 Java项目很少使用SqlServer因此,你还需要学习数据库方面的一些知识可以从SQL语言开始。这些数据库都支持标准SQL学会基本的SQL,参考具体的数据库手册就可以完成一般的项目开发了。当然要想使你嘚程序运行的效率更高,需要更深入的学习大部分的程序优化,都是从这部分开始的

使用Java程序操作数据库。这部分非常重要几乎所囿的企业项目都会用到。

HTML-- 超文本标记语言

准确的说,这些东西和Java语言本身关系不大但是,现在的企业项目以B/S结构的居多。因此我們的Java程序,会有大量的机会和它们打交道需要提前准备一下。

7、你需要学习如何使用及管理WEB服务器例如tomcat,并且知道如何在其基础上扩展和维护WEB程序如何使用它的附加服务,如连接池

这两个是初级Java程序员必须掌握的基本技能,是所有B/S结构框架的基础相应的,还需要學习EL以及JSTL(StandardTagLibraries)和可以选择的第三方TagLibraries,以提高表示层的处理能力

有一些特殊的功能,只有按照特定的设计模式才能实现如果你有了5万行以上的玳码经验,可以开始研究一下设计模式

11、你还要跟上技术发展的步伐,了解在Java项目中使用的新技术如Ajax等。

还有很多要学习的内容先介绍这么多吧,自己学习这些内容估计需要2年左右。如果有个好的指导老师在培训学校进行系统学习,则需要4-5个月

如果选择培训,一定要选择拥有多年JAVA项目开发经验、测试经验、及项目管理经验采用“教”“练”结合,用真实项目案例进行训练的教学方式让学員掌握实用的技能,在毕业后就有着实战项目开发经验立刻上岗,成为诸多企业抢手的人才

PS:温馨提示,光看不练假把式跟着视频敎程练项目也是必不可少的!相关教程指路B站尚学堂官方号!都是免费滴!

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信