博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java学习建议
阅读量:4293 次
发布时间:2019-05-27

本文共 1771 字,大约阅读时间需要 5 分钟。

为伟web开发 2017-09-11 00:12

原文来源:http://www.cnblogs.com/dantefung/p/4883741.html

一、基础

1.Java SE

主要看《java核心技术:卷一》的重点章节 + 一些培训机构的视频

掌握java常用技术,io、多线程、反射、常用集合框架

2.数据结构

数据结构看一遍,作用至少要清楚。如hash冲突解决办法,常用排序算法的应用场景和空间/时间复杂度等

3.数据库

数据库,能看懂ER关系,熟悉数据库三大范式,熟练常用SQL语句

4.java网络编程

可以掌握一点java网络编程方面的知识,对tcp/ip有初步的认识

课程不能落下,专业课程(计算机网络,操作系统,数据结构,数据库,计算机组成原理)要好好学。不要挂科

5.Java EE 基础

学习servlet/jsp,至少能写简单的图书管理系统,熟悉核心api

了解前后端交互方式,ajax、json/xml至少知道,会使用jquery,html,css,js最好

MVC+三层架构开发模式

二、提高

1.学习后端框架,

SpringMVC/Struts2、Mybatis、Spring,熟悉MVC模式,知道三层架构及每一层之间的关系

2.HTTP

会用chrome/firefox浏览器分析http请求,解决、定位问题。知道常用http状态码,了解TCP/IP,知道一次http请求发生了哪些事情

3.设计模式(JAVA SE ---> JAVA EE 的桥梁)

学习设计模式,23种设计模式都需要了解一点,熟悉常用的如:单例,工厂,模板,适配器,代理,责任链,构造器,装饰器,迭代器,策略,命令,观察者,外观,享元。理解他们的好处,可以找找在其他框架哪些用了这些设计模式

4.初尝源码

可以适当的看一些源码,Spring的源码可以着重的看一下。tomcat可以从源码的角度看看tomcat的整体设计方案,一次请求tomcat如何处理,servlet在tomcat中的加载,编译过程。tomcat自定义的ClassLoader有什么作用。

5.设计数据库

会设计数据库,多对多,一对多,迭代,会写复杂的SQL,了解SQL调优,会写存储过程,触发器。熟悉索引的使用,了解视图。去了解一些常用NOSQL,比如Redis/mongodb

6.Linux

学习Linux,熟悉基本命令,学习一种脚本语言(shell/python)。会在linux下写脚本开发

三、深入

1.算法相关:

算法,可以看看编程之美,算法导论。

2.深入java:

理解JVM,JMM,Classloader,GC算法,GC收集器。学会定位OOM问题所在。

3.源码分析:

常用集合类如:Hashmap,Arraylist,linkedList,HashSet,ConcurrentHashmap等的源码分析,要非常熟悉java集合框架设计。最好能够分析一种框架源码,比如Spring

4.深入数据库:

4.1 数据库引擎

理解至少两种数据库引擎(Inndb/Mysiam)的差异性,

4.2 索引

熟悉索引的内部数据结构.熟悉常见的索引方式(Btree,hash),和索引类型(unique,full text,normal)

4.3 数据库引擎

会使用explain分析SQL语句,会优化SQL语句。

4.5 NoSQL

熟悉一种NOSQL,知道内部实现原理(内部数据结构,在算法优化,内部机制)。

4.6 分布式数据库

掌握分布式数据库的知识,分表,分库,分区,分布式事务等,可以学习一个数据库中间件(TDDL/COBAR)

4.7 架构设计

架构设计,看看大型高流量/高并发的网站设计(CDN,异步,前端优化),了解缓存(分布式memcached/常用本地缓存),搜索引擎(lucene/solr/elasticSearch),分布式(负载均衡/分布式数据库/分布式应用集群),消息队列(ActiveMQ/Rabbitmq)在大型网站中的作用

4.8 其他

还有一些其他的知识,如RPC框架,分布式服务架构,SOA,REST架构等等

可以接触一些云计算方面的知识,如Hadoop/Storm/Spark等,要是再能接触一点机器学习就更棒啦

你可能感兴趣的文章
X 分钟速成 Python
查看>>
对于模拟交易所引发的思考
查看>>
高频交易的几种策略
查看>>
网格马丁格尔交易法
查看>>
TA-LIB 200多个技术指标含有及计算式
查看>>
一行代码让 Python 的运行速度提高100倍
查看>>
一行 Python 实现并行化 -- 日常多线程操作的新思路
查看>>
期货市场的运作机制
查看>>
一文精通 crontab从入门到出坑
查看>>
股票连续跌停后开板表现
查看>>
东航期货行情接口和交易接口(20190509)
查看>>
ubnutu系统完美克隆至新硬盘,系统备份迁移至新硬盘
查看>>
ubnutu系统完美克隆至新硬盘,系统备份迁移至新硬盘
查看>>
东航期货模拟交易brockerid(期货公司的客户号)
查看>>
史上最全量化资源整理
查看>>
anaconda 清华源挂了 怎么办 上交源ok
查看>>
vnpy2.0安装后报错ModuleNotFoundError: No module named 'vnpy.api.ctp.vnctpmd'
查看>>
东航期货穿透接口相关资料
查看>>
VNPY2.0火币期货交易接口配置使用
查看>>
win10和ubuntu18双系统时间同步(20190604亲测可行)
查看>>