很多在校大学生、刚毕业不久亦或是已经开始Java编程的程序员们,从事或想转行做Java同学们都有一些或多或少的疑问。为了让大家能对Java有一个更为全面、系统的认识,本文对Java从诞生到实际的应用、再到就业方向做一个全面的阐述。

Java的发展历史

Java名字的来源

Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans (对象豆)等。SUN和JAVA的标识也正是一杯正冒着热气的咖啡。

Java大记事及版本发布

Java开发工具

最常用的工具包括:Eclipse、MyEclipse、IntelliJ IDEA等

Eclipse属于免费版,在网上都可以搜索到;MyEclipse是收费版,网上有破解的,仔细找的话应该可以找到;Idea也是免费的,网上也可以搜索到。这里就不提供具体的下载方法了。

相关书箱

最精典的书籍莫过于圣经级的著作《Java编程思想》,凡事从事Java开发的工程师几乎人手一本;

入门级的书箱包括‘清华大学出版社’所著的《Java从入门到精通》、‘机械工业出版社’所著的《Java核心技术》等;

进阶级的书箱包括‘吉林大学出版社’所著的《Java项目开发实战入门》、‘机械工业出版社’所著的《Java高并发编程详解:多线程与架构设计》等;

高过阶的书箱包括‘机械工业出版社’所著的《深入理解Java虚拟机:JVM高级特性与最佳实践》、‘机械工业出版社’所著的《Java核心技术:高级特性》等。

与Java相关的框架

Struts是Apache赞助的一个开源项目。它通过采用Jave Servlet/JSPJSP技术,实现了基于Java EE Web应用的MVC(Model-View-Controll)设计模式的应用框架,是MVC设计模式中的一个经典产品。

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JaveEE架构中取代CMP,完成数据持久化的重任。

MyBatis 本是Apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。

MyBatis与Hibernate框架作用基本类似的,也是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

这名字起的特别好,春天,春意盎然。Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1(现在一般不用),Struts2(一般老项目使用)等。

Java相关的知识学习

了解WEB前端技术

Java工程师打交道最多的通常是WEB前端工程师,页面、接口这些都需要与前端打交道,因此稍微懂一些前端的技术,比如CSS+DIV,JavaScript,在实际的工作中才能更好的与团队协作。

熟悉服务器部署

最常用的容器包括:Apache、Nginx、Tomcat

Java一般会部署到Linux服务上(Linux版本也比较多:Redhat,ubuntu,CentOS,应用最多的一般是CentOS系统),怎么安装JDK,怎么部署容器,一般在学习阶段可能无法实际操作,可以在本地安装一个VMWare虚拟机来操作。

精通数据库操作

Java的大部分功能是应用于后端,所以学习数据库是必不可少的职业技能。

Mysql是轻量级的数据库,但也可以做数据库集群操作,一般作为入门级数据库的学习。

微软的SQL Server、IBM的DB2 以及甲骨文的Oracle数据库都是大型数据应用,因为费用比较高,部署环境复杂,一般像电信、金融等大型企业才会使用。

当然,在后端应用与DB之间,还有一级Redis数据缓存,这些只有在实际工作中才可以边学边实践。

Java的应用方向

Java与电子商务

电子商务是当今的热门话题,然而传统的编程语言难以胜任电子商务系统,电子商务要求程序代码具有基本的要求:安全、可靠、同时要求能与运行于不同平台的机器的全世界客户开展业务。

Java以其强安全性、平台无关性、硬件结构无关性、语言简洁同时面向对象,在网络编程语言中占据无可比拟的优势,成为实现电子商务系统的语言。

Java 企业级应用开发

Java EE是目前开发企业级Web应用的主流框架技术,在当今企业级项目开发中与微软公司的MS.NET一起构成两大核心框架技术。Java EE的主流应用服务器和集成开发工具。

主要内容包括JavaEE框架核心结构、应用服务器、集成开发工具、Servlet组件编程、请求处理编程、响应处理编程、会话跟踪编程、ServletContext对象和应用、过滤器编程、器编程、JSP、EL和JSTL、JNDI服务基础和编程、JDBC服务编程、JavaMail编程和JavaEE MVC式架构应用。

Java网站建设

近几年来,网站建设业务一直呈快速上升势头,行业市场越来越大。就国内情况而言,沿海发达省市比中西部省市市场需求要大,业务普及工作也很到位,许多行业形成了竞相建设企业网站,开展网络营销的局面。新技术的应用将促使企业网站建设更具魅力。

Java编程语言,.net技术和服务器CDN技术也将使网站结构更紧密,访问更流畅,更能适应新的要求。但是以目前的市场分析Java做网站成本太高,对硬件要求比较高,中小企业会放弃,但是像大企业还是比较喜爱Java技术。

Java游戏编程

对于游戏开发来说,由于涉及到比较复杂的情况,开发过程很多时候是一个不断修改的过程,可以方便的修改游戏内容是十分关键的。

对于很多游戏引擎来说,都有自己编写的脚本解释器,用来解释一些自定义的游戏脚本语言(一般为命令式脚本,比如moveplayer(intx,int y),playersmile()之类的东西),另一些则提供了例如lua和rubby等的脚本语言来访问游戏引擎。

由于其虚拟机特性,Java本身就可以用来编写游戏脚本,目前也有例如beanshellgroovy等脚本语言可以方便的无缝的和Java语言进行交互,这些都极大的方便了Java游戏编程。

Java编辑的就业方向

1、技术工作之路,成为高级软件工程师、需求工程师等。

2、成为管理人员,例如产品研发经理,技术经理,项目经理等;

Java软件工程师一般月薪范围在5000-10000元,远远超过了应届毕业生月薪3000元的平均水平。通常来说,有一年工作经验的Java软件工程师的薪酬大致在年薪10—13万左右。

Java就业方向:可以从事JSP网站开发、Java编程、Java游戏开发、Java桌面程序设计,以及其他与Java语言编程相关的工作。可进入电信、银行、保险专业软件开发公司等从事软件设计和开发工作。

与Java编程相关的技术基本都介绍完了,不管从事何种语言的编程,首先要自己有兴趣,其次是踏踏实实的深入学习,基本功扎实了,在工作中不断的实践、应用,相信有一天你也会成为别人眼中的技术大伽!