java基础-前言
很讽刺,十年后又想起来通刷一次java基础。
一路走来,3个月培训机构培训,然后进入IT行业。
之后靠着大量的笔记,散点记录,进行工作交付。
从JSP-OAF-ADF-JALOR-SSM框架,从java到python,go,以及边边角角的vue,shell,lua,powershell。
从简单的OA系统,到插件自动化,全网感知功能开发设计。
从最初的oracle,到后来的mysql,kafka,redis,es,clickhouse,pgsql,ddb等使用。
好像掌握了很多技术,好像毫无技术。
为什么?
因为至今没有改变一个现实,API调用者。
一切是那么的肤浅。
使用redis满足一切业务需要又如何,更多问题都是通过扩容,提高参数配置解决。
使用mysql往往通过sql优化解决性能。
使用es也只是简单的通过AI提供的语法结构实现增删改查。
使用go语言,也只是为了完成一些agent开发。
是不是有更优解,有更节省能耗的姿势。
不晓得!!!
因为很少时候去解决ABI层面的问题。
就像数学,好像大家都会,但是天差地别。
x2+1=0至少大部分人是懵逼的,甚至会有人说是错误的。
当遇到了计算机原理,编译原理,当看到我们遇到那么多语言,中间件,windows系列也好,linux系列也好,原来本质上都是C系列。
原来计算机领域的技术的最低标准是C的精通程度,汇编的精通程度,操作系统编程的精通程度,编译原理的精通程度,和算法的精通程度。
可惜做了十年的开发,我们心里比较慰藉的还是我们能使用个中框架,什么JPA,mybatis,mybatisplus,jdbc,实现各种功能。
看起来很牛逼,一个持久层框架我们就用了好多套框架。
实际上一旦遇到问题都是各种百度,google,如果这个问题出现频率太低,实在不太好找到答案,才去读源码。
- 因为英文不好的障碍
- 因为惰性,不想面对源码的繁杂。
源码和我们写的业务代码无论从结构上还是从设计思路上往往有着天壤之别。
因为一个工具的源码,尤其是java系列的,一层套一层,我们实现可能一个方法,源码可能会有上百个类实现一个功能。
并且采用各种注册,或者工厂,代理等等多种设计模式,找不到类关系,短时间内调用链都很难找到。
因为源码要考虑兼容性,安全性,适配性,健壮性和扩展性。
就像一个@KafkaLinstner ,一个简单注解就实现了kafka监听,但是为什么生产会生成3000W+的对象?
碎片的知识往往没有太大价值,系统的知识体系才能让你厚积薄发。
我知道直到今天一切都晚了。
也后悔当初为什么没有扎实的去学好java基础,而是用什么只看什么。
今天重新出发,只是为了填补一点遗憾,虽然这个行业的生命周期到了,再看Java基础已没多大价值,权当一次弥补吧。