本文目錄一覽:
- 1、嵌入式和java該怎麼選擇呢?
- 2、java好還是嵌入式好 做IT開發該如何選擇
- 3、常用嵌入式數據庫有哪些
- 4、JAVA的常用的類庫有哪些?
- 5、大三分方向了。嵌入式、java選擇哪個呢?
- 6、java寫的帶數據庫的程序如何在沒安裝數據庫的系統上運行
嵌入式和java該怎麼選擇呢?
我不知道樓主家裡的經濟環境怎麼樣,如果還不錯,那確實可以去培訓,反正幾個月不工作不至於餓肚子。如果樓主要自食其力的,我建議樓主還是可以自學的,畢竟你放棄工作,還要付一大筆培訓的費用,還要4個月的時間沒有工作。如果到時沒有學好,那代價應該是太大的。
所以,我的經歷來和樓主說說吧,我是個大專沒有畢業的學生,我原來也想去培訓嵌入式,但是我家裡出不了那麼多錢,於是我只好自學,可是我又不喜歡看書,我一看書我就打瞌睡,不是看書自學的料。
於是,我就一直想找一份視頻,一份像武林秘籍的視頻,但是我找了很久沒有找到。大部分都只是某部分的內容,都不能稱心如意。後來在一個嵌入式的群上,有個朋友給我介紹一個從零基礎開始學嵌入式的視頻,而且他們還提供半年的技術支持,我當時一下子胃口被掉了起來,後來就到他們的網站看了一下,要300圓,好貴啊,但是為了學習,我咬咬牙買了。我把視頻地址貼出來和樓主分享。
視頻地址:
收到他們寄過來的光盤後,我就開始學習了,由於我沒有什麼基礎,我就從最簡單的C語言視頻教程學起,話說簡單,其實我還是很多不懂的,我只好請教他們,他們還是很熱心的,都幫我解決了。C語言我差不多學了一個禮拜,接下來我就學了linux的基本命令,我在他們提供linux虛擬機上都有做練習,敲linux的基本命令,寫簡單的C語言代碼,差不多也就三個禮拜。我每天都在不停的寫一些簡單的代碼,這樣一月後我基本掌握了C和linux的基本操作。
接下來我就去學習了人家的視頻的培訓教程,是整套的,和去參加培訓沒有多大的區別,這一看就是兩個月,學習了ARM的基本原理,學習嵌入式系統的概念,也掌握了嵌入式的環境的一些搭建,對linux也有更深層次的理解了,明白了嵌入式應用到底是怎麼做的,但是驅動我只是有一點點的了解,這個相對難一點,我想以後再慢慢啃。
這兩個月,除了吃飯睡覺,我幾乎都在學習。因為我知道幾乎沒有基礎,比別人差勁,我只能堅持努力着,我不能放棄,我必要要靠自己來養活自己,必須學好這門技術,同時我不懂的就問,這裡真的很感謝他們的技術客服對我的任何問題都是耐心的解答,每天都我幾乎都有好幾個問題問他們,然後我就把不懂的問題總結記下來,這樣慢慢積累了一段時間,我發現自己真的有點入門了。
最後的一個月,我就去看關於實踐部分的內容,了解嵌入式項目具體的開發流程,需要什麼樣的知識,我就開始準備這方面的知識,也就是學習這方面的視頻,同時他們建議我去找了找一些嵌入式面試的題目,為自己以後找工作做準備。我就到網上找了很多嵌入式的題目,把他們理解的記下來,這樣差不多準備了20天左右。
我覺得自己差不多入門了,會做一些簡單的東西了。我就想去找工作看看,於是我就到51job瘋狂的投簡歷,因為我學歷的問題,專科沒有畢業,說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報。沒有想過幾天過後,就有面試了,但是第一次面試我失敗了,雖然我自認為筆試很好,因為我之前做了準備,但是他們的要求比較嚴格,需要有一年的項目經驗,所以我沒有被選中。
後來陸續面試了幾家公司,終於功夫不負有心人。我終於面試上的,是在閔行的一家民營的企業,公司規模比較小,我的職務是嵌入式linux應用開發,做安防產品的應用的。我想我也比較幸運,經理很看重我的努力就錄用了我,開的工資不高,但是我想我足夠了。我至少不用每天都要靠父母養,我自己也能養活自己的。我想只要我繼續努力,我工資一定會翻倍的。
最後我也把他們資料里推薦的學習順序發出來,樓主也是看看大約的學習流程。
第一階段 環境及基礎篇
1.1:先搭建一個簡單的linux環境,這對以後學習linux和C編程有很大的幫助。具體操作:
打開光盤16,裏面有個開發工具包-安裝好的fedora9,裏面有個vmware安裝包,先安裝下vmware虛擬機,建議安裝我們提供的版本,以免打不開我們的提供的安裝的linux。解壓縮Virtual Machines.rar到你的硬盤,用虛擬機打開解壓縮的系統即可。
如果你不喜歡fedora 9,那也可以安裝我們提供的光盤04的軟件視頻包-國嵌培訓視頻1-RedHat企業版安裝光盤,自己學習動手裝linux也是不錯的。如果不懂得安裝,可以看光盤04裏面的軟件視頻包-國嵌培訓視頻1-RedHat企業版安裝光盤/課程與視頻/第1階段(Linux系統管理)/第一天(安裝與命令)/裏面的視頻,也可以看看裏面的參考資料。
不過還是建議大家直接使用fedora,這樣可以省時省事。
1.2:如果還沒有基礎,建議從最基本的C語言和linux開始學。如果你覺得你的基礎還不錯,也可以跳過這部分,但是建議還是複習一遍,畢竟基礎紮實一點更好。
先學習軟件視頻包-嵌入式linux軟件開發入門培訓視頻.iso,共有46個視頻,介紹嵌入式linux入門需要掌握的基礎知識,包括linux的基礎知識,shell基礎,vi編輯器,包括嵌入式linux的C語言編程,非常詳細,非常精闢! 學習完本視頻可以掌握C語言和linux,對linux下的C編程有一定的了解。
1.3 這個看完後也可以看看光盤04,這個也是主要linux的安裝與linux命令,腳本,Makefile和GCC的材料。
當然,如果你看過的1.2的內容,其實你已經掌握了linux的基本命令,那麼1.3 你也當做複習,也可以跳過,這樣的速度更快!如果為了速度,就一個原則,學習過的就跳過,但是也要保證自己掌握,這個尺度看個人自己把握。
還有一點就是老師講課都有帶一些實驗,記得你也要動手操作,反正環境都有了,操作了才不容易忘記。
第二階段 linux應用編程強化階段
2.1 有了上面的基礎,接下來就要強化學習下linux下的C編程,畢竟嵌入式的還是需要很強大的C語言能力。可以學習光盤03的軟件視頻包-linux系統編程培訓教程,這個共有22個視頻,講述基於linux系統的編程,裏面講解了很多linux實例代碼的分析,非常不錯。
2.2 學習下光盤08 這是介紹linux的基本命令和編程,比如 linux的進程管理,make的介紹,進程間的通訊,linux系統調用和io編程等等。
2.3 學習下光盤05/軟件視頻包-國嵌培訓視頻2/國嵌視頻2_201003.rar,主要看linux的編程部分,關於arm的內容先別看。這個也是主要介紹linux下的編程。(而光盤05/軟件視頻包-國嵌培訓視頻2/國嵌視頻1_201003.rar在介紹里是沒有的,是我們後面附加贈送的,其視頻和光盤4差不多。)
還是那句話,你覺得會的內容可以跳過,但是建議你還是多看看。
第三階段 嵌入式學習階段
經過了上面的課程,我相信你的C語言和linux編程基礎已經很不錯了。接下來你就可以進入arm的世界了。
(注意:如果以後選擇嵌入式軟件方向的同學,如果沒有硬件基礎的,我建議大家從事嵌入式軟件的,更好,軟件方向可以不學硬件方向的內容,可以了解下3.1.1的單片機內容。)
3.1硬件方向
3.1.1(可選階段)這個簡單建議你學習下單片機,畢竟單片機還是比較簡單,但是如果你想直接進入下一步3.3也未嘗不可。如果要學習單片機可以學習硬件視頻包-單品機經典培訓教程,講述單片機的基本所有的內容,老師現場寫代碼,非常棒,可以從一個完全不懂單品機的人到熟悉單品機,到單片機編程,為以後ARM編程打好基礎。其內容01-11在光盤12,而12-13因為容量問題放在光盤13裏面。
3.1.2 (可選階段,硬件方向,無基礎的同學可先別學)這個階段適合以後想學習硬件的同學,但是我不建議沒有基礎的同學去搞硬件,相對入門比較難,如果以後想做嵌入式的軟件的同學也可以不急着看硬件的內容。當然了解下更好。可以看看光盤13的硬件視頻包-計算機電路基礎培訓教程.iso,講述計算機的電路基礎,適合初學者入門。
3.1.3(可選階段,硬件方向)有了3.1.2的基礎後,你也可以學習光盤11的硬件視頻包-電路分析培訓教程
共有30個視頻,詳細的介紹了電路分析,電路原理。
3.2 軟件方向
學習方法:這些內容都是相對比較抽象,如果有什麼不懂的,不明白的,一定要先記住概念,等你以後接觸多了,遇到相關的知識時,你會豁然開朗的。
3.2.1這時我們進入嵌入式系統的時代了,可以學習下光盤01的軟件視頻包-嵌入式系統30學時.iso,講述嵌入式系統概述,還有基本概念,嵌入式微處理器及ARM體系結構,已經嵌入式系統的基本硬件知識,嵌入式實時操作系統的介紹,介紹us,os-II,介紹嵌入式wince,linux等操作系統。
3.3.2 學習光盤09的軟件視頻包-中嵌視頻2的視頻內容,了解ARM的基本命令,arm開發環境等等。
3.3.3 學習光盤05中的關於軟件視頻包-國嵌培訓視頻2.iso中的ARM部分,ARM概述,mini2440,ARM寄存器,ARM尋址方式,ARM指令1,ARM指令2.
3.2.4 學習下光盤01 軟件視頻包-嵌入式系統設計培訓教程.iso,共有25個視頻,講述嵌入式系統硬件和軟件的知識,嵌入式系統的基本知識,講述嵌入式軟件和硬件的協同設計,最後還講述了U-BOOT程序設計,MP3播放器的設計。
3.2.5學習光盤03的軟件視頻包-嵌入式系統及應用開發培訓視頻,共有40個視頻,講述嵌入式系統結構、外設驅動和應用開發調試技術,嵌入式系統開發模式,嵌入式硬件開發,實時/嵌入式系統開發方法,還講述了嵌入式系統硬件結構,嵌入式處理器,ARM介紹,片內周邊電路,外圍電路,外設等等。
3.2.6學習光盤11的軟件視頻包-ARM S3C44B0嵌入式微處理器原理及應用
共有48個視頻,主要內容包括:嵌入式系統基礎知識、嵌入式交叉編譯環境與嵌入式開發環境的搭建、基於Linux的嵌入式軟件開發流程、MiniGUI應用程序設計、嵌入式數據庫應用、Qt圖形界面應用程序開發。《嵌入式系統開發基礎——基於ARM微處理器和Linux操作系統》涉及嵌入式系統從底層驅動到頂層應用的各個部分,配合實驗操作循序漸進地幫助讀者完成各個章節內容的學習,引領初學者順利進入嵌入式世界
第四階段 嵌入式高級階段
上一階段軟件方向我們已經學習了關於arm和嵌入式系統的知識,接下來我們要接觸的就是更為深奧的底層驅動和內核相關內容。硬件方向則學習了基本的電路基礎,這一階段則要接觸到pcb,cpld fpga的知識了。
4.1 硬件方向(軟件方向的同學不用學)
4.1.1 學習光盤13的硬件視頻包-PCB設計培訓教程Altium Designer共有14個視頻,講述Altium Designed,電子設計基礎知識,原理圖初步設計,進階,提高,深入,pcb庫的設計,集成庫的作用和製作,pcb設計初步,PCB設計提高,PCB深入。
4.1.2 學習光盤11的硬件視頻包-CPLD系統設計和VHDL語言培訓教程共有10個視頻,介紹CPLD系統設計和VHDL的程序設計,包括視頻和課件還有相關的資料。
4.2 軟件方向
4.2.1 學習光盤02的軟件視頻包-底層內核和驅動培訓視頻
共有28個視頻,講述linux內核介紹,內核的源代碼結構,如何編譯和配置內核,如何開發內核模塊,內核的啟動流程分析,內核的內存管理,進程內存空間管理,linux2.6內存管理和分配,內核的鏈表操作,包括一些內核的實驗。
驅動部分講述字符設備驅動程序和字符驅動例子解析,驅動調試技術,並發控制技術,Ioctl的實現,驅動如何訪問硬件,中斷處理,LED驅動程序設計,等待隊列,阻塞,Poll方法實現,時間度量,內核定時器,網絡體系架構,網卡驅動設計,觸摸屏驅動分析等等。
4.2.2 學習光盤06的軟件視頻包-國嵌培訓視頻3.iso
共有20個視頻,講述內核簡介,Linux內核源代碼,Linux內核配置與編譯,內核模塊-1,內核模塊-2,Linux內存管理,Linux進程與內核地址空間,Linux內核鏈表,內核定時器,內核進程,進程調度,系統調用,Proc文件系統,異常分析,交叉工具鏈,嵌入式系統構建,bootloader介紹,Uboot簡介,UBoot命令,Uboot移植。
4.2.3 學習光盤07的軟件視頻包-國嵌培訓視頻4.iso
共有25個視頻,講述Linux驅動程序介紹,字符設備驅動,簡單字符設備驅動實例分析,並發控制,Ioctl設備控制,內核等待隊列,阻塞型字符設備驅動, poll設備方法,自動創建設備文件, mmap設備方法,硬件訪問, LED驅動程序,總線,設備,驅動, platform驅動,中斷處理程序,按鍵驅動,網卡驅動程序設計, CS8900A網卡驅動程序分析,輸入子系統,觸摸屏驅動程序, PCI總線, PCI驅動程序設計,串口驅動程序。
4.2.4 學習光盤10的軟件視頻包-中嵌視頻3,這也是將驅動的和內核的。
第五階段 實踐階段
這個時候你需要做的事,多了解我們的實踐的資料,彌補缺少動手能力。你可以看着實踐資料的文檔代碼看,相信你會有質的飛躍。我們的實踐資料包括以下的內容:
光盤13
21. 實踐開發包-ARM 2410開發板資料.zip
包括用戶手冊,網上資料,芯片手冊,目標代碼和支持包,USB驅動程序,原理圖,裏面還有實驗的指導,很好!
22. 實踐開發包-ARM FS44B0開發板資料.zip
包括用戶手冊,ADS120評估板,BOIS和測試程序的源代碼,uCLinux代碼和編譯工具,芯片手冊,目標代碼和支持包,USB驅動程序,原理圖,裏面還有實驗的指導,很好!
光盤14
26. 實踐開發包-ARM 6410開發板資料.rar
這是我們購買了一塊7000元的開發板配套的完整資料,包括開發套件源代碼壓縮包,套件使用手冊、CPU及其它各種芯片的datasheet,開發板電路圖,仿真器的驅動文件及說明文檔等等。
27. 實踐開發包-MIPS CPU開發板資料.rar
這是我們購買了一塊3000元的開發板配套的完整資料,現在市場上 MIPS的開發板非常少,當然資料更少了。包括整套的文檔,軟件和硬件所有的資料,包括工具。
28. 實踐開發包-USB實踐開發包.iso
關於USB的實踐開發包,裏面有介紹關於U盤和MP3的工具,軟件的程序,硬件的原理圖,製作的工具,和相關的資料手冊。
29. 實踐開發包-嵌入式linux網絡的遠程控制開發包.iso
關於嵌入式linux網絡遠程控制的實踐開發包,裏面有詳細的一步步圖文操作的電子書,軟件的程序,硬件的原理圖,製作的工具,和相關的工具。
30. 實踐開發包-電子相冊開發包.iso
關於電子相冊的實踐開發包,裏面有詳細的配套說明和實驗指導書,軟件的程序,硬件的原理圖,製作的工具,和相關的工具。配合光盤15的開發工具包-Wince開發平台platform builder5.0
這是platform builder 5.0的安裝包,可以基於它開發wince.
31. 行業視頻包-MTK手機開發培訓.iso
介紹MTK的資料,有10個視頻教程,還包括新手如何學習MTK手機開發的資料,MTK開發平台大集合,入門導讀,全套資料,MMI的資料等等。
32. 行業視頻包-VOIP視頻教程
共有12個視頻,介紹VOIP網絡電話開發,非常不錯,這對以後找這方面的工作非常有幫助,是高薪的行業。
第六階段 深化階段
相信這個時候的你已經是嵌入式的能手了,但是要變成高手,你還要進一步學習內核和系統。
6.1 學習光盤01的軟件視頻包-計算機系統結構和彙編培訓.iso
共有51個視頻,將計算機系統結構和彙編語言程序設計,對於以後進行底層的開發很有幫助。
6.2 學習光盤05的軟件視頻包-linux內核編程初級班培訓教程.rar共有30個視頻,都是基於代碼分析的,講述linux內核的基礎知識,彙編及保護模式,linux內核體系結構,linux引導程序分析,linux內核代碼分析,linux塊設備驅動程序分析
6.3 學習光盤11的視頻包-linux內核編程高級班培訓教程.rar
共有29個視頻,詳細介紹2.6內核的代碼,非常不錯,如果想學習內核,值得推薦
轉自嵌入式學習網!
java好還是嵌入式好 做IT開發該如何選擇
首先,Java開發和嵌入式開發都是目前IT行業內比較常見的開發崗位,也都有大量的從業人員,所以從就業的角度來看,學習Java開發和嵌入式開發都是不錯的選擇。Java語言的應用領域包括Web開發、Android開發和大數據開發等領域,這些領域也都有大量的崗位需求。相比於傳統Java開發來說,嵌入式開發在可穿戴設備領域、車聯網領域、農業物聯網領域將陸續獲得大量的發展機會,尤其在產業互聯網發展的大背景下,物聯網將全面走進傳統行業,一系列設備將具備網絡連接功能和計算功能(邊緣計算)。
在這個背景下,嵌入式開發將變得越來越重要,崗位需求量也會持續增加。Java在中國發展已10幾年時間,雖然所學的內容較多,但入門較容易,初中、高中、中專基礎的都能學習,但是有發展瓶頸,就是上升空間不大,且生命周期比較短(大概有7年左右的時間),感覺做幾年之後沒什麼可做的了,做java(應用軟件)開發的35歲以上的基本很少了,就是常說的「吃青春飯」,且軟件更新快,工作比較忙。千鋒教育擁有多年IT培訓服務經驗,採用全程面授高品質、高體驗培養模式,合作企業達20000餘家,覆蓋全國一線二線城市大中小型公司,成功幫助20000餘名人才實現就業。
常用嵌入式數據庫有哪些
嵌入式數據庫還是有很多的,這裡舉幾個吧:
1.Berkeley DB常用嵌入式數據庫有哪些
Berkeley
DB(BDB)是一個高效的嵌入式數據庫編程庫,C語言、C++、Java、Perl、Python、Tcl以及其他很多語言都有其對應的API。
Berkeley DB可以保存任意類型的鍵/值對(Key/Value Pair),而且可以為一個鍵保存多個數據。Berkeley
DB支持讓數千的並發線程同時操作數據庫,支持最大256TB的數據,廣泛用於各種操作系統,其中包括大多數類Unix操作系統、Windows操作系統
以及實時操作系統。
2.Couchbase Lite
Couchbase Lite
是一個為滿足在線和離線的移動應用所開發的超輕量的,可靠的,並且安全的JSON數據庫。即使在最不確定的網絡條件下,亦可以給您的移動應用提供富有成效
的和可靠的信譽。除此之外,』同步門戶』功能亦可以提供協作, 社交互動或者是用戶的更新。
3.LevelDB
LevelDB是Google開源出的一個Key/Value存儲引擎,它採用C++編寫的,支持高並發訪問和寫入,特別適合對於高寫入業務環境。
4. SQLite
SQLite 是一個開源的嵌入式關係數據庫,實現自包容、零配置、支持事務的SQL數據庫引擎。
其特點是高度便攜、使用方便、結構緊湊、高效、可靠。 與其他數據庫管理系統不同,SQLite 的安裝和運行非常簡單,在大多數情況下 –
只要確保SQLite的二進制文件存在即可開始創建、連接和使用數據庫。
5.UnQLite
UnQLite是,由Symisc
Systems公司出品的一個嵌入式C語言軟件庫,它實現了一個自包含、無服務器、零配置、事務化的NoSQL數據庫引擎。UnQLite是一個文檔存儲
數據庫,類似於MongoDB、Redis、CouchDB等。同時,也是一個標準的Key/Value存儲,與BerkeleyDB和LevelDB等
類似。
JAVA的常用的類庫有哪些?
一、日誌相關類庫
日誌庫是很常見的,因為你在每一個項目中都需要他們。打印日誌是服務器端應用中最重要的事情,因為日誌是你了解你的程序發生了什麼的唯一途徑。儘管JDK附帶自己的日誌庫,但是還是有很多更好的選擇可用,例如 Log4j 、 SLF4j 和 LogBack。
Java開發人員應該熟悉日誌記錄的利弊, 並且了解為什麼SLF4J要比Log4J要好。
二、JSON解析庫
在當今世界的web服務和物聯網中(IoT),JSON已經取代了XML,成為從客戶端到服務器傳送信息的首選協議。有一個好消息和一個壞消息。壞消息 是JDK沒有提供JSON庫。好消息是有許多優秀的第三方庫可以用來解析和創建JSON消息,如 Jackson 和 Gson
一個Java web開發人員應該熟悉Jackson 和 Gson這兩種中的至少一種庫。
三、單元測試庫
單元測試技術的使用,是區分一個一般的開發者和好的開發者的重要指標。程序員經常有各種借口不寫單元測試,但最常見的借口就是缺乏經驗和知識。常見的單測框架有 JUnit , Mockito 和PowerMock 。
《2020最新Java基礎精講視頻教程和學習路線!》
四、通用類庫
有幾個很好的第三方通用庫可供Java開發人員使用,例如 Apache Commons 和 Google Guava 。我會經常在我的代碼中使用這些通用類庫,因為這些類庫都是經過無數開發者實踐過的,無論是實用性還是在性能等方面都是最佳的。
五、Http 庫
我不是很喜歡JDK的一個重要原因就包括他們缺乏對HTTP的支持。雖然可以使用java.net包類,但是這和直接使用像 Apache HttpClient 和 HttpCore 等開源類庫比起來麻煩太多了。
儘管JDK 9將開始HTTP 2.0,也對HTTP的支持做了優化,但是我還是強烈建議所有的Java開發人員熟悉流行的HTTP處理類庫,例如HttpClient和HttpCore HTTP等庫。
六、XML解析庫
市面上有很多XML解析的類庫,如 Xerces , JAXB , JAXP , Dom4j , Xstream 等。 Xerces2是下一代高性能,完全兼容的XML解析工具。Xerces2定義了 Xerces Native Interface (XNI)規範,並提供了一個完整、兼容標準的 XNI 規範實現。該解析器是完全重新設計和實現的,更簡單以及模塊化。
七、Excel讀寫庫
許多應用程序需要提供把數據導出到Excel的功能,如果你要做相同的Java應用程序,那麼你需要 Apache POI API 。
這是一個非常豐富的類庫,你可以從Java程序讀寫XLS文件。
八、位元組碼庫
如果你正在編寫一個框架或者類庫。有一些受歡迎的位元組碼庫如 javassist 和 Cglib Nodep 可以供你選擇,他們可以讓你閱讀和修改應用程序生成的位元組碼。
Javassist使得JAVA位元組碼操作非常簡單。它是一個為編輯Java位元組碼而生的類庫。 ASM 是另一個有用的位元組碼編輯庫。
九、數據庫連接池庫
如果你的Java應用程序與數據庫交互不是使用數據庫連接池庫的話,那麼你就大錯特錯了。因為在運行時創建數據庫連接非常耗時並且會拖慢你的程序。所以牆裂建議使用,有些好用的連接池可供選擇,如 Commons Pool 和 DBCP 。
在web應用程序中,web服務器通常提供了這些功能。但是在java項目中需要把數據庫連接池的類庫導入到應用中。
十、消息傳遞庫
像日誌和數據庫連接池一樣,消息傳遞也是很多實際的Java項目中必備的。Java提供了JMS Java消息服務,但這不是JDK的一部分,你需要單獨的引入jms.jar。類似地,如果您準備使用第三方消息傳遞協議, Tibco RV 是個不錯的選擇。
十一、PDF處理庫
除了Excel和Word,PDF也是一種常用的文件格式。如果你的應用程序要支持PDF格式的文件處理,你可以使用 iText 和 Apache FOP 類庫。兩者都提供了非常有用的PDF處理功能。
十二、日期和時間庫
在Java之前,JDK的日期和時間庫一直被人們所詬病,比如其非線程安全的、不可變的、容易出錯等。很多開發人員會選擇更好用的 JodaTime 類庫。
但是在Java8推出之後,我們就可以徹底放棄JodaTime了,因為Java 8提供了其所有功能。但是,如果你的代碼運行在一個低版本的JDK中,那麼JodaTime還是值得使用的。
十三、集合類庫
雖然JDK有豐富的集合類,但還是有很多第三方類庫可以提供更多更好的功能。如 Apache Commons Collections 、 Goldman Sachs collections 、 Google Collections 和 Trove 。Trove尤其有用,因為它提供所有標準Collections 類的更快的版本以及能夠直接在原語(primitive)(例如包含int 鍵或值的Map 等)上操作的Collections 類的功能。
FastUtil是另一個類似的API,它繼承了Java Collection Framework,提供了數種特定類型的容器,包括映射map、集合set、列表list、優先級隊列(prority queue),實現了java.util包的標準接口(還提供了標準類所沒有的雙向迭代器),還提供了很大的(64位)的array、set、list,以及快速、實用的二進制或文本文件的I/O操作類。
十四、郵件API
javax.mail 和 Apache Commons Email 提供了發送郵件的api。它們建立在JavaMail API的基礎上,提供簡化的用法。
十五、HTML解析庫
和XML與JSON類似,HTML是另外一種我們可能要打交道的傳輸格式。值得慶幸的是,我們有jsoup可以大大簡化Java應用程序使用HTML。你不僅可以使用 JSoup 解析HTML還可以創建HTML文檔。
十六、加密庫
Apache Commons家族中的 Commons Codec 就提供了一些公共的編解碼實現,比如Base64, Hex, MD5,Phonetic and URLs等等。
十七、嵌入式SQL數據庫庫
我真的是非常喜歡像 H2 這種內存數據庫,他可以嵌入到你的Java應用中。在你跑單測的時候如果你需要一個數據庫,用來驗證你的SQL的話,他是個很好的選擇。順便說一句,H2不是唯一嵌入式DB,你還有 Apache Derby 和 HSQL 可供選擇。
十八、JDBC故障診斷庫
有不錯的JDBC擴展庫的存在使得調試變得很容易,例如P6spy,這是一個針對數據庫訪問操作的動態監測框架,它使得數據庫數據可無縫截取和操縱,而不必對現有應用程序的代碼作任何修改。 P6Spy 分發包包括P6Log,它是一個可記錄任何 Java 應用程序的所有JDBC事務的應用程序。其配置完成使用時,可以進行數據訪問性能的監測。
十九、序列化庫
Google Protocol Buffer是一種輕便高效的結構化數據存儲格式,可以用於結構化數據串行化,或者說序列化。它很適合做數據存儲或 RPC 數據交換格式。可用於通訊協議、數據存儲等領域的語言無關、平台無關、可擴展的序列化結構數據格式。目前提供了 C++、Java、Python 三種語言的 API。
二十、網絡庫
一些有用的網絡庫主要有 Netty 的和 Apache MINA 。如果您正在編寫一個應用程序,你需要做的底層網絡任務,可以考慮使用這些庫。
這都是每位Java開發人員應該熟悉的,並且十分有用的庫。Java生態系統非常龐大的,你會發現有很多不同的類庫可以做不同的事情。每個你想到的東西,都可能有一個庫可以做到。
要相信,你遇到的問題,肯定不止你一個遇到過。
要相信,也許有很多人比你更勤奮。
要相信,你用或不用,輪子就在那裡。
要相信,使用這些類庫,你和你的代碼都會變得更好。
原文鏈接:
大三分方向了。嵌入式、java選擇哪個呢?
如果有毅力,我建議選嵌入式,花兩個月強化C語言,可參考,C和指針,C陷阱與缺陷等書。嵌入式需要對硬件熟悉,在大三,在ARM,51等體系結構和Linux上多下功夫。
如果感覺毅力不行,那就選JAVA,易學,工作上手快。
java寫的帶數據庫的程序如何在沒安裝數據庫的系統上運行
你的問題應該從兩個方面進行分析
第一、使用java內嵌式數據庫
在程序中使用
Derby和HSQLDB等java內嵌式數據庫,只需在程序中將數據庫配置好即可,是程序專用的。
可以達到你所說的java數據庫程序不需要配置在任何機器上運行。
但是,內嵌式數據庫的處理能力很低,只適合小數據量的程序使用。
第二、使用Oracle、MSSql、MySql等數據庫
首先這些數據庫軟件需要安裝,即使不在本機安裝也需要在一台可以訪問到的機器上安裝,然後使用jdbc訪問。
如果程序安裝在已經安裝這些數據庫的機器上,你只需要將程序的數據庫訪問指向本機即可。
但是,在本機安裝數據庫的機器很少,大部分都是訪問網絡上的數據庫,這就需要你引入配置文件。
在配置文件中進行參數配置。當然,你可以寫一些默認配置,當實際環境與默認配置不同時就需要修改默認配置。
所以說不用配置的程序其實是符合你默認配置的程序,你需要根據不同的系統或環境組織自己的默認配置文件。
沒有萬能的東西,只能是適應大部分,而且需要你在編寫程序時提前考慮針對各種運行環境的變化。
有問題請留言吧
原創文章,作者:BUVTR,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/330666.html