當前位置:首頁 » 編程語言 » java缺點

java缺點

發布時間: 2022-11-29 03:30:05

java語言有哪些缺點

最大的缺點就是運行java程序需要裝java虛擬機. 就這一條嚴重的影像了java應用程序的使用,你基本看不到java的應用程序
還有就是java程序的運行成本比較高 過去機器配置不夠高的時候java顯得很慢 現在隨著java本身的版本升級和電腦性能的強化 這條基本已經不是問題了

❷ delphi xe1和Java對比優缺點

1、delphi做桌面版應用軟體很容易,跟c#差不多(其實這兩個可以說是同一個人的作品),主要應用在windows平台以及linux,平台有局限性,而且大面積客戶端使用時,更新就很麻煩。
2、java做web應用軟體,具有跨平台的優勢,但是用java就很難達到桌面版圖形界面的效果,不像delphi和C#直接把控制項拖拉進去填充代碼就OK。

❸ Java開發有哪些不足之處

1、框架泛濫,相對VS而言缺少強大的IDE,JDK需要專門下載
2、IDE不需要了,eclipse強大到無以復加了.最大的缺點就是慢,開源東西太雜,什麼都能往上套,標准不一
3、在開發速度上相對另外2P(ASP.PHP)而言慢些
4、開發的時間一定會很長時間,效率不高啊,雖然有SSH框架,但是開發的時候真正用SSH的也不多。
5、相對而言,java運行速度慢,開發時間長
6、框架太多,開源的東西有多有雜,運行速度比其他的(例如:ASP)慢,初學者面對這么龐大復雜的體系結構,學習比較困難。

❹ java的缺點的什麼

Java的缺點很多。。。
我在這里簡單的說一下。。
第一:
運行速度慢,眾所周知,Java程序的運行依賴於
Java虛擬機,所以相對於其他語言(匯編,C,C++)編寫的程序慢,因為它不是直接,執行機器碼。
第二:
因為Java考慮到了跨平台性。所以他不能像語言
(例如:匯編,C)
那樣更接近操作系統。也就不能和操作系統的底層打交道了。但可以通過Java的JNI
(即Java本地介面。顧名思義:也就是利用Java語言調用,在當前系統上
其他的程序語言
"匯編或C等"所編寫的程序)技術,解決這一問題,但這只是解決了。一部分問題。
所以如果是你想開發
應用程序的話
最好選擇
Java以外的其他開發語言

❺ java有什麼優點和缺點

Java是一種可以撰寫跨平台應用程序的面向對象的程序設計語言。Java技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網,同時擁有全球最大的開發者專業社群。
Java是功能完善的通用程序設計語言,可以用來開發可靠的、要求嚴格的應用程序。
java是純面向對象開發,功能強大,分支眾多,沒有java不能做的軟體。C/S也好B/S也好。從功能上講,沒有語言可以和java相比。
Java穩定,應用廣泛,一定時期內很難被其他編程語言取代;而許多大型系統都是用java開發,也不可能輕易使用其他語言。

同時,java還具有很多特點
1、跨平台性,雖然是很好的優勢,可以讓java在任何的系統中運行,但是前提是該系統要安裝java虛擬機,這樣導致一些java編寫的桌面程序無法在一般的用戶(沒有安裝java虛擬機的用戶)上使用
2、java的身後是sun公司,提供及時的api更新,但是過多的版本導致java的向下兼容性很差。而sun公司在j2ee上的標準定義的並不是完美,導致在j2ee的開發中多數使用開源框架,開源框架是好東西,但是更新速度並不快。
3、都說面向對象的語言先進與面向過程,java是oop語言,但是它適合的是bs系統,在web項目中java的實力毋庸置疑,但是轉到了底層的程序卻無法同c++抗衡。
4、個人認為java的最大優點是開源,但是這往往也成了最大的缺陷了,無法定義一個好的標准使得開發時使用了框架,在新的程序員來到公司時必須先了解框架,延緩了開發的時間。

所以java的前景應該是穩定而光明的。

❻ java的優勢與缺點

