Skip to content

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

Notifications You must be signed in to change notification settings

Leaf-G/JavaGuide

 
 

Repository files navigation

Java 学习/面试指南


Special Sponsors

阅读之前必看

《深入拆解Java虚拟机》

  1. 加群: 微信交流群添加 我的微信 后回复关键字“加群”即可入群。
  2. Java工程师必备学习资源: 一些Java工程师常用学习资源公众号后台回复关键字 “1” 即可免费无套路获取。
  3. 《Java面试突击》: 由本文档衍生的专为面试而生的《Java面试突击》V2.0 PDF 版本公众号后台回复 "Java面试突击" 即可免费领取!
  4. 关于贡献者: 对本仓库提过有价值的 issue 或 pr 的小伙伴将出现在 Contributor 这里。
  5. 欢迎投稿: 由于我个人能力有限,很多知识点我可能没有涉及到,所以你可以对其他知识点进行补充。对于不错的原创文章我根据你的选择给予现金(50-300)、付费专栏或者任选书籍进行奖励!所以,快提 pr 或者邮件的方式(邮件地址在主页)给我投稿吧! 当然,我觉得奖励是次要的,最重要的是你可以从自己整理知识点的过程中学习到很多知识。

目录

ToDoList(待办清单)

  • Java 8 新特性总结
  • Java 8 新特性详解
  • Java 多线程类别知识重构
  • BIO,NIO,AIO 总结
  • Netty 总结
  • 数据结构总结重构

Java

基础

集合框架

多线程

JVM

BIO,NIO,AIO

Java8 New Features

设计模式

数据结构与算法

数据结构

算法

计算机网络与数据通信

网络相关

数据通信(RESTful,RPC,消息队列)总结

操作系统

Linux相关

主流框架

Spring

ZooKeeper

数据存储

MySQL

Redis

架构

面试必备(Essential content for the interview)

备战面试(Preparing for an interview)

BATJ真实面经(BATJ real interview experience)

最常见的Java面试题总结(Summary of the most common Java interview questions)

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

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

关于转载

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

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

  1. 笔记内容大多是手敲,所以难免会有笔误,你可以帮我找错别字。
  2. 很多知识点我可能没有涉及到,所以你可以对其他知识点进行补充。(对于不错的原创文章我根据你的选择给予现金奖励、付费专栏或者书籍进行奖励!快提 pr 给我投稿吧!)
  3. 现有的知识点难免存在不完善或者错误,所以你可以对已有知识点的修改/补充。

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

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

联系我

如果大家需要与我交流,可以扫描下方二维码添加我的微信获取关注我的公众号

我的微信

深入拆解Java虚拟机

极客时间的《深入拆解Java虚拟机》正在拼团中(优惠活动马上结束),关注本仓库的很多小伙伴应该需要。原价99,拼团价58。大家使用微信扫描我的二维码购买的话,可以添加我的微信然后获得24元返现,减轻你们的学习成本。


Contributor

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

"

公众号

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

我的公众号

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%