Java與其他語言的對比
一、Java的優點:
(1)可移植性好
(2)垃圾收集
(3)支援多執行緒
(4)沒有麻煩的指標
(5)支援分散式開發
(6)面向物件
(7)安全、簡單
Java與C#對比的好處:
(1)c#中有static constructor(靜態建構函式),而java中包含靜態塊。
詳細介紹一下:在java中使用“{}”稱為程式碼塊,根據程式碼塊的定義位置及宣告的關鍵字不同,程式碼塊可以分成以下四部分:
a.普通塊;b.構造塊;c.靜態塊;d.同步塊;
a.普通塊:一個方法中出現的"{}",如:
public static void main(String args[]){
//普通程式碼塊
{
.....
}
}
b.構造塊:直接在類中定義的程式碼塊,構造塊優於構造方法先執行,如:
class Demo{
//構造塊
{
......
}
public Demo(){//構造方法
}
}
c.靜態塊:關鍵字 static宣告的程式碼塊,用來靜態屬性初始化,靜態塊用於主方法執行,靜態塊優於構造塊執行,並且只執行一次,如:
public class CodeDemo{
static{
//靜態塊
}
public static void main(String args[]){
}
}
d.同步塊:介紹一下,java同步的實現有兩種:d1.同步程式碼塊塊(就是我們要講的同步塊);d2.同步方法
d1.同步程式碼塊:使用synchronized關鍵字進行同步程式碼塊的宣告,但是在使用此操作時必須明確的指出到底要鎖定的是哪個物件,一般都是以當前物件為主:synchronized(物件this或者類.class){//需要同步的程式碼,一般是將this鎖定},保證在synchronized(this)控制的這一段程式碼中只有一個執行緒在執行,不會有多個執行緒同時執行。如:
for(int i=0;i<50;i++){
synchronized(this){
if(this.ticket>0)
{
try{
Thread.sleep(10000);
}catch(InterruptedException e)
{
e.printStackTrace();
}
}
}
}
d2.同步方法:
public void run(){
for(int i=0;i<50;i++)
{
this.sale();//呼叫的同步方法
}
}
public synchronized void sale(){
if(this.ticket>0){
try{}
catch(){}//同上
}
}
(2)java中的main函式時必須是public static void main(String args[]){},否則JVM拒絕運;在C#中,main函式可以是private型別,protected也可以,可以沒有引數,返回值int型別。
(3)java在繼承、多型方面比C#強,java預設多型,而C#要求加上virtual(在父類上)和override(在子類上),而且C#要求不能改變原來的訪問修飾符。
(4)c#中防止一個類被繼承,要用到關鍵字sealed,而定義一個變數要用const;java則統一使用final.
(5)c#中要比較兩個引用變數是否指向同一個物件,不能用java中的==,而要用object裡的ReferenceEquals方法。如下:
a1==a2;object.RefereceEquals(a1,a2)。
(6)C#中沒有原始型別的包裝類,但是C#提供了自動裝箱,拆箱需要強制轉換。而java在jdk1.5以後就完全是自動拆裝箱了。
java和C#還有很多區別,我只是列舉了其中的一小部分,僅供大家參考。
相關推薦
Java與其他語言的對比
一、Java的優點: (1)可移植性好 (2)垃圾收集 (3)支援多執行緒 (4)沒有麻煩的指標 (5)支援分散式開發 (6)面向物件 (7)安全、簡單 Java與C#對比的好處: (1)c#中有static constructor(靜態建構函式),而java中包含靜態塊。
Java與其他語言相比有其自身的優缺點:
Java最引人注目的原因之一是他能夠提升開發者效率提升程式碼重用率,相對的執行效率慢些1) Java在執行的時候強制執行嚴格的型別規則,根本無發以可能導致記憶體衝突的方式直接管理記憶體,因此不會出現c++程式設計師降低效率的特定bug2) Java避免無意
Java和其他語言的對比
一、Java的優點:(1)可移植性好(2)垃圾收集(3)支援多執行緒(4)沒有麻煩的指標(5)支援分散式開發(6)面向物件(7)安全、簡單Java與C#對比的好處:(1)c#中有static constructor(靜態建構函式),而java中包含靜態塊。詳細介紹一下:在ja
Java與其它語言的比較
nbsp java語言 其它 比較 ava 自己的 理念 linu linux下 Java與C/C++相比。Java語言是一種完全的面對對象語言,雖然他的底層(運行時庫)是用C語言開發 的,可是並不依賴於C。因為Java的運行是在運行時庫的支持下運行的,所以運行的效率比
Python與其他語言的區別
tro inf color 範圍 分享 ron 數字類型 不同的 差異 Python中沒有自增自減運算。 python 不使用 ++ 的哲學邏輯:編譯解析上的簡潔與語言本身的簡潔。 舉個例子來說python 與 c 語言概念上的一些差異: python 中,變量是以內容
vbs與其他語言進行交互編程(外存傳參)
one 自定義排序 RR 調用方法 i++ 命令 argc urn 例如 vbs沒有自定義排序函數。無需自己造輪子,可以用其他語言來完成這個任務(在傳遞數據比較簡單的情況下,例如只傳遞數組)。 首先用5分鐘寫一個C++排序的代碼。命名為“mysort.cpp”: #inc
JNI 和 JNA,java和其他語言的互調
僅工作中使用到,現查現用,理解不到位,請持懷疑態度檢視本文。如有問題請聯絡郵件:[email protected]; 以便交流。 java呼叫C語言的方法: 1、JNI --- java native interface 2、JNA 3、runtime.exec() ,沒有研究
通過後綴名判斷是C,C++,JAVA,還是其他語言
輸入檔案的字尾名,並判斷是使用c,c++,java編寫,還是其他程式語言編寫 例如,輸入b.c 輸出c 輸入a.cpp輸出c++ 輸入c.java輸出java #include <stdio.h> #include <string.h> int main() {
Java與R語言的配置,呼叫
我是最近才接觸到了R語言,所以用起來有很多的問題,之前只是想單純想用java呼叫到R語言中的一些東西,沒有想到這個事情並不是想象的那麼簡單的。好了,閒話不多說,下面我來說說我在運用R的時候遇上
java與c語言之間的socket通訊—c客戶端java伺服器端
寫在前面的宣告:程式例子均執行在ubuntu(是一個以桌面應用為主的Linux作業系統)上。當然你也可以把java執行在其它系統上,這裡只是為了方便。 上一篇文章已經說明了關於socket的一些知識,but這是遠遠不夠的,我相信只要你感興趣,學習它並不是什麼難事。 好吧,我
Java與C++語言在JNI下的互動
java環境下呼叫VC++編寫的動態連結庫檔案 一,開發平臺: MyEclipse 6.0,VC++6.0 二,JNI基礎知識: JNI(java native interface),JAVA本地介面呼叫,目的是為了JAVA可以呼叫本地程式。 三,互動過程: 1,建立j
node.js AES/ECB/PKCS5Padding 與其他語言的加密解密通用
轉載:http://yijiebuyi.com/blog/13e2ae33082ac12ba4946b033be04bb5.html 關於什麼是AES? 需要自己goole瞭解一下,今天就是簡單和大家分享node.js下使用 AES/ECB/PKCS5Padding 如
JavaScript與其他語言的區別與聯絡01
JS是一種專為與網頁互動而設計的指令碼語言,由下列三個不同的部分組成: 1.ECMAScript,提供核心語言功能; 2.文件物件模型(DOM),提供與瀏覽器互動的方法與介面; 3.瀏覽器物件模型(BOM),提供與瀏覽器互動的方法和介面。
使用SWIG實現C/C++與其他語言間的互相呼叫
為了執行速度,java, C#, ruby等語言可能會呼叫C/C++寫的函式或者類,但直接寫很麻煩,必須遵循各種語言訂立的規範,以jni為例要匯出一個函式給java用,你必須在函式定義前寫上JNIEXPORT,對於那些早已存在的程式碼,這樣就麻煩了,而且相同的程式碼如果要
quartznet任務排程和訊息排程(JAVA與C#版對比)
quartznet任務排程和訊息排程 1. 作用 自動執行任務。 2. 下載地址 NET版本 JAVA版本 1下載 http://quartznet.sourceforge.net/downlo
爬蟲學習 pyspider和scrapy小結 / 與其他工具對比
從火車頭瞭解了翻頁與正則表示式帶入了爬蟲原理、後python的urllib和requests徹底梳理了爬蟲過程,之後引入phantomjs chromedriver這些徹底解決了爬蟲問題,但是這些太瑣碎,而且反爬蟲越來越厲害,必須升級爬取武器到專業級別。 用p
java與C語言的資料型別對應
Java和C資料型別的對應表如下: Java 型別 C 型別 原生表現 boolean int 32位整數 (可定製) byte char 8位整數
JAVA與PHP語言比較
1. 從學習與快速開發上來說,php更優,php學習起來比較簡單,java體系內容較多,各種框架也很複雜,學習起來時間較長 2. 從部署成本來說,兩個基本差不多,都支援跨平臺,也都有免費平臺支援 3. 從系統架構上來說,php比較適合中小型web專案,而java更適合大型專
編程語言對比分析:Python與Java和JavaScript(圖)
最大 python 服務 dev 破壞 fff 對比分析 可能 分析 編程語言對比分析:Python與Java和JavaScript(圖):憑什麽說“Python 太慢,Java 太笨拙,我討厭 JavaScript”?[圖]編程語言生而為何?我們人類從原始社會就是用語言表
C++ 與 Java 語言對比
1 . Java 是完全封裝的,而 C++ 的函式是可以定義在 Class 的外部的。從這裡就可以看出 C++ 的 OO 思想不夠徹底,至少在封裝這一點上。 2. C++ 中有拷貝