1、Java語言是簡單的。Java語言的語法與C語言和C++語言很接近,使得大多數程序員很容易學習和使用Java。另一方面,Java丟棄了C++ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉換。特別地,Java語言不使用指針,並提供了自動的廢料收集,使得程序員不必為內存管理而擔憂。
2、Java語言是一個面向對象的。Java語言提供類、介面和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持介面之間的多繼承,並支持類與介面之間的實現機制(關鍵字為implements)。Java語言全面支持動態綁定,而C++ 語言只對虛函數使用動態綁定。總之,Java語言是一個純的面向對象程序設計語言。
3、Java語言是分布式的。Java語言支持Internet應用的開發,在基本的Java應用編程介面中有一個網路應用編程介面(java.net),它提供了用於網路應用編程的類庫,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(遠程方法激活)機制也是開發分布式應用的重要手段。
4、Java語言是健壯的。Java的強類型機制、異常處理、廢料的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機制使得Java更具健壯性。
5、Java語言是安全的。Java通常被用在網路環境中,為此,Java提供了一個安全機制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網路下載的類具有一個安全防範機制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、位元組代碼檢查,並提供安全管理機制(類SecurityManager)讓Java應用設置安全哨兵。
6、Java語言是體系結構中立的。Java程序(後綴為java的文件)在Java平台上被編譯為體系結構中立的位元組碼格式(後綴為class的文件), 然後可以在實現這個Java平台的任何系統中運行。這種途徑適合於異構的網路環境和軟體的分發。
7、Java語言是可移植的。這種可移植性來源於體系結構中立性,另外,Java還嚴格規定了各個基本數據類型的長度。Java系統本身也具有很強的可移植性,Java編譯器是用Java實現的,Java的運行環境是用ANSI C實現的。
8、Java語言是解釋型的。如前所述,Java程序在Java平台上被編譯為位元組碼格式, 然後可以在實現這個Java平台的任何系統中運行。在運行時,Java平台中的Java解釋器對這些位元組碼進行解釋執行,執行過程中需要的類在聯接階段被載入到運行環境中。
9、Java是高性能的。與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運行速度隨著JIT(Just-In-Time)編譯器技術的發展越來越接近於C++。
10、Java語言是多線程的。在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子(孫)類來創建。通常有兩種方法來創建線程:其一,使用型構為Thread(Runnable) 的構造子將一個實現了Runnable介面的對象包裝成一個線程,其二,從Thread類派生出子類並重寫run方法,使用該子類創建的對象即為線程。值得注意的是Thread類已經實現了Runnable介面,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運行的代碼。線程的活動由一組方法來控制。 Java語言支持多個線程的同時執行,並提供多線程之間的同步機制(關鍵字為synchronized)。
11、Java語言是動態的。Java語言的設計目標之一是適應於動態變化的環境。Java程序需要的類能夠動態地被載入到運行環境,也可以通過網路來載入所需要的類。這也有利於軟體的升級。另外,Java中的類有一個運行時刻的表示,能進行運行時刻的類型檢查。
Java語言的優良特性使得Java應用具有無比的健壯性和可靠性,這也減少了應用系統的維護費用。Java對對象技術的全面支持和Java平台內嵌的API能縮短應用系統的開發時間並降低成本。Java的編譯一次,到處可運行的特性使得它能夠提供一個隨處可用的開放結構和在多平台之間傳遞信息的低成本方式。特別是Java企業應用編程介面(Java Enterprise APIs)為企業計算及電子商務應用系統提供了有關技術和豐富的類庫。

❼ java開發的缺點有哪些

