LearningNotes icon indicating copy to clipboard operation
LearningNotes copied to clipboard

Java学习笔记,主要来源于B站上视频的学习,同时会记录平时一些学习和项目中遇到的问题,同步更新在蘑菇博客,如果对我的博客网站感兴趣的话,欢迎关注我的 蘑菇博客项目 笔记主要涵盖:Java,Spring,SpringCloud,...

📙陌溪的学习笔记

关于我

陌溪 是一个从三本院校一路摸滚翻爬上来的程序员。目前就职于字节跳动的Data广告部门,是字节跳动全线产品的商业变现研发团队。这两天创建了一个 微信公众号【陌溪教你学编程,未来将会在公众号上持续性的输出很多原创小知识以及学习资源,欢迎各位小伙伴关注我,和我一起共同学习,同时我也希望各位小伙伴能够给 LearningNotes 项目多多 Star 支持,您的点赞就是我维护的动力!

🔗友情链接:我的好友阿秀前段时间收集了超过1000本计算机经典书籍的PDF,包括C++、Java、Python、操作系统、计算机网络、数据库等方面的书籍都有收录,基本上你能听过的都在里面了。这是他的仓库 CS-Books,大家可以去看看,以后看书不花钱不是梦了哈哈,欢迎Star⭐

项目介绍

个人学习笔记,主要来源于B站上视频的学习,同时会记录平时一些学习和项目中遇到的问题,同步更新在 蘑菇博客,如果对我的博客网站感兴趣的话,欢迎关注我的 蘑菇博客源码,如果笔记对您有帮助的话,欢迎star支持,谢谢~

笔记主要涵盖:JavaJVMJUCSpringSpringCloud计算机网络操作系统数据结构Vue

本仓库有来源自己总结、网上收集、视频笔记,如果有侵权之处,可以联系我进行删除

因个人能力有限,笔记中可能还有很多错误的地方,还请大家能够多多指出交流,也欢迎各位小伙伴能够提交 Pull Request 请求进行完善。

如果您要转载本仓库中的笔记到其它地方,欢迎添加笔记的仓库地址:LearningNotes

PDF下载

本仓库中整理的笔记同时提供 PDF 离线版本,请扫描下方公众号『陌溪教你学编程』后,回复关键字『PDF』,即可下载 仓库最新 PDF 版本的笔记

在线阅读

为了更方便小伙伴的复习和查询,把本仓库做成一个在线的文档

  • 在线文档:http://note.moguit.cn/
  • 备用地址:http://moxi159753.gitee.io/learningnotes/

内推

目前字节跳动拥有大量岗位需求,欢迎点击下方内推链接【内推码: WYU3X8M】选择合适的岗位投递。小伙伴们使用内推链接投递后,可以通过 公众号 联系我跟进面试进度。

提前批投递:点我传送 ,社会招聘:点我传送

仓库地址

本仓库同步托管在Github和Gitee中

  • Gitee仓库:https://gitee.com/moxi159753/LearningNotes
  • Github仓库:https://github.com/moxi624/LearningNotes

个人博客搭建

如果想搭建个人的博客系统,可以购买优惠服务器后,参考 20分钟部署一个微服务架构的博客系统 在服务器搭建 蘑菇博客项目 用于知识点的梳理

【阿里云】云服务器狂欢特惠,2核2G5M 轻量级应用服务器 60 元/年【博主目前使用】 点我传送

【腾讯云】云产品限时秒杀,爆款 2核4G8M 云服务器,首年74元/年【博主强烈推荐】 点我进入

公众号文章

来源陌溪的个人公众号:陌溪教你学编程

Java

来源Bilibili尚硅谷周阳老师学习视频:点我传送

  • equals和等等的区别
  • 代码块
  • 分布式锁
  • MySQL的存储引擎
  • JDK动态代理和CGLIB动态代理
  • Java注解和反射
  • 泛型的类型擦除
  • Java使用Redis删除指定前缀Key
  • 前端的一些跨域问题
  • 使用Ip2region替代淘宝IP接口
  • 聊一聊-Java泛型中的通配符T,E,K,V
  • JVM类加载机制
  • VisualVM安装VisualGC插件
  • 谈谈你对ThreadLocal的理解
  • 谈谈你对AQS的理解
  • ArrayList扩容机制

Java8新特性

来源Bilibili尚硅谷李贺飞老师学习视频:Java8新特性

  • HashMap变化
  • Lambda表达式
  • 方法引用和构造器
  • 强大的Stream
  • 并行流
  • Optional容器类

