GitHub 是多人协作的。 《程序员软实力修炼手册》PDF 版本,在公众号 **[沉默王二](#公众号)** 后台回复“**软实力**”即可获取。 《Java 程序员进阶修炼手册》PDF 版本,在公众号 **[沉默王二](#公众号)** 后台回复“**Java**”即可获取。 如要进群或者请教问题,请[联系我](#联系我) (备注来自 Github。有任何问题都可以向我提问,有问必答)。

阅读 公众号 公众号 itwanger

## 目录 * [目录](#目录) * [面试](#面试) * [面试技巧](#面试技巧) * [Java 面试题](#Java面试题) * [Spring 面试题](#Spring面试题) * [Spring Boot 面试题](#SpringBoot面试题) * [Spring MVC 面试题](#SpringMVC面试题) * [Java](#java) * [教妹学Java](#教妹学Java) * [说明](#说明) ## 面试 ### 面试技巧 - [面试技巧](docs/java/.md) ### Java面试题 - [300 道核心面试题(上)](docs/java/.md) - [300 道核心面试题(下)](docs/java/.md) - [字符串面试题](docs/java/.md) - [多线程面试题](docs/java/.md) - [集合面试题](docs/java/.md) ### Spring面试题 - [Spring 面试题](docs/java/.md) ### SpringBoot面试题 - [Spring Boot 面试题](docs/java/.md) ### SpringMVC面试题 - [Spring MVC 面试题](docs/java/.md) ## Java ### 教妹学Java **基础知识:** - [什么是 Java](docs/java/.md) - [Java 历史](docs/java/.md) - [Java 特性](docs/java/.md) - [C++ 和 Java](docs/java/.md) - [第一个 Java 程序](docs/java/.md) - [Java 程序是如何运行的](docs/java/.md) - [JDK,JRE,JVM](docs/java/.md) - [Java 虚拟机详解](docs/java/.md) - [Java 变量](docs/java/.md) - [Java 数据类型](docs/java/.md) - [Unicode 字符集](docs/java/.md) - [操作符](docs/java/.md) - [Java 的那些关键字](docs/java/.md) - [if-else](docs/java/.md) - [switch](docs/java/.md) - [for 循环](docs/java/.md) - [while 循环](docs/java/.md) - [do-while 循环](docs/java/.md) - [break](docs/java/.md) - [continue](docs/java/.md) - [Java 注释](docs/java/.md) **对象和类:** - [什么是面向对象编程](docs/java/.md) - [命名约定](docs/java/.md) - [对象和类](docs/java/.md) - [方法](docs/java/.md) - [构造方法](docs/java/.md) - [static 关键字](docs/java/.md) - [this 关键字](docs/java/.md) - [继承](docs/java/.md) - [聚合](docs/java/.md) - [方法重载](docs/java/.md) - [方法重写](docs/java/.md) - [返回类型协变](docs/java/.md) - [super 关键字](docs/java/.md) - [初始化代码块](docs/java/.md) - [final 关键字](docs/java/.md) - [多态](docs/java/.md) - [动态绑定](docs/java/.md) - [instanceof](docs/java/.md) - [抽象类](docs/java/.md) - [接口](docs/java/.md) - [抽象类和接口的区别](docs/java/.md) - [包](docs/java/.md) - [访问权限修饰符](docs/java/.md) - [封装](docs/java/.md) **内部类:** - [什么是内部类](docs/java/.md) - [成员内部类](docs/java/.md) - [匿名内部类](docs/java/.md) - [本地内部类](docs/java/.md) - [静态内部类](docs/java/.md) - [嵌套内部类](docs/java/.md) **数组:** - [数组](docs/java/.md) **对象和类的一些细节:** - [Object 类](docs/java/.md) - [对象克隆](docs/java/.md) - [Math 类](docs/java/.md) - [包装器类](docs/java/.md) - [递归](docs/java/.md) - [Java 是值传递还是引用传递](docs/java/.md) - [strictfp 关键字](docs/java/.md) - [文档工具](docs/java/.md) - [命令行参数](docs/java/.md) - [对象和类的区别](docs/java/.md) - [方法重载和方法重写的区别](docs/java/.md) **字符串:** - [什么是字符串](docs/java/.md) - [字符串是不可变的](docs/java/.md) - [字符串比较](docs/java/.md) - [字符串拼接](docs/java/.md) - [字符串截取](docs/java/.md) - [StringBuffer 类](docs/java/.md) - [StringBuilder 类](docs/java/.md) - [String 和 StringBuffer 的区别](docs/java/.md) - [StringBuffer 和 StringBuilder 的区别](docs/java/.md) - [自定义不可变类](docs/java/.md) - [打印对象字符串](docs/java/.md) - [StringTokenizer 类](docs/java/.md) **集合:** - [集合框架](docs/java/.md) - [ArrayList](docs/java/.md) - [LinkedList](docs/java/.md) - [ArrayList 和 LinkedList 的区别](docs/java/.md) - [List 接口](docs/java/.md) - [HashSet](docs/java/.md) - [LinkedHashSet](docs/java/.md) - [TreeSet](docs/java/.md) - [Queue](docs/java/.md) - [Deque](docs/java/.md) - [Map接口](docs/java/.md) - [HashMap](docs/java/.md) - [LinkedHashMap](docs/java/.md) - [TreeMap](docs/java/.md) - [Hashtable](docs/java/.md) - [HashMap 和 Hashtable 的区别](docs/java/.md) - [EnumSet](docs/java/.md) - [EnumMap](docs/java/.md) - [Collections 工具类](docs/java/.md) - [集合排序](docs/java/.md) - [Comparable 接口](docs/java/.md) - [Comparator 接口](docs/java/.md) - [Comparable 和 Comparator 的区别](docs/java/.md) - [Properties 类](docs/java/.md) - [ArrayList 和 Vector 的区别](docs/java/.md) - [Vector](docs/java/.md) - [Stack](docs/java/.md) **异常控制:** - [什么是异常控制](docs/java/.md) - [try-catch](docs/java/.md) - [多个 catch](docs/java/.md) - [内嵌 try 块](docs/java/.md) - [final 块](docs/java/.md) - [throw 关键字](docs/java/.md) - [异常堆栈](docs/java/.md) - [throws 关键字](docs/java/.md) - [throw 和 throws 的区别](docs/java/.md) - [final、finally 和 finalize 的区别](docs/java/.md) - [方法重写时的异常控制](docs/java/.md) - [自定义异常](docs/java/.md) **多线程:** - [什么是多线程](docs/java/.md) - [线程的生命周期](docs/java/.md) - [创建一个线程](docs/java/.md) - [线程调度](docs/java/.md) - [线程休眠](docs/java/.md) - [能启动两次线程吗?](docs/java/.md) - [能调用 run 方法代替 start 吗?](docs/java/.md) - [停止线程](docs/java/.md) - [线程命名](docs/java/.md) - [线程优先级](docs/java/.md) - [守护线程](docs/java/.md) - [线程池](docs/java/.md) - [线程组](docs/java/.md) - [虚拟机突然关闭后如何发送警报?](docs/java/.md) - [为什么要使用同步?](docs/java/.md) - [同步块](docs/java/.md) - [静态同步方法](docs/java/.md) - [死锁](docs/java/.md) - [线程通信](docs/java/.md) - [线程打断](docs/java/.md) - [可重入监视器](docs/java/.md) **序列化:** - [序列化和反序列化](docs/java/.md) - [transient 关键字](docs/java/.md) **网络编程:** - [网络编程的一些概念](docs/java/.md) - [socket 编程](docs/java/.md) - [URL 类](docs/java/.md) - [URLConnection 类](docs/java/.md) - [HttpURLConnection 类](docs/java/.md) - [InetAddress 类](docs/java/.md) - [DatagramSocket 类](docs/java/.md) **反射:** - [反射 API](docs/java/.md) - [newInstance 方法](docs/java/.md) - [javap](docs/java/.md) - [自定义反编译类](docs/java/.md) - [调用私有方法](docs/java/.md) **IO:** - [输入输出流](docs/java/.md) - [FileOutputStream 类](docs/java/.md) - [FileInputStream 类](docs/java/.md) - [BufferedOutputStream 类](docs/java/.md) - [BufferedInputStream 类](docs/java/.md) - [SequenceInputStream 类](docs/java/.md) - [ByteArrayOutputStream 类](docs/java/.md) - [ByteArrayInputStream 类](docs/java/.md) - [DataOutputStream 类](docs/java/.md) - [DataInputStream 类](docs/java/.md) - [FilterOutputStream 类](docs/java/.md) - [FilterInputStream 类](docs/java/.md) - [ObjectStream 类](docs/java/.md) - [ObjectStreamField 类](docs/java/.md) - [Console 类](docs/java/.md) - [FilePermission 类](docs/java/.md) - [Writer 类](docs/java/.md) - [Reader 类](docs/java/.md) - [FileWriter 类](docs/java/.md) - [FileReader 类](docs/java/.md) - [BufferedWriter 类](docs/java/.md) - [BufferedReader 类](docs/java/.md) - [CharArrayReader 类](docs/java/.md) - [CharArrayWriter 类](docs/java/.md) - [PrintStream 类](docs/java/.md) - [PrintWriter 类](docs/java/.md) - [OutputStreamWriter 类](docs/java/.md) - [InputStreamReader 类](docs/java/.md) - [PushbackInputStream 类](docs/java/.md) - [PushbackReader 类](docs/java/.md) - [StringWriter 类](docs/java/.md) - [StringReader 类](docs/java/.md) - [PipedWriter 类](docs/java/.md) - [PipedReader 类](docs/java/.md) - [FilterWriter 类](docs/java/.md) - [FilterReader 类](docs/java/.md) - [File 类](docs/java/.md) - [FileDescriptor 类](docs/java/.md) - [RandomAccessFile 类](docs/java/.md) - [Scanner 类](docs/java/.md) **日期和时间:** - [日期和时间 API](docs/java/.md) - [LocalDate 类](docs/java/.md) - [LocalTime 类](docs/java/.md) - [LocalDateTime 类](docs/java/.md) - [MonthDay 类](docs/java/.md) - [OffsetTime 类](docs/java/.md) - [OffsetDateTime 类](docs/java/.md) - [Clock 类](docs/java/.md) - [ZoneDateTime 类](docs/java/.md) - [ZoneId 类](docs/java/.md) - [ZoneOffset 类](docs/java/.md) - [Year 类](docs/java/.md) - [YearMonth 类](docs/java/.md) - [Period 类](docs/java/.md) - [Duration 类](docs/java/.md) - [Instant 类](docs/java/.md) - [DayOfWeek 枚举](docs/java/.md) - [Month 枚举](docs/java/.md) - [java.util.Date 类](docs/java/.md) - [java.sql.Date 类](docs/java/.md) - [Calendar 类](docs/java/.md) - [Duration 类](docs/java/.md) - [TimeZone 类](docs/java/.md) - [DateFormat](docs/java/.md) - [SimpleDateFormat](docs/java/.md) - [获取当前日期和时间](docs/java/.md) **正则表达式:** - [正则表达式](docs/java/.md) **RMI** - [远程方法调用](docs/java/.md) **国际化** - [国际化](docs/java/.md) **Java 版本新特性:** - [Java 4/5](docs/java/.md) - [Java 7](docs/java/.md) - [Java 8](docs/java/.md) - [Java 9](docs/java/.md) - [Java 15](docs/java/.md) **字符串常用方法:** - [charAt](docs/java/.md) - [compareTo](docs/java/.md) - [concat](docs/java/.md) - [contains](docs/java/.md) - [endsWith](docs/java/.md) - [equals](docs/java/.md) - [equalsIgnoreCase](docs/java/.md) - [format](docs/java/.md) - [getBytes](docs/java/.md) - [getChars](docs/java/.md) - [indexOf](docs/java/.md) - [intern](docs/java/.md) - [isEmpty](docs/java/.md) - [join](docs/java/.md) - [lastIndexOf](docs/java/.md) - [length](docs/java/.md) - [replace](docs/java/.md) - [replaceAll](docs/java/.md) - [split](docs/java/.md) - [startsWith](docs/java/.md) - [substring](docs/java/.md) - [toCharArray](docs/java/.md) - [toLowerCase](docs/java/.md) - [toUpperCase](docs/java/.md) - [trim](docs/java/.md) - [valueOf](docs/java/.md) ## 说明 开源项目在于大家的参与,这才使得它的价值得到提升。感谢🙏有你! ### JavaPoint介绍 开源 JavaPoint 初始想法源于自己的个人那一段比较迷茫的学习经历。主要目的是为了通过这个开源平台来帮助一些在学习 Java 或者面试过程中遇到问题的小伙伴。 * **对于 Java 初学者来说:** 本文档倾向于给你提供一个比较详细的学习路径,让你对于Java整体的知识体系有一个初步认识。另外,本文的一些文章 也是你学习和复习 Java 知识不错的实践; * **对于非 Java 初学者来说:** 本文档更适合回顾知识,准备面试,搞清面试应该把重心放在那些问题上。要搞清楚这个道理:提前知道那些面试常见,不是为了背下来应付面试,而是为了让你可以更有针对的学习重点。 Markdown 格式参考:[Github Markdown格式](https://guides.github.com/features/mastering-markdown/),表情素材来自:[EMOJI CHEAT SHEET](https://www.webpagefx.com/tools/emoji-cheat-sheet/)。 Logo下的小图标是使用[Shields.IO](https://shields.io/) 生成的。 ### 关于转载 如果你需要转载本仓库的一些文章到自己的博客的话,记得注明原文地址就可以了。 ### 如何对该开源文档进行贡献 1. 笔记内容大多是手敲,所以难免会有笔误,你可以帮我找错别字。 2. 很多知识点我可能没有涉及到,所以你可以对其他知识点进行补充。 3. 现有的知识点难免存在不完善或者错误,所以你可以对已有知识点进行修改/补充。 > 如果要提 issue/question 的话,强烈推荐阅读 [《提问的智慧》](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way)、[《如何向开源社区提问题》](https://github.com/seajs/seajs/issues/545) 和 [《如何有效地报告 Bug》](http://www.chiark.greenend.org.uk/~sgtatham/bugs-cn.html)、[《如何向开源项目提交无法解答的问题》](https://zhuanlan.zhihu.com/p/25795393)。 ### 联系我 ![个人微信](http://www.itwanger.com/assets/images/wangsan.png) ### 公众号 如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号。 《程序员软实力修炼手册》PDF 版本,在公众号 **[沉默王二](#公众号)** 后台回复“**软实力**”即可获取。 《 Java 程序员进阶修炼手册》PDF 版本,在公众号 **[沉默王二](#公众号)** 后台回复“** Java**”即可获取。 ![我的公众号](http://www.itwanger.com/assets/images/cmower_7.png)