我是用VS
和VS
開發
NET程序
通過MyEclipse
開發JAVA程序
下面從IDE
語言
插件的不同點來做下簡單的說明
但由於經驗知識還有限
本篇文章只能從比較表面的以及自己常用的功能點來說明我所看到的不同點
IDE的不同點
給我的第一感覺就是MyEclipse在開發過程編寫查看代碼也非常便利
甚至有很多VS沒有的功能
下面列舉自己現在遇到的一些不同點
MyEclipse沒有像VS裡的#region
#endregion一樣的代碼段區域
在一個方法或類裡
可以#region 功能點…#endregion這樣把代碼片段折疊起來
MyEclipse除非用其他一些插件才能達到這個效果
MyEclipse導入新項目
如果JRE版本不一樣
需要選擇使用本地JRE版本
項目右鍵
>Build Path
>Configure Build Path
>Libraries
>Java Build Path裡修改JRE版本
但有時還會出現編譯問題
原因是沒有選擇編譯的JDK版本
項目右鍵
>Build Path
>Configure Build Path
>Java Compiler裡修改Compiler compliance level
對於VS
高版本代碼打開低版本代碼
會自動升級
或者手工選擇在
NET哪個版本下編譯
會比較方便
對於一個大括號或小括號的代碼段
雙擊該符號後面
則自動選中括號內部的代碼段
這個可以方便查看一個代碼段
VS沒有這樣的功能
調試代碼的時候
VS就表現出比MyEclipse更強大了
它們都可以在斷點處修改已經存在的變量的值
但是VS在監控臨時變量框裡輸入變量時同樣可以智能提示自己寫的代碼
而MyEclipse不能自動提醒
並且VS可以拖動斷點到已經運行的代碼
這個功能在調試問題時是非常強大和有用的
但是MyEclipse不能拖動斷點
MyEclipse雙擊代碼編輯框裡文件的Tab欄
就可以切換全屏顯示代碼編輯塊和多框顯示
這點比VS更方便一點
Package Explorer框的旁邊有個Link Vith Editor按鈕
可以快速定位文件在包裡的位置
這個也比較方便
但是VS裡一個文件右鍵後可以直接選擇打開對應的物理文件目錄
在MyEclipse裡沒有這個功能
JAVA項目是通過導入方式打開
不是通過像VS裡雙擊
sln或
csproj文件就可以打開整個工程
但是打開一次過後
下次再打開MyEclipse
它都會自動加載已經打開過的項目
而VS是每次只能打開一個解決方案
解決方案裡包括不同項目
如果新增了解決方案
下次就需要單獨打開了
語言的不同點
Java語言和C#語言非常相似
雖然內部會有很多區別
提供的API也不一樣
但開發一個具體功能點的思路常用的都差不多
由於對比較新的技術和特性開發過程中接觸不多
我所遇到的不同點包括
JAVA裡默認修飾符是包內可見(對應同一個文件夾目錄
而不是項目大jar包下)的
protected的變量和方法都是包內和子類可見的
NET裡是只有自己和子類可見NET裡類的默認修飾符是Internal
程序集內可訪問
方法和字段默認為private的
和JAVA默認包內可見不一樣
如果找到一個JAR包
Java查看新jar包的方法字段描述
需要有單獨的對應jar包的doc文檔
才能看到接口調用參數說明
否則看起來不直觀
但是如果有源碼打出來的jar包
調試的時候可以方便的看到該包的源代碼NET裡只要有了dll文件
就能方便的看到方法元數據調用參數
但是看到參數詳細說明
還是需要對應dll的xml文檔
Byte類型的數字范圍不一樣
Java裡是
到
NET是
一般需要互相交換數據和處理都是轉換成
進制
然後取
bit的後
個bit
這樣它們的值都是一樣的
方便同步加密解密或相關處理
JAVA裡文件保存後默認自動編譯
但是這個也得益於它把每個java文件編譯成一個class文件
NET裡需要單獨每次執行編譯項目
因為它一個項目一個dll文件
如果保存其中一個
cs文件都執行編譯
則工作量太大影響開發速度
Java裡的Final關鍵字
當給一個字段時
表示該字段不能修改
構造函數裡都不能修改
這個和C#的const有點像
但是const默認是static的
和C#的readonly也比較像
但是readonly可以在構造函數裡修改
當它作為一個方法的修飾符時
它類試c#的sealed類
不能重寫它
Java包的名字是和物理文件位置一一對應的
C#裡命名空間可以隨便寫
並且編譯出來的程序集也可以隨便更改
可以不和命名空間保持一致
程序集和JAVA裡單獨打出來的jar包是差不多的意思
Java裡推薦用get
set方法來對內部變量賦值和獲取值
NET裡可以用字段get
set獲取
並且vs
後可以直接get;set;的方式
借助語法糖
編譯器後會自動生成等價的get
set內部字段
插件的不同點
MyEclipse自身就是一個插件
裡面集成了大量開源框架
而VS是微軟一個大一統的IDE
要用其他開源插件
需要單獨下載和單獨配置
Java裡實現webservice的方法很多
除了javax
jws包裡只有的JAX
WS
java webservice規范自帶版本
還有axis
xfire的webservice開源實現
axis包括axis
axis
xfire已更名為cxf了
但是各種實現方法各異
在和
NET發布的webservice互相調用時
經常遇到一些問題
總體來說Java對wsdl的格式要求更嚴格
上面都是自己最近開發過程中根據自己遇到的問題分析和整理的結果
涉及的面有限
需要自己以後不斷完善相關技術點
並且整理和理解的結果也可能不完全准確
如有問題
請指正
From:http://tw.wingwit.com/Article/program/Java/hx/201311/27191.html