自学java?
原创

自学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包 package

2.异常处理

异常概述

异常分类

异常处理方案

自定义异常

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 loader

java 程序运行的基础知识,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.前段技术掌握

html

css

js

jquery

bootstrap

2.动态网页技术

Java Servlet API

Velocity

FreeMarker

JSP等常用模板引擎

比如。淘宝前端层使用的是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调试工具

firefox

firebug

web developer

yslow

httpwatch

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

优知学院是IT人的进阶站。提供系统的互联网产品&技术的入门指南以及进阶干货。

其他观点:

学习 JavaSE

HTML+CSS

js+jQuery

学习JavaEE:jsp+servlet

数据库:MySQL+Oracle(建议先学MySQL)

框架SSH(Struts2+Spring+Hibernate)



SSM(Spring+SpringMVC+mybatis)



大致就是这些了。相信小伙伴们学完这些。学习能力已经有了很大的提升。即使在以后的 Java 工作学习中。遇到自己没有接触过的新技术。也可以通过自己的努力。把新的技术学到手。

在这份学习路线中。第一阶段的 JavaSE 和 第二阶段的 HTML+CSS+JS 顺序是可以颠倒的。因为两者并没有什么必然的前置关系。

最后说一句:

我们生活在黄金年代。社会在快速的发展。你不想被淘汰。就要学习。而我们北大青鸟提供最新的知识。以帮你应对变化的世界。让你与时俱进。

其他观点:

java当然可以自学的。自学只是比较辛苦而已。如果你真的下定决心要自学了!那你就做好每天早六晚十的生活。不然你可能很难学会!

说了可以自学。下面我就分享自学的知识了。根据我分享的这套学习线路图。你可以学习。学好了找份工作是很容易的哦!

java学习线路图

这个学习线路图我分为了几个阶段。每个阶段能学到什么。能做什么。具体知识点请往下看。每个阶段知识点我都整理出来了。更适合学习!

java语言入门

可掌握的核心能力:

掌握Java开发环境基本配置;

掌握运算符、表达式、流程控制语句、数组等的使用;

熟练使用Idea开发工具;

掌握Java基本面向对象知识;

掌握常用类String、ArrayList等的使用。

配套视频:

毕向东Java基础教程(适合初学者入门的Java基础视频)

可掌握的核心能力:

深入理解Java面向对象相关知识点;

掌握开发中常用类如集合、IO流、时间日期等操作;

掌握Java异常处理机制。熟悉Java多线程开发;

掌握网络基础知识。了解Socket原理。TCP、UDP协议;

掌握java基本语法完成单机程序的编写;

熟悉Java新特性。如Lambda、Stream流等操作

配套视频:

Java快速入门教程(Java基础班全套教程)

可掌握的核心能力:

掌握Java JDBC、连接池操作。熟练操作mysql数据库;

熟悉web开发中常用知识如 HTML5、CSS3、JavaScript、BootStrap、jQuery等;

掌握JavaWeb开发核心技术 Servlet、Listener、Filter等;

熟悉Linux服务器。并安装开发常用软件tomcat、mysql、nginx等;

掌握同步及异步操作的JavaWeb开发。具备B/S结构软件开发能力。完成基本的JavaWeb项目;

熟悉基本的项目管理工具Maven的使用。

配套视频:

JavaWeb教程_JavaWeb入门教程

可掌握的核心能力:

掌握企业中最常用SSM框架开发。开发出结构清晰、可复用性好、维护方便的企业级应用程序;

掌握AngularJS框架;

掌握Spring security框架;

掌握dubbox分布式调用技术;

掌握zookeeper分布式应用协调服务;

掌握Freemarker模板引擎;

掌握全文检索解决方案;

掌握spring boot1.x框架的基本应用;

掌握CAS实现单点登录;

掌握CORS实现跨域;

掌握微信扫码支付;

掌握电商秒杀解决方案;

掌握SpringTask实现任务调度;

掌握MavenProfilel实现开发与生产环境切换;