NIO

JVM

来源Bilibili尚硅谷宋红康老师JVM教程:硅谷2020最新版宋红康JVM教程

  • JVM与Java体系结构
  • 类加载子系统
  • 运行时数据区概述及线程
  • 程序计数器
  • 虚拟机栈
  • 本地方法接口
  • 本地方法栈
  • 方法区
  • 对象实例化内存布局与访问定位
  • 直接内存
  • 执行引擎
  • StringTable
  • 垃圾回收概述
  • 垃圾回收相关算法
  • 垃圾回收相关概念
  • 垃圾回收器

JUC

来源Bilibili尚硅谷周阳老师学习视频:尚硅谷Java大厂面试题第二季

  • Volatile和JMM内存模型的可见性
  • Volatile不保证原子性
  • Volatile禁止指令重排
  • Volatile的应用
  • CAS底层原理
  • 原子类AtomicInteger的ABA问题
  • ArrayList为什么是线程不安全的
  • TransferValue是什么
  • Java锁之读写锁
  • Java锁之公平锁和非公平锁
  • Java锁之可重入锁和递归锁
  • Java锁之自旋锁
  • CountDownLatch是什么
  • CyclicBarrier是什么
  • Semaphore是什么
  • Java中的阻塞队列
  • Synchronized和Lock的区别与好处
  • Java线程池详解
  • 死锁编码及快速定位
  • JVM体系结构
  • 什么是GCRoots能做什么
  • JVM参数调优
  • Java中的强引用_软引用_弱引用_虚引用分别是什么
  • Java内存溢出OOM
  • 垃圾回收器
  • Linux相关命令
  • Github学习
  • 乐观锁和悲观锁
  • 源码

Docker

  • DockerCompose入门学习
  • Docker操作系统之Alpine
  • Docker容器相关命令
  • Docker图形化工具Portainer介绍与安装
  • 对象存储MinIO入门简介
  • 如何将镜像推送到阿里云容器镜像服务
  • 使用DockerCompose制作蘑菇博客YAML镜像文件
  • 使用GithubAction构建蘑菇博客镜像提交DockerHub

K8S

来源Bilibili尚硅谷教程:k8s教程由浅入深-尚硅谷

  • Kubernetes简介
  • 搭建K8S集群前置知识
  • 使用kubeadm方式搭建K8S集群
  • 使用二进制方式搭建K8S集群
  • Kubeadm和二进制方式对比
  • Kubernetes集群管理工具kubectl
  • Kubernetes集群YAML文件详解
  • Kubernetes核心技术Pod
  • Kubernetes核心技术Controller
  • Kubernetes核心技术Service
  • Kubernetes控制器Controller详解
  • Kubernetes配置管理
  • Kubernetes集群安全机制
  • Kubernetes核心技术Ingress
  • Kubernetes核心技术Helm
  • Kubernetes持久化存储
  • Kubernetes集群资源监控
  • Kubernetes搭建高可用集群
  • Kubernetes容器交付介绍

中间件

来源Bilibili中华石杉老师学习视频:Java工程师面试突击

SpringCloud

来源Bilibili尚硅谷周阳老师学习视频:尚硅谷2020最新版SpringCloud(H版&alibaba)框架

  • SpringCloud是什么
  • 搭建Eureka集群
  • Eureka停更后的替换
  • Ribbon负载均衡
  • OpenFeign实现服务调用
  • Hystrix中的服务降级和熔断
  • 服务网关Gateway
  • 分布式配置中心SpringCloudConfig
  • 消息总线Bus
  • 消息驱动SpringCloudStream
  • SpringCloudSleuth分布式请求链路跟踪
  • 使用Nacos实现服务注册发现以及服务配置等功能
  • SpringCloudAlibabaSentinel实现熔断和限流
  • SpringCloudAlibabaSeata处理分布式事务
  • 使用Zipkin搭建蘑菇博客链路追踪
  • 源码

SpringSecurity

来源Bilibili黑马程序员视频教程:手把手教你精通新版SpringSecurity

  • 初识SpringSecurity
  • SpringSecurity在MVC项目中的使用
  • SpringSecurity在单机环境下的使用
  • SpringSecurity在分布式环境下的使用
  • OAuth2.0介绍

ElasticStack

