Skip to content

【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。

Notifications You must be signed in to change notification settings

wenxgdev/JavaGuide

 
 

Repository files navigation

点击关注公众号及时获取笔主最新更新文章,并可免费领取本文档配套的《Java面试突击》以及Java工程师必备学习资源。

阅读 微信群 公众号 公众号 投稿 投稿

Sponsor

推荐使用 https://snailclimb.github.io/JavaGuide/ 在线阅读(访问速度慢的话,请使用 https://snailclimb.gitee.io/javaguide ),在线阅读内容本仓库同步一致。这种方式阅读的优势在于:有侧边栏阅读体验更好,Gitee pages 的访问速度相对来说也比较快。

目录

Java

基础

容器

并发

JVM

I/O

Java 8

优雅 Java 代码必备实践(Java编程规范)

网络

操作系统

Linux相关

数据结构与算法

数据结构

算法

数据库

MySQL

Redis

数据库扩展

代办......

系统设计

常用框架

Spring/SpringBoot

ZooKeeper

数据通信/中间件

RPC

消息队列

权限认证

分布式 & 微服务

API 网关

网关主要用于请求转发、安全认证、协议转换、容灾。

配置中心

代办......

唯一 id 生成

分布式id生成方案总结

服务治理:服务注册与发现、服务路由控制

代办......

架构

设计模式

面试指南

备战面试

常见面试题总结

  • 第一周(2018-8-7) (为什么 Java 中只有值传递、==与equals、 hashCode与equals)
  • 第二周(2018-8-13)(String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的?、什么是反射机制?反射机制的应用场景有哪些?......)
  • 第三周(2018-08-22) (Arraylist 与 LinkedList 异同、ArrayList 与 Vector 区别、HashMap的底层实现、HashMap 和 Hashtable 的区别、HashMap 的长度为什么是2的幂次方、HashSet 和 HashMap 区别、ConcurrentHashMap 和 Hashtable 的区别、ConcurrentHashMap线程安全的具体实现方式/底层具体实现、集合框架底层数据结构总结)
  • 第四周(2018-8-30).md (主要内容是几道面试常问的多线程基础题。)

面经

Java学习常见问题汇总

工具

Git

Docker

其他

资源

书单

实战项目推荐

Github 历史榜单


待办

  • Java 多线程类别知识重构
  • Netty 总结(---正在进行中---)
  • 数据结构总结重构(---正在进行中---)

说明

JavaGuide介绍

  • 对于 Java 初学者来说: 本文档倾向于给你提供一个比较详细的学习路径,让你对于Java整体的知识体系有一个初步认识。另外,本文的一些文章 也是你学习和复习 Java 知识不错的实践;
  • 对于非 Java 初学者来说: 本文档更适合回顾知识,准备面试,搞清面试应该把重心放在那些问题上。要搞清楚这个道理:提前知道那些面试常见,不是为了背下来应付面试,而是为了让你可以更有针对的学习重点。

Markdown 格式参考:Github Markdown格式,表情素材来自:EMOJI CHEAT SHEET

利用 docsify 生成文档部署在 Github pages: docsify 官网介绍

作者的其他开源项目推荐

  1. springboot-guide : 适合新手入门以及有经验的开发人员查阅的 Spring Boot 教程(业余时间维护中,欢迎一起维护)。
  2. programmer-advancement : 我觉得技术人员应该有的一些好习惯!
  3. spring-security-jwt-guide :从零入门 !Spring Security With JWT(含权限验证)后端部分代码。

关于转载

如果你需要转载本仓库的一些文章到自己的博客的话,记得注明原文地址就可以了。

如何对该开源文档进行贡献

  1. 笔记内容大多是手敲,所以难免会有笔误,你可以帮我找错别字。
  2. 很多知识点我可能没有涉及到,所以你可以对其他知识点进行补充。
  3. 现有的知识点难免存在不完善或者错误,所以你可以对已有知识点进行修改/补充。

为什么要做这个开源文档?

初始想法源于自己的个人那一段比较迷茫的学习经历。主要目的是为了通过这个开源平台来帮助一些在学习 Java 或者面试过程中遇到问题的小伙伴。

投稿

由于我个人能力有限,很多知识点我可能没有涉及到,所以你可以对其他知识点进行补充。大家也可以对自己的文章进行自荐,对于不错的文章不仅可以成功在本仓库展示出来更可以获得作者送出的 50 元左右的任意书籍进行奖励(当然你也可以直接折现50元)。

联系我

添加我的微信备注“Github”,回复关键字 “加群” 即可入群。

个人微信

Contributor

下面是笔主收集的一些对本仓库提过有价值的pr或者issue的朋友,人数较多,如果你也对本仓库提过不错的pr或者issue的话,你可以加我的微信与我联系。下面的排名不分先后!

"

公众号

如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号。

《Java面试突击》: 由本文档衍生的专为面试而生的《Java面试突击》V2.0 PDF 版本公众号后台回复 "Java面试突击" 即可免费领取!

Java工程师必备学习资源: 一些Java工程师常用学习资源公众号后台回复关键字 “1” 即可免费无套路获取。

我的公众号

About

【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%