Java程序员3个月从月薪6k涨到15k,你知道我是怎么过来的吗?

37 篇文章 0 订阅
10 篇文章 0 订阅

先说一下自己的个人情况,大专生,18年通过校招进入湖南金蝶软件公司,干了接近3年的CRUD,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了三年的CRUD,已经让我变得不思进取,谈了2年的女朋友也因为我的心态和工资和我分手了。于是,我决定要改变现状,放眼于今年的金三银四!

刚开始准备时,自己都蒙了,3年的CRUD让我的技术没有一丝的进步,提升的只有我的年龄…

没办法,我找到了我的导师,作为他的得力弟子,在他了解了我的情况后(几乎就是Java基础开始),直接甩给我一份学习笔记说到:“去吧,这里有你需要的所有东西,不要来找我了,我都嫌丢人!”。

下面我们就来了解一下这份笔记有多厉害!(刚开始还以为导师在吹牛逼,结果学完直接给我导师给跪了…)

《Java中高级核心知识全面解析》这份文档总页数:524页。分为八个部分每个部分详细地讲解了核心知识点。

第一部分 扎实的Java基础 (Java基础+容器+并发+JVM)
第二部分 网络知识(计算机网络技术+HTTPS中的TLS)
第三部分 Linux
第四部分 数据结构与算法
第五部分 数据库(MySQL+Redis)
第六部分 系统设计(RestFul API+常用框架+认证授权+分布式+大型网站架构+微服务)
第七部分 必会工具(Git+Docker)
第八部分 面试指南(简历应该如何写+如何准备面试+我的学习方法)

由于整个笔记比较全面,内容相当的多 ,这里仅展示资料的一些截图,如有需要获取文中提到的 “Java中高级核心知识全面解析” 的朋友 文末 有直达获取地址。

第一部分 Java

(一). 基础
1. Java 基本功

  • Java 入门(基础概念与常识)
  • Java 语法
  • 基本数据类型
  • 方法(函数)在这里插入图片描述

2. Java 面向对象

  • 类和对象
  • 面向对象三大特征
  • 修饰符
  • 接口和抽象类
  • 其它重要知识点
    在这里插入图片描述

3. Java 核心技术

  • 集合
  • 异常
  • 多线程
  • 文件与 I\O 流
    在这里插入图片描述

(二). 容器
1. ArrayList

  • ArrayList简介
  • ArrayList核心源码
  • ArrayList源码分析
  • ArrayList经典Demo
    在这里插入图片描述

2. LinkedList

  • 简介
  • 内部结构分析
  • LinkedList源码分析
  • LinkedList类常用方法测试
    在这里插入图片描述

3. HashMap

  • HashMap 简介
  • 底层数据结构分析
  • HashMap源码分析
  • get方法
  • resize方法
  • HashMap常用方法测试
    在这里插入图片描述

(三). 并发
1. 并发容器

  • JDK 提供的并发容器总结
  • ConcurrentHashMap
  • CopyOnWriteArrayList
  • ConcurrentLinkedQueue
  • BlockingQueue
  • ConcurrentSkipListMap
    在这里插入图片描述

2. 线程池

  • 使用线程池的好处
  • Executor 框架
  • (重要)ThreadPoolExecutor 类简单介绍
  • (重要)ThreadPoolExecutor 使用示例
  • 几种常见的线程池详解
  • ScheduledThreadPoolExecutor 详解
  • 线程池大小确定

3. 乐观锁与悲观锁

  • 何谓悲观锁与乐观锁
  • 乐观锁常见的两种实现方式
  • 乐观锁的缺点
  • CAS与synchronized的使用情景
    在这里插入图片描述

4. Atomic

  • Atomic 原子类介绍
  • 基本类型原子类
  • 数组类型原子类
  • 引用类型原子类
  • 对象的属性修改类型原子类
    在这里插入图片描述

5. AQS

  • AQS 简单介绍
  • AQS 原理
  • Semaphore(信号量)-允许多个线程同时访问
  • CountDownLatch (倒计时器)
  • CyclicBarrier(循环栅栏)
  • ReentrantLock 和 ReentrantReadWriteLock
    在这里插入图片描述

(四). JVM
1. Java内存区域

  • 概述
  • 运行时数据区域
  • HotSpot 虚拟机对象探秘
  • 重点补充内容
    在这里插入图片描述

2. JVM垃圾回收

  • 揭开 JVM 内存分配与回收的神秘面纱
  • 对象已经死亡?
  • 垃圾收集算法
  • 垃圾收集器
    在这里插入图片描述

3. JDK 监控和故障处理工具

  • JDK 命令行工具
  • JDK 可视化分析工具
    在这里插入图片描述

4. 类文件结构

  • 概述
  • Class 文件结构总结
    在这里插入图片描述

5. 类加载过程

  • 类加载过程
  • 卸载
    在这里插入图片描述

6. 类加载器

  • 回顾一下类加载过程
  • 类加载器总结
  • 双亲委派模型
  • 自定义类加载器
    在这里插入图片描述

二、网络
(一). 计算机网络知识

  • 计算机概述
  • 物理层
  • 数据链路层
  • 网络层
  • 运输层
  • 应用层
    在这里插入图片描述

(二). HTTPS中的TLS

  • SSL 与 TLS
  • 从网络协议的角度理解 HTTPS
  • 从密码学的角度理解 HTTPS
  • RSA 简单示例
    在这里插入图片描述

三、Linux
(一). 从认识操作系统开始

  • 操作系统简介
  • 操作系统简单分类
  • 操作系统的内核
  • 操作系统的用户态与内核态
    在这里插入图片描述