了解电商开发中相关业务模块如商品、订单基本操作;

了解电商开发中相关术语SPU和SKU等;

积累互联网电商项目开发经验。

配套视频:

Java教程|Springmvc由浅入深教程

Java教程|Mybatis由浅入深教程

Maven教程_Maven视频教程

可掌握的核心能力:

熟悉基本的Java爬虫开发。掌握webmagic爬虫框架使用;

掌握httpClient的使用;

掌握spring data jpa框架;

掌握Spring boot2.x框架;

掌握Spring Cloud框架;

掌握MongoDB数据库使用;

掌握RabbitMQ消息中间件使用;

掌握Elasticsearch分布式搜索引擎;

掌握Rancher实现容器部署管理;

掌握Grafana实现服务的实时监控;

熟悉NodeJs环境。使用Npm和cnpm管理包资源;

熟悉ESlint进行前端语法校验;

熟悉axios的使用;

掌握vuejs框架的基本使用;

掌握瀑布流组件使用;

掌握前端页面分享功能的实现;

掌握企业级DevOps解决方案。熟悉Docker、Jenkins、git等;

了解spark mllib als 机器学习算法库实现智能分类;

了解DL4J深度学习框架实现智能推荐。

配套视频

2018年Vue.js深入浅出教程

深度掌握Springboot实践技术教程

配套视频

SpringBoot教程_SpringBoot视频教程

可掌握的核心能力:

ServiceComb改造十次方项目;

了解Kubernetes作用及为什么使用Kubernetes;

会使用K8S API完成基本操作;

理解微服务引擎CSE的功能;

能够实现ServiceComb项目接入CSE;

能够实现学成在线项目接入CSE;

理解云容器引擎CCE的功能;

能够使用容器镜像服务上传镜像;

能够将学成在线微服务部署到CCE;

能够测试微服务治理常用策略;

能够理解Mesher的作用;

能够完成学成在线使用Mesher接入CSE。

视频未更新。更新后上传

可掌握的核心能力:

能够理解ORM框架;

使用Socket进行系统之间通信;

掌握在Java中开启多线程的三种方式;

掌握使用Netty实现通信;

掌握Netty常用的传输方式及ByteBuff的使用方法;

理解及时通信框架的架构;

掌握Protobuf数据格式及在Java中应用Protobuf;

掌握使用Netty实现服务端、客户端;

理解虚拟机client与Server的运行模式;

学习垃圾回收的算法;

掌握jps、jstat、jinfo、jstack、hprof等命令的使用;

掌握图形化监控工具JConsole工具的使用;

掌握Mission Control虚拟机诊断工具的使用;

掌握压力测试工具JMeter的使用;

掌握调整参数测试Tomcat的性能;

掌握“双亲模式”的原理以及解决方案。

可掌握的核心能力:

能够实现房源信息更新的通知;

实现用户信息、房东、审核等功能;

能够实现API文档与模拟数据接口开发;

能够实现收藏、分享、举报、联系房东、预约看房、在线签约功能;

掌握微信小程序开发;

实现日志数据的清理以及推荐。

大数据转型Hadoop3

目前有几个阶段还未有视频更新。有视频了我会继续上传哦!如果有特别想要我放出的视频。也可以留言哒!

您还感兴趣的文章推荐

以上就是由互联网推广工程师 网创网 整理编辑的,如果觉得有帮助欢迎收藏转发~

分享到 :
相关推荐

发表评论

您的电子邮箱地址不会被公开。

评论(2)

  • 明天的阳光美吗 永久VIP 2022年12月28日 10:19:37

    线程,框架,阶段,教程,熟悉,能力,在线,视频,原理,机制

  • 滴蜡泪 永久VIP 2022年12月28日 10:19:37

    没想到大家都对自学java?感兴趣,不过这这篇解答确实也是太好了

  • 对不起是种借口 永久VIP 2022年12月28日 10:19:37

    “这是一篇完整的java程序员学习线路图。一共分为六个阶段。我以java为例。展示完整的学习步骤。希望对于想通过ja