1.路漫漫其修远兮 面试中经常被问到有没有看过一些框架的源码,要说看过么,看了不多,要说没看过么,没有系统的看完过,都是用到了去看;

2.如果想走技术这条路,还是好好看看吧,废话不多说,我这个已经开发好几年的“菜鸟”要开始自己的源码阅读之路了,本人计划工作之余jdk、spring、dubbo、redis等相关源码都阅读一遍。程序员不应该为了开发而开发,也不应该原地踏步。

3.阅读之路开启,记录自己的点点滴滴,写的不到位的地方还请大家指出来,虚心接受批评。

一、结构目录

我们可以看到,jdk源码分为五个部分(java五指山),com.sun 、 java、 javax、 launcher、 org

1.com.sun.*  sun的hotspot虚拟机中java.* 和javax.*的实现类,有兴趣的可以了解下hotsopt,不是源码主要内容,不同版本会不同

2.javax.*  标准扩展库

3. launcher.*   jre中启动程序入口main()的类,有.c 和.h 文件构成,熟悉jni编程的朋友应该比较清楚

4. org.*  由企业或者个人提供的类,有w3c提供了的一些接口

5. java.*  java SE的核心部分,标准库,也是我们学习源码的主要内容

二、java*  标准库目录介绍(14部分)

1. applet

applet是一个不独立运行的小程序,而是通过嵌入到另一个应用程序中,其中Applet是任何applet的 超类,它将嵌入网页,Applet类在applet极其环境中提供标准的接口。所以,要想了解applet要干什么,必须先看它的接口,接口决定他的主要功能。Applet主要有一些文档、音频、图片等接口。该部分从JDK1.0就开始存在。

2. awt

Abstract Window ToolKit(抽象窗口工具包)提供图形化界面,比如按钮,图片,颜色控制,样式等工具包。

3. beans

核心在于封装了java 的反射,提供bean的各种操作,基于java bean组件架构。

4. io

提供对数据流的输出、输出、读写。通过数据流、序列化和文件系统提供系统的输入和输出。

5. lang

包含基本数据类型、包装类、运算、异常类等,以及根类Object,提供常用的方法。

6. math

提供执行任意精度整数算术(BigInteger 还提供模运算,GCD计算,素数测试,素数生成,位操作以及一些其他杂项操作)和任意精度十进制算术(BigDecimal 提供适用于货币计算等的任意精度带符号的十进制数字)的类。

7. net

网络通信,比如http、cookie、socket等的实现。

8. nio

简称java new io 定义了缓冲区,这是数据的容器,并提供其他NIO包的概述。

9. rmi

Java Remote Method Invocation (java远程方法调用),使得客户机上的程序能够调用远程服务的对象。

10. security

为安全框架提供类和接口。

11. sql

数据库相关,提供的API来访问和处理的数据存储在数据源(通常是一个关系数据库)。

12. text

提供用于处理独立于自然语言的方式处理文本、日期、数字和消息的类和接口。

13. time

日期、时间、时刻主要的API,和持续时间。

14. util

包含集合框架、遗留的集合类、并发包、事件模型、日期和时间的设施、国际化和各种实用工具类(一个字符串标记,一个随机数发生器,和一位阵列)。

就这些包大概的内容就查看了很久,源码如果详细看的话还是难度挺大的,呜呜~ ,加油!