来源Bilibili黑马程序员的视频:Elastic Stack(ELK)从入门到实践

  • ElasticSearch介绍与安装
  • Beats入门简介
  • Kibana安装与介绍
  • Logstash入门简介
  • ElasticStack综合案例
  • 使用ELK搭建蘑菇博客日志收集

算法学习

来源牛客网剑指offer的题目:  点我传送

Bilibili视频学习解题思路(Python版本):  点我传送

  • 斐波那契数列
  • 青蛙跳台阶
  • 找出丑数
  • 二维数组中的查找
  • 替换空格
  • 两个栈实现一个队列
  • 旋转数组的最小数字
  • 调整数组顺序使奇数位于偶数前面
  • 包含min函数的栈
  • 栈的压入弹出序列
  • 从尾到头打印链表
  • 链表中倒数第K个节点
  • 反转链表
  • 合并两个排序的链表
  • 复杂链表的复制
  • 两个链表的公共结点
  • 孩子们的游戏(圆圈中最后剩下的数)
  • 链表中环的入口结点
  • 二进制中1的个数
  • 不用加减乘除做加法
  • 数组中出现次数超过一半的数字
  • 整数中1出现的次数
  • 数组中只出现一次的数字
  • 树的遍历
  • 重建二叉树
  • 树的子结构
  • 二叉树的镜像
  • 从上往下打印二叉树
  • 二叉搜索树的后序遍历序列
  • 二叉树中和为某一值的路径
  • 二叉搜索树与双向链表
  • 最小的K个数
  • 数据流中的中位数
  • 二叉树的下一个节点
  • 对称的二叉树
  • 按之字形顺序打印二叉树
  • 把二叉树打印成多行
  • 二叉搜索树的第K个节点
  • 序列化二叉树
  • 连续子数组的最大和
  • 矩形覆盖
  • 排序算法-冒泡插入选择
  • 希尔排序
  • 归并排序
  • 快速排序
  • 常见的动态规划算法
  • 源码

SpringBoot

  • Eureka管理页面配置接口返回git信息
  • Java如何通过IP地址获取地区
  • SpringSecurity造成无法使用iframe的内嵌页面的解决方法
  • SpringBoot解决时区问题
  • SpringBoot项目中使用字符串占位符
  • SpringBoot中使用注解的方式创建队列和交换机
  • 解决升级SpringBoot2.X后无法向eureka注册服务的问题
  • 使用DevTool实现SpringBoot项目热部署
  • 使用自定义日志接口收集用户访问日志
  • Bean的生命周期

Vue

  • Axios中拦截器的使用
  • ElementUI中Upload如何批量上传
  • el-select因为绑定的值为整数而无法默认选择
  • Vue动态计算Table表格的高度
  • Vue对Element中的e-tag添加@click事件无效
  • Vue使用Echarts制作一个文章贡献度表
  • Vue中input框自动聚焦
  • Vue使用vue-count-to插件对数字显示美化
  • Vue项目如何关闭Eslint校验
  • Vue项目使用阿里巴巴矢量图标库
  • Vue项目引入CDN加速
  • Vue制作一个评论模块
  • Vue中Html和Markdown互相转换
  • Vue中对数组变化监听
  • Vue中使用Vue-cropper进行图片裁剪
  • Vuex学习指南-实现一个计数器
  • Vue中防止XSS脚本攻击
  • Vue如何使用G2绘制图片
  • 使用Vuex进行两个页面逻辑交互

