最新国产在线不卡AV,国产又爽又黄的视频免费看,精品综合久久久久久97,日韩欧美高清中文字幕免费一区二区

            科普

            java程序設(shè)計(jì)基礎(chǔ)知識(shí)有哪些_Java編程語(yǔ)言基礎(chǔ)知識(shí) IT知識(shí)

            電腦知識(shí)優(yōu)爾供稿

            Java虛擬機(jī)是一個(gè)可以執(zhí)行Java字節(jié)碼的虛擬機(jī)進(jìn)程。Java源文件被編譯成能被Java虛擬機(jī)執(zhí)行的字節(jié)碼文件。下面一起來(lái)看看9252兒童網(wǎng)小編為大家整理的java程序設(shè)計(jì)基礎(chǔ)知識(shí),歡迎閱讀,僅供參考。

            java程序員要掌握的知識(shí)

            1、Java編程的知識(shí)和技能、JEE體系的知識(shí)

            2、數(shù)據(jù)庫(kù)的基本知識(shí),包括Oracle和SqlServer和MySql

            3、Web開(kāi)發(fā)的知識(shí)和技能

            4、EJB組件開(kāi)發(fā)的知識(shí)和技能

            5、流行的Struts、Spring、Hibernate、Webwork、Ibatis開(kāi)發(fā)框架

            6、實(shí)用的Ant、Xdoclet、Log4j、Junit、Vss、Cvs等開(kāi)發(fā)工具

            7、工作流技術(shù)和實(shí)用的Shark、JBPM等工作流框架

            8、搜索引擎技術(shù)和實(shí)用的Lucene等搜索引擎框架

            8、WebService技術(shù)和SOA架構(gòu)

            10、AJAX技術(shù)和Dwr框架

            11、UML軟件工程的知識(shí)

            12、Java的設(shè)計(jì)模式,JEE的設(shè)計(jì)模式和JEE應(yīng)用程序框架設(shè)計(jì)

            13、好的編程思想和素質(zhì),IT學(xué)習(xí)的方法和技能

            14、眾多開(kāi)發(fā)工具的使用,開(kāi)發(fā)平臺(tái)和環(huán)境的配置

            15、完整的JEE項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn)和技能

            Java編程語(yǔ)言基礎(chǔ)知識(shí)

            一、先明白了解什么是Java的四個(gè)方面。

            初學(xué)者先弄清這些Java的基本概念也是必不可少的,死記硬背肯定是不行的,重在理解,理解它們之間的區(qū)別與聯(lián)系,分別有哪些應(yīng)用。想想這些代碼中用到了哪些知識(shí)點(diǎn)。不要一味地照著書(shū)本敲代碼。而不去理解。

            Java編程語(yǔ)言,即語(yǔ)法。

            Java文件格式,即各種文件夾、文件的后綴。

            Java虛擬機(jī)(JVM),即處理_.class文件的解釋器。

            Java應(yīng)用程序接口(Java API)。

            要知道java是分兩部分的:一個(gè)是編譯,一個(gè)是運(yùn)行。

            javac:負(fù)責(zé)的是編譯的部分,當(dāng)執(zhí)行javac時(shí),會(huì)啟動(dòng)java的編譯器程序。對(duì)指定擴(kuò)展名的.java文件進(jìn)行編譯。 生成了jvm可以識(shí)別的字節(jié)碼文件。也就是class文件,也就是java的運(yùn)行程序。

            java:負(fù)責(zé)運(yùn)行的部分.會(huì)啟動(dòng)jvm.加載運(yùn)行時(shí)所需的類(lèi)庫(kù),并對(duì)class文件進(jìn)行執(zhí)行.

            一個(gè)文件要被執(zhí)行,必須要有一個(gè)執(zhí)行的起始點(diǎn),這個(gè)起始點(diǎn)就是main函數(shù).

            二、掌握靜態(tài)方法和屬性

            靜態(tài)方法和屬性用于描述某一類(lèi)對(duì)象群體的特征,而不是單個(gè)對(duì)象的特征。Java中大量應(yīng)用了靜態(tài)方法和屬性,這是一個(gè)通常的技巧。但是這種技巧在很多語(yǔ)言中不被頻繁地使用。理解靜態(tài)方法和屬性對(duì)于理解類(lèi)與對(duì)象的關(guān)系是十分有幫助的,在大量的Java規(guī)范中,靜態(tài)方法和屬性被頻繁使用。因此學(xué)習(xí)者應(yīng)該理解靜態(tài)方法和屬性。Java在方法和屬性的調(diào)用上是一致的,區(qū)別只表現(xiàn)在聲明的時(shí)候,這和c++是不同的。

            三、初學(xué)者還需明白JAVA的三個(gè)技術(shù)平臺(tái)的關(guān)系。

            Java分為三個(gè)體系,分別為Java SE(J2SE,Java2 Platform Standard Edition,標(biāo)準(zhǔn)版)。

            JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企業(yè)版)。

            Java ME(J2ME,Java 2 Platform Micro Edition,微型版)。

            要知道java是分兩部分的:一個(gè)是編譯,一個(gè)是運(yùn)行。

            javac:負(fù)責(zé)的是編譯的部分,當(dāng)執(zhí)行javac時(shí),會(huì)啟動(dòng)java的編譯器程序。對(duì)指定擴(kuò)展名的.java文件進(jìn)行編譯。 生成了jvm可以識(shí)別的字節(jié)碼文件。也就是class文件,也就是java的運(yùn)行程序。

            java:負(fù)責(zé)運(yùn)行的部分.會(huì)啟動(dòng)jvm.加載運(yùn)行時(shí)所需的類(lèi)庫(kù),并對(duì)class文件進(jìn)行執(zhí)行.

            一個(gè)文件要被執(zhí)行,必須要有一個(gè)執(zhí)行的起始點(diǎn),這個(gè)起始點(diǎn)就是main函數(shù).

            四、掌握J(rèn)AVA代碼的基本格式

            1、Java注釋盡可能全面

            對(duì)于方法的注釋?xiě)?yīng)該包含詳細(xì)的入?yún)⒑徒Y(jié)果說(shuō)明,有異常拋出的情況也要詳細(xì)敘述:類(lèi)的注釋?xiě)?yīng)該包含類(lèi)的功能說(shuō)明、作者和修改者。

            2、多次使用的相同變量最好歸納成常量

            多處使用的相同值的變量應(yīng)該盡量歸納為一個(gè)常量,方便日后的維護(hù)。

            3、盡量少的在循環(huán)中執(zhí)行方法調(diào)用

            盡量在循環(huán)中少做一些可避免的方法調(diào)用,這樣可以節(jié)省方法棧的創(chuàng)建。例如:

            for(int i=0;i<list.size();i++){< p="">

            System.out.println(i);

            }

            可以修改為:

            for(int i=0,size=list.size();i<size;i++){< p="">

            System.out.println(i);

            }

            4、常量的定義可以放到接口中

            在Java中,接口里只允許存在常量,因此把常量放到接口中聲明就可以省去public static final這幾個(gè)關(guān)鍵詞。

            5、ArrayList和LinkedList的選擇

            這個(gè)問(wèn)題比較常見(jiàn)。通常程序員最好能夠?qū)ist的使用場(chǎng)景做出評(píng)估,然后根據(jù)特性作出選擇。ArrayList底層是使用數(shù)組實(shí)現(xiàn)的,因此隨機(jī)讀取數(shù)據(jù)會(huì)比LinkedList快很多,而LinkedList是使用鏈表實(shí)現(xiàn)的,新增和刪除數(shù)據(jù)的速度比ArrayList快不少。

            6、String,StringBuffer和StringBuilder

            這個(gè)問(wèn)題也比較常見(jiàn)。在進(jìn)行字符串拼接處理的時(shí)候,String通常會(huì)產(chǎn)生多個(gè)對(duì)象,而且將多個(gè)值緩存到常量池中。例如:

            String a=“a”;

            String b=“b”;

            a=a+b;

            這種情況下jvm會(huì)產(chǎn)生“a”,“b”,“ab”三個(gè)對(duì)象。而且字符串拼接的性能也很低。因此通常需要做字符串處理的時(shí)候盡量采用StringBuffer和StringBuilder來(lái)。

            7、包裝類(lèi)和基本類(lèi)型的選擇

            在代碼中,如果可以使用基本數(shù)據(jù)類(lèi)型來(lái)做局部變量類(lèi)型的話盡量使用基本數(shù)據(jù)類(lèi)型,因?yàn)榛绢?lèi)型的變量是存放在棧中的,包裝類(lèi)的變量是在堆中,棧的操作速度比堆快很多。

            8、盡早的將不再使用的變量引用賦給null

            這樣做可以幫助jvm更快的進(jìn)行內(nèi)存回收。當(dāng)然很多人其實(shí)對(duì)這種做法并不感冒。

            9、在finally塊中對(duì)資源進(jìn)行釋放

            典型的場(chǎng)景是使用io流的時(shí)候,不論是否出現(xiàn)異常最后都應(yīng)該在finally中對(duì)流進(jìn)行關(guān)閉。

            10、在HashMap中使用一個(gè)Object作為key時(shí)要注意如何區(qū)分Object是否相同

            在jdk的HashMap實(shí)現(xiàn)中,判斷兩個(gè)Object類(lèi)型的key是否相同的標(biāo)準(zhǔn)是hashcode是否相同和equals方法的返回值。如果業(yè)務(wù)上需要對(duì)兩個(gè)數(shù)據(jù)相同的內(nèi)存對(duì)象當(dāng)作不同的key存儲(chǔ)到hashmap中就要對(duì)hashcode和equals方法進(jìn)行覆蓋。

            Java描述復(fù)雜數(shù)據(jù)結(jié)構(gòu)的主要方式是集合框架。Java沒(méi)有指針,而是通過(guò)強(qiáng)大的集合框架描述數(shù)組、對(duì)象數(shù)組等復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。學(xué)好這些數(shù)據(jù)結(jié)構(gòu)的描述方法對(duì)于應(yīng)用程序編寫(xiě),特別是涉及到服務(wù)器方、3層結(jié)構(gòu)編程至關(guān)重要。程序員在這個(gè)時(shí)候不能再用諸如數(shù)據(jù)庫(kù)結(jié)果集之類(lèi)的結(jié)構(gòu)描述數(shù)據(jù)了。

            Java工程師需要具備什么技能

            1、夯實(shí)的java基礎(chǔ)

            當(dāng)前的java新技術(shù)層出不窮,各企業(yè)的有不同的側(cè)重點(diǎn),根據(jù)企業(yè)用人的需求,只有具備堅(jiān)實(shí)的java基礎(chǔ)功底的程序員才能快速掌握新的技術(shù)。需要在核心算法、面向?qū)ο髴?yīng)用、數(shù)據(jù)結(jié)合及集合框架、反射、輸入輸出、多線程、異常處理等方面進(jìn)行深入學(xué)習(xí)。

            2、熟悉Linux操作系統(tǒng)

            Linux是當(dāng)今用作廣泛的服務(wù)器操作系統(tǒng)。合格的java高級(jí)工程師必須具備熟練地Linux操作技巧,這也正是在企業(yè)面試中獲得加分的重要指標(biāo)之一。

            3、深入學(xué)習(xí)數(shù)據(jù)庫(kù)技術(shù)

            互聯(lián)網(wǎng)公司對(duì)Java應(yīng)用離不開(kāi)數(shù)據(jù)庫(kù)技術(shù)。任何一個(gè)大中型應(yīng)用,數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞、數(shù)據(jù)庫(kù)訪問(wèn)的效率直接決定了該項(xiàng)目的成敗。當(dāng)前數(shù)據(jù)庫(kù)最主流的技術(shù)有Oracle和MySQL兩種,除了能熟練應(yīng)用數(shù)據(jù)庫(kù)體系結(jié)構(gòu)和SQL語(yǔ)句之外,還要掌握數(shù)據(jù)庫(kù)設(shè)計(jì)、SQL語(yǔ)句優(yōu)化方面。

            4、系統(tǒng)的Web前端技術(shù)

            隨著互聯(lián)網(wǎng)技術(shù)由Web2.0向Web3.0邁進(jìn),Web前端技術(shù),包括HTML、CSS特別是java script語(yǔ)言越來(lái)越被企業(yè)重視。很多企業(yè)為此設(shè)置“Web前端工程師”崗位,所以作為一名合格的java高級(jí)工程師要不斷學(xué)習(xí)包括java script在內(nèi)的Java知識(shí)還有其相關(guān)的Ajax、JQuery框架、Ext-JS框架。

            5、企業(yè)及框架

            Java是組件和框架的世界,所有的java程序員都應(yīng)當(dāng)了解java框架。

            6、專(zhuān)門(mén)的企業(yè)級(jí)開(kāi)發(fā)及部署環(huán)境

            企業(yè)在開(kāi)發(fā)、測(cè)試、部署實(shí)際項(xiàng)目時(shí)需要有特定的軟件環(huán)境,但是很多技術(shù)人員往往不太重視這個(gè),所以在工作中會(huì)出現(xiàn)很多問(wèn)題和失誤甚至被淘汰。因此,作為java工程師對(duì)Linux高級(jí)命令集腳本編程、遠(yuǎn)程登錄、Art、單元測(cè)試技術(shù)、Maven構(gòu)建技術(shù)、SVN應(yīng)用技術(shù)等要有所了解。

            7、規(guī)范的企業(yè)開(kāi)發(fā)流程及文檔

            軟件開(kāi)發(fā)是團(tuán)隊(duì)合作,因此企業(yè)開(kāi)發(fā)流程和文檔規(guī)范尤為重要。這也是區(qū)分“草根程序員”和“正規(guī)程序員”的重要指標(biāo)之一。開(kāi)發(fā)項(xiàng)目項(xiàng)目無(wú)論大小都應(yīng)該按照企業(yè)開(kāi)發(fā)的流程進(jìn)行(需求分析、系統(tǒng)設(shè)計(jì)、編碼實(shí)現(xiàn)、單元測(cè)試、系統(tǒng)測(cè)試、部署上線)。

              為你推薦