路漫漫其修远兮,吾将上下而求索

简介: 路漫漫其修远兮,吾将上下而求索原文链接:https://copyfuture.com/blogs-details/20190904170623796lx5xqkpl3znvh3z 挺久没写文章了,几个月前跳了个槽,把很多计划都有点打乱了。

路漫漫其修远兮,吾将上下而求索

原文链接:
https://copyfuture.com/blogs-details/20190904170623796lx5xqkpl3znvh3z

挺久没写文章了,几个月前跳了个槽,把很多计划都有点打乱了。
天算不如人算,是该继续一些系统的前行和进步了。

由于本人最近在写书(是的,从去年开始,现在还没写完,想过放弃,但更想坚持下去,这辈子没坚持过什么,但我想把这件事先坚持下去),写公众号文章的时间不会有很多,所以不定时更新是肯定的,我尽量确保以后一个能够产出至少一篇以上的文章。

当然,我如果遇到好的文章,也会进行分享给大家。

工作也有几年了,也有过迷茫,不知道路在何方,不知道技术的前方等待我的是什么,技术图谱不知道看了多少遍,几年前看到的技术和现在看到的Java技术图谱,壮大了何止一倍。一般人看到很容易就放弃了,

在这里推荐一篇github的后端架构师技术图谱:
https://github.com/xingshaocheng/architect-awesome

现在不讲图谱,我们从源码开始。后续会慢慢对图谱中的知识点进行讲解。

暂时聊聊第一阶段的规划
第一阶段:
JDK源码的分析(看源码太累?每篇每次分析一个类不过分吧,我们一起成长,5分钟之内可以让你看完的那种,类的关联性很强的那种,将会在下篇进行继续讲解)

应该会从JDK的工具包开始,例如List、Map等;
然后是lang包下的String、StringBuffer、StringBuilder、Integer、Thread等;
io包下的类肯定也是不能少的,FileReader、InputStream等;
当然,util下的一些类也不能漏掉了,ConcurrentMap、Lock等;

读这些源码时,只需要读懂一些核心类即可,比如和ArrayList类似的二三十个类,对于每一个类,也不一定要每个方法都读懂。像String有些方法已经到虚拟机层了(native方法),如hashCode方法。

另外,希望能从源码中读到作者的思想,程序员大部分开发中都是些增删查改的业务逻辑。比如一个需求 我们用了几十行代码写了。感觉没问题,但是别人可能用几行就搞定了,要学习别人的思路。
还有设计模式和优雅,抛开公司业务代码(还记得某个人说了一句话:屎山上堆屎),在JDK源码中,以及很多的开源框架中,代码都是比较优雅的,很简洁。可以学习源码的代码写法。

经常看点源码,相信你面试可以走出那种六亲不认的步伐。

当然,你不需要直接去看源码,后面公众号的文章,我会与你们一块阅读源码。

当然,也许源码中会出现很多其他知识点的耦合,那我会在后面的文章中,进行一一讲解,尽量不放过知识盲点,当然,太底层的肯定是会跳过啦,比如native方法的实现等等

推荐一个阅读源码的步骤:

  1. 先阅读构造方法、注释;将注释翻译成自己理解的文字
  2. 看不懂暂时做个标记,后面你还会遇到类似的,看多了就懂了
  3. 边看边写自己理解的注释,这样不会那么无趣
  4. 看类的方法的实现,看不懂某个部分就先看下基础知识,实在看不懂回到第二步
  5. 最后理解作者的思想,为什么会这么去实现

我会新建一个github仓库,存储jdk1.8的源码,在后面的阅读源码过程中,每次都会将解析过的类进行标注,我的所有理解,以及注释都会在里面。

期待与您共同进步!

第二阶段,第一阶段写完再说咯,我也挺懒的~
当然,每次文章都是源码会很无趣(我会控制在5-10分钟内能阅读完的那种,可惜我不会画图,不然图解源码倒是个不错的选择),我尽量在每篇文章的次文章进行发表有趣的事情。

吾非大神,与汝俱进

未关注公众号的可以来波关注,后续公众号直接推送JDK文章:

程序编程之旅

目录
相关文章
|
PHP Windows
thinkphp6定时任务,tp6定时任务,thinkphp定时任务,php定时任务,php定时器
thinkphp6定时任务,tp6定时任务,thinkphp定时任务,php定时任务,php定时器
316 0
|
网络安全 数据安全/隐私保护
|
缓存 大数据
Winform 系统调优
  小白鼠条件: 以常见的树形结构树为例: 有两张结构相同的表table1(1w数据),table2 (2w数据),需要对比数据差异。 表结构如下:       id , parent_id, col1, col2, col3   常规做法是:            常规思想:        循环table1, 一、充分利用缓存效果; 操作系统的高速缓存、磁盘缓存等等,都是利用混存技术来提高系统响应速度。
595 0
|
4天前
|
弹性计算 安全 API
访问控制(RAM)|云上安全使用AccessKey的最佳实践
集中管控AK/SK的生命周期,可以极大降低AK/SK管理和使用成本,同时通过加密和轮转的方式,保证AK/SK的安全使用,本次分享为您介绍产品原理,以及具体的使用步骤。
101781 0
|
4天前
|
SQL 关系型数据库 分布式数据库
Doodle Jump — 使用Flutter&Flame开发游戏真不错!
用Flutter&Flame开发游戏是一种什么体验?最近网上冲浪的时候,我偶然发现了一个国外的游戏网站,类似于国内的4399。在浏览时,我遇到了一款经典的小游戏:Doodle Jump...
|
11天前
|
弹性计算 运维 安全
访问控制(RAM)|云上程序使用临时凭证的最佳实践
STS临时访问凭证是阿里云提供的一种临时访问权限管理服务,通过STS获取可以自定义时效和访问权限的临时身份凭证,减少长期访问密钥(AccessKey)泄露的风险。本文将为您介绍产品原理,以及具体的使用步骤。
151032 4
|
10天前
|
数据采集 存储 运维
提升团队工程交付能力,从“看见”工程活动和研发模式开始
本文从统一工程交付的概念模型开始,介绍了如何将应用交付的模式显式地定义出来,并通过工具平台落地。
119990 57
|
10天前
|
监控 负载均衡 Java
深入探究Java微服务架构:Spring Cloud概论
**摘要:** 本文深入探讨了Java微服务架构中的Spring Cloud,解释了微服务架构如何解决传统单体架构的局限性,如松耦合、独立部署、可伸缩性和容错性。Spring Cloud作为一个基于Spring Boot的开源框架,提供了服务注册与发现、负载均衡、断路器、配置中心、API网关等组件,简化了微服务的开发、部署和管理。文章详细介绍了Spring Cloud的核心模块,如Eureka、Ribbon、Hystrix、Config、Zuul和Sleuth,并通过一个电商微服务系统的实战案例展示了如何使用Spring Cloud构建微服务应用。
103499 8
|
11天前
|
人工智能 Serverless 对象存储
让你的文档从静态展示到一键部署可操作验证
通过函数计算的能力让阿里云的文档从静态展示升级为动态可操作验证,用户在文档中单击一键部署可快速完成代码的部署及测试。这一改变已在函数计算的活动沙龙中得到用户的认可。
120818 214