區別如下:
1、python虛擬機器沒有java強,java虛擬機器是java的核心,python的核心是可以很方便地使用c語言函式或c++庫。
2、python是全動態性的,可以在執行時自己修改自己的程式碼,java只能透過變通方法實現。python的變數是動態的,而java的變數是靜態的,需要事先宣告,所以java ide的程式碼提示功能優於python ide。
3、python有好多程式用的是面向過程設計方法,很多概念從c語言過來的,class在python中是後加入的,而java是為了實現沒有指標的c++(當年com元件用的引用記數,java用的虛擬機器),主要採用面向物件的設計方法,很多概念是oop的概念。面向過程,相對簡潔直觀,但容易設計出麵條程式,面向物件,相對抽象優雅,但容易過度抽象。
4、Python語法更簡潔
5、Python中的GIL-直被不少開發者所詬病, GIL 是指全域性解釋鎖,Python的多執行緒在多CPU條件下並不能並行的執行,而只能是每個執行緒執行的時候首先需要獲得直譯器的訪問許可權才可以執行,其他執行緒只能處於等待的過程,不過GIL 並不是Python的致命缺點,否則現在沒人會用的,因為有很多方案是協程,或者是用多程序機制來彌補。而Java支援真正的多執行緒併發操作,能很好的控制資源的的共享。
區別如下:
1、python虛擬機器沒有java強,java虛擬機器是java的核心,python的核心是可以很方便地使用c語言函式或c++庫。
2、python是全動態性的,可以在執行時自己修改自己的程式碼,java只能透過變通方法實現。python的變數是動態的,而java的變數是靜態的,需要事先宣告,所以java ide的程式碼提示功能優於python ide。
3、python有好多程式用的是面向過程設計方法,很多概念從c語言過來的,class在python中是後加入的,而java是為了實現沒有指標的c++(當年com元件用的引用記數,java用的虛擬機器),主要採用面向物件的設計方法,很多概念是oop的概念。面向過程,相對簡潔直觀,但容易設計出麵條程式,面向物件,相對抽象優雅,但容易過度抽象。
4、Python語法更簡潔
5、Python中的GIL-直被不少開發者所詬病, GIL 是指全域性解釋鎖,Python的多執行緒在多CPU條件下並不能並行的執行,而只能是每個執行緒執行的時候首先需要獲得直譯器的訪問許可權才可以執行,其他執行緒只能處於等待的過程,不過GIL 並不是Python的致命缺點,否則現在沒人會用的,因為有很多方案是協程,或者是用多程序機制來彌補。而Java支援真正的多執行緒併發操作,能很好的控制資源的的共享。