一、JDK 1.8源码分析-源码结构介绍篇相关推荐

  1. Flink源码分析 - 源码构建

    本篇文章首发于头条号Flink源码分析 - 源码构建,欢迎关注我的头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_tech)获取更多干货,也欢迎关注我的C ...

  2. Mybatis源码分析第一天------Mybatis实用篇

    Mybatis源码分析第一天------Mybatis实用篇 一切最基本的操作就是参考官方文档:https://mybatis.org/mybatis-3/zh/configuration.html ...

  3. 【投屏】Scrcpy源码分析四(最终章 - Server篇)

    Scrcpy源码分析系列 [投屏]Scrcpy源码分析一(编译篇) [投屏]Scrcpy源码分析二(Client篇-连接阶段) [投屏]Scrcpy源码分析三(Client篇-投屏阶段) [投屏]Sc ...

  4. 一步步实现windows版ijkplayer系列文章之三——Ijkplayer播放器源码分析之音视频输出——音频篇

    https://www.cnblogs.com/harlanc/p/9693983.html 目录 OpenSL ES & AudioTrack 源码分析 创建播放器音频输出对象 配置并创建音 ...

  5. v18.02 鸿蒙内核源码分析(源码结构) | 内核文件各自含义 | 百篇博客分析HarmonyOS源码

    子曰:"富而可求也,虽执鞭之士,吾亦为之.如不可求,从吾所好." <论语>:述而篇 百篇博客系列篇.本篇为: v18.xx 鸿蒙内核源码分析(源码结构篇) | 内核文件 ...

  6. 一步步实现windows版ijkplayer系列文章之二——Ijkplayer播放器源码分析之音视频输出——视频篇...

    一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkpl ...

  7. zxing源码分析——QR码部分

    zxing源码分析--QR码部分 2013-07-10 17:16:03|  分类: 默认分类 |  标签: |字号大中小 订阅     Java代码结构: zxing源码的结构还是比较清晰的,有关Q ...

  8. Google Mock(Gmock)简单使用和源码分析——源码分析

    源码分析 通过<Google Mock(Gmock)简单使用和源码分析--简单使用>中的例子,我们发现被mock的相关方法在mock类中已经被重新实现了,否则它们也不会按照我们的期待的行为 ...

  9. Redis源码分析:基础概念介绍与启动概述

    Redis源码分析 基于Redis-5.0.4版本,进行基础的源码分析,主要就是分析一些平常使用过程中的内容.仅作为相关内容的学习记录,有关Redis源码学习阅读比较广泛的便是<Redis设计与 ...

  10. nginx源码分析—内存池结构ngx_pool_t及内存管理

    本博客( http://blog.csdn.net/livelylittlefish)贴出作者(阿波)相关研究.学习内容所做的笔记,欢迎广大朋友指正! Content 0.序 1.内存池结构 1.1 ...

最新文章

  1. golang 库 go-restful 中 https basic authentication 基础认证实例
  2. HTML中label的两种使用方法
  3. Mongodb~Linux环境下的部署~服务的部署与自动化
  4. for循环一定要指定键么 vue_第 2 篇:上手 Vue 展示 todo 列表
  5. 阿里云centos mysql_阿里云ECS服务器CentOS7上安装MySql服务-阿里云开发者社区
  6. 一行上自动控制数据长度,并换行
  7. c语言a 寻路算法,JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
  8. mysql 5.7 多条件 in_5分钟了解MySQL5.7对in用法有什么黑科技
  9. Jquery实现搜索框提示功能
  10. Unomi 成为 Apache 软件基金会顶级项目
  11. 【博主推荐】html好看的拼图验证码(附源码)
  12. 在线OPML压缩工具
  13. 在线ps,修改证件照背景色
  14. UI设计初学者教程:色彩基础知识
  15. 程序员专用的简历神器,让你制作简历更简单,方便,专业
  16. Mac运行node.js连接oracle数据库报DPI-1047: Cannot locate a 64-bit Oracle Client library: “dlopen(libclntsh.dy
  17. 怎么屏蔽还有照片_【文末福利】在朋友圈发男神照片忘了屏蔽父母,麻麻的回应亮了…...
  18. matlab自动识别技术,基于Matlab的车牌自动识别技术研究与实现
  19. python+matplotlib对柿子图的彩色和灰色直方图统计
  20. 求生之路2服务器模式修改参数,求生之路2参数修改控制台命令_求生之路2参数修改控制台命令方法_牛游戏网...

热门文章

  1. 使用ASP和ASP.NET来创建文件夹和文件。
  2. GAU-α:尝鲜体验快好省的下一代Attention
  3. 51单片机小知识总结
  4. php生成个性签名,怎么巧妙添加个性签名
  5. php 兼容火狐,HTML_总结CSS中火狐浏览器与IE浏览器的兼容代码,如何让你写的代码更兼容火狐 - phpStudy...
  6. 安卓手机驱动安装不上怎么办
  7. 常用的博客社区(续)
  8. 【AT91SAM7X-EK开发板】系统时钟的配置
  9. java mybatis的SpringBoot博客论坛管理系统
  10. 网新中英企业网站管理系统 v9.9