A. goroutine相比java 多線程NIO有何優勢
golang的goroutine比java更容易編寫並發程序,但性能不會有差別(目前來說,golang性能還不能和java比,看過代碼就知道了,GC弱到爆),代碼不會減少,該寫的邏輯還得寫。ps,其實golang的(sched)go程切換代碼雖然原理和java的fork-join框架一樣,但是fork-join比golang的sched代碼牛逼不少,開始膜拜Doug Lea吧,golang還有很長的路要走
B. golang並發真的比java高嗎
用過兩種語言,但是沒有開發過相同的業務。 但是在當前業務下專門測試過go的性能,不用太擔心go的性能問題,而且據說即將發布的go1.5的會再次對性能有太大的提升。其實還是很喜歡go這個語言,簡單,實用,而且適合大規模並發。go的學習門檻要比java要低。如果擔心gc影響實時性,也可以自己申請一大塊內存自己做內存管理。
大概說,Java的GC更好,Go這方面還不夠。
Go的並發更好,Java要同樣效果,回調寫死了。
真想知道,就自己測。自己設計的測試,更可能體現你想要的指標。
事實上,他們的差別應該小到不需要考慮。
C. Java 和 Go
就是說設計這兩種語言的目的不一樣。
不用理解太深
D. golang1.4與 java8 比較 性能哪個更有優勢
用過兩種語言,但是沒有開發過相同的業務。 但是在當前業務下專門測試過go的性能,不用太擔心go的性能問題,而且據說即將發布的go1.5的會再次對性能有太大的提升。其實還是很喜歡go這個語言,簡單,實用,而且適合大規模並發。go的學習門檻要比java要低。如果擔心gc影響實時性,也可以自己申請一大塊內存自己做內存管理。
大概說,Java的GC更好,Go這方面還不夠。
Go的並發更好,Java要同樣效果,回調寫死了。
真想知道,就自己測。自己設計的測試,更可能體現你想要的指標。
事實上,他們的差別應該小到不需要考慮。
要考慮的是,團隊更熟悉哪個?哪方面積累更多?等等。
E. goroutine相比java 多線程NIO有何優勢
NIO(非阻塞IO)是一種IO編程模型,Golang中的IO底層實現方式和java NIO模型一致,通俗點說就是都採用了EPOLL。 你在使用golang讀文件的時候,goroutine 會默默的掛起,只是你不知道,當讀完畢了,goroutine 再次恢復,但你不用擔心,goroutine 的掛起和恢復沒有java線程那樣可怕,你可以認為goroutine 的掛起和恢復就是保存和恢復幾個變數的值,其實也是這樣的。
剩下的就是goroutine 和 java線程的區別了,goroutine是用戶態的線程切換,java採用的是系統線程切換,用匯編語言描述是一個(java)調用int 80軟中斷,一個沒有。 意味著goroutine更輕量級,可以同時相應成千上萬的線程切換,java你創造上千個線程就有些吃力了。
因為java線程不能創造過多的線程,如果同時處理上萬上千的請求時候,就要考慮在幾十個線程來處理上萬上千的請求,這就出現了很多請求和線程不可能一一對應,所以通常做法是每個線程分別處理單個請求各個階段。好比流水線,請求是要加工的商品,每個線程處理一道工序,這樣做的好處是每人都做自己熟悉的,對於程序來說每個線程執行的代碼永遠都是自己很短的一塊,這樣根據局部優化原理,更具備CPU,內存親和力,利於JIT。說這樣多,就是說如果線程和請求不能一一對應,流水線式的並發編程很麻煩,閱讀性也很差,通常是線程A裡面一段邏輯代碼,線程B又有另一處處理的邏輯代碼。
由於goroutine 的輕便,你可以將請求和goroutine 一一對應起來,不用考慮將請求在線程之間換來換去,只關心你的業務邏輯,這就是goroutine 的好處。
總結:
golang的goroutine讓你比java更容易編寫並發程序,但性能不會有差別(目前來說,golang性能還不能和java比,看過代碼就知道了,GC弱到爆),代碼不會減少,該寫的邏輯還得寫。ps,其實golang的(sched)go程切換代碼雖然原理和java的fork-join框架一樣,但是fork-join比golang的sched代碼牛逼不少,開始膜拜Doug Lea吧,golang還有很長的路要走。
F. 為什麼 Go 語言的性能還不如java
Go語言自亮相以來並沒有展示一個明確的方向,Google員工將Go語言稱為一個「試驗性語言」,稱其試圖融合Python等動態語言的開發速度和C或C++等編譯語言的性能和安全。一位Go語言的支持者概括而言Go語言如下:簡單、快速、安全、並發、快樂編程、開源;但Go語言缺乏方向以及其「集大成者」的嘗試很容易會導致其學貓不成學狗也不成,淪為四不像。盡管如此,編者仍然覺得Go語言有相當大的潛力:很多開發者對它感興趣——不僅它的最初設計者陣容強大,而且在參與修改源代碼的人群中也不乏大牛級人物。這很有可能幫助Go語言找到適合自己的方向,開拓系統編程的新方向。
G. go語言和java比是什麼
區別:
1、Go不允許函數重載,必須具有方法和函數的唯一名稱;java允許函數重載。
2、Java默認允許多態,Go沒有。
3、Go代碼可以自動擴展到多個核心;而Java並不總是具有足夠的可擴展性。
4、Java不支持多繼承,Go支持多繼承。
什麼是go語言?
Go也稱為Golang,是一種編程語言。作為一種開源編程語言,Go可以輕松構建可靠,簡單和高效的軟體。

