精华内容
下载资源
问答
  • Java程序员学习路线

    2019-04-19 21:33:59
    Java程序员学习路线
  • 这是一篇完整的java程序员学习线路图,一共分为六个阶段。 我以java为例,展示完整的学习步骤。 最后,还有我的学习经验思考。 希望,看完此文,你完全可以自学成为一名真正牛逼的程序员。 java程序员...

    java程序员学习路线以及我的学习经验

    本文作者为优知学院创始人陈睿(mike),作者有10年以上技术&产品经验,曾任百度研发经理、携程定制旅游CTO。

    这是一篇完整的java程序员学习线路图,一共分为六个阶段。

    我以java为例,展示完整的学习步骤。

    最后,还有我的学习经验思考。

    希望,看完此文,你完全可以自学成为一名真正牛逼的程序员。

    java程序员学习线路流程

    java程序员学习路线以及我的学习经验

    第一步:Java语言基础

    从最简单的开始,hello world开始Java之旅

    1.编程基础

    1. 常量与变量

    2. 数据类型

    3. 运算符

    4. 流程控制语句

    5. 方法

    6. 数组

    2.面向对象

    1. 面向对象思想

    2. 类与对象

    3. 成员变量和局部变量

    4. 封装

    5. this关键字

    6. 构造方法

    3.集合

    1. 集合概述

    2. 集合特点

    3. ArrayList集合

    4. HashMap集合

    5. 常用集合优劣比较

    4.输入/输出 IO

    1. 字符输入流

    2. 字符输出流

    3. 字符缓冲输入流

    4. 字符缓冲输出流

    5. 复制文件

    6. 集合与文件中数据相互读写

    5.练习阶段

    属于你自己的helloword

    第二步:java语言高级

    java程序员学习路线以及我的学习经验

    再结合java高级部分,里面的部分内容,这个阶段你不一定能理解很彻底。但有一点,如果你今后想进入高阶俱乐部,这些内容你必须掌握牢固。

    举个栗子,如果你面试通过进入了公司,我一定会在早期仔细review你的代码。代码的功力是欺骗不了人的,不同人写一个接口,呈现的结果也是千差万别(所以才有了规范)。

    1.面向对象

    1. 继承

    2. 多态

    3. 重写(Override)

    4. 重载(Overload)

    5. 封装

    6. 接口

    7. java包 package

    2.异常处理

    1. 异常概述

    2. 异常分类

    3. 异常处理方案

    4. 自定义异常

    3.多线程

    1. Java线程:概念与原理

    2. Java线程:创建与启动

    3. Java线程:多线程的实现方案

    4. Java线程:线程生命周期

    5. Java线程:线程池

    6. Java线程:线程状态的转换

    7. Java线程:线程的同步与锁

    8. Java线程:线程的交互等等

    线程的几个主要概念

    在多线程编程时,你需要了解以下几个概念

    • 线程同步

    • 线程间通信

    • 线程死锁

    • 线程控制:挂起、停止和恢复

    4.输入与输出IO

    1. 文件和I/O

    2. 读写文件

    3. Java 流(Stream)

    4. 文件(File)

    5. 缓冲流

    5.泛型(Generic )

    1. 泛型的使用场景

    2. 泛型类型

    3. 泛型方法

    4. 泛型通配符?

    6.网络编程

    1. 网络机制

    2. Socket原理机制

    3. UDP、TCP传输等

    7.反射(reflection)

    1. 类加载机制原理

    2. 反射构造方法、字段、方法

    3. Properties配置文件

    8.注解(annotation)

    1. 注解的使用和原理

    2. 三种内置annotation

    3. 自定义annotation

    4. 注解类的反射调用

    5. 动态代理类如何处理

    9.Java高级特性和类库

    1. java类加载器class loader

    2. java 程序运行的基础知识,java编译后的bytecode的整个运行机制,这一点对应.net的IL(intermediate language)。

    3. 理解Java nio,关于这一点网上有非常多的教程,这一条需要重点掌握,对于高并发的掌握很重要。

    4. 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阶段

    java程序员学习路线以及我的学习经验

    1.前段技术掌握

    1. html

    2. css

    3. js

    4. jquery

    5. bootstrap

    2.动态网页技术

    1. Java Servlet API

    2. Velocity

    3. FreeMarker

    4. JSP等常用模板引擎

    比如,淘宝前端层使用的是velocity模板,部分公司采用jsp、freemarker等,基本类似。

    3.linux服务器基本命令

    在个阶段,也可以结合自己的情况,学习linux系统底层原理。

    第四步:java框架阶段

    java程序员学习路线以及我的学习经验

    1.SSH(struts2+spring+hibernate)

    2.SSM(springmvc+spring+mybatis)

    备注:如果你仔细,网上有部分叫SSI,I为ibatis,后来ibatis改名为mybatis了。

    框架组合,我首推SSM,比SSH灵活强大。

    框架的优缺点,我会再单独写文。

    如果你还有兴趣,可以自己搭建Lucene、solr框架,以及memcached/ redis、activeMQ、hadoop等等搜索、分布式缓存、异步消息、数据等。

    我一般建议自己搭建,从学习效果再到理解深度都不一样。有兴趣,就开始自己搭建。

    第五步:开发工具阶段

    java程序员学习路线以及我的学习经验

    1.web调试工具

    1. firefox

    2. firebug

    3. web developer

    4. yslow

    5. httpwatch

    6. ietester等

    这些都是开发必用。

    2.集成开发工具

    eclipse(首推) ,STS,myEclipse,Idea

    eclipse里的插件太多,推荐几个必装插件:

    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(性能分析和调优)等

    java调试还有很多,以上偏向性能调优和分析

    第五步:项目实践阶段(淘宝店铺装修)

    java程序员学习路线以及我的学习经验

    所谓的项目实践阶段,其实就是把以上的内如付诸于实践。听一万遍还不如自己动手一试。

    项目实践的重要性,也许比你以上的学习步骤还来得重要得多,而且学习速度也更快。

    如果大家有兴趣,我可以给大家分享,关于淘宝阶段的有技术挑战的项目,从需求收集MRD->需求文档(PRD)->需求评审->写技术设计方案->设计方案评审->写UC(User Case 用户用例)->UC评审->写TC(Test Case测试用例)->TC评审->编码…

    当然,以上流程步骤,现在已经有部分变动,但是,万变不离其宗。

    备注:

    1.淘宝是所有公司里,要写UC的一家公司,其实就是开发写测试用例,开发写得好,测试根本不需要写测试用例。

    2.很多同学不太会写设计方案,设计方案其实最好的方式就是借鉴,一个好的设计方案模板很管用。技术设计方案模板和代码规范,其实都是大部分人不断实践后沉淀下的结晶。

    我的学习经验

    java程序员学习路线以及我的学习经验

    首先,自己得有信心。

    我之前也仅是表象相信这件事,我也是经历几次跨界学习之后,才从本质认识到这句话的重要性。

    如果你从早期就不相信你能做到,基本你也很难做到,更难做好。大部分学习新技能,一看一听再看,彻底被吓退了,从学习气势上就已败下。如果这样的信心没建立起来,其实也不要紧,但至少需要具备这样的思维能力。学习的信心最后也是通过不断的学习积攒起来的。

    其实学习本身根不是事,反而是你要学什么,这件事反而变得极其重要了。

    要想学好,先从气场上就得暂得先机。

    其次,凡事讲究方法。

    自信是第一条,但是,光有自信肯定是不行的。

    方法论很重要,我比较喜欢研究方法论。关于技术、产品的方法论,如果你是老读者,我之前写了很多类似的方法论。如果你想了解,那就勤快一点,翻翻老文,这里我就不多讲了。

    总之,项目实践带动理论,自认为效果最好。

    再次,专注是最好的老师。

    现在回想起来,只有我早期在newegg、淘宝的阶段是最专注技术的阶段,专注有时候真是一种享受。后面进入百度、携程开始,由于带团队,还要管产品业务,每天一小会,每周两大会,特别是在携程阶段,技术、产品、测试都管、还有部分运营。所以,珍惜你现在的编码阶段吧,对技术的提升其实也在这个阶段。

    最后,兴趣能引导你走得更好。

    以上的内容,我认为都是平行阶段。如果你想有更大的发展或者造化,我坚信一定是兴趣引导的阶段,也只有这样,才能把自己的潜能最大化。


    money.jpg
    展开全文
  • java程序员学习路线

    2019-03-13 18:34:59
    java程序员学习路线图,为学习java编程提供清晰的学习路径
  • java程序员学习路线

    2020-08-05 20:10:57
  • JAVA程序员学习路线

    千次阅读 多人点赞 2011-07-21 12:03:24
    几年工作,总结以下学习路线,如果你是一个准备跨入JAVA程序员界的同志,供参考!序号名称描述推荐学习1. 标准JAVA技术了解JAVA基本原理、概念《JAVA编程思想》(精读)2. WEB开发基础技术了解JAVA WEB开发核心...

    几年工作,总结以下学习路线,如果你是一个准备跨入JAVA程序员界的同志,供参考!

    序号

    名称

    描述

    推荐学习

    1.    

    标准JAVA技术

    了解JAVA基本原理、概念

    《JAVA编程思想》(精读)

    2.    

    WEB开发基础技术

    了解JAVA WEB开发核心基础,HTTP协议, J2EE核心基础

    《深入体验JAVA Web开发内幕——核心基础》(精读)

    3.    

    JS,HTML等网页技术基础

    了解JS,HTML,CSS等网页核心技术

    《javascript网页开发-张孝祥》(熟读)

    4.    

    Spring框架技术

    核心理解Spring IOC,AOP逻辑及应用

    《spring中文开发参考手册》(泛读)

    5.    

    Hibernate框架技术

    了解ORM理念,hibernate核心机制及应用

    《精通Hibernate:Java对象持久化技术详解》(泛读)

    6.    

    AJAX技术

    了解AJAX概念及基本应用

    《Ajax In Action》(泛读)

    7.    

    ZK框架技术

    了解ZK展现层框架理念及组件应用方法

    《ZK Developer's Guide》(泛读)

        总而言之,需要了解JAVA核心基础,J2EE基础,WEB基础,展现层技术。。。至于书籍嘛,仁者见仁,智者见智了,这些是我看过的,觉得还不错,推荐一下。另外千万不要低估基础。是高手还是码农很大程度在于你的基础理论体系是否足够扎实。如果基础不给力,经验再丰富也是个码农。。。。

    展开全文
  • 转载于:https://www.cnblogs.com/huaxingtianxia/p/6532919.html

     

    转载于:https://www.cnblogs.com/huaxingtianxia/p/6532919.html

    展开全文
  • Java程序员最全面的学习路线

    万次阅读 多人点赞 2017-11-02 11:22:41
    写给Java程序员学习路线图 如下是我做开发这几年经常使用一些技术和工具,当然这些技术也都是需要加强的(有些是我一直使用的,不过不深入,有些内部的原理等等不是很清楚) 前端部分: 1)HTML:网页的核心语言,...
  • Java程序员学习路线

    千次阅读 2018-06-11 14:38:30
    下面是从网上找的三幅图片,比较好的说明了作为一个Java程序员学习路线图,不时看看,补充自己的专业技能! 1:Java的知识体系结构 2:JavaWeb开发的基本学习路线图 3:JavaWeb开发的成长路线图 记住:学习...
  • Java程序员从初级到架构师最全学习指南,分别从JavaSe,数据库,JavaEE,前端,分布式,微服务,开源框架...
  • Java程序员学习路线指南有没有”每个阶段应该怎么学,以前小编也给大家写过相关文章,但是并不是很全面,忽略了很多细节,很多同学都需要更加基础,更加详细的学习路线,今天小编就在给大家说说: Java程序员学习...
  • 2019年Java程序员学习路线

    千次阅读 2019-05-19 18:39:06
    2019年Java程序员学习路线 一、基础篇 面向对象 什么是面向对象 面向对象、面向过程 面向对象的三大基本特征和五大基本原则 平台无关性 Java如何实现的平台无关 JVM还支持哪些语言(Kotlin、Groovy、JRuby...
  • 当然,慢慢的我也更加的清楚,我需要学习一些什么样的知识、应该怎么学习、并且十分紧迫的渴望能将自己的知识树成长为更好更健壮以及繁茂亦可参天大树!如下是我做开发这三年经常使用一些技术和工具,当然这些技术也...
  • 对于程序员来说更是如此,2 年不学,你可能就被时代抛弃了。 对于初学者来说,最大的幸运就是在一开始就找对了方向。怎么去学,学到什么程度,学习方式是什么,要学多久。如果一开始就能有一个概念,那么学习过程中...
  • 国外有一个爆火的开发人员学习路线,目前已经在 Github收获了 131 k+ star,Star 数量在 Github 所有仓库中排名第 9 。这个仓库有多火就不用说了吧! 作为程序员,如果你还不知道这个仓库的话,就真的亏大发了!...
  • 01.Java程序设计(基础) 02.Java程序设计(专题) 03.客户端网页编程 04.Java Web表示层技术 05.Oracle 06.Hibernate Spring
  • java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段...
  • 6/18/2020 黑马程序员 学习大纲 学习路线图 黑马程序员 学习大纲 学习路线Java Java Java Java 市场价值 教程下载 市场价值 教程下载 Java Java Java Java 一 学习大纲 一 学习大纲 Java Java
  • Java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要...
  • 国外有一个爆火的开发人员学习路线,目前已经在 Github收获了 131 k+ star,Star 数量在 Github 所有仓库中排名第 9 。这个仓库有多火就不用说了吧! 这仓库的名字叫做“developer-roadmap”,其包括的学习路线涵盖...
  • 1.java基础 Java开发介绍 Java数组 Java面向对象 常用基础类 集合 IO流 多线程 异常 反射 2.JavaWeb 前端知识:html,css,javascript 数据库知识:mysql,jdbc Servlet:简单来说servlet是运行在服务器上的java程序 JSP:...
  • java程序员 技术成长路线

    千次阅读 2018-10-17 22:28:28
    1、由于LZ本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请适当参考其学习思想即可,切勿照搬。 2、下面对于【第一部分】的推荐内容,目的是让你...
  • Java程序员有许多应遵循的守则或最佳实践方式。本文概述了每个开发者最应该遵循的10条守则或戒律,如果不遵循它们,将会导致灾难性后果。
  • 对于Java程序员来说,技术就相当于薪资,你的技术越高,薪资也就随之增加。就目前千锋毕业的学生来讲,主要有以下就业方向:JSP网站开发、Java编程、Java游戏开发、Java桌面程序设计,以及其他与Jav...
  • 国外有一个爆火的开发人员学习路线,目前已经收获了 131 k+ star,在所有仓库中排名第 9 。我司的一些技术大佬给应届生写学习路线的时候都是参考这个仓库来的。这仓库的名字叫做dev...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,953
精华内容 12,781
关键字:

java程序员学习路线

java 订阅