自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

刷完三個Java教程后不再猶豫

開發(fā) 前端
Java中有嚴(yán)格的大小寫約定,大寫字母開頭的都是類名,基本類型都有對應(yīng)的包裝類,封裝了更多對基本類型的方法,如Integer。

成年人最大的底氣是你擁有一技之長,人生才不會被動。從事測試開發(fā)崗位,需要精通一門編程語言,是核心,是大招,是招牌技能。我內(nèi)心一直在Java和Python之間選擇,反復(fù)橫跳。

「在《2020年度總結(jié),似乎沒有什么大的長進(jìn),似乎也得到了一些收獲》中寫到:」 “Python 編程。我并不是沒有編程基礎(chǔ),匯編語言、C 語言、C++、數(shù)據(jù)結(jié)構(gòu)、算法導(dǎo)論是大學(xué)必修課,我自己學(xué)過 JavaScript、Java(大學(xué)有選修課我沒報) 和 Golang。我的問題有 2 個,一個是同學(xué)對比下的挫敗感導(dǎo)致對編程的畏懼,另一個是就業(yè)方向太多,我想的也太多,徘徊在十字路口,沒有真正磨煉過。直到 Python 大火,我找到了適合我的路。它解決了我這 2 個問題,因為簡單,所以我很輕松就能獲得編程的成就感,Python 的生態(tài)雖然不是最好,但也還算不錯。與其來回糾結(jié),不如選擇一條路走下去。精通 Python,也許能為我在工作上帶來還沒有出現(xiàn)過的那種興奮。”

「在《2021非正式年度總結(jié)》中寫到:」 “在任何行業(yè)都存在金字塔原理,從下往上,越往上門檻越高,人越少,但是所獲更多。對于測試來說,功能測試人員無疑是最多的,然后是自動化性能之類會寫代碼的,在寫代碼中,肯定是會Python的人是最多的,會Java的人少。而我身邊除了前面提到的兩位同事,以前聽說拿高薪,以及我在招聘網(wǎng)站看到高薪崗位的要求,都是要求會Java的。甚至我還在TesterHome上研究了一些大佬,這些大佬有9成都是會Java的。在國內(nèi),Java程序員是最多的,會Java的測試?yán)硭?dāng)然會更加吃香。忘了說,去初創(chuàng)公司的那位同事,這家公司的創(chuàng)始人是阿里P10?!?/p>

很顯然,最近這兩三年,就是在猶豫中度過的。躁動的原因無非以下幾點:

1.Python簡單,Java太難;

2.只會Python好像還差點意思;

3.想學(xué)Java一直沒找到門路;

直到我偶然遇見了它。

Java官方教程?:

圖片

我花了2周時間,像看小說一樣,迫不及待的把這個教程一口氣看完了。最震撼的,反復(fù)品味的一個認(rèn)知點是,Java8大數(shù)據(jù)類型:byte、short、int、long、float、double、boolean、char。它們都是「小寫」。

Java中有嚴(yán)格的大小寫約定,大寫字母開頭的都是類名,基本類型都有對應(yīng)的包裝類,封裝了更多對基本類型的方法,如Integer。

還有2個特殊的小寫關(guān)鍵字:void和array(數(shù)組)。而大寫的String其實是個類,而不是基本類型。

聯(lián)想到Python的基本類型:Number(數(shù)字)、String(字符串)、List(列表)、Tuple(元組)、Set(集合)、Dictionary(字典),一下就明白為啥Python是“萬物皆對象”這句話的含義了。Python沒有Java的「元類型」,Python的基本類型就已經(jīng)是「類維度」的了。所以Python的變量都是指向的類的對象。Python中出現(xiàn)的int()、str()等小寫的其實都是「函數(shù)」而已,不是基本類型。

語言果然是相通的!打通了這一點,很多之前卡住的概念順理成章的就融會貫通了。對象、類、接口、包、繼承、集合、泛化、Lambda表達(dá)式、注解、異常等概念很輕松就吃下來了。最難理解的還是Stream流那一塊,以后在實踐中再慢慢掌握吧。

另外一個感觸很深的點是「Java的包管理機制」。它的命名是公司域名倒置如com.jd + 一級目錄 + 二級目錄 + 三級目錄 + 以此類推?的形式。Java提供了幾個默認(rèn)的包,比如java.lang,Java本身的很多類都在這個包里面,隱式已經(jīng)import了,不需要再單獨import。跟Python不一樣的是,Python每個文件都是一個module,引用其他文件里面的對象必須import;而Java每個文件是一個class,文件夾是package,同一個package下面的文件,想引用其他文件里面的類不需要import。并且,Java只有相同層級的才是一個包,父文件夾和子文件夾不是同一個包,也就是說,子文件夾的class想引用父文件夾的class,還是需要import的。

理解了這一層,再看公司后端的代碼,就要清晰很多了。所謂的分層設(shè)計,都要用到Java的包管理機制。

SpringBoot官方教程?

圖片

刷完Java官方教程后,我又馬不停蹄的刷了SpringBoot官方教程。說實話體驗很不好,我印象最深刻的就是spring-boot-start?開頭的是SpringBoot官方提供的封裝好的庫,而以它結(jié)尾的是三方自定義的庫。這在看pom.xml的時候能有眉目一點。后面的知識點很多都是各種配置,加上全英文,理解難度很大。不過還是囫圇吞棗式的完整刷了一遍,說不定萬一以后想到了,有點印象,能幫助檢索呢。

