java学习线路是怎样的?
要学习Java,你首先得了解一下什么是java:
Javaweb是用Java技术来解决相关web互联网领域的技术总和。说的简单的就是写网站的一种语言。一般分为前端和后端两种方向,前端所做的东西就像幕前表演的演员,所做的就是让网页看起来顺眼,用起来顺心,而后端则属于处理数据,让程序处理速度、能力不断优化,属于幕后。前后端的配合才能是一个网站正式投入使用。
接下来就是关于java体系主要涉及的三个方面——J2SE/J2EE/J2ME(KJAVA)
0.J2SE
新手最初学习的时候先要从J2SE开始学起,所包含的内容前端的学习都是需要不断的学习,学一天停一停相当于白学,学习效果很差,如果你想有人一起学习可以来这个扣裙,首先是132 中间是667最后是127 都是零基础的同学,大家相互鼓励 共同努力 只是学着玩就不建议来了!!!主要分为:面向对象概念的理解、Java基本语法的学习,Java桌面图形界面应用程序的开发,掌握常用的Java API等(关键是要学会怎样查阅)。
重点:Java基本语法(循环结构,数据类型,数组,运算符等)、Swing,awt,事件机制、文件输入输出流处理等
难点:面向对象思想的理解(接口、类等)、线程、socket网络编程等
1.J2EE
J2SE之后,便可以开始慢慢过渡到J2EE。要学习J2EE除了java之外,还得学习比如数据库技术,网页编程技术等等。
J2EE有三个必学的框架,分别是Struts、spring和hibernate。他们之间的关系,简单来说这三个框架=J2EE,而J2EE≠这三个框架。那么J2EE都包含了哪些技术呢?就先给大家简单介绍几个吧:
JDBC:Java数据库连接对象,基础中的基础,Hibernate也只是对它的封装而已 JNDI: Java 命名与目录接口,J2EE重要规范之一
EJBS: 上面已经提到过了
RMI: 提供远程调用方法的支持,主要用于程序分布式开发
JMS: Java消息服务,中间件技术
JAVA IDL: 提供J2EE平台与CORBA交互能力和互联能力的技术
JTS: 组件事务监视器
JTA: 事务划分的一个技术
JAVAMAIL: Java中的邮件技术
JAF: Java启动框架,没研究过
Log4j,一款日志处理的框架应用
Junit:单元测试的好帮手
freemarker、velocity:两款不错的模板引擎
与Flash的交互Flex:目前很多的SNS应用就是使用到了这个技术
Web services:例如天气预报的制作,就靠它。
SOA:面向服务架构,未来技术发展的趋势之一
……
虽然罗列了很多,但最核心也是最需要学习的只有:JDBC、JSP、servlet和JavaBean,后面三个也是学习SSH的基础(Struts\Spring\Hibernate的简称).
当然,找工作的前提除了把Java学习好,还会有一些其他的技术也是必须要掌握的。
除了这些技术的东西,在这阶段,大家更多的是会接触到比如设计模式的东西,比如工厂模式、桥梁模式、单例模式等等,还要学习建模思想和软件生命周期等等。
这些是升华大家编程思想的手段和途径。
2.J2ME
最后就是第三阶段——手机程序的开发。
开发手机程序技术其实蛮简单的,难点在于优化,比如怎么让你写的程序尽量的节约手机资源,“代码诚可贵,手机价更高“,所以不得不比PC机多考虑很多成本和实用性问题。.
J2ME的学习,不仅仅是在模拟器上测试,若有条件真机测试才是最佳方式,毕竟真机和模拟器的效果之间差别是很大的。
最后再给大家提供一个开发工具——eclipse
功能很强大,也很好拓展其他的功能。当然也可以选择JCreator,或者最好就直接用记事本。等你熟悉了Java代码之后,就可以使用JBuilder、eclispe或者netbeans这一类的工具了。
一、Java SE部分
1、java基础:基础语法;面向对象(重点);集合框架(重点);常见类库API;
2、java界面编程:AWT;事件机制;Swing;
3、java高级知识:Annotation;IO和NIO、AIO;多线程、线程池;阻塞、非阻塞、异步网络通信;反射、动态代理;
二、JDBC编程
4、SQL基础:基础SQL语句;基本查询;多表查询;子查询;结果集的交、并、差运算;
5、JDBC基础:常见数据库用法;JDBC操作常见数据库;RowSet与离线结果集;数据库连接池;事务管理、批处理;
6、JDBC进阶:存储过程、函数;触发器;理解JCBC的不足;掌握ORM工具优势和设计;
三、DHTML编程
7、HTML基础:基本HTML标签;常见表单标签;DIV+CSS布局;
8、JavaScript知识:javascript基本语法;javascript基本对象特征;Json语法;深刻理解javascript的动态特征;
9、Dom和事件机制:DOM操作、编程;常见浏览器事件机制;掌握用户交互技巧;
四、XML编程
10、XML基础:XML基础规则;DTD和SCheme;XML和样式单;
11、XML进阶:DOM、SAX和JAXP;dom4j、JDOM等工具;XQuery和XQJ;基于XML的数据交换;
12、Web Service:JAX_WS2、SAAJ规范;WSDL和SOAP协议;CXF框架、拦截器;CXF整合Spring;
五、Java Web编程
13、Web编程基础:Tomcat服务器;Jsp语法、EL、内置对象;Servlet API;Servlet 3.0注解;Listener和Filter;
14、Web编程进阶:自定义标签库;MVC和DAO、Servlet、标签的作用;JSTL、DisplayTag等常见标签库用法;
15、Web编程原理:请求/响应、架构;Http协议;深刻理解Jsp运行原理;掌握Web容器底层的线程池、socket通信、调用Servlet的命令模式;
六、Ajax编程:
16、Ajax编程:XML HttpRequest和异步请求;发送请求和处理响应;常见Ajax库(Prototype、Jquery、ExtJs、DWR)用法;结合Http协议、异步请求深入研究ajax库的设计;
七、Android开发
17、Android基础:Android开发调试环境;Android应用结构;界面组件与界面编程;资源管理;四大组件;
18、Android中级:文件IO和SQLite;图形、图像与动画;音频、视频的录制与播放;传感器编程;GPS应用;
19、Android高级:网络编程与Web Service;OpenGL_ES 3D开发;整合Google服务;使用NDK开发;java和c相互调试;
八、轻量级Java EE
17、Struts2:MVC与struts体系;Action和Result;国际化和标签库;文件上传、下载;类型转换和输入检验;拦截器与插件开发;
18、Hibernate:ORM与持久化映射;关系映射、继承映射;延迟加载、性能调优;HQL查询、条件查询、SQL查询;二级缓存和查询缓存;
19、Spring:IoC与Bean配置、管理;Bean生命周期;SP、EL;AOP与事务权限控制;S2SH整合开发;Spring整合Jpa;
九、经典Java EE
20、JSF<选学>:MVC与JSF设计理念;托管Bean与导航模型;JSF流程与事件机制;JSF标签库;类型转换与输入检验;
21、EJB及相关技术:JNPI与RMI;会话Bean及其生命周期;IoC与EJB拦截器;JMS与MDB;会话Bean与Web Service;
22、JPA:ORM框架与JPA规范;JPA注解与常用API;JTA事务与事务管理;JPQL查询;EJB、JPA整合;
十、Java 拓展、进阶:
23、Java EE实践与架构:Ant+Ivy或Maven;SVN、CVS;深刻理解10种以上设计模式;掌握各种Java EE架构及各自优势;
24、Workflow:Workflow规范及功能;JBPM等workflow框架;多次重构、反复思考;大型项目经验;
25、Java EE进阶:掌握各MVC框架运行原理、能开发类似框架;掌握Spring、HiveMind、AspectJ等框架原理、能开发类似工具;掌握Hibernate、iBatis等框架原理,能开发类似工具;深入研究EJB机制、大致了解应用服务器的实现;如果想系统的学习编程可以来我这看看哦。
希望对您有所帮助!~
心态调整好了,学习Java就会变得相当轻松,入门也非常之快。但是入门并不等于目的,如果想要在这个行业顺利找到满意的工作,站住脚跟,你需要更加深入的理解、学习。然而,这对于零基础者来说将会更难,只有专业的指导和引领,才能更好的踏入Java开发的大门,可以先根据这套学习路线图大体了解一下自己需要学习的技术,然后开始翻书籍和教程,这个过程是必不可少的。
一、java学习路线图
阶段一是 java基础,通过对基础阶段的学习,可以清晰了解JavaEE开发工程师的定位及发展规划,同时也要在心里默默做下接下来迎战的心理准备。
阶段二是 javaWeb,是进阶阶段,掌握Java的基本语法,数据类型及各种运算符,开始可以写一些运算相关的程序。
阶段三是 java框架,框架是程序中另一种存储数据的方式,比直接使用数组来存储更加的灵活,在项目中应用十分广泛。
阶段四是 java+云数据,亿级并发架构演进、Linux基础、搭建tomcat环境以及大数据开发云计算等高级Java教程,是Java技术的高端知识。
2.数据库 数据库不仅仅是Java开发工程师的必学课程,也是其他语言都需要掌握的技能。
3.前端技术 Javaweb阶段包括前端、数据库和动态网页。Javaweb是互联网项目的入门。
4.动态网页技术 动态网页是中级程序员服务器端编程的基础,是高级框架学习的必备课程。
5.编程强化 编程强化是对解决实际问题方面做一个深入的了解和应用,是对JavaSE基础的加强。