我認為Java語言的10大問題是:x0dx0a1、缺少閉包(closure):我想這個不需要解釋了。函數式編程已經存在幾十年了,但最近幾年,它們獲得了越來越多的關注,最主要的原因,是它可以自然地編寫並行程序。我部分的同意Joshua Bloch強調在Java中引入閉包的問題需要再想一想(BGGA提議的方式真的很糟),至少閉包的缺失,使得在Java中做任何真正的函數式編程都是不可能的。x0dx0a2、缺少一等函數:這個問題與前一個有些關聯,但我認為它更糟糕。在Java里,要達到類似效果的唯一方式,是使用著名的、醜陋悲慘的單方法匿名內部類,但這看上去的確是一個拙劣的方法。甚至在C#中,也通過代理機制,提供了一個更好的實現。x0dx0a3、原生類型(Primitive types):如果在Java中一切皆對象,那是多麼完美啊,但他們偏偏不這樣設計。因而,這一點導致了一些問題,比如,不能把一個int放到集合(Collection)里,這個在Java5中通過自動裝箱特性得到了解決(下面會提到)。它也造成了傳值與傳引用上的困擾,原生類型數據是通過值傳給方法的(復制一份拷貝,然後傳給函數),而真正的對象是通過傳遞(譯註:其實是復制對象地址再傳遞,因此應該也是傳值方式,只是由於函數內部可通過這個對象地址訪問對象,因此效果上類似傳引用)。x0dx0a4、自動裝箱(Autoboxing)和自動拆箱(autounboxing):這個特性是為了解決因原生類型的存在所導致的問題,在Java5引入的。它允許靜默地轉換原生類型到相應的對象,但這常常導致其它的問題。比如Integer可以為null,但int不能,因此這時JVM只能拋出一個難以調試的空指針異常(NullPointerException)。此外,它還可能導致其它奇怪的行為,就像下面的例子,我們就很難理解,變數test為什麼是false:x0dx0aIntger a = new Integer(1024);x0dx0aIntger b = new Integer(1024);x0dx0aboolean test = a < b || a == b || a > b;x0dx0a5、缺少范型具類化:范型是Java5引入的一個很酷的特徵,但是為了保持與舊版本Java的兼容性,導致缺失某些重要的特性,尤其是不能在運行時反省范型的類型。例如,你有一個方法,接受List參數,如果傳進來一個List,你卻不能知道運行里該范型的確切類型。同理,你也不能創建范型數組。這意味著,盡管下面的代碼看起來很自然,但卻不編譯不了:x0dx0aList[] listsOfStrings = new List[3];x0dx0a6、不可避免的范型警告:你有發現過自己陷入不可能去掉的關於范型的警告么?如果你像我一樣大量使用范型,我打賭你碰到過。事實上,是這個問題的規模化症狀,讓他們認為需要引入一個特定的註解(@SuppressWarnings("unchecked"))來處理這種情況,我覺得,范型應該可能被設計的更好。x0dx0a7、不能傳void給方法調用:我得承認,這種給方法傳遞void的需求,乍一看有些怪異。我喜歡DSL,當我實現自己的DSL庫(lambdaj)的一個特定特性時,我不得不需要一個方法聲明成這樣的簽名:void doSomething(Object parameter),這里為這個方法傳進來的參數parameter,是另一個方法調用的結果,它唯一的目的,是注冊調用(的對象)自身,以可以在以後執行它。讓我吃驚的是,即使println方法返回void,看上去也並沒有一個好理由,不允許我把代碼寫成這樣,:x0dx0adoSomething(System.out.println("test"));x0dx0a8、沒有原生的代理機制:代理是一種非常有效和應用廣泛的模式,但Java提供的代理機制,只針對介面,而不是具體類。這是為什麼象cblib這樣提供這種機制的庫,被如此多的主流框架,如Spring和Hibernate,採用的原因。此外,由於cglib通過運行時創建被代理類的子類來實現的,因此這些種方式有一個眾所周知的限制——不能代理final類,比如String。x0dx0a9、差勁的Switch...case語句:Java規定,switch...case只能選擇int和enum(Java5開始)。這一點如果跟更現代的語言如Scala相比,看起來簡直太弱了。x0dx0a10、受檢查異常(Checked exception):類似原生類型,受檢查異常也已經成為Java的一個罪孽之源。它迫使程序員必須做下面兩件極其糟糕討厭的事情中的一個:讓你的代碼里充斥大量的、糟糕難讀的、容易出錯的try...catch語句,而這樣做的最大意義,只是將捕獲的異常,包裝成運行時異常,然後再重新拋出;或者是讓大量的拋出聲明子句污染你的API,讓介面缺少靈活性和可擴展性。x0dx0a真正的問題是,這里我提到的這幾大主要問題,唯一的解決辦法,是要做一個痛苦的決擇,定義一套新的語言規范,放下當前版本的向後兼容性。我猜他們永遠也不會這么做,雖然我相信,如果編寫一個能夠自動轉換舊Java源碼的程序,讓它們與假設的新版本兼容,並不是很困難。最後,這就是我決定開始尋找一個更好的JVM兼容語言的原因。

