Java学习杂谈

由于Java跨平台特性,应用范围相对于C#而言,更广泛一些;所谓的跨平台,就是一次编译,多个系统平台执行。由于Java运行在JVM上面,只有系统中安装了JVM,Java的编译文件class文件就可以被解释执行。
 
    开发工具比较优秀的有Eclipse/Jbuilder,Eclipse是开源免费的软件,在它基础上有很多插件工具,例如JBOSSIDE、MyEclipse等,每个插件都有其自身的用途,Myeclipse不是免费的,但它的集成性最好,集成了Struts/Hibernate/Spring/EJB等流行框架,而且可以自动部署服务器;插件的优劣,大家可以根据自己的需要以及习惯去选择。
 
    Java是一个大系,一般来说,它的应用有C/S、 B/S结构的编程。对于C/S结构而言,它的编程主要有SWING/SWT/JFACE编程,应用范围而言比VC之类的要弱很多,Java本身需要运行在JVM,所以即使用它来编写很小的客户端程序,也需要庞大的JVM环境支持;由此它的优势主要体现在B/S结构。
 
    我简单谈一下B/S结构的编程吧。
 
    对于基本的B/S编程,现在应用的就是MVC模式,一般来说就是用servlet实现服务器端功能的实现,jsp实现客户端,再来点javabean数据操作。对于servlet而言,就是处理客户端请求,并且给出响应;对于jsp而言,就是实现以前的html的功能,其实经过编译后,jsp也是一个servlet,一般说servlet是面向程序员的,jsp是面向页面设计的,但它们没有本质的区别。很多同学不了解javabean是什么东西,开始不用了解逻辑bean还是实体bean等,它就是一个POJO,起到的作用就是一个简单的数据封装,并提供了java标准的get/set访问其类变量的方法。
 
    Struts框架是现在比较流行的MVC框架,它实现了MVC模式的V-C部分,它的核心是ActionServlet,一般不用更改这个servlet,不更改它如何实现服务端的控制呢?呵呵,其实它就是通过配置文件(xml)实现的,其默认的名字是:struts-config.xml,它里面定义了服务器要响应的动作Action,以及要发送客户端的页面Render。Action和render的区别是:Action一定要调用render,render不一定要调用Action,有些同学可能要有疑问,render没有用过阿 ,其实一般我们是隐式调用的,response.sendRedirect(""),mapping.findForward("")就是用render实现的。现在struts分2个版本发展,一个版本最新核心升级到了struts1.3.X,另一个版本核心发展到了2.0.X,感觉和linux有2.4和2.6 两个核心发展类似,有很大的不同。比如前面的版本默认提供一个formbean提供数据封装,后一版本和webworks结合了,反而取消了formbean数据封装,引入了volicity概念,本身每个部分的知识点都够写一本书的,我只是在这里简单提一下,有兴趣的同学可以查相关的资料。
 
    Hibernate是轻量级的ORM中间件,所谓中间件就是连接应用程序和系统的一个组件平台,通过它的API,应用程序可以不用考虑系统的特性,维持一定的系统独立性,java程序通过Hibernate操作数据库,不用考虑数据库是什么,无论是DB2 还是SQLServer还是MySQL,编程方法都是一样的,只需修改一下配置,显然减少大量的工作,只要有用到jdbc的地方都可以使用Hibernate,而且它提供了cache,应用第三方连接池,在高访问量的时候性能也是令人满意的。
 
    Spring是一个大的框架集合,你可以全部使用它,也可以使用其中的一块。了解它的IOC和AOP编程基本就差不多了,由于它和Hibernate结合的比较好,所以它们经常在一起使用。它和Struts、Hibernate并称为SSH编程。
    
     这些框架/中间件的共同之处就是写xml配置,也许刚开始你会很郁闷,不会写配置文件或者搞不明白其中的意思,拿过来的例子洋洋洒洒就是一大篇,看都看得头晕。我的经验就是找一个小的例子,找个人简单的指导你一下,东西学的再多,用到的其实只有很少的知识点,理解你的小例子,慢慢的就能在这个基础上做出很大的系统。比如web.xml,其实它里面很简单,就是最外层一个webapp,里面定义一个servlet以及和该servlet配对的servlet-mapping,当然需要其他属性的话,你可以慢慢再往里面加。
 
    系统的测试几乎是任何一家公司面试的时候必问的问题,对于测试的概念大家可以查一下,不外乎三大类:白盒/黑盒/灰盒测试,对于java而言,灰盒测试基本是没有了,细分的话还有单元测试、回归测试、性能测试、压力测试等等,只要你能了解一些基本概念,熟悉Junit、Jmeter、Jtest等测试工具,一般面试是没有问题的了,嘻嘻,这个地方好像不是在讲体会,反而在说应付面试的问题。
 
    当然任何一门语言都有其精妙之处,不可能一下就能学会,尤其在工作中还要涉及到安全和性能等方面的问题,需要你慢慢去体会,去深入。
 
    Java学到最后,就可以归并为: Java语法+XML配置文件
 
本文出自 “ 我的空间” 博客,请务必保留此出处 http://wangruwei.blog.51cto.com/186868/32642

你可能感兴趣的:(java,职场,休闲)