(二). 初探Linux

  • Linux简介
  • Linux诞生简介
  • Linux的分类
    在这里插入图片描述

(三) Linux文件系统概览

  • Linux文件系统简介
  • Inode
  • 文件类型与目录结构
  • Linux目录树
    在这里插入图片描述

(四) Linux基本命令

  • 目录切换命令
  • 目录的操作命令(增删改查)
  • 文件的操作命令(增删改查)
  • 压缩文件的操作命令
  • Linux的权限命令
  • Linux 用户管理
  • Linux系统用户组的管理
  • 其他常用命令
    在这里插入图片描述

四、数据结构与算法
(一). 数据结构(布隆过滤器)

  • 什么是布隆过滤器?
  • 布隆过滤器的原理介绍
  • 布隆过滤器使用场景
  • 通过 Java 编程手动实现布隆过滤器
  • 利用Google开源的 Guava中自带的布隆过滤器
    Redis 中的布隆过滤器
    在这里插入图片描述

五、数据库
(一). MySQL

  • 基本操作
  • 数据库操作
  • 表的操作
  • 数据操作
  • 字符集编码
  • 数据类型(列类型)
  • 列属性(列约束)
  • 建表规范
  • SELECT
  • UNION
  • 子查询
  • 连接查询(join)
  • TRUNCATE
  • 备份与还原
  • 视图
  • 事务(transaction)
  • 锁表
  • 触发器
  • SQL编程
  • 存储过程
  • 用户和权限管理
  • 表维护
  • 杂项
    在这里插入图片描述

(二). Redis

  • 5种基本数据结构
  • 跳跃表
  • 分布式锁深入探究
  • Redlock分布式锁
  • 如何做可靠的分布式锁,Redlock真的可行么
  • 神奇的HyperLoglog解决统计问题
  • 亿级数据过滤和布隆过滤器
  • GeoHash查找附近的人
  • 持久化
  • 发布订阅与Stream
  • [集群]入门实践教程
  • Redis数据类型、编码、底层数据结构
    在这里插入图片描述

六、系统设计
(一). RestFul API

  • 重要概念
  • REST 接口规范
  • HATEOAS
    在这里插入图片描述

(二). 常用框架

  • Spring常见问题
  • Spring常用注解
  • Spring事务
  • Spring IOC和 AOP详解
  • Spring中 Bean 的作用域与生命周期
  • SpringMVC 工作原理详解
  • Spring中都用到了那些设计模式?
    在这里插入图片描述

(三). 认证授权(JWT、SSO)

  • JWT 身份认证优缺点分析以及常见问题解决方案
  • SSO 单点登录
    在这里插入图片描述

(四). 分布式

  • 分布式相关概念入门
  • Dubbo
  • 消息队列其实很简单
  • RabbitMQ
  • RocketMQ
  • Kafka
  • API网关
  • 分布式ID
  • 限流的算法有哪些?
  • Zookeeper
    在这里插入图片描述

(五). 大型网站架构

  • 如何设计一个高可用系统?要考虑哪些地方?
    在这里插入图片描述

(六). 微服务

  • Spring Cloud

七、必会工具
(一). Git

  • 版本控制
  • 认识 Git
  • Git 使用快速入门
    在这里插入图片描述

(二). Docker

  • 认识容器
  • 再来谈谈 Docker 的一些概念
  • 容器 VS 虚拟机
  • Docker 基本概念
  • 常见命令
  • Build Ship and Run
  • 简单了解一下 Docker 底层原理
  • 总结
    在这里插入图片描述
    八、面试指南
    (一). 程序员简历该怎么写
  • 为什么说简历很重要?
  • 下面这几点你必须知道
  • 必须了解的两大法则
  • 项目经历怎么写?
  • 专业技能该怎么写?
  • 排版注意事项
  • 其他的一些小tips
    在这里插入图片描述

(二). 如何准备面试

  • 如何获取大厂面试机会?
  • 面试前的准备
  • 面试之后复盘
  • 如何学习?学会各种框架有必要吗?
    在这里插入图片描述

(三). Java学习路线和方法推荐

  • Java 基础
  • 操作系统与计算机网络
  • 数据结构与算法
  • 前端知识
  • MySQL
  • 常用工具
  • 常用框架
  • 多线程的简单使用
  • 分布式
  • 深入学习
  • 微服务
  • 总结
    在这里插入图片描述

写在最后
这份笔记上述的知识点我甚至都没有完全吃透,只掌握了80%,就能够完成大幅度的涨薪,虽然我在学习的过程中放弃了我所有的休息时间,甚至上班的时候都在摸鱼搞学习(长时间坐着没有运动,甚至得了痔疮…),但是我觉得是值得的,我牺牲了3个月时间,收获的不只是一个月接近9k的涨薪,还有一个努力学习,积极向上的心态!

金三银四已过半,是否还有很多小伙伴和之前的我一样,安于现状,温水煮青蛙,迟迟不肯做出改变,一直在一家公司做着CRUD,等到想要做出一些改变的时候缺发现自己的时间都被CRUD给占满了。工作几年增加的只有自己的年龄,技术一直停留在加入公司的那一天,甚至是有些许的退步。

不敢提涨薪,也没有资格提涨薪。比你年轻的人技术比你更好,最后只有一条路留给你:被裁!

希望大家能够时刻保持一颗积极向上的心,我始终相信一件事:机会永远是留给有准备的人。

获取方式:需要这份 《Java中高级核心知识全面解析》笔记 点赞、转发、收藏之后点此处获取完整下载路径方式!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值