Java基础(持续更新ing… …)
Java概述(源代码、编译Java程序、运行机制、环境配置、Maven)
Java的基本语法(语法格式、注释、关键字)
Java中的变量与常量(变量定义、变量数据类型、常量、变量的作用域)
Java中的运算符(比较、逻辑、算术)
选择结构语句、循环结构语句
操作符(算术、自增、自减、关系、逻辑、按位、位移、三元、字符串操作符)
执行控制流程(if-else、for、switch、异常、函数)
类和接口(类、面向对象、抽象类、接口、匿名类)
Java泛型
官方文档
Java Platform Standard Edition 8 Documentation
rt.jar源码学习
jdk中各个包描述
包 | 描述 |
---|---|
java.* | java SE的核心部分,标准库,也就是我们学习源码的主要内容。 |
applet | Java Applet就是用Java语言编写的一些小应用程序,它们可以直接嵌入到网页中,并能够产生特殊的效果。 |
awt | Abstract Window ToolKit(抽象窗口工具包)提供图形化界面,比如按钮、图片、颜色控制、样式等工具包。 |
beans | 核心在于封装了java的反射,提供bean的各种操作,基于java bean组件架构。 |
io | 提供对数据流的输入、输出和读写。通过数据流、序列化和文件系统通过系统的输入和输出。 |
nio | 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。包含Java非阻塞I/O相关的源码,主要是面向缓冲、通道以及选择器的I/O。 |
lang | 是java语言的核心,它提供了java中的基础类。包括基本Object类、Class类、String类、基本类型的包装类、基本的数学类等等最基本的类。 |
java.lang.annotation | 包含Java注解基本元素相关的源码。java.lang.reflect:包含Java反射基本元素相关的代码。 |
math | 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 |
net | 网络通信。比如http/cookie/socket等的实现。 |
rmi | Java Remote Method Invocation(Java远程方法调用),能够让在某个Java虚拟机上的对象调用另一个Java虚拟机中的对象上的方法。 |
security | 为安全框架提供类和接口。 |
sql | 数据库相关,提供的API来访问和处理的数据存储在数据源(通常是一个关系型数据库)。 |
text | 提供用于处理独立于自然语言的方式处理文本、日期、数字和消息的类和接口。 |
time | 包含Java新日期和期间相关的代码,最典型的当属LocalDateTime、DateTimeFormatter等。 |
util | 包含集合框架、遗留的 collections 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等)。集合类、时间处理模式、日期时间工具等各类常用工具包。 |
java.util.function +java.util.stream | 包含Java函数式编程的常见接口和代码。 |
建议学习顺序
java.lang
java.util
java.io
java.nio
java.time
java.math
java.net
java.sql
结束语
此篇文章目前并没有详细的内容信息,以上只是把Java最最基础的知识点做了一下目录。作为一个多年的开发,上面那些知识点早已烂熟于心。同时网上到处都可以检索到相关知识点,本着节约时间的原则。目前并未作出详细的记录和总结,待来日时间充足再细细整理。
本系列下面的几篇文章将会非常有意思。围绕rt.jar包下的源码,分结构有条理的来描述我们熟悉的Java基础,希望此系列的读者朋友们可以看个爽快。鉴于作者水平有限,如遇到错误之处还请指正出来!
一、Java基础
二、Java注解&反射和动态代理 java.lang.annotation & java.lang.reflect
三、Java集合(Collection、List、Set、Map…)java.util
四、Java IO(字节流、字符流、缓存流)、NIO java.io java.nio
五、Java网络编程 java.net
六、JDBC操作数据库 java.sql
七、java.rmi远程方法调用 java.rmi
八、java安全相关类 (java.security包)
九、Java8新特性(函数式编程Lambda表达式和Optional、Stream流…)java.util.Optional