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

上传人:ta****u 文档编号:157262778 上传时间:2022-09-29 格式:DOCX 页数:8 大小:15.81KB
返回 下载 相关 举报
学习java都需要掌握哪些知识_第1页
第1页 / 共8页
学习java都需要掌握哪些知识_第2页
第2页 / 共8页
学习java都需要掌握哪些知识_第3页
第3页 / 共8页
点击查看更多>>
资源描述
学习java都需要掌握哪些知识要点:1、掌握项目开发的基本步骤2、具备极强的面向对象的分析与设计技巧3、掌握用例驱动、以架构为核心的主流开发方法没有人愿意自己一辈子就满足于掌握了一些代码实现的技巧,别人告诉你要实现什么,你就 用代码堆砌来实现别人的要求!你必须学会从整个项目的角度去思考!你必须学会假如你是 项目经理,你该如何思考!你必须学会假如你是架构师,你该如何思考!你必须掌握针对某 个特定问题领域的分析方法!关于基础知识:你可以看看这些名词或知识点,看是否能说出个一二三四来。JavaSE-基本语法、数据类型、操作符等:int、long、Integer、Long、if、else、for、while 面向对象:class (类)Object (对象)instanee (实例)state (状态)behavior (行为)field、method、new、可见性(访问控制)attribute、property、package、 import、 staticvariable 、 classvariable 、 instancevariable 、 heap、 methodarea 、 stack、 GC (垃圾回收)、overrides overload、对象转型(casting)、多态、this、super异常处理:理解编译期错误和运行期错误的区别、 Exception、 RuntimeException、 checked exception 、 unchecked exception 、 try、 catch 、 finally、 throw new XXXException、 throwsXXXException 、异常处理的基本原则-数组与集合数组的定义和使用方法 Collection、List、Set、Map、ArrayList、HashSet、HashMap、 Iterator、 equals、 hashCode、 Comparable、 Comparator常用类:Str in g、in tern、常量池、Str in gBuffer、java.util.Date、SimpleDateFormat、 Regex (正则表达式) 反 射 机 制 : Class 、 Method 、 Field 、 invoke 、 newInstance 、 BeanUtils( apache-commons)、 PropertyUtils( apache-commons)输入输出流: InputStream、 OutputStream、 Reader、 Writer、 Adapter 设计模式与原始流类、 Decorator 设计模式与包装流类、对象序列化和反序列化多线程: Thread、 Runnable、 sleep、 wait、 notify、 synchronized、 lockServlet 和 JSPHttpServlet、 doGet、 doPost 、 HttpServletRequest、 HttpServletResponse、 request.getParameter() 、 request.setAttribute() 、 request.getAttribute() 、 request.getSessi on()、ServletC on text、Filter、web.xml、tomcat、forward 与 redirect j http 协议的无状态性、cookie、JSPScopeObject、c:out./、c:forEach.HTML 与 JavaScript你需要能够理解常见的网页标签、 理解在网页中引入 JavaScript 的方法、以及JavaScript 的基本语法与使用方法以上,就是你进一步学习Java所必备的基本知识。特别是一些个专业术语和名词,看到这 些名词,如果你像看到亲爹一样亲切,那么说明你对Java的基础知识就很熟悉了。接下来是 SSH: 对于初学者来说,这三大框架被赋予了太多神秘的色彩,似乎它们是重中之重的知识!但是 对于拥有多年Java开发经验的专业技术人员来说,对于那些Java牛人来说,却对这三大框 架不太感冒!难道它们不重要吗?现在很多企业都在用这三大框架,所以很多企业也把掌握这三大框架作为招聘的必备条件。 不可否认的是,也有很多大型企业没有用这三大框架,这些企业经过多年发展,自身已经有 一定的技术积累,也形成了自己独特的技术框架体系。这三大框架既可以说很重要,也可以 说不重要。说重要的原因在于:这三大框架对 JavaEE 开发中所存在的普遍的问题,提供了优美的解决 方案,它们蕴含了这个行业中最NB的开发人员的努力和想法,所以,学习这三大框架,你 就可以窥探到这些处于技术巅峰的牛人们究竟对一个问题是怎么想的,通过一种什么样的设 计思路去解决问题的。所以,对于你来说,你没有太多项目开发的经验,经验是什么?经验 就是你知道可能会遇到哪些问题,针对哪个问题可以有哪些解决方法,在某个情景下,哪种 解决方法是较好的,哪种方法不太好等等!如果你没做过什么项目,你根本就不会去意识到 你可能会遇到哪些问题,而这些问题往往又是非常关键的!解决得不好,会影响到你的程序 的稳定性、可扩展性等等!三大框架就给初学者提供了了解你以后可能会遇到哪些问题,以 及针对这些问题的解决方案!当你了解了这三大框架为什么是重要的,那么你也就能理解,为什么这三大框架也可以说是 不重要的。如果你曾经开发过很多项目,你碰到了各种各样的问题,凭着你的技术功底,逐个击破了这些问题,在这些人眼里,三大框架(是不是还有N个框架?呵呵)都是浮云!你属于哪一种人呢?如果你没有太多项目开发经验,那么三大框架对于你来说就是非常重要 的!而且,由此你也知道了该怎么去学这三大框架。对于三大框架的学习而言,着力点在于 给你展示问题,并触发你自己主动的思考,我们鼓励你提出自己的想法,也许你的想法很白 痴,但那毕竟是你自己的想法,如果你不知道牛人的想法,那你怎么知道自己的想法是很白 痴的呢?在这种思想的碰撞过程中,你就会逐渐提高自己!所以,三大框架学完之后,你不 应该只是看到一大堆配置文件,你不应该只是看到了一些Action,些Service,些映射 文件,你不应该只知道session.save/update/delete,你不应该只是知道struts2中有一堆 interceptor,你不应该只是看到一堆jar包.如果你只是知道拷贝一堆jar包,定义一系列配置文件之后,SSH三大框架就能够运行起来 了,也可以给你干活了,那么,很悲哀的是,你仍然没有掌握三大框架的精粹!请你回答以 下问题:Struts2:为什么每次请求都要创建一个 Action 对象?ModelDriven拦截器的配置中refreshModelBeforeResult解决了什么问题?为什么在 web.xml 中配置的 StrutsPrepareAndExecuteFilter 要过滤所有的请求? 请你给我谈谈 ValueStack?Struts2是如何实现MVC设计模式的?Spring:你为什么要用 Spring?请你聊一聊 IOC/DI?什么是声明式的事务管理?为什么要使用声明式的事务管理? Spring如何实现声明式的事 务管理?把spring和hibernate集成,定义事务管理特性的时候,为何要将除了添加、删除、更新操作之外的方法,即主要执行查询任务的方法定义为 read-only?Hibernate:请你谈谈你对OR映射的理解?很多人说Hibernate不适合大项目,性能有问题,你是如何理解的?Hibernate 为什么一定要定义一个数据库标识?为什么Hibernate建议你的实体类实现hashCode和equals方法?谈谈你对Hibernate实体类中的数据库标识与数据库主键之间关系的认识?谈谈你对Hibernate关联映射与数据库外键之间关系的认识?调用session.save()方法,hibernate 定会发出insert语句吗?谈谈你的理解调用session.update()方法,hibernate 定会发出update语句吗?谈谈你的理解 请你聊一下以下名词、概念或用法:azy、lazy二”extra”、inverse、fetch、fetch二”join”、 fetch=”subselect”、 batch-size配置了 lazy二true定会实现懒加载吗?请你谈谈Hibernate中的“N + 1”问题请你谈谈Hibernate有哪些最佳实践?以上并非SSH中全部重点的问题,但它们能考察你能否灵活运用SSH框架!如果你能深刻理解这些问题,再配以合适的实战项目训练,你也会逐渐成为牛人!最后是项目开发能力:不管你是学Java还是别的技术,你的根本目的在于给客户创造价值!否则,你下大力气学习的东西,随着技术的进步和更新,很快就会过时!所以,技术的核心在于用技术创造有价 值的成果!也就是说,客户需要什么,你就要用技术把客户需要的东西给他造出来!一个公 司之所以要用各种福利条件极力挽留你,是因为你能够给公司带来极高的利益!那么,你有 什么可以给公司利用的呢?公司最看重你的哪方面的能力呢?做项目需要的能力很多,其中最核心最基础的就是建模能力(现在最主流的就是面向对象建 模!)。什么是建模能力呢?我给大家一个面试题:一个保险公司的保险卡管理模块:销售人员领取保险卡信息(保险卡数量、卡号、领取日期), 然后直接销售给客户,销售完毕后,将保险卡信息录入保险公司系统内部(销售人员信息、 购买人信息、购买的保险卡数量、卡号等),客户登录保险公司网站激活保险卡,需要填写 (保险卡卡号、激活密码、被保险人信息、受益人信息)要求就是:如果这个模块交给你来做,你要怎么做?你要解决哪些问题?你可否画个图,给我描述一下你的想法是什么吗?这只是一个面试题而已,因为只有简单几句话,所以我把它放到这里,让大家感受一下所谓 建模要解决什么问题。而业务领域的问题实在是太多了!也许一个几十上百页的需求文档才 能把某个业务领域的问题描述清楚,而你的职责就是要把它们实现出来!某个公司要开发一个考勤管理系统,要求与现有的人力资源系统对接,你是主要的技术负责 人,那么,你要做哪些工作呢?某 ERP 项目要实现一个排班管理模块,交给你去完成,你如何去完成呢?不要抱怨项目经理给你的信息太少(只有几句话),不要抱怨客户没有描述清楚他们的需求你的价值就在于理顺所有的问题,用各种手段获得你想要的信息,按照一定的思路汇总,并在特定的时间里逐个解决它!你应该意识到学Java不是一个坦克大战、一个网络飞车、-个 CMS、-个 DRP、一个OA 那么简单,你不要沉迷于那些技术细节(虽然也是有必要的,但不要转牛角尖),不要满足 于实现了 CRUD式的项目需求(虽然这是基础中的基础)在你的前方,永远有一个目标在 那里,需要你去努力追赶!今后你将面对更加繁杂的需求,你学习项目的唯一目的,就是:学习如何将需求转化为实现, 如何对需求进行分析,如何建立概念模型,如何理顺各种概念之间的关系,如何进行设计, 如何选择合适的技术来实现你的设计方案,如何对你的实现进行测试,如何解决你所遇到的形形色色的问题(性能、需求变更等)。当你真正到公司里面从事了几年开发之后,你就会 同意我的说法!利用Java找工作,需要的就是项目经验,项目经验就是理解项目开发的基本过程,理解项目的分析方法,理解项目的设计思路,理解项目的实现技巧,理解项目的测试方法,理解项 目中各种问题的解决方案!所以,你该清楚你的目标了!
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 建筑资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!