学习Java开源框架前你应该了解的

不要上来就学Struts/WebWork/Spring/Hibernate/iBATIS等等框架,先了解一下下面一些技术,对于学习框架来说是十分重要的。
  一是Java的反射机制和自省机制。大部分框架都用到这两种机制,因为它们都要实现通过配置文件自动完成类的识别和加载,所以必须要使用反射和自省。尤其是自省机制,对于大家了解JSP中的一些知识也是很有帮助的。比如,如果在EL中使用
  ${user.name}
  那么,user这个对象中如果没有name这个属性行不行?
  还有,是不是Java私有的成员就一定不能访问?
  二是设计模式。GOF的23种模式很重要,这已经不用再多说了。每一种框架都用到了数种设计模式,如果你不懂设计模式,它们的源代码很难看懂。比如,JUnit中就用到好多种设计模式,毕竟是Gamma做的。包括Composite、Command、Decorator等等。
  三是代理机制。代理对于实现一些附加功能非常有帮助,在Hibernate中大量地使用到了代理机制。代理机制有两种,一是Java内置的Proxy,二是CGLIB框架提供的代理。倒不用全懂,但至少得知道代理是个什么意思。要不即使你会用了,也不会理解它们是如何实现的。
  四是XML。一定要会写,对于他的解析,能够了解最好了。两种方法,DOM和SAX;两种框架dom4j、digister等等
  我觉得最重要的是基础知识一定要好.我推荐看java编程思想这本书,很多公司笔试的java方面的题目出自这本书.另外JSP,SERVLET,JDBC一定要有所了解,这个能说明你在大学的时候实习过,做过一些小项目的.HIBERNATE,STRUTS,SPRING这些东西我不推荐你去学习,我觉得你应该学习如何处理异常,学会用JDBC访问数据库,学会如何释放资源,如何控制数据库事务,学会如何写自定义标签,这样能够显著的提高你的编程水平.
  工作一年的后我觉得应该回过去看看大学的数据结构,算法,操作系统,然后应该对面象对象要有更深刻的理解,设计模式也应该慢慢开始涉及到(JAVA变编程思想这本书建议多看几次).我不建议工作一年就开始换工作,因为找工作要花时间,新工作就要适应新的框架和新的业务,这样你就会乱费很多时间的.我还是不建议你去看HIBERNATE,STRUTS,SPRING这样的东西,虽然你工作中可能要用到它.对于英语我觉得应该早做准备,强迫自己看一些英文方面的书籍,提高自己的口语水平,另外我还要强调一点,适当的参加培训是很有必要的,上海有很多的外语培训机构(主要是培训商务交流),效果很不错的,不过也很贵的,所以去前一定要计划好,不要象大学那样交了钱不去上课或者不认真听课,那样就最好先不要去.
  工作两年后,如果你算法,数据结构,设计模式等等有比较深的了解的时候 我觉得HIBERNATE,STRUTS,SPRING的实现方法你应该能够很快理解.

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-11-03 17:23:19

学习Java开源框架前你应该了解的的相关文章

NodeJS几个值得学习的开源框架

1.Primus Primus,是Transformer的创造者,并且也被称为通用包装器实时框架.Primus里包含了大量的用于Node.js的实时框架,并 且它们都拥有各种不同的实时功能.此外,Primus还提供了通用的低级别接口用于各个实时框架之间进行通信.Primus开源,并且托管在Github上. 2.Geddy Geddy是一个非常简单的基于Node.js的结构化MVC框架.你可以使用它快速的构建Web应用和JSON API.如果你使用过Ruby on Rails或者PHP的codel

关于几个网络编程的java开源框架

主要有: quick server apache mina hessian      

深度学习——你需要了解的八大开源框架

深度学习八大开源框架 导读:深度学习(Deep Learning)是机器学习中一种基于对数据进行表征学习的方法,深度学习的好处是用非监督式或半监督式的特征学习.分层特征提取高效算法来替代手工获取特征(feature).作为当下最热门的话题,Google.Facebook.Microsoft等巨头都围绕深度学习重点投资了一系列新兴项目,他们也一直在支持一些开源深度学习框架. 目前研究人员正在使用的深度学习框架不尽相同,有 TensorFlow.Torch .Caffe.Theano.Deeplea