Go是鍵入的靜態編譯語言。Go語言提供垃圾收集,CSP風格的並發性,內存安全性和結構類型。
什麼是java?
Java是一種用於一般用途的計算機編程語言,它是基於類的,並發的和面向對象的。Java專門設計為包含很少的實現依賴項。Java應用程序在JVM(Java虛擬機)上運行。它是當今最著名和最著名的編程語言之一。
H. 你認為go和java c++比起來怎麼樣
不如java的嚴謹干凈,也不如c++的靈活豐富;
I. 用go web,java web,和 pypy寫 hello誰的性能更強
按主流的實現單進程應該是go > java > pypy,因為pypy有GIL,不能充分利用多核性能。但其實這個問題沒有太大意義,因為這個跟HTTP server的實現密切相關,完整的框架有更多功能,空跑的性能也會低一些。Go的handler很高效,也很輕,額外的功能很少,所以很快;但如果你實現一個完全不解析HTTP協議、連接進來就直接發送HTTP 200 OK的「HTTP伺服器」,那可能會更快,但拿來比顯然不合適。Java的主流Web實現本身就是比較完整的東西了,有前端,協議解析,線程池,任務管理之類的,大約相當於Python的WSGI,如果是Servelet比WSGI的話,那應該還是Java要快不少。
J. golang相比java的優勢在哪
部署方面,不像Java那樣需要各種配置。
另外,語言的靈活性,性能等也有很大的優勢。天生支持並發,太適合做為伺服器端語言了。
最後,看語法最近要火的kotlin和golang有點相似啊
並發實習簡單快速,網路時代的C,有under in control的感覺,不適合構建超大型分層結構復雜的項目,一般最多十萬以內就算大項目了,學習成本很低,庫不夠豐富和穩定,面向源碼編程,有問題看代碼,沒有那麼多framework,更多的面向library,你能夠很快速的了解第三方項目,而不用在語言上做太多投入,虛擬機從1.8開始也很強大了,除了沒有范型,以及項目版本管理統一工具,還有一個像樣的IDE和debug工具,找不出太多缺點了,這些年發展迅速,庫也是豐富了不少,建議初學者從golang開始自己的編程生涯,待練就堅實的基礎功再去肯Java這頭猛獸更好,當然,golang和Java是兩種世界不同思維的代表,一個是面向OO,一個更像是面向過程和模塊,所以放一起比較