杂记

  • CKEditor前端样式和编辑器的样式不一致的问题
  • Ckeidtor中上传图片添加token信息
  • CLion搭建C语言开发环境
  • Elasticsearch介绍与安装
  • Github项目配置Actions
  • SpringBoot+Vue如何集成第三方登录登录JustAuth
  • SpringBoot项目启动增加自定义Banner
  • VSCode服务版搭建教程,让平板化为生产力工具
  • Windows平台编写bat脚本让后台启动多个程序
  • 记一次蘑菇博客差点被删库的经历
  • 解决git默认不区分大小写的问题
  • 蘑菇博客从Eureka迁移到Nacos
  • Windows环境下搭建蘑菇博客
  • Docker搭建蘑菇博客(Eureka版)
  • Docker搭建蘑菇博客(Nacos版)
  • DockerCompose一键部署蘑菇博客(Nacos版)
  • 蘑菇博客Nacos安装指南
  • 蘑菇博客Sentinel安装指南
  • 蘑菇博客QQ小程序发布指南
  • 蘑菇博客后台登录页面增加粒子特效
  • 蘑菇博客集成MarkDown编辑器tui-editor
  • 蘑菇博客配置七牛云存储
  • 蘑菇博客配置域名解析
  • 蘑菇博客切换搜索模式
  • 蘑菇博客部署到阿里云服务器(Eureka版)
  • 蘑菇博客部署到阿里云服务器(Nacos版)
  • 蘑菇博客如何扩展新的功能和页面
  • 蘑菇博客使用GithubAction完成持续集成
  • 蘑菇博客使用SQL语句进行搜索出的内容忽略大小写并添加高亮效果
  • 蘑菇博客添加本地Markdown文件上传功能
  • 如何给七牛云中的文件配置防盗链
  • 如何使用docsify给蘑菇博客编写开发文档
  • 如何制作github小徽章
  • 使用JustAuth集成QQ登录
  • 使用开源项目申请JetBrains全家桶
  • 什么是CICD
  • 罗技K380快捷键
  • 将PDF转换为Kindle能识别的MOBI格式
  • OCR文字识别软件
  • 如何向开源社区正确提问

Linux

  • Linux下查看文件和文件夹占用空间大小
  • Linux下通过nginx配置https
  • CentOS下如何安装Nginx
  • 记一次因代码出错不断输出日志占满Docker容器硬盘的排查经历
  • CentOS下安装Nacos
  • CentOS下安装Sentinel
  • VMWare中CentOS如何配置固定IP
  • CentOS中将文本中的ip替换成服务器外网ip
  • Asciinema-一种基于文本的终端录制方法

Redis

  • Redis中的数据结构
  • Redis中的跳跃表
  • Redis缓存穿透-布隆过滤器
  • 大白话谈IO模型
  • IO多路复用底层原理
  • Redis实现分布式锁

JavaScript

  • Js设置二级域名和顶级域名下共享Cookie
  • 如何通过Js将时间转换为刚刚_几分钟前_几小时前

数据库

  • MyBatis常见面试题
  • MyBatis的缓存机制
  • MySQL索引

操作系统

  • 进程和线程通信

计算机网络

  • 三次握手和四次挥手
  • https和http
  • TCP中的拥塞控制和流量控制
  • 物理层
  • 数据链路层
  • http中的状态码

面经

  • 京东面经
  • 字节跳动面试总结
  • 京东零售提前批Java一面
  • 京东零售提前批Java二面
  • 滴滴出行提前批Java123面

Golang基础

来源Bilibili IT营 大地老师学习视频:点我传送

  • Go语言的安装
  • Go语言发展简史
  • Go的变量
  • Go的数据类型
  • Go的运算符
  • Go的流程控制
  • Go的数组
  • Go的切片
  • Go的map
  • Go的函数
  • Go中的日期函数
  • Go中的指针
  • Go中的结构体
  • Go中的包以及GoMod
  • Go中的接口
  • goroutine实现并行和并发
  • Golang中的反射
  • 源码

Golang进阶

来源bilibili 七米老师的学习视频:点我传送

李文周老师的博客:点我传送

  • Golang并发编程
  • 互联网协议介绍
  • HTTP请求
  • 日志库
  • 反射
  • 单元测试
  • Flag包的用法
  • Go操作数据库
  • sqlx库的使用
  • Go操作Redis
  • Go操作消息队列
  • Go的依赖管理GoModule
  • GoContext的使用
  • 日志收集项目架构设计及Kafka介绍
  • etcd介绍
  • ES介绍和使用
  • Kafka消费示例
  • Kibana介绍和使用
  • Prometheus和Grafana介绍
  • 源码

Golang框架-Gin

来源bilibili 七米老师的学习视频:点我传送

李文周老师的博客:点我传送

  • Gin内容介绍
  • Http及Template介绍
  • GORM介绍和使用
  • GORM进行CURD
  • 源码

关注&交流

刚刚创建了 QQ/ 微信群,目前项目还存在很多不足之处,欢迎各位老哥进群进行技术交流,为了识别同行,防止广告进入,希望加群的时候能添加备注,谢谢~

微信群【备注:加群】 ~~QQ群(备注:蘑菇博客)【群满】~~ QQ群(备注:蘑菇博客)【推荐】

赞赏

如果觉得本仓库对您有帮助的话,希望朋友能够给博主喝一杯咖啡(ps.. 小伙伴赞赏的时候可以备注一下下~)

微信 支付宝