![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础源码查看
Automannnn
愿你初心不改,归来仍是少年。
展开
-
java源码解读之集合框架
最近一段时间再补基础,因此看了一些源码。 其中自然是要看数据结构的,因此看了看java的集合框架,跟着网上的大牛。虽然大牛们已经写的十分的完善了,但是实践出真知,自己还是跟着大牛的思路去看看了看源码,原计划2天的空余时间看完的,没想到尽管只是看,没有深入理解都已经花了接近一周的时间。 为了方便自己理解记忆,特此开贴记录一下。 先上图吧。 没想到画这东...原创 2018-03-29 11:13:00 · 539 阅读 · 1 评论 -
java源码解析之string(一)
字符串,以前一直理解的重点在于字符,最近才发现串也是一种基本的数据结构,它是线性关系的一种特殊情况。 由于种种原因,开始了string的源码查看。 它的一些依赖关系。 这里比较重要的:字符串是一个常量,一旦被创建便不可被修改。 可以知道,字符串于其它的类型进行+操作时,是进行的append()操作,由StringBuilder或...原创 2018-05-15 00:14:43 · 742 阅读 · 1 评论 -
java源码解析之jvm(二)
之前介绍了jvm中对于内存的管理,类的加载,执行等等。 这里想大致的对java语言所提供的功能进行一个概览。 可以知道,java.lang包是java语言的基础语法包,算是一个相对底层的一个内容了吧,类似于c语言中的头文件,或者库文件。 其中的包或者类代表了一些java世界的基本语法等。 具体内容就不再敲了,等以后想起来了再回头看看吧。 ...原创 2018-05-16 00:14:14 · 277 阅读 · 0 评论 -
java源码解析之String(二)
关于String,上一个部分看了它大致的一个构成,以及这个类的一些基本的方法等。 这一篇主要是看看它的一个扩展,StringBuffer和StringBuilder。 收获是知道了两个关键的方法,append和 insert。 它继承了一个抽象基类。 因此去看看它的抽象类。append方法的实现,貌似只只做了一个扩容动作。 它的一个组成...原创 2018-05-16 00:46:48 · 436 阅读 · 0 评论 -
java源码解析之Regex正则(一)
本章介绍Regex正则相关的知识。 曾几何时,我认为自己接触的所有的知识中最高级的为正则,原因在于它提供了一种模式匹配,并且认为它是很低层的操作。 并且了解到编译器或者汇编器也大量运用了正则,但是这次的了解后或许会更新一些自己的观点。 java中的正则接触的较多的有两个:Pattern和Matcher。 中文意思应该是 模式 和 匹配器。 事实证明...原创 2018-05-17 00:05:42 · 1665 阅读 · 0 评论 -
java源码解析之Regex正则(二)
上一篇介绍了Pattern的相关内容。 这一章来处理Matcher的相关内容。 以上是Matcher的内容,有一点名不符其实的感觉。 因为它并非主要完成匹配的操作。 接下来看下它的一个关键的依赖接口:MatchResult 以上便是正则的相关内容。 感觉很水但是没办法,一方面水平有限,另一方面也没有充足的时...原创 2018-05-17 00:18:34 · 758 阅读 · 0 评论 -
java源码解析之String&Regex类依赖补充
今天看笔记的时候,意外发现当时还是简单的画了图的,因此这里补一下。 懒得去修改了。 现实String的: 接着是Regex的ok,早安!原创 2018-05-17 08:32:45 · 303 阅读 · 0 评论 -
java源码解析之 注解annotation
今天记录一下注解相关的内容,算是比较轻松的一次。 注解是位于java的扩展包中,官方的提供的注解不是很多,但是扩展的注解还是挺多的,况且注解也已经成为了java语言的基本语法的一部分。在java.lang包有关于元注解的内容。 不过还是先来看看这边的内容 上面是扩展包中generate注解的内容。 以上是扩展包中resource注...原创 2018-05-18 00:06:34 · 849 阅读 · 0 评论 -
java源码解析之awt(一)
这次记录的是图形编程awt,本来应该是放到后面看的,但是由于后面的学习的对这块的知识要求的比较迫切。怕以后没有机会看便提前看了一下,事实上也不可能全部看完,因为 内容实在是太多,因此还是按照惯例,以时间线的方式进行笔记的记录。。 在awt包下中的类下面稍加分析,应该能发现哪个是老大,嘿嘿,就是Component。 上两张图是它的一些依赖关系。。 ...原创 2018-05-24 23:58:39 · 1510 阅读 · 0 评论 -
java源码解析之awt(二)
由于作息时间的调整,导致接近一周没有记过笔记了。。 再不拯救下,怕习惯都要被改变了。。 原本是打算将所有要记得堆到一起,但是最近发现害怕堆得太多,导致最后就懒得写了,抓住周末的尾巴将最近的一些笔记记一下。。 这里接着将原来awt没写的内容补上。。 时间过去的比较久了,导致思路有些跟不上。。 因此只能凭感觉记录。。 上一篇说要将矢量图的实现看一看来着。。 ...原创 2018-06-03 14:39:18 · 329 阅读 · 0 评论 -
java源码解析之awt(三)
这一篇接着写关于awt的内容,是关于调试的过程。。 调试了好几次,在这里的时候确认猜测,那就是关于渲染的线程和事件监听的线程不是java或者说用户去开的,而是jvm开的。。 这里也是自己长久以来的一个疑惑,再知乎上上面找到一个十分满意的回答: 算是对自己基础知识匮乏的一点...原创 2018-06-03 14:51:59 · 411 阅读 · 0 评论 -
java源码解析之awt(四)
根据内容的多少,先记录当时记录的一些些swing的内容。 前面就是一个关于swing的一个小练习的demo.. 之后记录一些当时学习的一个关于设计模式的一些内容。 。 适配器模式: 以上是关于适配器内容的一些愚见。。 但是后面的实践中意识到,某种设计模式并不会一种特定的模式来实现,实现的方式是多样...原创 2018-06-03 15:09:24 · 441 阅读 · 0 评论 -
java源码解析之jdbc
长期以来,一直被什么 hibernate啦,jdo啦,mybatis啦,jdbc啦,mysql-connector.jar搞得晕头转向。。 很是难受。。 因此特别去看了看jdk的jdbc标准。。 通过搜索资料也不难知道,它是Javaee的十三大标准之一。。 之所以说它是一个标准是有原因的,请看源码。。 它的外观基本就是这个样子。。 由于当时使用Linux...原创 2018-06-03 15:46:46 · 6135 阅读 · 1 评论 -
java源码解析之jvm
由于种种原因导致计划变更,中途回了一下老家,感慨也是颇多。 不得不深夜加班,以期完成既定计划。 随着学习的推进,越发感觉到基础的重要性。 特地查阅了下Jvm的运行原理。 网上的教程数不胜数。 而且其作为一门成熟的技术发展完善了十余年,本身也具有相当的复杂度。 由于之前的学习经历,因此我选择在外网上面进行相关知识的学习。 不得不说,质量还是不...原创 2018-05-14 23:57:04 · 851 阅读 · 0 评论 -
java源码解析之charset(二)
上一篇写了charset的一些外围,这一篇查看编码相关的一些实现: 、 首先看的是七位的ascii编码: 可以看到它的实现是就是语言机制所提供的强转,好桑心。 一直以为很神秘。 编码与解码都是这种款式: 强转! 需要注意的就是有时候我们读取文件的时候,出现一个带颜色的问号的来源就在于此。 因为它的逻辑就是这样。 接下来看基于...原创 2018-05-10 11:27:53 · 710 阅读 · 0 评论 -
java源码之 io 流源码解读(一)
刚刚喝了一波毒鸡汤,其中印象最深的就是这两个: 没有人能够让你放弃梦想,自己想想就放弃了。 找对象的时候不能光看对方的外表。。。。 还要看看自己的外表 哈哈哈~~ 吸收了这一大波精气之后,我感觉我的精力值已经足够支撑我将这篇文章完成,嘿嘿 走你...\ 花了一周的零碎时间,整理了一下相关的类关系,虽然网上有...原创 2018-04-04 22:38:58 · 3799 阅读 · 4 评论 -
java源码之 io 流源码解读(三)
前面两篇已经基本介绍了基本输入流和包装输入流。 因此接下来的路要好走的多。 因为它们都是对称的,输入流的很多的读方法对应的是相应的写方法。还有就是发现自己原来的一个误区,就是flushable并不针对输入流开放,输入流中的与这个方法类似的为fill() 方法。 嗯还是按照时间线来记录: 就基本输出流而言: 第一个开刀的还是 Fil...原创 2018-04-05 10:35:55 · 575 阅读 · 0 评论 -
java源码剖析之socket(一)
不知不觉又到了新的的一周,时间在悄悄的溜走,所辛的是自己也在缓慢的推进着自己的学习计划。 这周按照计划查看的是socket系列的相关类,尽管这之前就已经看过一遍,不过当时是越看越蒙,完全找不到北。 随着自己能力的提升,回过头来又去看一遍,还是看不懂其中的精髓,不过至少比起第一遍已经要好了很多很多。 按照惯例,先上图: 从图中可以看出socket...原创 2018-04-13 10:31:37 · 4096 阅读 · 1 评论 -
java源码剖析之socket(二)
上午讲到了Inet4Address,这里就继续接着写吧! Inet4Address里面我认为的几个重要的函数都已经看过了,之后就该看看Inet6Address类了。 但是它很多都是跟Inet4Address类似的。而且本身也比较复杂,就没怎么细看了。 只看了一个方法: 这里也可以看到为什么我们平时Ipv6多用 " :"进行一个分隔。 但是因果关系来说不是...原创 2018-04-13 16:24:45 · 1142 阅读 · 4 评论 -
java源码剖析之socket(三)
前面已经写了两篇关于socket的相关文章,基本已经把所有涉及到的我认为比较重要的内容给阐述完了。 因此这一篇主要是调试的结果,心得等。同时附带的有一个tcp/ip协议的实践的操作,考虑了一下还是另开一篇,逻辑上好区分一点同时也方便自己以后复习。接下来开始调试结果: 首先提出的就是第一篇提到的闭环问题,至今未解决。 等以后有时间了再认真专研一下。 ...原创 2018-04-13 16:51:17 · 649 阅读 · 0 评论 -
java源码剖析之socket(四)---结合tcp调试运行
开始之前,贴上大牛的地址,很多的知识都来自于他的博客,非常感谢这种无私奉献,乐于分享的大牛: https://www.cnblogs.com/rocomp/p/4790340.html 好,开始自己的表演: 先说说实验的环境吧: 采用了java的socket进行tcp模拟练习 为了...原创 2018-04-13 21:38:19 · 1135 阅读 · 0 评论 -
java源码解析之thread(一)
又一周过去,先来交代一下最近发生的事情: 本周有只上了两天课,周三相当于没课。 周四周五加周末两天放假,因为学校弄运动会。 时间安排上,周三相当于浪费,状态不行,时间太零碎。 周四周五算慢慢地前行。 但是周五下午以及晚上状态不是很好,心情出了点问题,有点消极。 由此引发的是:周六学习了半天,娱乐了半天,晚上狂看电影。 总体来看,不是很满意,但是勉强能接受。...原创 2018-04-22 16:57:19 · 384 阅读 · 0 评论 -
java源码解析之Thread(二)
题接上文。 到这里,我们已经将thread类主要的内容看了。 回忆一下,可以知道我们好似一直都用到一个线程组的概念:ThreadGroup。 那就去简单看一下吧。 一看官方权威说明,叼炸天啊哈哈。之前的很多认为比较重要的翻译都写在了图上。 这里为了加深记忆,就在敲一遍。 一个线程组可以包含其它线程组,它们共同构成一颗树,每个线程组包括初始线程组都会有一个父节点。...原创 2018-04-22 18:58:27 · 322 阅读 · 0 评论 -
java源码解析之反射代理(一)
处于种种原因,本应该早就写了的这篇文章,却一直u通道现在。 废话不多说,开始正文。 反射的源码体系如下(由于水平有限,精力有限,因此不十分准确): 从查看源码所接触的类来说,这个内容不算多。 先来看一下其官方所给出的该包下的类: 另外,其逻辑相对而言也不是太难。 从查看的时间线进行解读吧。 既然是反射,那么首当其冲的便是Refl...原创 2018-04-29 23:23:22 · 721 阅读 · 0 评论 -
java源码解析之反射(二)
今天心情很沉重,原因种种便不细说。 按照计划今天要记录关于代理的源码。先上依赖的结构图: 类不是很多,按查看的时间线来进行记述。 官方说明,配合有道蹩脚的翻译。。 解释很多,再读的时候发现已经有些蒙蔽。大致是描述 代理 的结构构成。 执行的相关参数。 InvocationHandler作为一个抽象,充当该类中的关键实现...原创 2018-04-30 22:42:33 · 355 阅读 · 0 评论 -
java源码解析之反射(三)
接着便是开始调试该体系。 大致过了一遍代码,发现自己懵懵懂懂,恍恍惚惚。 没有思绪,因此适时的调试一下十分有必要。 根据原来的联系小例子进行断点调试。 对于反射中所涉及的 类 和 对象 ,进行了一个查看。 需要知道,有些时候可以通过基本规则实现,有些时候可以通过方法实现类。 就像1+1=2,水往低处流,int不用声明一样,有些东西是跟随它整个生态共存的。...原创 2018-04-30 23:24:17 · 1159 阅读 · 1 评论 -
java源码解析之charset(一)
虽然学习的路很波折,但是仍然要哭着进步。。。 其实总体来说学习不是一件枯燥的事,尤其是当学习自己所感兴趣的东西的时候,但是难免要忍受一些在享乐时所不用理会的煎熬。。 甚至有时候这些煎熬是十分痛苦的。 所以我在心中有一个奇怪的想法:那就是 哭着进步! 输出一番心情后,接着进入正题。 按照计划,本周应该查看的是charset的源码。 先上图: 依...原创 2018-05-06 09:45:01 · 1250 阅读 · 1 评论 -
java源码解读之基本数据类型
啊哈,很久没写笔记了。。。 一方面自己在调整,(或者说放纵,反弹)。 另一方面,算是革命道路的一个比较大的调整。 其实完全可以继续坚持下去的,击溃(这个词不好,但是比较形象)我的并不是外部,而是内部。。 或者说人的社会性把。。 调整了大概有半个月,不得不说有些堕落。。但是生活就是不完美的。我暂且这样安慰自己把。 今天是补半个月前的一篇笔记,是关于java的基本数...原创 2018-06-17 20:30:28 · 1019 阅读 · 0 评论