❽ 北大青鳥java培訓:分層架構的優缺點有哪些

在進行軟體開發過程中,為了能夠更有效的執行系統架構,一般情況下需要進行分層結構的形式來構成。
那麼在使用分層架構的過程中有哪些優缺點呢?下面電腦培訓為大傢具體介紹。
一、什麼是分層架構分層體系結構主要是根據水平分割將軟體模塊劃分為多個層次。
系統由多層組成,每一層由多個模塊組成。
那麼多少層才是合適的呢?IT培訓認為,根據不同的復雜性分為不同的層次,基本的層次結構是三個層次,即表示層、域層和數據持久層。
二、分層架構的好處1、單一職責:每層只負責一個角色,責任邊界清晰。
如果持久層只負責數據查詢和存儲,則欄位級別僅負責處理業務邏輯。
2、高內聚:分層是在相同的層中放置相同的責任,並且所有業務邏輯在領域層中都是一致的。
做這個的好處是什麼?江西北大青鳥設想如果業務邏輯分散在每層上,則修改功能需要修改為各層,測試業務邏輯需要測試所有層的代碼,從而增加了整個軟體的復雜度和測試難度。
3、易維護將面對變更且容易修正的所有對外界面放入對外界面層中,如果外部依存的界面被修改的話,只要變更該層的代碼即可。
三、分層架構的缺點1、開發成本高由於多層承擔著各自的任務,因此需要在多個級別上追加代碼,以添加功能。
這樣,開發成本就會增加。
但是,北大青鳥認為合理的能力抽象化可以提高多重性,降低開發成本。
2、可擴展性低:由於在上下層之間存在結合度,所以所有的功能變化都有可能參與多層的修正。

❾ java 中的繼承的 優點和缺點 主要是缺點

java
中的繼承的
優點和缺點如下:
優點:1.可以使用父類的所有非私有方法;而且單繼承可由介面來彌補。
2.可以繼承父類中定義的成員方法以及成員變數,使得子類可以減少代碼的書寫。還可以重寫父類的方法以增加子類的功能。
缺點:1.耦合性太大
2.就是破壞了類的封裝性,其實繼承一般多用於抽象方法的繼承和介面的實現

❿ JAVA語言的優缺點有哪些嵌入式的JAVA開發平台是什麼

java語言的優點:
1:面相對象,編程非常靈活;
2:跨平台,可在不同的平台移植;
3:語言很魯棒,很安全的一門語言,做出來的系統很安全;
4:應用范圍廣,社區論壇活躍
缺點嘛,整體來說java就是慢了點,相對c,c++是有點差了點的.
嵌入式java開發平台多的去了,比如android算是一個平台,或者java
me也算一個,或者其他的開發平台,只要是基於java開發的嵌入式系統,應該都算是平台了.

熱點內容
東方財富dk指標源碼 發布:2025-01-18 14:45:53 瀏覽:435
陌陌登陸密碼是什麼 發布:2025-01-18 14:36:54 瀏覽:848
海龜編譯器代碼 發布:2025-01-18 14:16:51 瀏覽:34
大閘蟹網站源碼 發布:2025-01-18 14:12:19 瀏覽:105
電腦伺服器日期怎麼改 發布:2025-01-18 14:05:03 瀏覽:687
用什麼方法打開密碼箱呢 發布:2025-01-18 14:04:08 瀏覽:428
net編程模式 發布:2025-01-18 13:54:20 瀏覽:691
手機上傳播病毒 發布:2025-01-18 13:49:20 瀏覽:504
空調壓縮機電路 發布:2025-01-18 13:42:42 瀏覽:546
空間訪問的記錄恢復 發布:2025-01-18 13:26:19 瀏覽:999