拜托,学妹,别再问我怎么自学 Java 了!和盘托出(2)

简介: 拜托,学妹,别再问我怎么自学 Java 了!和盘托出

12)并发编程


什么是并发

什么是并行

什么是线程

什么是进程

线程的状态

线程的优先级

创建线程

创建线程池

什么是线程安全

多级缓存和一致性问题

CPU 时间片和原子性问题

指令重排和有序性问题

线程安全和内存模型

happens-before

可重入锁

阻塞锁

乐观锁

悲观锁

分布式锁

CAS

ABA

偏向锁

轻量级锁

重量级锁

自旋锁

什么是死锁

如果避免死锁

synchronized

volatile

ThreadLocal

Executors

CountDownLatch

Thread

Runnable

Callable

ReentrantLock

ReentrantReadWriteLock

Atomic 相关类

13)Java 8 新特性


Lambda 表达式

Stream流

Optional

14)源码阅读


String

Integer

ArrayList

LinkedList

CopyOnWriteArrayList

HashMap

TreeMap

LinkedHashMap

ConcurrentHashMap

CopyOnWriteArrayList

04、第四个阶段,Java 进阶升级


1)JVM


Java 内存结构

垃圾回收

JVM 参数调优

Java 对象模型

HotSpot

类加载机制

编译和反编译

反编译工具

JIT

虚拟机性能监控和故障处理工具(jps、jstack、jmap、jstat、jconsole、javap)

2)性能优化


使用单例

使用线程池

减少上下文切换

减小锁粒度

数据压缩

Stream 并行流

GC 调优

JVM 内存分配调优

btrace

3)设计模式


设计模式的六大原则

创建型设计模式(单例、抽象工厂、建造者、工厂、原型)

结构型设计模式(适配器、桥接、装饰、组合、外观、享元、代理)

行为型设计模式(模板方法、命令、迭代器、观察者、中介者、备忘录、解释器、状态、策略、责任链、访问者)

单例的七种写法

4)数据结构和算法


简单的数据结构(栈、队列、链表、数组、哈希表)

树(二叉树、字典树、平衡树、排序树、B 树、B+ 树、R 树、红黑树、多路树)

图(拓扑、有向图、无向图)

稳定的排序算法(冒泡排序、插入排序、鸡尾酒排序、桶排序、计数排序、归并排序、原地归并排序、二叉排序树排序、鸽巢排序、基数排序、侏儒排序、图书馆排序、块排序)

不稳定的排序算法(选择排序、希尔排序、梳排序、堆排序、平滑排序、快速排序、内省排序、耐心排序、Clover 排序)

时间复杂度

空间复杂度

贪心算法

KMP 算法

5)操作系统


Linux 常用命令(find、top、tar、move、grep、tail、netstat、curl、wget、ping、ssh)

服务器性能指标(qps、CPU 利用率)

进程同步

分段和分页

虚拟内存和主存

6)网络安全


CSRF

XSS

SQL 注入

加密和解密(对称加密、非对称加密)

MD5、SHA1、DES、RSA

DDOS 攻击

HTTP 和 HTTPS

SSL

TLS

TCP 和 UDP

Cookie、Session

CDN

DNS

7)数据库


MySql

索引

存储过程

分库分表

binlog

读写分离

数据库缓存(Redis、MongoDB)

数据库中间件(MyCat)

数据库连接池(Durid)

8)大数据


搜索(Elasticsearch 、Solr)

流式计算(Storm、Spark、Flink)

Hadoop

9)服务器


Tomcat

jetty

Nginx

10)框架


Spring

MyBatis

Spring MVC

Spring Boot

Spring Security

Spring Cloud

Netty

Dubbo

11)消息队列


RabbitMQ

Kafka

12)容器


Docker

K8s

需要 Java 书单的话,我在 GitHub 上发现了一个宝藏项目,光看了一下目录,就有点吸引我。

image.png


需要的小伙伴可以按需自取,地址如下所示:


https://github.com/itwanger/JavaBooks

05、第五个阶段,活着最重要


技术是没有终点的,也是学不完的,最重要的是活着、不秃。


零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。


最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。


开源的项目我推荐 GitHub 上的 mall 和 vhr,前者是电商系统,后者是微人事,都用的最前言的技术,并且文档很全面,不怕晕头转向。


自学最怕的就是缺乏自驱力,一定要自律,杜绝“三天打鱼两天晒网”,到最后白忙活一场。


高度自律的同时,要保持耐心,不抛弃不放弃,切勿自怨自艾,每天给自己一点点鼓励,学习的劲头就会很足,不容易犯困。


技术学到手后,找工作的时候一定要好好准备一份简历,不要无头苍蝇一样去海投简历,容易“竹篮打水一场空”。可以参考下面的链接,好好的准备一下简历,毕竟是找工作的敲门砖。


相关文章
|
5月前
|
消息中间件 设计模式 分布式计算
大厂招聘重点全在这!GitHub置顶Java基础-高级面试库+自学路线
最近几年经常会听见这样一种声音:“程序员是吃青春饭的,年龄一大就不吃香了”,在当下这种互联网产业增速放缓,甚至隐约展现出疲态的时刻,此类言论就很有市场。
|
7月前
|
前端开发 JavaScript Java
Java自学之路(新手一定要看)
Java自学之路(新手一定要看)
71 0
|
10月前
|
Java
Java 自学 - 接口与继承 接口
Java 自学 - 接口与继承 接口
|
XML 前端开发 JavaScript
JAVA最全面的一条自学路线
JAVA路线 🍅 这是一条路线非常清晰的自学java路线,该路线清晰的标明了怎么学,那些是重点,那些东西目前可以不学,为想自学的小伙伴指明了方向
221 0
JAVA最全面的一条自学路线
hadoop3自学入门笔记(3)-java 操作hdfs
hadoop3自学入门笔记(3)-java 操作hdfs
108 0
|
Java
0基础自学java——if语句结构
0基础自学java——if语句结构
102 0
|
机器学习/深度学习 负载均衡 网络协议
SpringCloud+Alibaba微服务教程,Java自学/进阶程序员必看
Spring Cloud是目前市面上最火爆的Java微服务技术栈,因其功能丰富涉及微服务管理全面,并且在高可靠、高可阔以及在应对复杂业务和承受并发的能力上发挥出色,使其受到众多互联网公司的青睐。 很多公司逐步转型到微服务架构风格,所以springcloud是成为进阶Java开发高级工程师的必备技术栈。 本套课程将带你深入学习SpringCloud相关技术,学成之后可以去手动去搭建一个项目,相当可以主导一个项目开发,让你在技术上有一个质的提升。
265 0
|
前端开发 NoSQL Java
自学Java半年多,我掌握了这些技术!!!
自学Java半年多,我掌握了这些技术!!!
自学Java半年多,我掌握了这些技术!!!
|
SQL 前端开发 算法
0 基础 Java 自学之路(2021年最新版)
如果你想自学 Java,认真看完本文,你以后的职场生涯至少少走1年弯路。 本文会持续更新,建议收藏。
394 1
|
算法 搜索推荐 Java
关于自学 JAVA 的几点建议
许久不见,最近公众号多了很多在校的师弟师妹们。有很多同学都加了我微信问了一些诸如 [如何自学 Java ]的问题,我都一一解答了,这是大家对我的信任,我非常感谢。你们知道我现在的职业是 java web 开发,可你们你们不知道的是我在这个份职业之前做的是 Android 开发,一年前通过自学才转过来 java 岗位。下面就跟你们聊聊我的自学经验以及一些建议,希望能帮助到大家。
关于自学 JAVA 的几点建议