[TOC]
1.1 軟件開(kāi)發(fā)介紹
軟件開(kāi)發(fā)
軟件领跛,即一系列按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的集合事甜。有系統(tǒng)軟件和應(yīng)用軟件之分。
人機(jī)交互方式
圖形化界面(Graphical User Interface GUI)這種方式簡(jiǎn)單直觀,使用者易于接受哭当,容易上手操作低千。
命令行方式(Command Line Interface CLI):需要有一個(gè)控制臺(tái)配阵,輸入特定的指令,讓計(jì)算機(jī)完成一些操作示血。較為麻煩棋傍,需要記錄住一些命令。
==Pascal之父Nicklaus Wirth: “Algorithms+Data Structures=Programs”==
常用的DOS命令
dir : 列出當(dāng)前目錄下的文件以及文件夾
md : 創(chuàng)建目錄
rd : 刪除目錄
cd : 進(jìn)入指定目錄
cd.. : 退回到上一級(jí)目錄
cd\: 退回到根目錄
del : 刪除文件
exit : 退出 dos 命令行
補(bǔ)充:echo javase>1.doc
常用快捷鍵
← →:移動(dòng)光標(biāo)
↑ ↓:調(diào)閱歷史操作命令
Delete和Backspace:刪除字符
1-2 計(jì)算機(jī)編程語(yǔ)言介紹
什么是計(jì)算機(jī)語(yǔ)言
語(yǔ)言:是人與人之間用于溝通的一種方式难审。例如:中國(guó)人與中國(guó)人用普通話溝通瘫拣。而中國(guó)人要和英國(guó)人交流,就要學(xué)習(xí)英語(yǔ)告喊。
計(jì)算機(jī)語(yǔ)言:人與計(jì)算機(jī)交流的方式麸拄。
如果人要與計(jì)算機(jī)交流,那么就要學(xué)習(xí)計(jì)算機(jī)語(yǔ)言黔姜。
計(jì)算機(jī)語(yǔ)言有很多種拢切。如:C ,C++ ,Java ,PHP , Kotlin,Python秆吵,Scala等淮椰。第一代語(yǔ)言
機(jī)器語(yǔ)言。指令以二進(jìn)制代碼形式存在。第二代語(yǔ)言
匯編語(yǔ)言主穗。使用助記符表示一條機(jī)器指令泻拦。
- 第三代語(yǔ)言:高級(jí)語(yǔ)言
C、Pascal黔牵、Fortran面向過(guò)程的語(yǔ)言
C++面向過(guò)程/面向?qū)ο?br> Java跨平臺(tái)的純面向?qū)ο蟮恼Z(yǔ)言
.NET跨語(yǔ)言的平臺(tái)
Python聪轿、Scala…
1-3 Java語(yǔ)言概述
- 是SUN(Stanford University Network,斯坦福大學(xué)網(wǎng)絡(luò)公司 ) 1995年推出的一門高級(jí)編程語(yǔ)言猾浦。
- 是一種面向Internet的編程語(yǔ)言陆错。Java一開(kāi)始富有吸引力是因?yàn)镴ava程序可以在Web瀏覽器中運(yùn)行。這些Java程序被稱為Java小程序(applet)金赦。applet使用現(xiàn)代的圖形用戶界面與Web用戶進(jìn)行交互音瓷。 applet內(nèi)嵌在HTML代碼中。
- 隨著Java技術(shù)在web方面的不斷成熟夹抗,已經(jīng)成為Web應(yīng)用程序的首選開(kāi)發(fā)語(yǔ)言
后臺(tái)開(kāi)發(fā):Java绳慎、PHP、Python漠烧、Go杏愤、Node.js
Java語(yǔ)言概述:Java簡(jiǎn)史
1991年 Green項(xiàng)目,開(kāi)發(fā)語(yǔ)言最初命名為Oak (橡樹(shù))
1994年已脓,開(kāi)發(fā)組意識(shí)到Oak 非常適合于互聯(lián)網(wǎng)
1996年珊楼,發(fā)布JDK 1.0,約8.3萬(wàn)個(gè)網(wǎng)頁(yè)應(yīng)用Java技術(shù)來(lái)制作
1997年度液,發(fā)布JDK 1.1厕宗,JavaOne會(huì)議召開(kāi),創(chuàng)當(dāng)時(shí)全球同類會(huì)議規(guī)模之最
1998年堕担,發(fā)布JDK 1.2已慢,同年發(fā)布企業(yè)平臺(tái)J2EE
1999年,Java分成J2SE霹购、J2EE和J2ME佑惠,JSP/Servlet技術(shù)誕生
2004年,發(fā)布里程碑式版本:JDK 1.5厕鹃,為突出此版本的重要性兢仰,更名為JDK 5.0
2005年,J2SE -> JavaSE剂碴,J2EE -> JavaEE,J2ME -> JavaME
2009年轻专,Oracle公司收購(gòu)SUN忆矛,交易價(jià)格74億美元
2011年,發(fā)布JDK 7.0
2014年,發(fā)布JDK 8.0催训,是繼JDK 5.0以來(lái)變化最大的版本
2017年洽议,發(fā)布JDK 9.0,最大限度實(shí)現(xiàn)模塊化
2018年3月漫拭,發(fā)布JDK 10.0亚兄,版本號(hào)也稱為18.3
2018年9月,發(fā)布JDK 11.0采驻,版本號(hào)也稱為18.9
Java技術(shù)體系平臺(tái)
1-3 Java在各領(lǐng)域的應(yīng)用
從Java的應(yīng)用領(lǐng)域來(lái)分审胚,Java語(yǔ)言的應(yīng)用方向主要表現(xiàn)在以下幾個(gè)方面:
- 企業(yè)級(jí)應(yīng)用:主要指復(fù)雜的大企業(yè)的軟件系統(tǒng)、各種類型的網(wǎng)站礼旅。Java的安全機(jī)制以及它的跨平臺(tái)的優(yōu)勢(shì)膳叨,使它在分布式系統(tǒng)領(lǐng)域開(kāi)發(fā)中有廣泛應(yīng)用。應(yīng)用領(lǐng)域包括金融痘系、電信菲嘴、交通、電子商務(wù)等汰翠。
- Android平臺(tái)應(yīng)用:Android應(yīng)用程序使用Java語(yǔ)言編寫龄坪。Android開(kāi)發(fā)水平的高低很大程度上取決于Java語(yǔ)言核心能力是否扎實(shí)。
- 大數(shù)據(jù)平臺(tái)開(kāi)發(fā):各類框架有Hadoop复唤,spark健田,storm,flink等苟穆,就這類技術(shù)生態(tài)圈來(lái)講抄课,還有各種中間件如flume,kafka雳旅,sqoop等等 跟磨,這些框架以及工具大多數(shù)是用Java編寫而成,但提供諸如Java攒盈,scala抵拘,Python,R等各種語(yǔ)言API供編程型豁。
- 移動(dòng)領(lǐng)域應(yīng)用:主要表現(xiàn)在消費(fèi)和嵌入式領(lǐng)域僵蛛,是指在各種小型設(shè)備上的應(yīng)用,包括手機(jī)迎变、PDA充尉、機(jī)頂盒、汽車通信設(shè)備等衣形。
Java語(yǔ)言的誕生
java之父James Gosling團(tuán)隊(duì)在開(kāi)發(fā)”Green”項(xiàng)目時(shí)驼侠,發(fā)現(xiàn)C缺少垃圾回收系統(tǒng)姿鸿,還有可移植的安全性、分布程序設(shè)計(jì)和多線程功能倒源。最后苛预,他們想要一種易于移植到各種設(shè)備上的平臺(tái)。
Java確實(shí)是從C語(yǔ)言和C++語(yǔ)言繼承了許多成份笋熬,甚至可以將Java看成是類C語(yǔ)言發(fā)展和衍生的產(chǎn)物热某。比如Java語(yǔ)言的變量聲明,操作符形式胳螟,參數(shù)傳遞昔馋,流程控制等方面和C語(yǔ)言、C++語(yǔ)言完全相同旺隙。但同時(shí)绒极,Java是一個(gè)純粹的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它繼承了C++語(yǔ)言面向?qū)ο蠹夹g(shù)的核心蔬捷。Java舍棄了C語(yǔ)言中容易引起錯(cuò)誤的指針(以引用取代)垄提、運(yùn)算符重載(operator overloading)、多重繼承(以接口取代)等特性周拐,增加了垃圾回收器功能用于回收不再被引用的對(duì)象所占據(jù)的內(nèi)存空間铡俐。
JDK1.5又引入了泛型編程(Generic Programming)、類型安全的枚舉妥粟、不定長(zhǎng)參數(shù)和自動(dòng)裝/拆箱
主要特性
- Java語(yǔ)言是易學(xué)的审丘。Java語(yǔ)言的語(yǔ)法與C語(yǔ)言和C++語(yǔ)言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java勾给。
- Java語(yǔ)言是強(qiáng)制面向?qū)ο蟮奶脖āava語(yǔ)言提供類、接口和繼承等原語(yǔ)播急,為了簡(jiǎn)單起見(jiàn)脓钾,只支持類之間的單繼承,但支持接口之間的多繼承桩警,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements)可训。
- Java語(yǔ)言是分布式的。Java語(yǔ)言支持Internet應(yīng)用的開(kāi)發(fā)捶枢,在基本的Java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口(java net)握截,它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫(kù),包括URL烂叔、URLConnection谨胞、Socket、ServerSocket等蒜鸡。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開(kāi)發(fā)分布式應(yīng)用的重要手段畜眨。
- Java語(yǔ)言是健壯的昼牛。Java的強(qiáng)類型機(jī)制术瓮、異常處理康聂、垃圾的自動(dòng)收集等是Java程序健壯性的重要保證。對(duì)指針的丟棄是Java的明智選擇胞四。
- Java語(yǔ)言是安全的恬汁。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此辜伟,Java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊氓侧。如:安全防范機(jī)制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類导狡、字節(jié)代碼檢查约巷。
- Java語(yǔ)言是體系結(jié)構(gòu)中立的。Java程序(后綴為java的文件)在Java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件)旱捧,然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行独郎。
- Java語(yǔ)言是解釋型的。如前所述枚赡,Java程序在Java平臺(tái)上被編譯為字節(jié)碼格式氓癌,然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)的解釋器中運(yùn)行。
- Java是性能略高的贫橙。與那些解釋型的高級(jí)腳本語(yǔ)言相比贪婉,Java的性能還是較優(yōu)的。
- Java語(yǔ)言是原生支持多線程的卢肃。在Java語(yǔ)言中疲迂,線程是一種特殊的對(duì)象,它必須由Thread類或其子(孫)類來(lái)創(chuàng)建莫湘。
1-4 Java程序運(yùn)行機(jī)制及運(yùn)行過(guò)程
Java語(yǔ)言的特點(diǎn)
- 特點(diǎn)一:面向?qū)ο?br>
兩個(gè)基本概念:類尤蒿、對(duì)象
三大特性:封裝、繼承逊脯、多態(tài) - 特點(diǎn)二:健壯性
吸收了C/C++語(yǔ)言的優(yōu)點(diǎn)优质,但去掉了其影響程序健壯性的部分(如指針、內(nèi)存的申請(qǐng)與釋放等)军洼,提供了一個(gè)相對(duì)安全的內(nèi)存管理和訪問(wèn)機(jī)制 - 特點(diǎn)三:跨平臺(tái)性
跨平臺(tái)性:通過(guò)Java語(yǔ)言編寫的應(yīng)用程序在不同的系統(tǒng)平臺(tái)上都可以運(yùn)行巩螃。“Write once , Run Anywhere”
原理:只要在需要運(yùn)行 java 應(yīng)用程序的操作系統(tǒng)上匕争,先安裝一個(gè)Java虛擬機(jī) (JVM Java Virtual Machine) 即可避乏。由JVM來(lái)負(fù)責(zé)Java程序在該系統(tǒng)中的運(yùn)行。
Java兩種核心機(jī)制
- Java虛擬機(jī) (Java Virtal Machine)
JVM是一個(gè)虛擬的計(jì)算機(jī)甘桑,具有指令集并使用不同的存儲(chǔ)區(qū)域拍皮。負(fù)責(zé)執(zhí)行指令歹叮,管理數(shù)據(jù)、內(nèi)存铆帽、寄存器咆耿。
對(duì)于不同的平臺(tái),有不同的虛擬機(jī)爹橱。
只有某平臺(tái)提供了對(duì)應(yīng)的java虛擬機(jī)萨螺,java程序才可在此平臺(tái)運(yùn)行
Java虛擬機(jī)機(jī)制屏蔽了底層運(yùn)行平臺(tái)的差別,實(shí)現(xiàn)了“一次編譯愧驱,到處運(yùn)行”
- 垃圾收集機(jī)制 (Garbage Collection)
不再使用的內(nèi)存空間應(yīng)回收—— 垃圾回收淆珊。
- 在C/C++等語(yǔ)言中躯概,由程序員負(fù)責(zé)回收無(wú)用內(nèi)存呵俏。
- Java 語(yǔ)言消除了程序員回收無(wú)用內(nèi)存空間的責(zé)任:它提供一種系統(tǒng)級(jí)線程跟蹤存儲(chǔ)空間的分配情況利职。并在JVM空閑時(shí),檢查并釋放那些可被釋放的存儲(chǔ)空間糟红。
垃圾回收在Java程序運(yùn)行過(guò)程中自動(dòng)進(jìn)行艾帐,程序員無(wú)法精確控制和干預(yù)。
Java程序還會(huì)出現(xiàn)內(nèi)存泄漏和內(nèi)存溢出問(wèn)題嗎改化?==Yes!==
1-5 Java語(yǔ)言的環(huán)境搭建
明確什么是JDK, JRE
==簡(jiǎn)單而言掩蛤,使用JDK的開(kāi)發(fā)工具完成的java程序,交給JRE去運(yùn)行陈肛。==
- JDK = JRE + 開(kāi)發(fā)工具集(例如Javac編譯工具等)
- JRE = JVM + Java SE標(biāo)準(zhǔn)類庫(kù)
下載 JDK
官方網(wǎng)址:
安裝JDK
- 傻瓜式安裝揍鸟,下一步即可。
- 建議:安裝路徑不要有中文或者空格等特殊符號(hào)句旱。
- 如果操作系統(tǒng)是64位的阳藻,軟件盡量選擇支持64位的(除非軟件本身不區(qū)分)。
- 當(dāng)提示安裝 JRE 時(shí)谈撒,正常在JDK安裝時(shí)已經(jīng)裝過(guò)了腥泥,但是為了后續(xù)使用Eclipse等開(kāi)發(fā)工具不報(bào)錯(cuò),建議也根據(jù)提示安裝JRE啃匿。
- 安裝 JDK
配置環(huán)境變量
在dos命令行中敲入javac蛔外,出現(xiàn)錯(cuò)誤提示:
錯(cuò)誤原因:當(dāng)前執(zhí)行的程序在當(dāng)前目錄下如果不存在,windows系統(tǒng)會(huì)在系統(tǒng)中已有的一個(gè)名為path的環(huán)境變量指定的目錄中查找溯乒。如果仍未找到夹厌,會(huì)出現(xiàn)以上的錯(cuò)誤提示。所以進(jìn)入到 jdk安裝路徑\bin目錄下裆悄,執(zhí)行javac矛纹,會(huì)看到j(luò)avac參數(shù)提示信息。
配置環(huán)境變量 path
- path:windows系統(tǒng)執(zhí)行命令時(shí)要搜尋的路徑光稼。
每次執(zhí)行 java 的工具都要進(jìn)入到bin目錄下或南,是非常麻煩的孩等。可不可以在任何目錄下都可以執(zhí)行java的工具呢采够?
根據(jù)windows系統(tǒng)在查找可執(zhí)行程序的原理肄方,可以將java工具所在路徑定義到 path 環(huán)境變量中,讓系統(tǒng)幫我們?nèi)フ疫\(yùn)行執(zhí)行的程序吁恍。
配置方法: - 我的電腦--屬性--高級(jí)系統(tǒng)設(shè)置--環(huán)境變量
- 編輯 path 環(huán)境變量扒秸,在變量值開(kāi)始處加上java工具所在目錄,后面用 “ ; ”和其他值分隔開(kāi)即可冀瓦。
- 打開(kāi)DOS命令行,任意目錄下敲入javac写烤。如果出現(xiàn)javac 的參數(shù)信息翼闽,配置成功。
注: 具體操作流程洲炊,參看JDK8下載安裝配置(點(diǎn)擊跳轉(zhuǎn))
驗(yàn)證是否成功:javac java
1-6 開(kāi)發(fā)體驗(yàn)— HelloWorld
- 步驟:
1.將 Java 代碼編寫到擴(kuò)展名為 .java 的文件中感局。
2.通過(guò) javac 命令對(duì)該 java 文件進(jìn)行編譯。
通過(guò) java 命令對(duì)生成的 class 文件進(jìn)行運(yùn)行
- 步驟一:編寫
選擇最簡(jiǎn)單的編輯器:記事本暂衡。
敲入代碼 class Test{ }
將文件保存成Test.java询微,這個(gè)文件是存放java代碼的文件,稱為源文件狂巢。
第一個(gè)Java程序
public class Test{
public static void main(String[] args) {
System.out.println(“Hello World!”);
}
}
步驟二:編譯
- 有了java源文件撑毛,通過(guò)編譯器將其編譯成JVM可以識(shí)別的字節(jié)碼文件。
- 在該源文件目錄下唧领,通過(guò)javac編譯工具對(duì)Test.java文件進(jìn)行編譯藻雌。
- 如果程序沒(méi)有錯(cuò)誤,沒(méi)有任何提示斩个,但在當(dāng)前目錄下會(huì)出現(xiàn)一個(gè)Test.class文件胯杭,該文件稱為字節(jié)碼文件,也是可以執(zhí)行的java的程序受啥。
步驟三:運(yùn)行
- 有了可執(zhí)行的java程序(Test.class字節(jié)碼文件)
- 通過(guò)運(yùn)行工具java.exe對(duì)字節(jié)碼文件進(jìn)行執(zhí)行做个。
- 出現(xiàn)提示:缺少一個(gè)名稱為main的方法。
- 因?yàn)橐粋€(gè)程序的執(zhí)行需要一個(gè)起始點(diǎn)或者入口滚局,所以在Test類中的加入public static void main(String[] args){ }
- 對(duì)修改后的Test.java源文件需要重新編譯居暖,生成新的class文件后,再進(jìn)行執(zhí)行核畴。
- 發(fā)現(xiàn)沒(méi)有編譯失敗膝但,但也沒(méi)有任何效果,因?yàn)椴](méi)有告訴JVM要幫我們做什么事情谤草,也就是沒(méi)有可以具體執(zhí)行的語(yǔ)句跟束。
- 想要和JVM來(lái)個(gè)互動(dòng)莺奸,只要在main方法中加入一句System.out.println(“Hello World");因?yàn)槌绦蜻M(jìn)行改動(dòng),所以再重新編譯冀宴,運(yùn)行即可灭贷。
1-7 常見(jiàn)問(wèn)題及解決方法
?源文件名不存在或者寫錯(cuò)
?當(dāng)前路徑錯(cuò)誤
?后綴名隱藏問(wèn)題
?類文件名寫錯(cuò),尤其文件名與類名不一致時(shí)略贮,要小心
?類文件不在當(dāng)前路徑下甚疟,或者不在classpath指定路徑下
?聲明為public的類應(yīng)與文件名一致,否知編譯失敗
?編譯失敗逃延,注意錯(cuò)誤出現(xiàn)的行數(shù)览妖,再到源代碼中指定位置改錯(cuò)
小總結(jié):
學(xué)習(xí)編程最容易犯的錯(cuò)是語(yǔ)法錯(cuò)誤。Java要求你必須按照語(yǔ)法規(guī)則編寫代碼揽祥。如果你的程序違反了語(yǔ)法規(guī)則讽膏,例如:忘記了分號(hào)、大括號(hào)拄丰、引號(hào)府树,或者拼錯(cuò)了單詞,java編譯器都會(huì)報(bào)語(yǔ)法錯(cuò)誤料按。嘗試著去看懂編譯器會(huì)報(bào)告的錯(cuò)誤信息奄侠。
1-8 注釋(Comment)
用于注解說(shuō)明解釋程序的文字就是注釋。
Java中的注釋類型:
單行注釋 格式: //注釋文字
多行注釋 格式: /* 注釋文字 */
文檔注釋 (java特有)
對(duì)于單行和多行注釋载矿,被注釋的文字垄潮,不會(huì)被JVM(java虛擬機(jī))解釋執(zhí)行。
多行注釋里面不允許有多行注釋嵌套恢准。
格式:/**
@author 指定java程序的作者
@version 指定源文件的版本
*/
注釋內(nèi)容可以被JDK提供的工具 javadoc 所解析魂挂,生成一套以網(wǎng)頁(yè)文件形式體現(xiàn)的該程序的說(shuō)明文檔。
提高了代碼的閱讀性馁筐;調(diào)試程序的重要方法涂召。
注釋是一個(gè)程序員必須要具有的良好編程習(xí)慣。
將自己的思想通過(guò)注釋先整理出來(lái)敏沉,再用代碼去體現(xiàn)
小結(jié)第一個(gè)程序
- Java源文件以“java”為擴(kuò)展名果正。源文件的基本組成部分是類(class),如本例中的HelloWorld類盟迟。
- Java應(yīng)用程序的執(zhí)行入口是main()方法秋泳。它有固定的書寫格式:
public static void main(String[] args) {...} - Java語(yǔ)言嚴(yán)格區(qū)分大小寫。
- Java方法由一條條語(yǔ)句構(gòu)成攒菠,每個(gè)語(yǔ)句以“;”結(jié)束迫皱。
- 大括號(hào)都是成對(duì)出現(xiàn)的,缺一不可。
- 一個(gè)源文件中最多只能有一個(gè)public類卓起。其它類的個(gè)數(shù)不限和敬,如果源文件包含一個(gè)public類,則文件名必須按該類名命名戏阅。
1-9 Java API文檔
API (Application Programming Interface,應(yīng)用程序編程接口)是 Java 提供的基本編程接口昼弟。
Java語(yǔ)言提供了大量的基礎(chǔ)類,因此 Oracle 也為這些基礎(chǔ)類提供了相應(yīng)的API文檔奕筐,用于告訴開(kāi)發(fā)者如何使用這些類舱痘,以及這些類里包含的方法。
下載API:https://www.oracle.com/technetwork/java/javase/downloads/index.html
Additional Resources-Java SE 8 Documentation下載离赫。
1.10 良好的編程風(fēng)格
正確的注釋和注釋風(fēng)格
- 使用文檔注釋來(lái)注釋整個(gè)類或整個(gè)方法芭逝。
- 如果注釋方法中的某一個(gè)步驟,使用單行或多行注釋笆怠。
正確的縮進(jìn)和空白 - 使用一次tab操作铝耻,實(shí)現(xiàn)縮進(jìn)
- 運(yùn)算符兩邊習(xí)慣性各加一個(gè)空格。比如:2 + 4 * 5蹬刷。
塊的風(fēng)格 - Java API 源代碼選擇了行尾風(fēng)格
行尾風(fēng)格
public class Test {
public static void main(String[] args){
System.out.println("Block Style!");
}
}
次行風(fēng)格
public class Test
{
public static void main(String[] args)
{
System.out.println("Block Style!");
}
}
選擇合適的文本編輯器或 IDE 開(kāi)發(fā)
JBuilder
JBuilder是Borland公司開(kāi)發(fā)的針對(duì)java的開(kāi)發(fā)工具,使用JBuilder將可以快速频丘,有效的開(kāi)發(fā)各類java應(yīng)用办成。 Jbuilder支持各種應(yīng)用服務(wù)器。Jbuilder與Inprise Application Server緊密集成搂漠,同時(shí)支持WebLogic Server迂卢,支持EJB 1.1和EJB 2.0,可以快速開(kāi)發(fā)J2EE的電子商務(wù)應(yīng)用桐汤。支持遠(yuǎn)程調(diào)試和多線程調(diào)試而克,調(diào)試器支持各種JDK版本
https://edn.embarcadero.com/cn/jbuilder
NetBeans
NetBeans是一款用Java編寫的開(kāi)源IDE。既可用于Java開(kāi)發(fā)怔毛,也支持其他語(yǔ)言员萍,特別是PHP、C/C ++拣度,和HTML5碎绎。NetBeans開(kāi)發(fā)環(huán)境提供了豐富的產(chǎn)品文檔和培訓(xùn)資源以及大量的第三方插件。
https://netbeans.org/features/index.html
Eclipse
Eclipse應(yīng)該是大多數(shù)Java程序員使用的第一個(gè)IDE抗果。眾所周知的筋帖、最流行、也最受歡迎的Java開(kāi)發(fā)工具冤馏。優(yōu)點(diǎn)很多:免費(fèi)日麸、更新快、代碼智能化逮光、ANT構(gòu)建等代箭,擁有眾多插件墩划,完全免費(fèi)、有中文版梢卸、上手比較快走诞。缺點(diǎn)也非常明顯,安裝插件麻煩蛤高、插件對(duì)版本要求比較嚴(yán)格蚣旱。
MyEclipse
MyEclipse也是一款功能強(qiáng)大的J2EE集成開(kāi)發(fā)環(huán)境,由Genuitec公司發(fā)布戴陡,提供免費(fèi)版和收費(fèi)版塞绿。但免費(fèi)版,只能滿足基本開(kāi)發(fā)需求
https://www.myeclipsecn.com/
IntelliJ IDEA
IntelliJ IDEA被認(rèn)為是目前Java開(kāi)發(fā)效率最快的IDE工具恤批。是JetBrains公司的產(chǎn)品异吻,這家公司總部位于捷克共和國(guó)的首都布拉格。它整合了開(kāi)發(fā)過(guò)程中實(shí)用的眾多功能喜庞,智能提示錯(cuò)誤诀浪,強(qiáng)大的調(diào)試工具,Ant延都,JavaEE支持雷猪,CVS整合,最大程度的加快開(kāi)發(fā)的速度晰房。簡(jiǎn)單而又功能強(qiáng)大求摇。與其他的一些繁冗而復(fù)雜的IDE工具有鮮明的對(duì)比。
https://www.jetbrains.com/idea/