① linux和windows環境下的java開發的區別與不同
在Linux系統中進行開發,和在Windows中進行開發相比較起來,即有優點,也有缺點。下面是我的一些意見,歡迎大家討論。
先來說說優勢:
1、由Linux系統的本質決定的:
Linux的本質有三點,一是開源,二是免費,三是和Unix是一個體系。大家都知道,重要的應用幾乎都是運行在Unix伺服器上面的,這是因為Unix天生就是為伺服器設計的操作系統,他的安全、高效是不用質疑的,後來為了向桌面發展,出現了X Windows,當然,我們可以選擇在啟動系統的時候不啟動X Windows,拋去圖形界面的包袱,系統當然可以跑得更快。而Windows操作系統天生是為桌面設計的,後來為了向伺服器發展,出現了NT系列。當然,現在NT系列的伺服器已經很成熟了,足以和Unix伺服器競爭了。但是,它不是免費的,不僅不免費,而且賣得很貴。所以,選擇Unix/Linux作為伺服器操作系統,是可以為企業節約很多成本的。
本來,Java一設計出來就是可以跨系統運行的,我們完全可以在Windows系統下面進行開發,然後讓程序運行在Linux系統下。但是,畢竟他們還是有少量的差別,比如文件路徑。所以,我們在Linux系統下構建我們的系統,可以保證最大的兼容性。
2、有程序員的性格決定的:
程序員有一個性格,那就是喜歡不斷接觸新的東西,我們稱之為黑客文化,或者說是玩家文化。在Linux系統中,你可以毫不費力的得到很多好東西,包括好的軟體、好的代碼、好的思想、好的經驗。如果你喜歡系統編程,Linux自帶gcc;如果你喜歡動態語言,Linux自帶Python、Perl、Ruby;如果你要創建網路應用,Linux自帶httpd、Sendmail等一系列網路軟體;如果你要管理項目,Linux自帶CVS、Subversion、AutoMake。總而言之,只要你感興趣,Linux讓你這一輩子都不會感到枯燥。
我在使用過Linux的命令行界面後,就再也不想去點擊滑鼠了,我覺得雙手不離開鍵盤,做起事情來會更快。
Linux系統本身就有很多的選擇,可以選擇老牌的Red Hat,也可以選擇新秀的Ubuntu,或者Suse也行,社區版的Fedora也可以,當然,也可以選擇像我這樣的國產貨,支持SUN的朋友們當然也可以去使用Sun公司的Solaris,反正現在也開源了,不要錢了。我要說的就是,Red Hat的確是把它的丑堅持到底了,說它界面丑的不止我一個。對於國產貨,我覺得大家不應該有太多的指責,別人已經解決了最重要的中文字體和Qt庫的問題,已經給我們提供了一個很好的基礎,開發應用軟體應該是我們每個程序員的事,開發不出好的應用軟體,我們應該捫心自問,而不是罵別個操作系統廠商。
3、由市場決定的:
很簡單,懂Linux的程序員比不懂Linux更貴。不用多說了。
再來說說劣勢:
1、Windows門檻低,早就有人說過,Unix/Linux系統產生的是對程序員有利的價值,而Windows產生的是對非程序員有利的價值。我們程序員有時候也是非程序員,我們也需要聽歌、看碟、炒股票、打網路游戲,這個時候,Windows就比Linux俏多了。界面的美觀是一個方面,應用軟體豐富又是一個方面,雖然SuSe的界面已經做得超過XP了,但是你安一個游戲都要./configure、make、make install半天,還不一定成功,自然是不如Windows爽了。
2、美工和網頁設計師離不開Windows,就拿我自己來說,最喜歡的網頁設計工具依然是Dreamweaver,雖然在Eclipse環境下,依靠HTMLEditor插件的文本著色和自動提示,我依然可以很快速的編寫HTML和CSS,但是找不到一款正宗的可視化網頁設計工具依然不爽。對於喜歡Photoshop的朋友,當然是非Windows不可了。
3、軟體的測試不僅要考慮到FireFox瀏覽器,也要考慮到IE瀏覽器,因此,無論如何,也少不了一台Windows。
總體來說,我們並不需要將所有的工作都搬到Linux平台中,在一個區域網中,只需要一台Linux就足夠了,其餘的都可以是Windows,Linux伺服器主要用來運行Subversion,用來進行每日構建和自動化測試,而Windows則主要是用來開發,當然,也要作為客戶端進行一部分的測試工作。
② java程序里調用linux命令
Java語言以其跨平台性和簡易性而著稱,在Java裡面的lang包里(java.lang.Runtime)提供了一個允許Java程序與該程序所運
行的環境交互的介面,這就是Runtime類,在Runtime類里提供了獲取當前運行環境的介面。
其中的exec函數返回一個執行shell命令的子進程。exec函數的具體實現形式有以下幾種:
public Process exec(String command) throws IOException
public Process exec(String command,String[] envp) throws
IOException
public Process exec(String command,String[] envp,File dir) throws
IOException
public Process exec(String[] cmdarray) throws IOException
public Process exec(String[] cmdarray, String[] envp) throws
IOException
public Process exec(String[] cmdarray, String[] envp,File dir)
throws IOException
我們在這里主要用到的是第一個和第四個函數,具體方法很簡單,就是在exec函數中傳遞一個代表命令的字元串。exec函數返回的是一個Process類
型的類的實例。Process類主要用來控制進程,獲取進程信息等作用。(具體信息及其用法請參看Java doc)。
1)執行簡單的命令的方法:
代碼如下:
③ 怎麼確認suse linux有沒有安裝java
直接來用源java -version來查看java的版本。
[root@mpf202 yum.repos.d]# java -version
java version "1.7.0_25"
OpenJDK Runtime Environment (rhel-2.3.10.5.el5_9-i386)
OpenJDK Client VM (build 23.7-b01, mixed mode)
You have new mail in /var/spool/mail/root
④ 怎麼用Java獲取suse的主機名
怎樣在Java中獲取本機的ip和主機名。
主要用到了java.net包下的InetAddress類
importjava.net.InetAddress;
importjava.net.UnknownHostException;
importjava.util.Properties;
importjava.util.Set;
{
publicstaticvoidmain(String[]args){
InetAddressnetAddress=getInetAddress();
System.out.println("hostip:"+getHostIp(netAddress));
System.out.println("hostname:"+getHostName(netAddress));
Propertiesproperties=System.getProperties();
Set<String>set=properties.stringPropertyNames();//獲取java虛擬機和系統的信息。
for(Stringname:set){
System.out.println(name+":"+properties.getProperty(name));
}
}
(){
try{
returnInetAddress.getLocalHost();
}catch(UnknownHostExceptione){
System.out.println("unknownhost!");
}
returnnull;
}
publicstaticStringgetHostIp(InetAddressnetAddress){
if(null==netAddress){
returnnull;
}
Stringip=netAddress.getHostAddress();//gettheipaddress
returnip;
}
publicstaticStringgetHostName(InetAddressnetAddress){
if(null==netAddress){
returnnull;
}
Stringname=netAddress.getHostName();//getthehostaddress
returnname;
}
}
其中System.getProperties中包含很多的信息,包括:
Java中System.getProperty的使用
1,System.getProperty返回的數值,比如java.version,java.home,os.name,user.home以及user.dir等等.
2,getProperties
public static Properties getProperties()確定當前的系統屬性.
首先,如果有安全管理器,則不帶參數直接調用其 checkPropertiesAccess 方法.這可能導致一個安全性異常.
將 getProperty(String) 方法使用的當前系統屬性集合作為 Properties 對象返回.如果沒有當前系統屬性集合,則先創建並初始化一個系統屬性集合.這個系統屬性集合總是包含以下鍵的值: 鍵 相關值的描述
java.version Java 運行時環境版本
java.vendor Java 運行時環境供應商
java.vendor.url Java 供應商的 URL
java.home Java 安裝目錄
java.vm.specification.version Java 虛擬機規范版本
java.vm.specification.vendor Java 虛擬機規范供應商
java.vm.specification.name Java 虛擬機規范名稱
java.vm.version Java 虛擬機實現版本
java.vm.vendor Java 虛擬機實現供應商
java.vm.name Java 虛擬機實現名稱
java.specification.version Java 運行時環境規范版本
java.specification.vendor Java 運行時環境規范供應商
java.specification.name Java 運行時環境規范名稱
java.class.version Java 類格式版本號
java.class.path Java 類路徑
java.library.path 載入庫時搜索的路徑列表
java.io.tmpdir 默認的臨時文件路徑
java.compiler 要使用的 JIT 編譯器的名稱
java.ext.dirs 一個或多個擴展目錄的路徑
os.name 操作系統的名稱
os.arch 操作系統的架構
os.version 操作系統的版本
file.separator 文件分隔符(在 UNIX 系統中是"/")
path.separator 路徑分隔符(在 UNIX 系統中是":")
line.separator 行分隔符(在 UNIX 系統中是"/n")
user.name 用戶的賬戶名稱
user.home 用戶的主目錄
user.dir 用戶的當前工作目錄
系統屬性值中的多個路徑是用平台的路徑分隔符分隔的.
注意,即使安全管理器不允許執行 getProperties 操作,它可能也會選擇允許執行 getProperty(String) 操作.
⑤ suse javacore在哪
在你所建的 ,每個項目下,有個自帶jar包 把那個點開 裡面就有 核心core文件 也可以說整個jar包 都是核心文件
⑥ 使用Java 有哪些系統要求
Java 8 系統要求
有關 Java 8 系統要求的詳細信息,請參見 Java 8 支持的系統配置。
Windows
Windows 8 (Desktop)
Windows 7
Windows Vista SP2
Windows Server 2008 R2 SP1(64 位)
Windows Server 2012(64 位)
RAM: MB
磁碟空間:JRE 為 124 MB;Java Update 為 2 MB
處理器:最低 Pentium 2 266 MHz 處理器
瀏覽器:Internet Explorer 9 和更高版本,Firefox,Chrome
Mac OS X
基於 Intel 的 Mac,運行 Mac OS X 版本 10.8.3 和更高版本、10.9 和更高版本
需要管理員許可權才能安裝
64 位瀏覽器
要在 Mac OS X 上運行 Oracle Java,需要 64 位瀏覽器(例如 Safari 或 Firefox)。64 位 Chrome 為 beta 版。
Linux
Oracle Linux 5.5 和更高版本1
Oracle Linux 6.x(32 位),6.x(64 位)2
Oracle Linux 7.x(64 位)2
Red Hat Enterprise Linux 5.5 和更高版本1,6.x(32 位),6.x(64 位)2
Ubuntu Linux 12.04 LTS,13.x
Suse Linux Enterprise Server 10 SP2 和更高版本,11.x
瀏覽器:Firefox
Solaris 系統要求
有關支持的平台、操作系統、桌面管理器和瀏覽器的信息,請參閱支持的 Java 8 系統配置。
Java 7 系統要求
有關 Java 7 系統要求的詳細信息,請參見 Java 7 支持的系統配置。
Windows
Windows 8 (Desktop)
Windows 7
Windows Vista SP2
Windows Server 2008
Windows Server 2012(64 位)
RAM:128 MB
磁碟空間:JRE 為 124 MB;Java Update 為 2 MB
處理器:最低 Pentium 2 266 MHz 處理器
瀏覽器:Internet Explorer 7.0 和更高版本,Firefox 3.6 和更高版本,Chrome