除了學(xué)校,Java中的Swing早就被淘汰了,哪個(gè)項(xiàng)目會(huì)用這個(gè)東西寫客戶端界面,企業(yè)里還有人在用swing開發(fā)!
所以,我實(shí)在是受不了了,很多同學(xué)都問我能走多遠(yuǎn)才能找到工作。相信這也是很多后輩、前輩、前輩關(guān)心的問題。今天這篇文章就來和大家聊一聊。聊聊,希望能幫助一些菜鳥順利從學(xué)校過渡到企業(yè)。
話不多說,坐穩(wěn),走吧!
一、開發(fā)工具
作為開發(fā)人員,您應(yīng)該始終了解他們使用的工具,正確使用這些工具取決于您。使用正確的工具,您可以更輕松、更高效地完成工作
1.IntellijIDEA
關(guān)于這一點(diǎn)我不需要多說。如果你想寫出高質(zhì)量的Java代碼,又想追求開發(fā)效率,可以使用IntellijIDEA。
2.UbuntuLinux
我一直使用Linux作為我的主要操作系統(tǒng)。我使用的第一個(gè)發(fā)行版是2012年的Ubuntu12.04LTS。我嘗試了很多Linux版本。Kali、Debian、Pirot、Mint等。我發(fā)現(xiàn)Ubuntu是一個(gè)對(duì)開發(fā)人員友好的發(fā)行版,其中包含許多開發(fā)人員工具。在戴爾Vostro5590中,我一直使用Ubuntu20.04.1LTS作為主要操作系統(tǒng)
3.維姆
VSCode是輕量級(jí)的,VSCode的一大特點(diǎn)是可以通過多種方式調(diào)整設(shè)置,而且Vim可以與VScode集成,它還帶有一個(gè)集成終端,可用的擴(kuò)展很多,使開發(fā)人員的工作只是變得更容易
4.碼頭工人
Docker是一個(gè)開源的應(yīng)用容器引擎,允許開發(fā)者將他們的應(yīng)用和依賴打包成一個(gè)可移植的鏡像,然后可以分發(fā)到任何流行的Linux或Windows機(jī)器上,也可以進(jìn)行虛擬化
5.吉特
Git是一個(gè)免費(fèi)的開源分布式版本控制系統(tǒng),旨在快速高效地處理從小型項(xiàng)目到大型項(xiàng)目的所有內(nèi)容。我選擇Github和GitLab進(jìn)行遠(yuǎn)程代碼存儲(chǔ)操作
這里不得不提一下,雖然很多人都知道GitHub,但其實(shí)使用GitHub的人并沒有想象中那么多,甚至很少。我建議不管是菜鳥還是老手,都應(yīng)該善于使用GitHub。這將為您省去很多麻煩。
6.清晰圖表
作為軟件工程師或開發(fā)人員,我們喜歡可視化我們將要構(gòu)建的復(fù)雜系統(tǒng)。此外,Lucidchart是我用來繪制UML圖和AWS架構(gòu)的工具
7.招搖編輯
SwaggerEditor是一個(gè)非常好的API開發(fā)工具,專門用來生成交互式API控制臺(tái),開發(fā)者可以使用它來快速學(xué)習(xí)和嘗試API。也可以生成客戶端SDK代碼,在各種平臺(tái)上實(shí)現(xiàn)
8.無花果
Figma是一個(gè)矢量圖形編輯器和原型制作工具。它主要基于瀏覽器,并支持macOS和Windows桌面應(yīng)用程序的離線功能。適用于Android和iOS用戶的FigmaMirror允許您在移動(dòng)設(shè)備上查看Figma原型。
9.htop
htop是一個(gè)交互式系統(tǒng)監(jiān)控、進(jìn)程查看器和進(jìn)程管理器。它被設(shè)計(jì)為Unix下任務(wù)管理器頂部的替代品,它顯示計(jì)算機(jī)上運(yùn)行的進(jìn)程列表,通常按CPU使用率排序,她還可以垂直和水平滾動(dòng)列表以查看所有進(jìn)程和完整的命令行。
除了我說的,其實(shí)還有很多有趣又實(shí)用的工作。為了不讓文章顯得繁瑣,這里就不提了。有興趣的同學(xué)可以自行上網(wǎng)搜索。
如果不知道這些工具在哪里下載,可以轉(zhuǎn)發(fā)文章+關(guān)注,然后私信“資料”領(lǐng)取我整理的安裝包。
2.Java基礎(chǔ)
很多人有一個(gè)誤區(qū),就是通過在簡(jiǎn)歷上積累項(xiàng)目經(jīng)驗(yàn),可以提高自己在面試官中的地位。嚴(yán)格來說,這并沒有錯(cuò),但前提是這些項(xiàng)目有足夠的分量,你的熟練度也足夠高,否則,如果你問三個(gè)問題,只會(huì)適得其反。
比起上刀斜鋒,我覺得擦亮自己的基礎(chǔ)更實(shí)用、更穩(wěn)妥。畢竟一個(gè)應(yīng)屆畢業(yè)生,除了極少數(shù)的潮人,有這么多項(xiàng)目經(jīng)驗(yàn),這個(gè)時(shí)候面試應(yīng)該注意什么?
這要看你的java基礎(chǔ),是否有被公司培養(yǎng)的價(jià)值。
比如Java數(shù)據(jù)類型、Java操作符、Java過程控制、Java面向?qū)ο?、Java異常處理,這些都是最基本的東西,是學(xué)習(xí)Java必須掌握的。
然后是Java集合框架、JavaIO、Java網(wǎng)絡(luò)編程、Java多線程并發(fā)、Java虛擬機(jī)。這些是Java中的核心知識(shí)點(diǎn),必須掌握。
然后是Java集合框架、JavaIO、Java網(wǎng)絡(luò)編程、Java多線程并發(fā)、Java虛擬機(jī)。這些是Java中的核心知識(shí)點(diǎn),必須掌握。
我還為大家整理了一份Java基礎(chǔ)知識(shí)總結(jié),涵蓋了Java的所有知識(shí)點(diǎn),包括Java語法、Java集合框架、JavaIO、Java并發(fā)編程和Java虛擬機(jī)。內(nèi)容不多,只有重點(diǎn)。
有需要的可以轉(zhuǎn)發(fā)關(guān)注,然后私信“資料”獲取
3.MySQL
下面我們來看看MySQL的知識(shí)體系
“”SQL必知必知””
非常流行的MySQL入門書,也可以作為參考書。
“高性能MySQL”
MySQL領(lǐng)域經(jīng)典作品,進(jìn)階必看。
和其他書,《MySQL技術(shù)內(nèi)幕》和《高性能MySQL》也很不錯(cuò),如果想更深入地學(xué)習(xí)MySQL,這兩本書是繞不過去的。
4.彈簧
要想成為一名合格的Java后端開發(fā)工程師,就必須掌握Spring的系列框架,而swing是spring面前的小弟。
從SSM(Spring+SpringMVC+MyBatis)到SpringBoot,再到SpringCloud,都得用到。事實(shí)上,Spring早已成為Java后端開發(fā)的行業(yè)標(biāo)準(zhǔn)。如何用好Spring是Java程序員的必修課之一。一。
由于Spring的快速發(fā)展,逐漸從輕量級(jí)的開發(fā)框架變成了“怪物”,變得越來越笨重,導(dǎo)致構(gòu)建應(yīng)用的成本越來越高,于是SpringBoot應(yīng)運(yùn)而生,它幫助開發(fā)者以最少的配置快速構(gòu)建一個(gè)獨(dú)立的應(yīng)用程序。毫不夸張地說,SpringBoot棒極了!
對(duì)彈簧靴不熟悉的小伙伴們別著急,補(bǔ)上就行了。這里推薦我在某站發(fā)布的春季系列視頻。反響相當(dāng)不錯(cuò)。需要的朋友可以學(xué)習(xí)一下。
然后用springboot框架寫了幾個(gè)項(xiàng)目就會(huì)愛上它。如果你不知道如何找到合適的培訓(xùn)項(xiàng)目,我在這里也收集了一些經(jīng)典的Java培訓(xùn)項(xiàng)目。
JavaFX現(xiàn)在是JavaSE8SDK的一部分。過去,Swing在程序員中非常流行,而JavaFX似乎不斷有負(fù)面消息。在本文中,JavaChampionJohanVos對(duì)JavaFX進(jìn)行了基本概述,并解釋了為什么應(yīng)該使用JavaFX而不是Swing。
Swing這么流行,為什么JavaFX經(jīng)常被唱衰?
JavaFX框架包含許多API,允許開發(fā)人員使用Java語言創(chuàng)建用戶界面。JavaFX是在2007年JavaOne會(huì)議期間發(fā)布的。在此之前,用Java創(chuàng)建用戶界面的標(biāo)準(zhǔn)API是AWT和SwingAPI。在JDK1.2(1998)中,添加了自Java(JDK1.0,1996)以來平臺(tái)部分的AWTAPI和SwingAPI。
顯然,自1996年以來,UI技術(shù)發(fā)生了很大變化。2007年,SunMicrosystems決定是時(shí)候在Java平臺(tái)上開發(fā)一套新的面向UI的API。2011年,JavaFX2.0發(fā)布。迄今為止,JavaFX添加了許多新功能,代碼在OpenJFX存儲(chǔ)庫中開發(fā),與正在開發(fā)核心JavaSEAPI的OpenJDK存儲(chǔ)庫保持一致。
全新的JavaFX
有許多特定的設(shè)計(jì)元素使JavaFX不同于它的前輩(AWT和Swing),它們使程序員的生活更輕松,并將用戶界面的開發(fā)與Java開發(fā)集成為一個(gè)整體,程序員無需付出太多的代價(jià)注意底層和細(xì)節(jié)的東西,只關(guān)注具體的用戶界面設(shè)計(jì)。
JavaFX使用場(chǎng)景圖來組織圖形對(duì)象,它提供了具有特定渲染指令并且還可以包含子節(jié)點(diǎn)的節(jié)點(diǎn)的樹結(jié)構(gòu)?,F(xiàn)在,場(chǎng)景圖方法在基于矢量的渲染應(yīng)用程序中非常流行。
JavaFX是一個(gè)現(xiàn)代UI框架,它使用保留渲染而不是立即渲染。在保留渲染模式下,程序員不改變圖形,而只是向渲染引擎下達(dá)指令(例如,添加按鈕、確定操作范圍等)。最終,渲染引擎會(huì)根據(jù)程序員的要求將圖像渲染到屏幕上。
JavaFX渲染系統(tǒng)允許多管道操作,盡可能使用硬件加速。在Windows上,使用Direct3D。在大多數(shù)其他系統(tǒng)(Linux、Mac、iOS、Android、嵌入式ARM)上,使用OpenGL。由于這種硬件加速渲染,大量工作從CPU轉(zhuǎn)移到了GPU。這允許程序員在JavaFX中創(chuàng)建非常好的應(yīng)用程序并從GPU中受益。
UI控件的動(dòng)態(tài)綁定
JavaFX引入了可視化和綁定的概念。雖然這些不是特定于UI的,但它們?cè)谔幚碛脩艚缑鏁r(shí)特別有用。JavaFXObservable接口的實(shí)現(xiàn)允許其他注冊(cè)對(duì)象修改Observable。此概念用于將用戶界面控件動(dòng)態(tài)綁定到數(shù)據(jù)。例如,JavaFXListView控件由ObservableList支持(其中ObservableList擴(kuò)展了Observable)。如果您將元素添加為ObservableList,ListView將立即呈現(xiàn)這些元素(只要它們位于屏幕的可見部分)。
如果編寫得好,JavaFX應(yīng)用程序?qū)⒃诰哂卸鄠€(gè)CPU或內(nèi)核的環(huán)境中運(yùn)行良好。使用專用線程對(duì)場(chǎng)景圖進(jìn)行更改,建議在不同線程上執(zhí)行所有其他計(jì)算。這種方法允許開發(fā)人員確保場(chǎng)景圖始終處于一致狀態(tài),同時(shí)盡可能利用多核架構(gòu)。
從Swing繼續(xù)
Swing是JavaFX的前身,在開發(fā)在桌面系統(tǒng)上執(zhí)行的Intranet應(yīng)用程序方面非常流行。許多大型企業(yè)擁有復(fù)雜的Swing應(yīng)用程序,允許員工執(zhí)行與業(yè)務(wù)相關(guān)的功能。典型的垂直市場(chǎng)包括金融業(yè)、醫(yī)療保健和電信。Swing長(zhǎng)期以來一直是默認(rèn)的JavaUI框架,因此如今許多應(yīng)用程序非常復(fù)雜也就不足為奇了。
許多公司也看到了JavaFX的好處并將現(xiàn)有的Swing應(yīng)用程序遷移到JavaFX。雖然JavaFX有一個(gè)學(xué)習(xí)曲線,但對(duì)于許多程序員來說它相對(duì)簡(jiǎn)單。同時(shí),JavaFXAPI與JavaSDK的其他API非常一致。
JavaFX:可移植到移動(dòng)設(shè)備
使用JavaFX的另一個(gè)原因是它的應(yīng)用程序可以移植到移動(dòng)設(shè)備上。最流行的移動(dòng)環(huán)境(Android和iOS)也允許基于OpenGL的渲染。OpenJFX存儲(chǔ)庫中的JavaFX代碼也適用于這些環(huán)境,結(jié)合GluonMobile工具,開發(fā)人員可以輕松地將JavaFX應(yīng)用程序運(yùn)行到Android或iOS的本機(jī)應(yīng)用程序中,并將它們上傳到PlayStore和AppStore。
因此,應(yīng)用程序不僅可以通過桌面系統(tǒng)訪問,還可以通過越來越多的流行終端訪問。
使用JavaFX的另一個(gè)原因是它的應(yīng)用程序可以移植到移動(dòng)設(shè)備上。最流行的移動(dòng)環(huán)境(Android和iOS)也允許基于OpenGL的渲染。OpenJFX存儲(chǔ)庫中的JavaFX代碼也適用于這些環(huán)境,結(jié)合GluonMobile工具,開發(fā)人員可以輕松地將JavaFX應(yīng)用程序運(yùn)行到Android或iOS的本機(jī)應(yīng)用程序中,并將它們上傳到PlayStore和AppStore。
因此,應(yīng)用程序不僅可以通過桌面系統(tǒng)訪問,還可以通過越來越多的流行終端訪問。
綜上所述
早期的JavaFXAPI非常不穩(wěn)定,但現(xiàn)在,它的API已經(jīng)成熟穩(wěn)定了。向后兼容性對(duì)Java語言非常重要,因此程序員不應(yīng)期望在官方JavaFXAPI中進(jìn)行大量實(shí)驗(yàn)。有許多3rd方計(jì)劃,例如ControlsFX和JFXtras,其中包含對(duì)程序員非常有用的高級(jí)或特定UI控件和小部件。JavaFX社區(qū)包含大量活躍的程序員,他們?cè)敢庳暙I(xiàn)自己的想法和代碼。通過官方提供JavaFX的穩(wěn)定性和成熟度,結(jié)合社區(qū)成員的熱情和貢獻(xiàn),JavaFX將成為Java程序員進(jìn)行UI開發(fā)的絕佳選擇。
廣州天河區(qū)珠江新城富力盈力大廈北塔2706
020-38013166(網(wǎng)站咨詢專線)
400-001-5281 (售后服務(wù)熱線)
深圳市坂田十二橡樹莊園F1-7棟
Site/ http://www.szciya.com
E-mail/ itciya@vip.163.com
品牌服務(wù)專線:400-001-5281
長(zhǎng)沙市天心區(qū)芙蓉中路三段398號(hào)新時(shí)空大廈5樓
聯(lián)系電話/ (+86 0731)88282200
品牌服務(wù)專線/ 400-966-8830
旗下運(yùn)營(yíng)網(wǎng)站:
Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號(hào)