您现在的位置是:亿华云 > 应用开发

刷完三个Java教程后不再犹豫

亿华云2025-10-04 23:04:40【应用开发】4人已围观

简介www.ydisp.cn/oss/202207/14/04bd4963376565075be127cc8eacad5c7facea.png" alt="图片" title="图片" style="wi

www.ydisp.cn/oss/202207/14/04bd4963376565075be127cc8eacad5c7facea.png" alt="图片" title="图片" style="width: 872px; visibility: visible; height: 423px;" data-type="block">

我花了2周时间,刷完像看小说一样,程后迫不及待的不再把这个教程一口气看完了。最震撼的犹豫,反复品味的刷完一个认知点是,Java8大数据类型:byte、程后short、不再int、犹豫long、刷完float、程后double、不再boolean、犹豫char。刷完它们都是程后「小写」。

Java中有严格的不再大小写约定,大写字母开头的都是类名,基本类型都有对应的包装类,封装了更多对基本类型的方法,如Integer。

还有2个特殊的小写关键字:void和array(数组)。而大写的String其实是个类,云服务器提供商而不是基本类型。

联想到Python的基本类型:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典),一下就明白为啥Python是“万物皆对象”这句话的含义了。Python没有Java的「元类型」,Python的基本类型就已经是「类维度」的了。所以Python的变量都是指向的类的对象。Python中出现的int()、str()等小写的其实都是「函数」而已,不是基本类型。

语言果然是相通的!亿华云打通了这一点,很多之前卡住的概念顺理成章的就融会贯通了。对象、类、接口、包、继承、集合、泛化、Lambda表达式、注解、异常等概念很轻松就吃下来了。最难理解的还是Stream流那一块,以后在实践中再慢慢掌握吧。

另外一个感触很深的点是「Java的包管理机制」。它的命名是公司域名倒置如com.jd + 一级目录 + 二级目录 + 三级目录 + 以此类推​的形式。Java提供了几个默认的包,比如java.lang,Java本身的很多类都在这个包里面,隐式已经import了,不需要再单独import。云南idc服务商跟Python不一样的是,Python每个文件都是一个module,引用其他文件里面的对象必须import;而Java每个文件是一个class,文件夹是package,同一个package下面的文件,想引用其他文件里面的类不需要import。并且,Java只有相同层级的才是一个包,父文件夹和子文件夹不是同一个包,也就是说,子文件夹的class想引用父文件夹的class,还是需要import的。

理解了这一层,再看公司后端的代码,就要清晰很多了。所谓的分层设计,都要用到Java的包管理机制。

SpringBoot官方教程​

刷完Java官方教程后,我又马不停蹄的刷了SpringBoot官方教程。说实话体验很不好,我印象最深刻的就是spring-boot-start​开头的是SpringBoot官方提供的封装好的库,而以它结尾的是三方自定义的库。这在看pom.xml的时候能有眉目一点。后面的知识点很多都是各种配置,加上全英文,理解难度很大。不过还是囫囵吞枣式的完整刷了一遍,说不定万一以后想到了,有点印象,能帮助检索呢。

PS:后来明白了,SpringBoot本身就是约定大于配置,帮助简化开发的。真正要学习的框架是「Spring」。

Java全栈知识体系​

这不是官方教程了,是大佬整理的博客。建议大家重点看下Spring栏目下的内容。

我刷完了Spring、框架|中间件、架构3个栏目下的全部内容,大部分是略过,重点看了Spring演进过程、缓存、限流、降级和熔断、负载均衡几块内容。有三大收获:

「一、Spring是由bean构成的。」 Spring中的bean相当于功能组件,我们通过组装这些bean来实现一个系统应用。IOC容器就是来存放这些bean的容器,IOC是控制反转,它的意思是,我们不需要自己用new来创建bean,而是由Spring来帮我们创建bean。把创建后的bean注入到程序代码里面,就叫做依赖注入,有3种方式:XML配置、代码配置、注解。理解到这个底层逻辑后,再往上看就能看懂设计理念了。Spring的演进过程是:J2EE (Java to 企业版) → Spring (SpringMVC是遵循MVC规范的Web开发框架) → SpringBoot (简化Spring开发)。

「二、接触Java才能拓展视野。」 在看架构栏目的时候,好多概念是在学习Python时无法体会的,比如缓存、限流、降级和熔断、负载均衡、分布式系统、全局唯一ID、数据库Sharding等。这些都是很多公司的后端技术,了解这些技术,有助于进行更深层次的测试。

「三、要善于画图。」 文章包含了很多图,流程图,结构图,时序图,架构图,各种图。也有淘宝、京东、闲鱼、美团等公司的案例分享文章,也是各种图。这说明在汇报时,图是最有表现力的一种形式,这是社会共识。我在快速浏览过程中,也是会优先看图,再看字。画图、会写PPT是很重要的一项软技能。

回想起左耳朵耗子的那段话:“离开Java的世界,基本上离开了做架构的世界 注:我以为用Java适合做架构这事应该是常识了,但是评论中有很多人非常反对这个事。那我解释一下吧:首先,小型的项目用什么语言都行,爱用什么用什么。但是,真正的企业级架构就不一样了,其中并不仅仅只是RESTful API或RPC,还有各种配套设施和控制系统,比如:应用网关,服务发现、配置中心、健康检查、服务监控、服务治理(熔断、限流、幂等、重试、隔离、事务补偿)、Tracing监控、SOA/ESB、CQRS、EDA……这些东西在非Java的技术栈体系内,很难看到全貌,Java强大的生态环境,就是让你把注意力放到更高层次的架构和业务上来的。(千万不要觉得,整几个服务RPC一下,加个缓存,加个队列,就能叫架构,那只是系统集成罢了)”。

「以【努力成为一名测试架构师】为目标来看,精通Java是必经之路了。」

参考资料:

Java官方教程 https://dev.java/learn/

SpringBoot官方教程 https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#getting-started

Java全栈知识体系 https://pdai.tech/

别让自己“墙”了自己 https://coolshell.cn/articles/20276.html

很赞哦!(47927)