自学java?“这是一篇完整的java程序员学习线路图,一共分为六个阶段 。我以java为例,展示完整的学习步骤 。希望对于想通过java自学的朋友有帮助 。java程序员学习线路流程第一步:Java语言基础从最简单的开始,hello world开始Java之旅1.编程基础常量与变量数据类型运算符流程控制语句方法数组2.面向对象面向对象思想类与对象成员变量和局部变量封装this关键字构造方法3.集合集合概述集合特点ArrayList集合HashMap集合常用集合优劣比较4.输入/输出 IO字符输入流字符输出流字符缓冲输入流字符缓冲输出流复制文件集合与文件中数据相互读写5.练习阶段属于你自己的helloword第二步:java语言高级再结合java高级部分,里面的部分内容,这个阶段你不一定能理解很彻底 。但有一点,如果你今后想进入高阶俱乐部,这些内容你必须掌握牢固 。举个栗子,如果你面试通过进入了公司,我一定会在早期仔细review你的代码 。代码的功力是欺骗不了人的,不同人写一个接口,呈现的结果也是千差万别(所以才有了规范) 。1.面向对象继承多态重写(Override)重载(Overload)封装接口java包 package2.异常处理异常概述异常分类异常处理方案自定义异常3.多线程Java线程:概念与原理Java线程:创建与启动Java线程:多线程的实现方案Java线程:线程生命周期Java线程:线程池Java线程:线程状态的转换Java线程:线程的同步与锁Java线程:线程的交互等等线程的几个主要概念在多线程编程时,你需要了解以下几个概念线程同步线程间通信线程死锁线程控制:挂起、停止和恢复4.输入与输出IO文件和I/O读写文件Java 流(Stream)文件(File)缓冲流5.泛型(Generic )泛型的使用场景泛型类型泛型方法泛型通配符?6.网络编程网络机制Socket原理机制UDP、TCP传输等7.反射(reflection)类加载机制原理反射构造方法、字段、方法Properties配置文件8.注解(annotation)注解的使用和原理三种内置annotation自定义annotation注解类的反射调用动态代理类如何处理9.Java高级特性和类库java类加载器class loaderjava 程序运行的基础知识,java编译后的bytecode的整个运行机制,这一点对应.net的IL(intermediate language) 。理解Java nio,关于这一点网上有非常多的教程,这一条需要重点掌握,对于高并发的掌握很重要 。java juc(java.util.concurrent)等等10.JVM原理和调优JVM最重要的三个部分必须要非常清楚,内存划分、class加载机制以及GC策略 。搞清楚这三部分不仅仅是为了面试,也是为了让你对于Java有更深刻的理解,这对于你的Java生涯非常有帮助 。内存划分简单说分为三个部分,Young Generation(年轻代)、Old Generation(年老代)以及Perm Generation(永久代) 。其中的Young Generation(年轻代),又分为Eden、From和To,其中From和To又统称为Survivor Spaces(幸存区) 。关于classloader机制的学习,可以结合tomcat去学习,了解清楚tomcat的classloader机制,看tomcat是如何保证各个APP之间的类隔离的 。如果可能的话,看一下tomcat中classloader的源码,当中也包含了与tomcat类加载机制相似的部分 。至于GC,需要清楚GC Roots都有哪些,以及如何判断一个对象可以被回收 。此外,GC的算法和策略也要有大概的了解 。第三步:java web阶段1.前段技术掌握htmlcssjsjquerybootstrap2.动态网页技术Java Servlet APIVelocityFreeMarkerJSP等常用模板引擎比如,淘宝前端层使用的是velocity模板,部分公司采用jsp、freemarker等,基本类似 。3.linux服务器基本命令在个阶段,也可以结合自己的情况,学习linux系统底层原理 。第四步:java框架阶段1.SSH(struts2+spring+hibernate)2.SSM(springmvc+spring+mybatis)备注:如果你仔细,网上有部分叫SSI,I为ibatis,后来ibatis改名为mybatis了 。框架组合,我首推SSM,比SSH灵活强大 。框架的优缺点,我会再单独写文 。如果你还有兴趣,可以自己搭建Lucene、solr框架,以及memcached/ redis、activeMQ、hadoop等等搜索、分布式缓存、异步消息、数据等 。我一般建议自己搭建,从学习效果再到理解深度都不一样 。有兴趣,就开始自己搭建 。第五步:开发工具阶段1.web调试工具firefoxfirebugweb developeryslowhttpwatchietester等这些都是开发必用 。2.集成开发工具eclipse(首推) ,STS,myEclipse,Ideaeclipse里的插件太多,推荐几个必装插件:JadClipse 、run-jetty-run(很牛的热部署调试)、veloctiy、freemarker IDE、Subclipse、m2eclipse、mybatis Editor、 Easy Explorer等等 。3.版本控制工具svn、git(首推)4.构建工具maven、nexus搭建maven私服建议自己搭建一套nexus maven私服,成为你们公司的代码仓库员 。5.java调试工具jProfiler(性能跟踪)jClarity(性能监控和日志分析)Visualvm(性能分析和调优)等优知学院是IT人的进阶站,提供系统的互联网产品&技术的入门指南以及进阶干货 。rr学习 JavaSEHTML+CSSjs+jQuery学习JavaEE:jsp+servlet数据库:MySQL+Oracle(建议先学MySQL)框架SSH(Struts2+Spring+Hibernate)SSM(Spring+SpringMVC+mybatis)大致就是这些了,相信小伙伴们学完这些,学习能力已经有了很大的提升,即使在以后的 Java 工作学习中,遇到自己没有接触过的新技术 。也可以通过自己的努力,把新的技术学到手 。在这份学习路线中,第一阶段的 JavaSE 和 第二阶段的 HTML+CSS+JS 顺序是可以颠倒的,因为两者并没有什么必然的前置关系 。最后说一句:我们生活在黄金年代,社会在快速的发展,你不想被淘汰,就要学习,而我们北大青鸟提供最新的知识,以帮你应对变化的世界,让你与时俱进 。
以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!
「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助:- 八年级上册物理思维导图
- adulation
- 高中英语怎么学
- i9220能装java吗?
- 哪里能下载微信java版?
- 安卓 android怎么安装JAVA游戏
- 三星S5660怎么安装Java游戏
- 怎么取消JAVA限制?
- 怎么安装JAVA游戏?
- 怎么关闭JAVA不能放问题是?