开源框架思索-----一篇醍醐灌顶的好文章

本文源于IT168 作者 陈雄华 http://tech.it168.com/o/2006-12-13/200612131101722.shtml 1 空前繁荣的开源世界 大致2000年以前,Java世界还是Sun一言九鼎,唯我独尊的时代.Sun发布的任何规范和标准都无一例外地被Java社区有意无意的追捧着,Java世界沉浸在一片歌功颂德,前拥后簇的氛围里.IBM,Bea,Oracle这些Java阵营的代表者也都为能最先最快实现Sun的各种规范而弹冠相庆. 但这三四年来,Java的列车驶进了春秋

Java集合源码剖析:Java集合框架

Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组.链表.栈.队列.集合.哈希表等.学习Java集合框架下大致可以分为如下五个部分:List列表.Set集合.Map映射.迭代器(Iterator.Enumeration).工具类(Arrays.Collections). Java集合类的整体框架如下: 从上图中可以看出,集合类主要分为两大类:Collection和Map. Collection是List.Set等集合高度抽象出来的接口,它包含了这些集合的基本操作,它主

58同城开源轻量级Java Web框架 Argo

58同城开源轻量级Java Web框架 Argo 发表于17小时前| 次阅读| 来源CSDN| 0 条评论| 作者张红月 开源58同城JavaWeb框架 摘要:58同城开源其轻量级Java Web框架--Argo,Argo起源与58同城的内部Web框架wf(Web Framework).目前wf支撑着58同城几乎所 有的Web站点.开发者们对此次开源的反响非常强烈,几乎一天时间就被收藏了90次,fork34个.那么是否会掀起国内的开源热潮呢? 如今,开源已成为业界互联网公司的一种发展趋势,许多公

AI 从业者该如何选择深度学习开源框架丨硬创公开课

编者按:本文内容来自微软美国总部机器学习科学家彭河森博士在雷锋网(公众号:雷锋网)硬创公开课的分享,并由彭河森博士亲自整理成文. 正如程序语言一样,深度学习开源框架同样各有优劣和适用的场景,那么 AI 从业者该如何有针对性地选择这些平台来玩转深度学习? 本期公开课特邀了先后在谷歌.亚马逊.微软供职的机器学习科学家彭河森博士为大家讲述<MXNet火了,AI从业者该如何选择深度学习开源框架>.彭河森博士亲眼见证并深入参与了这三家巨头布局深度学习的过程. 嘉宾介绍 彭河森,埃默里大学统计学博士.现担

java-JAVA学习以基础为主还是开源框架为主?

问题描述 JAVA学习以基础为主还是开源框架为主? 小弟今年做JAVA将近3年了,感觉技术很一般,最近下定决心好好学学技术.但是又很疑惑,到底是该精力主要放在学习JAVA基础.数据结构.jvm等这些上呢,还是应该多学习开源框架呢,请各位大侠指点迷津. 解决方案 什么都一样,开始需要出结果的时候用框架,有能力了需要重构了再以基础为主,那时候你就可以用你牢固的基础重写框架了 解决方案二: 我自己也是一个Java小学生,感觉还是要首先以基础为主,过一遍Java基础的东西,我之前就是这么做的,认真看了一

Deep learning深度学习的十大开源框架

Google开源了TensorFlow(GitHub),此举在深度学习领域影响巨大,因为Google在人工智能领域的研发成绩斐然,有着雄厚的人才储备,而且Google自己的Gmail和搜索引擎都在使用自行研发的深度学习工具. 对于希望在应用中整合深度学习功能的开发者来说,GitHub上其实还有很多不错的开源项目值得关注,首先我们推荐目前规模人气最高的TOP3: 一.Caffe.源自加州伯克利分校的Caffe被广泛应用,包括Pinterest这样的web大户.与TensorFlow一样,Caffe