PS:后來明白了,SpringBoot本身就是約定大于配置,幫助簡化開發(fā)的。真正要學(xué)習(xí)的框架是「Spring」。

Java全棧知識體系?

圖片

這不是官方教程了,是大佬整理的博客。建議大家重點看下Spring欄目下的內(nèi)容。

我刷完了Spring、框架|中間件、架構(gòu)3個欄目下的全部內(nèi)容,大部分是略過,重點看了Spring演進(jìn)過程、緩存、限流、降級和熔斷、負(fù)載均衡幾塊內(nèi)容。有三大收獲:

「一、Spring是由bean構(gòu)成的。」 Spring中的bean相當(dāng)于功能組件,我們通過組裝這些bean來實現(xiàn)一個系統(tǒng)應(yīng)用。IOC容器就是來存放這些bean的容器,IOC是控制反轉(zhuǎn),它的意思是,我們不需要自己用new來創(chuàng)建bean,而是由Spring來幫我們創(chuàng)建bean。把創(chuàng)建后的bean注入到程序代碼里面,就叫做依賴注入,有3種方式:XML配置、代碼配置、注解。理解到這個底層邏輯后,再往上看就能看懂設(shè)計理念了。Spring的演進(jìn)過程是:J2EE (Java to 企業(yè)版) → Spring (SpringMVC是遵循MVC規(guī)范的Web開發(fā)框架) → SpringBoot (簡化Spring開發(fā))。

「二、接觸Java才能拓展視野。」 在看架構(gòu)欄目的時候,好多概念是在學(xué)習(xí)Python時無法體會的,比如緩存、限流、降級和熔斷、負(fù)載均衡、分布式系統(tǒng)、全局唯一ID、數(shù)據(jù)庫Sharding等。這些都是很多公司的后端技術(shù),了解這些技術(shù),有助于進(jìn)行更深層次的測試。

「三、要善于畫圖?!?nbsp;文章包含了很多圖,流程圖,結(jié)構(gòu)圖,時序圖,架構(gòu)圖,各種圖。也有淘寶、京東、閑魚、美團(tuán)等公司的案例分享文章,也是各種圖。這說明在匯報時,圖是最有表現(xiàn)力的一種形式,這是社會共識。我在快速瀏覽過程中,也是會優(yōu)先看圖,再看字。畫圖、會寫PPT是很重要的一項軟技能。

回想起左耳朵耗子的那段話:“離開Java的世界,基本上離開了做架構(gòu)的世界 注:我以為用Java適合做架構(gòu)這事應(yīng)該是常識了,但是評論中有很多人非常反對這個事。那我解釋一下吧:首先,小型的項目用什么語言都行,愛用什么用什么。但是,真正的企業(yè)級架構(gòu)就不一樣了,其中并不僅僅只是RESTful API或RPC,還有各種配套設(shè)施和控制系統(tǒng),比如:應(yīng)用網(wǎng)關(guān),服務(wù)發(fā)現(xiàn)、配置中心、健康檢查、服務(wù)監(jiān)控、服務(wù)治理(熔斷、限流、冪等、重試、隔離、事務(wù)補償)、Tracing監(jiān)控、SOA/ESB、CQRS、EDA……這些東西在非Java的技術(shù)棧體系內(nèi),很難看到全貌,Java強大的生態(tài)環(huán)境,就是讓你把注意力放到更高層次的架構(gòu)和業(yè)務(wù)上來的。(千萬不要覺得,整幾個服務(wù)RPC一下,加個緩存,加個隊列,就能叫架構(gòu),那只是系統(tǒng)集成罷了)”。

「以【努力成為一名測試架構(gòu)師】為目標(biāo)來看,精通Java是必經(jīng)之路了。」

參考資料:

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

責(zé)任編輯:武曉燕 來源: 測試開發(fā)剛哥
相關(guān)推薦

2021-09-05 23:47:55

手機功能智能

2020-06-11 09:00:27

SDN網(wǎng)絡(luò)架構(gòu)網(wǎng)絡(luò)

2023-04-26 11:14:11

IT領(lǐng)導(dǎo)者遠(yuǎn)程工作

2013-12-13 13:23:29

馬云阿里巴巴

2021-06-16 12:53:57

Java編程語言

2012-01-06 11:13:02

SinatraJava框架

2021-10-13 06:59:03

Python技巧編程

2009-09-22 11:33:54

Java內(nèi)存模型

2010-11-10 10:15:48

2016-06-30 17:27:07

高德大數(shù)據(jù)

2011-12-20 10:41:36

程序員

2020-10-22 15:17:40

命令git代碼

2014-06-18 10:22:41

AngularAngular項目

2018-02-25 07:23:23

2022-07-15 08:52:10

代碼Java設(shè)計模式

2010-09-02 16:46:52

SOAP協(xié)議

2017-08-01 08:41:29

Oracle開源容器

2022-02-21 14:14:03

SSH加密密鑰

2022-06-22 08:50:53

ERP系統(tǒng)CTO

2014-12-10 09:53:43

Java 9
點贊
收藏

51CTO技術(shù)棧公眾號