java基礎(chǔ)知識有哪些_Java程序員必須掌握知識 IT知識
電腦知識 由優(yōu)爾供稿Java作為一門受歡迎的語言之一,在IT行業(yè)中的前景也是非常好的,java的薪資也讓人心動,越來越多的人想從事java相關(guān)行業(yè)。下面一起來看看9252兒童網(wǎng)小編為大家整理的java基礎(chǔ)知識,歡迎閱讀,僅供參考。
Java核心基礎(chǔ)知識
1、先了解什么是Java的四個方面
初學(xué)者先弄清這些Java的基本概念也是必不可少的,死記硬背肯定是不行的,重在理解,理解它們之間的區(qū)別與聯(lián)系,分別有哪些應(yīng)用。想想這些代碼中用到了哪些知識點(diǎn)。不要一味地照著書本敲代碼。而不去理解。
1.Java編程語言,即語法。
2.Java文件格式,即各種文件夾、文件的后綴。
3.Java虛擬機(jī)(JVM),即處理*.class文件的解釋器。
4.Java應(yīng)用程序接口(Java API)。
2、掌握靜態(tài)方法和屬性
靜態(tài)方法和屬性用于描述某一類對象群體的特征,而不是單個對象的特征。Java中大量應(yīng)用了靜態(tài)方法和屬性,這是一個通常的技巧。但是這種技巧在很多語言中不被頻繁地使用。
理解靜態(tài)方法和屬性對于理解類與對象的關(guān)系是十分有幫助的,在大量的Java規(guī)范中,靜態(tài)方法和屬性被頻繁使用。因此學(xué)習(xí)者應(yīng)該理解靜態(tài)方法和屬性。Java在方法和屬性的調(diào)用上是一致的,區(qū)別只表現(xiàn)在聲明的時候,這和c++是不同的。
3、初學(xué)者還需明白JAVA的三個技術(shù)平臺的關(guān)系
Java分為三個體系,分別為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是分兩部分的:一個是編譯,一個是運(yùn)行。
javac:負(fù)責(zé)的是編譯的部分,當(dāng)執(zhí)行javac時,會啟動java的編譯器程序。對指定擴(kuò)展名的.java文件進(jìn)行編譯。 生成了jvm可以識別的字節(jié)碼文件。也就是class文件,也就是java的運(yùn)行程序。
java:負(fù)責(zé)運(yùn)行的部分.會啟動jvm.加載運(yùn)行時所需的類庫,并對class文件進(jìn)行執(zhí)行.一個文件要被執(zhí)行,必須要有一個執(zhí)行的起始點(diǎn),這個起始點(diǎn)就是main函數(shù)。
4、掌握J(rèn)AVA代碼的基本格式
1、Java注釋盡可能全面
對于方法的注釋應(yīng)該包含詳細(xì)的入?yún)⒑徒Y(jié)果說明,有異常拋出的情況也要詳細(xì)敘述:類的注釋應(yīng)該包含類的功能說明、作者和修改者。
2、多次使用的相同變量最好歸納成常量
多處使用的相同值的變量應(yīng)該盡量歸納為一個常量,方便日后的維護(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這幾個關(guān)鍵詞。
5、ArrayList和LinkedList的選擇
這個問題比較常見。通常程序員最好能夠?qū)ist的使用場景做出評估,然后根據(jù)特性作出選擇。ArrayList底層是使用數(shù)組實(shí)現(xiàn)的,因此隨機(jī)讀取數(shù)據(jù)會比LinkedList快很多,而LinkedList是使用鏈表實(shí)現(xiàn)的,新增和刪除數(shù)據(jù)的速度比ArrayList快不少。
6、String,StringBuffer和StringBuilder
這個問題也比較常見。在進(jìn)行字符串拼接處理的時候,String通常會產(chǎn)生多個對象,而且將多個值緩存到常量池中。例如:
String a=“a”;
String b=“b”;
a=a+b;
這種情況下jvm會產(chǎn)生“a”,“b”,“ab”三個對象。而且字符串拼接的性能也很低。因此通常需要做字符串處理的時候盡量采用StringBuffer和StringBuilder來。
7、包裝類和基本類型的選擇
在代碼中,如果可以使用基本數(shù)據(jù)類型來做局部變量類型的話盡量使用基本數(shù)據(jù)類型,因?yàn)榛绢愋偷淖兞渴谴娣旁跅V械?,包裝類的變量是在堆中,棧的操作速度比堆快很多。
8、盡早的將不再使用的變量引用賦給null
這樣做可以幫助jvm更快的進(jìn)行內(nèi)存回收。當(dāng)然很多人其實(shí)對這種做法并不感冒。
9、在finally塊中對資源進(jìn)行釋放
典型的場景是使用io流的時候,不論是否出現(xiàn)異常最后都應(yīng)該在finally中對流進(jìn)行關(guān)閉。
10、在HashMap中使用一個Object作為key時要注意如何區(qū)分Object是否相同
在jdk的HashMap實(shí)現(xiàn)中,判斷兩個Object類型的key是否相同的標(biāo)準(zhǔn)是hashcode是否相同和equals方法的返回值。如果業(yè)務(wù)上需要對兩個數(shù)據(jù)相同的內(nèi)存對象當(dāng)作不同的key存儲到hashmap中就要對hashcode和equals方法進(jìn)行覆蓋。
Java描述復(fù)雜數(shù)據(jù)結(jié)構(gòu)的主要方式是集合框架。Java沒有指針,而是通過強(qiáng)大的集合框架描述數(shù)組、對象數(shù)組等復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。
學(xué)好這些數(shù)據(jù)結(jié)構(gòu)的描述方法對于應(yīng)用程序編寫,特別是涉及到服務(wù)器方、3層結(jié)構(gòu)編程至關(guān)重要。程序員在這個時候不能再用諸如數(shù)據(jù)庫結(jié)果集之類的結(jié)構(gòu)描述數(shù)據(jù)了。
由于很多語言沒有這么強(qiáng)大的集合框架體系,很多初學(xué)者不知所措,更不知道拿來做什么用,因此應(yīng)該引起足夠的重視。
Java程序員必須掌握這些知識
1、語法:
必須比較熟悉,在寫代碼的時候 IDE 的編輯器對某一行報錯應(yīng)該能夠根據(jù)報錯信息知道是什么樣的語法錯誤并且知道任何修正。
2、命令:
必須熟悉JDK帶的一些常用命令及其常用選項,命令至少需要熟悉:appletviewer、 HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii、serialver,如果這些命令你沒有全部使用過,那么你對java 實(shí)際上還很不了解。
3、工具:
必須至少熟練使用一種 IDE的開發(fā)工具,例如 Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator 或者 Workshop,包括進(jìn)行工程管理、常用選項的設(shè)置、插件的安裝配置以及進(jìn)行調(diào)試。
4、API:
Java 的核心 API 是非常龐大的,但是有一些內(nèi)容筆者認(rèn)為是必須熟悉的,否則不可能熟練的運(yùn)用 Java,包括:
1)、java.lang 包下的 80%以上的類的功能的靈活運(yùn)用。
2)、java.util 包下的 80%以上的類的靈活運(yùn)用,特別是集合類體系、規(guī)則表達(dá)式、zip、以及時間、 隨機(jī)數(shù)、屬性、資源和 Timer。
3)、java.io 包下的 60%以上的類的使用,理解 IO體系的基于管道模型的設(shè)計思路以及常用 IO類的 特性和使用場合。
4)、java.math 包下的 100%的內(nèi)容。
5)、java.net 包下的 60%以上的內(nèi)容,對各個類的功能比較熟悉。
6)、java.text 包下的 60%以上的內(nèi)容,特別是各種格式化類。
7)、熟練運(yùn)用 JDBC。
8)、java.security 包下 40%以上的內(nèi)容,如果對于安全沒有接觸的話根本就不可能掌握 java。 9)、AWT 的基本內(nèi)容,包括各種組件事件、監(jiān)聽器、布局管理器、常用組件、打印。
10)、Swing 的基本內(nèi)容,和 AWT 的要求類似。
11)、XML 處理,熟悉 SAX、DOM 以及 JDOM的優(yōu)缺點(diǎn)并且能夠使用其中的一種完成 XML 的解析 及內(nèi)容處理。
5、測試:
必須熟悉使用 junit 編寫測試用例完成代碼的自動測試。
6、管理:
必須熟悉使用 ant完成工程管理的常用任務(wù),例如工程編譯、生成 javadoc、生成 jar、版本 控制、自動測試。
7、排錯:
應(yīng)該可以根據(jù)異常信息比較快速的定位問題的原因和大致位置。
8、思想:
必須掌握 OOP 的主要要求,這樣使用 Java 開發(fā)的系統(tǒng)才能是真正的 Java 系統(tǒng)。
9、規(guī)范:
編寫的代碼必須符合流行的編碼規(guī)范,例如類名首字母大寫,成員和方法名首字母小寫,方法名的第一個單詞一般是動詞,包名全部小寫等,這樣程序的可讀性才比較好。
學(xué)習(xí)java需要哪些基礎(chǔ)知識
1、web開發(fā)
全面的JEE的web開發(fā)知識:Servlet+JSP+javaBean+TagLib,到這里做一個完整的web應(yīng)用項目開發(fā)。
2、J2EE基礎(chǔ)
j2ee說白了就是做網(wǎng)頁,這時候你要從先從java里脫身出來,學(xué)些跟網(wǎng)頁有關(guān)的東西:
html:很簡單的東西不是太笨的話半天左右即可搞定
js:易學(xué)難精,想速度找工作不必花太多時間,隨便買本java書略讀并備查推薦:Java高級程序設(shè)計;Java權(quán)威指南
數(shù)據(jù)庫:如果沒有基礎(chǔ)的話,建議多花時間,至少一個月,開始建議用mysql,然后是oracle,然后是sqlserver,這段時間最關(guān)鍵的就是sql語言的編寫。
xml 就是一種封裝數(shù)據(jù)的格式,沒啥好學(xué)的,練習(xí)一下怎么用dom4j或者jdom讀寫xml即可。
jsp,servlet,tomcat: 這段時間說白了就是用jsp來做個網(wǎng)站。
3、EJB開發(fā)
包含全面的EJB知識:1)EJB入門和無狀態(tài)會話Bean;2)有狀態(tài)會話Bean;3)BMP和CMP是實(shí)體Bean;4)jms和MessageDrivenBean;5)事物和安全(JTA、JTS和JAAS);6)WebService的開發(fā)和應(yīng)用;
要會使用主流框架
框架其實(shí)就是一些公共的工具和方法,被封裝到一個盒子中供您隨時調(diào)用,框架也是別人用java編寫的,相當(dāng)于你調(diào)用別人寫好的公共模塊,可以節(jié)省時間和效率。
主要是3大框架:
mvc框架:struts,struts2,jsf
or映射框架:hibernate,ibatis
業(yè)務(wù)框架:spring
重量級框架:ejb
- IT運(yùn)維管理知識有哪些_it基礎(chǔ)知識
- IT基礎(chǔ)知識有哪些_IT互聯(lián)網(wǎng)基礎(chǔ)知識術(shù)語
- c語言基礎(chǔ)知識都有哪些_C語言的概述
- 關(guān)于it常用的基礎(chǔ)知識有哪些
- 有關(guān)IT基本知識有哪些
- 有關(guān)c語言入門的基礎(chǔ)知識有哪些
- 有關(guān)c語言入門基礎(chǔ)知識
- 關(guān)于c語言基礎(chǔ)知識有哪些
- 關(guān)于c語言基礎(chǔ)知識教程
- 有關(guān)c語言入門基礎(chǔ)知識有哪些
- 有關(guān)IT常用基礎(chǔ)知識有哪些
- 關(guān)于c語言基本知識有哪些