① 用java進行base64編碼的時候,效率很低,怎麼解決
演算法問題唄,base64一般用於編碼小量數據後用於網路傳輸,編碼後的數據量會增大。用演算法能夠一定程度提高編碼速度,也許這個java實現的流式base64編碼能夠幫到你:http://download.csdn.net/download/liuzhao2011/9963611
② 用Java編的程序執行時的效率比C++慢嗎
java是解釋語言,一般來說解釋語言的效率跟編譯型語言效率無法相提並論(差距在幾個數量級) 。 但是java有特殊的熱點編譯技術, 就是循環次數多的代碼段會被進一步優化編譯, 這使得java的性能有所提高,按sun的某些文檔的說法,這個效率可能提高到跟C++相當的水平, 但是我是沒見過效率能到這個程度, 基本上還是會慢不少
③ 如何優化JAVA代碼及提高執行效率
張小喜告別996 實現高效編程 減少開發壓力 開啟Java高效編程之門(完整版高清視頻)網路網盤
鏈接:
若資源有問題歡迎追問~
④ JAVA語句執行效率的問題
1和2的相同的階,1的最低執行次數是40,最高100,2的最低40,最高80,但是他們都屬於O(n)階,都有相同的增長速度,所以說這兩個效率差不多
if(a==1){continue;}
if(a==2){continue;}
if(a==3){continue;}
....
和
if(a==1){continue;}
else if(a==2){continue;}
else if(a==3){continue;}
else....
當然是後者
⑤ Java語言的運行效率是不是很低是不是沒有C語言高
C語言的運行效率是相對於Java,C#等高級語言是最高的,毫無疑問,這並不是說java不如C,只是重點不同。
⑥ Java代碼執行效率問題
效率是一樣的,雖然語句不一樣,但是編譯成class文件後,都是相同的JVM指令。
新建一個Java文件Test2.java,然後把它編譯成Test2.class
public class Test2 {
public static boolean stringIsNull(String str) {
if (str == null)
return true;
return false;
}
public static boolean stringIsNull2(String str) {
if (str == null)
return true;
else
return false;
}
public static boolean stringIsNull3(String str) {
return str == null;
}
}
然後你可以通過JDK自帶的javap命令查看JVM指令,三個方法的JVM指令是一樣的
<JAVA安裝目錄>/bin/javap -c Test2
Compiled from "Test2.java"
public class Test2 extends java.lang.Object{
public Test2();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: return
public static boolean stringIsNull(java.lang.String);
Code:
0: aload_0
1: ifnonnull 6
4: iconst_1
5: ireturn
6: iconst_0
7: ireturn
public static boolean stringIsNull2(java.lang.String);
Code:
0: aload_0
1: ifnonnull 6
4: iconst_1
5: ireturn
6: iconst_0
7: ireturn
public static boolean stringIsNull3(java.lang.String);
Code:
0: aload_0
1: ifnonnull 8
4: iconst_1
5: goto 9
8: iconst_0
9: ireturn
}
⑦ 那位詳細解答一下java和C的運行效率問題,那個高
C的運行效率明顯要比JAVA高,因為C是編譯型的,直接將源碼編譯成機器代碼;而JAVA是解釋型,源碼被編譯成二進制偽代碼,由JAVA虛擬機解釋執行。
但是,由於C是編譯型的,它的可移植性差;而JAVA是解釋執行,因此具有很好的移植性,可跨平台運行。
目前java運行速度是沒有c快,但它的internet編程方面的強大優勢,易學性,完全面向對象的特性,以及全美40%以上的公司都採用java,你說你想學什麼?
java和c的速度比較,是相對的,針對不同的應用, 又不同的結果,編一個普通的本地應用程序,一般c 要快於java, 編web應用,由於c實現的cgi程序基本是進程型,而java application server 的管理servlet採用線程方式,所以,在訪問量大的情況下,java有優勢。
但是緊緊比較速度,除非是對實時性要求高的情況下,是不夠的。由於JAVA又比較完整,規范的庫,語言定義比較嚴格,一般開發速度比較高。
如果你對速度特別敏感,比如嵌入系統,那無論多復雜,也要用c.
⑧ 關於java程序效率問題
首先java不是二次編譯,java是先編譯,把所有內容全部翻譯一下,然後再按照解釋執行的方式執行,也就是一句一句的執行
然後,既然歷史已經證明了程序語言從低級演化到高級是可行的,為什麼還要逆時代而行呢?
其實語言難度和執行的差異在於人類和機器的差異,人類的語言翻譯到機器需要的步驟很多,效率比較地下,但是你用0和1寫程序的時間足夠機器執行不知道多少次的高級語言了,所以你的想法不太對
⑨ 怎麼學習Java編程才更有效率,怎麼提高自己敲代碼的速度
1 與其反復閱讀,不如經常回顧
大家記住,對於Java技術性的書籍,絕對不是讓你一頁一頁去看的,像是完成做一樣。有一句話說:溫故而知新,可以為師矣。學過的知識點,你時常去復習一下,你每天都見到你自然就記住了,而不會像很多人說「學了就忘」你不總去回顧,那能不忘記嗎?不如有意識地總結回顧看過的Java書,學過的知識。只需要每晚趟在床上的時候,回想一下今天都學到了什麼?今天自己有進步一點點嗎?
2 多做練習,多寫代碼,從錯誤中學習
一個優秀的Java開發者,沒有什麼聰明人,他們都是一行一行代碼積累出來的,對於一個Java初學者來說,如果你想要找到一份不錯的Java工作,你只能是大量的練習,形成一個好的學習習慣。在初學階段哪怕對著書本敲也沒有什麼問題。認真完成書中留的習題,在自己沒有盡最大努力的情況下面不要去看答案。不要怕犯錯,每一次犯錯都是自己進步的機會。
3.向別人解釋你的知識,多與人討論
一個NB的Java開發者,一定是一個很會思考的,有能力就多寫博客,多分享自己的所學所思,只要你能寫出東西,不怕你寫的太低級,這些對於學習者自身也是非常有益的。通過用別人能夠理解的語言來解釋你學到的東西,本身就要求你對該知識充分理解。另外,很多人經常感嘆「跟你討論一下,我馬上變得有思路了」,這其實就是交流的作用。
這是一個非常不錯的java交流群:四九四,八零一,九三一。如果你想要更好的學習java可以多交流討論,有什麼不懂的問題隨時來問我。
4 對於自己想要學習的內容,制訂一下計劃,有節奏地學習
一個學習習慣好的人,做什麼事情都會有一個明確的計劃,對於一個Java初學者來說,一份好的學習計劃是你開始的前提,因為學習一個東西最怕三天打漁,如果能夠持續地學習一個東西,我可以把它學習地很好。這時候,你就應該結合我自身的情況,選擇一段最佳的學習時間,在這段學習時間里我可以不被打擾,保持高度專注。比如每天早上6.30起床看一個小時書。
5.注意勞逸結合
對於電腦工作者來說,多參加體育鍛煉,多去戶外走走,運動能夠增強人的記憶力,並且有時候還能產生靈感。如果身體不好,你的學習效率會非常低,人的精神狀態一旦非常好的時候,做什麼都會如魚得水。想要成為大神,身體好是前提條件。有人30歲成為大神,我資質不好,我35歲成為大神總可以吧。切莫在30歲的時候就把身體弄跨了,然後35歲轉行了,永遠失去了成長為大神的機會。
6 多總結問題的解決方案,多寫可復用的代碼,拒絕復制粘貼
每天把學習中遇到的問題最後的解決方案總結一下,想想為什麼出現了這個錯誤,加深自己的印象,是什麼導致了這個錯誤,犯過一次的錯誤就盡量不要犯第二次,導致錯誤的根本原因是什麼。是自己的邏輯混亂,粗心大意,還是程序太復雜?
⑩ 如何理解JAVA開發效率低
1. 至今為止,java是大量實際得到應用的語言中,可讀性最強,最利於閱讀和理解,語法最嚴謹和規范的語言(當然,這也可以理解為語法繁瑣的另一種表述)之一,在這一點上,只有已經基本退出歷史舞台的pascal可與之相提並論。而pascal並不是面對對象的,(面對對象的特點和優勢我就不再贅述了,有興趣可以查閱相關資料)。
基於這一點,產生了很多其獨特的優勢,例如:
java是目前最佳的演算法及數據結構教學語言(這個位置以前曾經是屬於pascal的)
java是傳統的軟體開發過程(生命周期管理)的最佳實踐語言,即在傳統的 「需求-設計-代碼-測試」 這樣的一個過程中,java是最能夠最大程度貫徹和實踐軟體工程學的理論的。從建模設計工具直接生成代碼,沒有比java更出色和靠譜的了。而從代碼去逆向生成的javadoc和uml也堪稱經典。只有java能夠在執行和操作層面,將「設計-代碼」這個過程如此出色的無縫集成起來。
java的白盒測試方面的表現非常出色和易行
java在代碼評審,缺陷管理,開發規范約束,大團隊的協同開發方面,有著無可爭辯的突出優勢
其實這樣的例子有很多,就不一一舉述了
2. java有著目前為止,最豐富,最強大的IDE開發環境,這是歷史原因形成的,包括商業因素在內
3. java有著現有所有語言中,擁有最長的產品線,適用性是最廣的語言之一。從前端的app應用,到嵌入式,到web,到伺服器應用
4. java擁有所有語言中最豐富的類庫和代碼資源
5. 至今為止,在被廣泛應用的編程語言中,java依然是開發效率最高的語言。之所以使用編程語言這個詞,是為了和腳本語言,以及4GL開發工具區隔開來。這些語言和編程語言相比,其適用性都有很大局限,而且後者(4GL)和OS平台緊耦合關聯。事實上,近10多年來,腳本語言領域突飛猛進(有賴於web應用提供了廣闊的舞台),而編程語言基本上自java之後就沒有太多大的新鮮事了。
商業層面:
1. java是目前為止唯一的,在商業和開源領域都得到大力推廣,推薦和使用的語言,其背後的推力是任何語言所不能比擬的。
2. java的誕生和發展,趕上了千載難逢的好機遇,歷史造就了java,這里就不展開了。
======================================================================
下面補充兩句,關於java與c/c++, java 與 Ruby、Python,以及企業軟體。
我個人是寫匯編和basic出身的,後來有大量的時間花在了C/C++上,java當年剛剛出來的時候,我正熱衷於CGI和perl的編程,也就是拿java做了一個簡單的applet玩玩而已。直到2005年,我才開始使用java大量得寫程序,一直到今天。去年底又開始學習Ruby和rails。20多年來,我正式使用過,有產品或者產出物的其他語言和工具也很多,包括foxbase,fortran,pascal,ada,lisp,VB,delphi,PB,C#,obj-c++,lua,PHP,js等等,Python和smalltalk也研究過一下。體會和感慨其實是挺多的。
到目前為止,其實我最喜歡的工具是PB,沒有之一。這和我的工作特點是密切相關的。但是PB只是一個在特定的狹窄領域做到極為出色的工具,隨著時代變遷,也就慢慢退出歷史舞台了。
直到目前為止,在我看來,擁有根本性的,不可替代優勢的語言,只有C/C++。雖然它可能開發效率更低,體系更復雜和笨重。在許多領域,C/C++是唯一的選擇,沒有替代品,它的適用性,也是最廣的,雖然在一些領域,它不是最佳的選擇,但是也是可用的選擇,哪怕是WEB領域,在一些直接和工控設備以及硬體打交道的web應用中,C CGI依然是很好甚至是最佳的選擇。
java的某些優勢,可以稱之為接近於不可替代。前面具體的優勢不復贅述,綜合來說,對於目的明確,業務非常復雜的應用,需要大規模團隊協同開發的,需要有復雜的設計過程的,java是毫無疑問的選擇,這也是為什麼java在企業應用領域大旗飄飄,傲視群雄的原因。即便像在互聯網領域,類似淘寶這樣有著復雜業務的公眾應用,java的使用也應該是必不可少的。(具體情況我不了解,有可能是某些局部的前端使用腳本語言,但是java應該是後台的骨架)
完全用腳本類語言去構建一個類似淘寶這樣的復雜系統,應該說是近乎不可能的。
現在一般談論Java 語言被很多人抱怨語法繁瑣、開發效率低、體系繁雜而笨重的人,基本上是敏捷性開發的擁護者,Python和ruby的使用者,尤其是ruby和rails的粉絲。
確實,作為一個正在學習ruby的人,對ruby和rails的優點我極為贊嘆,在某些WEB應用中,用ruby和rails開發其效率是java的10倍,這真的一點都不是誇張之詞。簡單,易學,高效,看上去很美,確實也很美。只是它的適用范圍相對就要窄一些。並不是所有的應用都適合或者都能夠用ruby和rails來開發的。在一些應用中,使用ruby和rails可能效果就很糟糕了。
對於java來說,Python和ruby這樣的腳本語言可能就像當年java對於C/C++一樣,在某些領域以其突出的優勢取代它,但是在其他的一些領域,腳本語言還是不能完全取代java。就像java不能完全取代C/C++一樣。要知道腳本語言的誕生,例如perl,還遠在java之前。
即便如此,在web開發領域,在ruby異軍突起的今天,我認為web應用開發的腳本語言領域,還遠未到其終極形態。也許,類似於WEB應用領域的4GL工具,已經呼之欲出了,至少在dashcode上,我看到了蘋果的這種野心。
或者我們期待一種全新的,革命性的編程語言的到來。