新聞中心
用java可以干什么用?請(qǐng)說清楚一點(diǎn)好嗎?謝謝了
Java可以開發(fā)大多數(shù)種類的軟件,只不過因?yàn)榉N種原因,Java桌面程序沒有普及(原因很多,在這里很難說完),但是Java的一大優(yōu)勢(shì)就是跨平臺(tái)性,編寫一次,幾乎不用太多的修改,就可以運(yùn)行在不同的操作系統(tǒng)平臺(tái)上,Java主要有3個(gè)領(lǐng)域 J2SE(標(biāo)準(zhǔn)版本)J2ME(主要是嵌入式開發(fā)) J2EE(主要是企業(yè)開發(fā))
創(chuàng)新互聯(lián)建站從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元宿城做網(wǎng)站,已為上家服務(wù),為宿城各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
一. Java的由來
當(dāng)1995年SUN推出Java語言之后,全世界的目光都被這個(gè)神奇的語言所吸引。那么Java到底有何神奇之處呢?
Java語言其實(shí)最是誕生于1991年,起初被稱為OAK語言,是SUN公司為一些消費(fèi)性電子產(chǎn)品而設(shè)計(jì)的一個(gè)通用環(huán)境。他們最初的目的只是為了開發(fā)一種獨(dú)立于平臺(tái)的軟件技術(shù),而且在網(wǎng)絡(luò)出現(xiàn)之前,OAK可以說是默默無聞,甚至差點(diǎn)夭折。但是,網(wǎng)絡(luò)的出現(xiàn)改變了OAK的命運(yùn)。
在Java出現(xiàn)以前。Internet上的信息內(nèi)容都是一些乏味死板的HTML文檔。這對(duì)于那些迷戀于WEB瀏覽的人們來說簡(jiǎn)直不可容忍。他們迫切希望能在WEN中看到一些交互式的內(nèi)容,開發(fā)人員也極希望能夠在WEB上創(chuàng)建一類無需考慮軟硬件平臺(tái)就可以執(zhí)行的應(yīng)用程序,當(dāng)然這些程序還要有極大的安全保障。對(duì)于用戶的這種要求,傳統(tǒng)的編程語言顯得無能為力,面SUN的工程師敏銳地察覺到了這一點(diǎn),從1994年起,他們開始將OAK技術(shù)應(yīng)用于WEB上,并且開發(fā)出了HotJava的第一個(gè)版本。當(dāng)SUN公司1995年正式以Java這個(gè)名字推出的時(shí)候,幾乎所有的WEB開發(fā)人員都想到:噢,這正是我想要的。于是Java成了一顆耀眼的明星,丑小鴨一下了變成了白天鵝。
二. Java的定義
Java是一種簡(jiǎn)單的,面象對(duì)象的,分布式的,解釋的,鍵壯的安全的,結(jié)構(gòu)的中立的,可移植的,性能很優(yōu)異的多線程的,動(dòng)態(tài)的語言。
Java的開發(fā)環(huán)境有不同的版本,如sun公司的Java Developers Kit, 簡(jiǎn)稱 JDK。后來微軟公司推出了支持Java規(guī)范的Microsoft Visual J++ Java開發(fā)環(huán)境,簡(jiǎn)稱 VJ++。
三. Java的特點(diǎn)
1. 平臺(tái)無關(guān)性
平臺(tái)無關(guān)性是指Java能運(yùn)行于不同的平臺(tái)。Java引進(jìn)虛擬機(jī) 原理,并運(yùn)行于虛擬機(jī),實(shí)現(xiàn)不同平臺(tái)的Java接口之間。使 用Java編寫的程序能在世界范圍內(nèi)共享。Java的數(shù)據(jù)類型與 機(jī)器無關(guān),Java虛擬機(jī)(Java Virtual Machine)是建立在 硬件和操作系統(tǒng)之上,實(shí)現(xiàn)Java二進(jìn)制代碼的解釋執(zhí)行功能, 提供于不同平臺(tái)的接口的。
2. 安全性
Java的編程類似C++,學(xué)習(xí)過C++的讀者將很快掌握J(rèn)ava的精 髓。Java舍棄了C++的指針對(duì)存儲(chǔ)器地址的直接操作,程序 運(yùn)行時(shí),內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過指 針侵入系統(tǒng)。Java對(duì)程序提供了安全管理器,防止程序的 非法訪問。
3. 面向?qū)ο?/p>
Java 吸取了C++面向?qū)ο蟮母拍?將數(shù)據(jù)封裝于類中,利用類 的優(yōu)點(diǎn),實(shí)現(xiàn)了程序的簡(jiǎn)潔性和便于維護(hù)性。類的封裝性、 繼承性等有關(guān)對(duì)象的特性,使程序代碼只需一次編譯,然后 通過上述特性反復(fù)利用。程序員只需把主要精力用在類和接 口的設(shè)計(jì)和應(yīng)用上。Java 提供了眾多的一般對(duì)象的類,通 過繼承即可使用父類的方法。在 Java 中,類的繼承關(guān)系是單一的非多重的,一個(gè)子類 只有一個(gè)父類,子類的父類又有一個(gè)父類。Java 提供的 Object 類及其子類的繼承關(guān)系如同一棵倒立的樹形,根類 為 Object 類, Object 類功能強(qiáng)大,經(jīng)常會(huì)使用到它及其 它派生的子類。
4. 分布式
Java建立在擴(kuò)展TCP/IP網(wǎng)絡(luò)平臺(tái)上。庫函數(shù)提供了用HTTP和FTP協(xié)議傳送和接受信息的方法。這使得程序員使用網(wǎng)絡(luò)上的文件和使用本機(jī)文件一樣容易。
5. 鍵壯性
Java致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤。類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯(cuò)誤。Java自已操縱內(nèi)存減少了內(nèi)存出錯(cuò)的可能性。Java還實(shí)現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能。這些功能特征大大提高了開發(fā)Java應(yīng)用程序的周期。Java提供: Null指針檢測(cè)、 數(shù)組邊界檢測(cè)、 異常出口、 Byte code校驗(yàn)。
四. Java與C/C++語言
Java提供了一個(gè)功能強(qiáng)大語言的所有功能,但幾乎沒有一點(diǎn)含混特征。C++安全性不好,但C和C++被大家接受,所以Java設(shè)計(jì)成C++形式,讓大家很容易學(xué)習(xí)。
Java去掉了C++語言的許多功能,讓Java的語言功能很精煉,并增加了一些很有用的功能,如自動(dòng)收集碎片。
Java去掉了以下幾個(gè)C和C++功能:
指針運(yùn)算
結(jié)構(gòu)
typedefs
#define
需要釋放內(nèi)存
這將減少了平常出錯(cuò)的50%。而且,Java很小,整個(gè)解釋器只需215K的RAM。
面象對(duì)象:Java實(shí)現(xiàn)了C++的基本面象對(duì)象技術(shù)并有一些增強(qiáng),(為了語言簡(jiǎn)單,刪除了一些功能)。Java處理數(shù)據(jù)方式和用對(duì)象接口處理對(duì)象數(shù)據(jù)方式一樣。
五. Java與Internet
我們知道,早先的 www 僅可以傳送文本和圖片,Java的出現(xiàn)實(shí)現(xiàn)了互動(dòng)的頁面,是一次偉大的革命。
Java并不是為 Internet,WWW而設(shè)計(jì)的,它也可以用來編寫?yīng)毩⒌膽?yīng)用程序。Java 是一種面向?qū)ο笳Z言。Java 語言類似于 C++ 語言,所以已熟練掌握 C++語言的編程人員,再學(xué)習(xí) Java 語言就容易得多!Java 程序需要編譯。實(shí)際上有兩種 Java 程序:一種 Java 應(yīng)用程序是一個(gè)完整的程序,如 Web 瀏覽器。一種 Java 小應(yīng)用程序是運(yùn)行于 Web 瀏覽器中的一個(gè)程序.
Java程序和它的瀏覽器HotJava,提供了可讓你的瀏覽器運(yùn)行程序的方法。你能從你的瀏覽器里直接播放聲音。你還能播放頁面里的動(dòng)畫。Java還能告訴你的瀏覽器怎樣處理新的類型文件。當(dāng)我們能在2400 baud線上傳輸視頻圖象時(shí),HotJava將能顯示這些視頻。
當(dāng)今Internet的一大發(fā)展趨勢(shì)是電子商務(wù),而Internet的安全問題是必須解決的問題,通常大的部門應(yīng)設(shè)置防火墻,阻止非法侵入。
電子商務(wù)是當(dāng)今的熱門話題,然而傳統(tǒng)的編程語言難以勝任電子商務(wù)系統(tǒng),電子商務(wù)要求程序代碼具有基本的要求:安全、可靠、同時(shí)要求能 與運(yùn)行于不同平臺(tái)的機(jī)器的全世界客戶開展業(yè)務(wù)。Java以其強(qiáng)安全性、平臺(tái)無關(guān)性、硬件結(jié)構(gòu)無關(guān)性、語言簡(jiǎn)潔同時(shí)面向?qū)ο螅诰W(wǎng)絡(luò)編程語言中占據(jù)無可比擬的優(yōu)勢(shì),成為實(shí)現(xiàn)電子商務(wù)系統(tǒng)的首選語言。
Java程序被放置在Internet服務(wù)器上,當(dāng)用戶訪問服務(wù)器時(shí),Java程序被下載到本地的用戶機(jī)上,由瀏覽器解釋運(yùn)行。
Java:Java是進(jìn)行網(wǎng)絡(luò)編程.(特別是分布式網(wǎng)絡(luò)開發(fā))的首選語言.Java的特點(diǎn)是一次編寫,到處運(yùn)行,就是說它的語言代碼可以方便地在多操作及平臺(tái)運(yùn)行(當(dāng)然目前還不是說的那么簡(jiǎn)單,只能等未來了)。J2EE(Java 2 Enterprise Edition)是目前最為成熟的企業(yè)級(jí)應(yīng)用開發(fā)平臺(tái)。是開發(fā)基于Internet/Intranet的分布式應(yīng)用的首選平臺(tái)。J2EE(Java 2 Macro Edition)是目前嵌入式及移動(dòng)開發(fā)的首選平臺(tái)(有人說,十年之后Java將從PC上消失,只留下J2ME)。如果你要做目前最火的手機(jī)軟件開發(fā)的話,選擇J2ME吧!
典型Java線程池的代碼及其各部分功能介紹
( )根據(jù)xml文件來管理線程池的最大最小線程數(shù)( )對(duì)線程池通過Timer定期掃描以防止線程未激活 ( )通過某一個(gè)變量(本程序中是freeThreadCount)來得到空閑線程的數(shù)目 一 配置xml(listen xml)是 ?xml version= encoding= UTF ?configConsumeThreadPoolminPools /minPools ! 線程池最小線程 maxPools /maxPools! 線程池最大線程 checkThreadPeriod /checkThreadPeriod ! 檢查線程池中線程的周期 分鐘 /ConsumeThreadPool/config 二 對(duì)于ConsumeThreadPoolPara的javabean: import java io *;public class ConsumeThreadPoolPara implements Serializable{private int minPools;private int maxPools;private int checkThreadPeriod;public int getMinPools(){return minPools;}public int getMaxPools(){return maxPools;}public int getCheckThreadPeriod(){return checkThreadPeriod;}public void setMinPools(int minPools){this minPools = minPools;}public void setMaxPools(int maxPools){this maxPools = maxPools;}public void setCheckThreadPeriod(int checkThreadPeriod){this checkThreadPeriod = checkThreadPeriod;}public String toString(){return minPools+ + maxPools+ +checkThreadPeriod;}public ConsumeThreadPoolPara() {}public static void main(String[] args) {ConsumeThreadPoolPara consumeThreadPool = new ConsumeThreadPoolPara();}} 三 解析xml程序代碼(生成ConsumeThreadPoolPara) 使用jdom解析 import jdom *;import jdom input SAXBuilder;import java io *;import java util *;public class ParseConfig {static Hashtable Listens = null;static ConnPara connpara = null;static ConsumeThreadPoolPara consumeThreadPoolPara = null;private static String configxml = listen xml ;static{getConsumeThreadPoolPara(); //得到消費(fèi)的線程池的參數(shù)}/*** 裝載文檔* @return 返回根結(jié)點(diǎn)* @throws JDOMException*/public static Element loadDocument() throws JDOMException{SAXBuilder parser = new SAXBuilder(); // 新建立構(gòu)造器try {Document document = parser build(configxml);Element root = document getRootElement();return root;}catch(JDOMException e){logger error( listen xml文件格式非法! );throw new JDOMException();}}public static ConsumeThreadPoolPara getConsumeThreadPoolPara(){if(consumeThreadPoolPara ==null){try {Element root = loadDocument();Element consumeThreadPool = root getChild( ConsumeThreadPool );if (consumeThreadPool != null) { //代表有數(shù)據(jù)庫配置consumeThreadPoolPara = new ConsumeThreadPoolPara();Element minPools = consumeThreadPool getChild( minPools );consumeThreadPoolPara setMinPools(Integer parseInt(minPools getTextTrim()));Element maxPools = consumeThreadPool getChild( maxPools );consumeThreadPoolPara setMaxPools(Integer parseInt(maxPools getTextTrim()));Element checkThreadPeriod = consumeThreadPool getChild( checkThreadPeriod );consumeThreadPoolPara setCheckThreadPeriod(Integer parseInt(checkThreadPeriod getTextTrim()));}}catch (JDOMException e) {}}return consumeThreadPoolPara;}} 四 線程池源代碼 import java util *;/*** pTitle: 線程池/p* pDescription: 采集消費(fèi)模塊/p* pCopyright: Copyright (c) /p* pCompany: /p* @author 張榮斌* @version */public class ThreadPool {private static int minPools = ; //最小連接池?cái)?shù)目private static int maxPools = ; //最大連接池?cái)?shù)目private static int checkThreadPeriod = ; //檢查連接池的周期ArrayList m_ThreadList; //工作線程列表LinkedList m_RunList = null; //工作任務(wù)列表int totalThread = ; //總線程數(shù)static int freeThreadCount = ; //未被使用的線程數(shù)目private java util Timer timer = null; //定時(shí)器static Object o = new Object();static{ //先初始化線程池的參數(shù)ConsumeThreadPoolPara consumeThreadPoolPara = ParseConfig getConsumeThreadPoolPara();if(consumeThreadPoolPara!=null){minPools = consumeThreadPoolPara getMinPools();maxPools = consumeThreadPoolPara getMaxPools();checkThreadPeriod = consumeThreadPoolPara getCheckThreadPeriod()* * ;}}public void setMinPools(int minPools){this minPools = minPools;}public void setMaxPools(int maxPools){this maxPools = maxPools;}public void setCheckThreadPeriod(int checkThreadPeriod){this checkThreadPeriod = checkThreadPeriod;}public ThreadPool() {m_ThreadList=new ArrayList();m_RunList=new LinkedList();for(int i= ;iminPools;i++){WorkerThread temp=new WorkerThread();totalThread = totalThread + ;m_ThreadList add(temp);temp start();try{Thread sleep( );}catch(Exception e){}}timer = new Timer(true); //啟動(dòng)定時(shí)器timer schedule(new CheckThreadTask(this) checkThreadPeriod);}/*** 當(dāng)有一個(gè)工作來的時(shí)候啟動(dòng)線程池的線程* 當(dāng)空閑線程數(shù)為 的時(shí)候 看總線程是否小于最大線程池的數(shù)目 就new一個(gè)新的線程 否則sleep 直到有空閑線程為止;* 當(dāng)空閑線程不為 則將任務(wù)丟給空閑線程去完成* @param work*/public synchronized void run(String work){if (freeThreadCount == ) {if(totalThreadmaxPools){WorkerThread temp = new WorkerThread();totalThread = totalThread + ;m_ThreadList add(temp);temp start();synchronized(m_RunList){m_RunList add(work);m_RunList notify();}}else{while (freeThreadCount == ) {try {Thread sleep( );}catch (InterruptedException e) {}}synchronized(m_RunList){m_RunList add(work);m_RunList notify();}}} else {synchronized(m_RunList){m_RunList add(work);m_RunList notify();}}}/*** 檢查所有的線程的有效性*/public synchronized void checkAllThreads() {Iterator lThreadIterator = erator();while (lThreadIterator hasNext()) { //逐個(gè)遍厲WorkerThread lTestThread = (WorkerThread) lThreadIterator next();if (! (lTestThread isAlive())) { //如果處在非活動(dòng)狀態(tài)時(shí)lTestThread = new WorkerThread(); //重新生成個(gè)線程lTestThread start(); //啟動(dòng)}}}/*** 打印調(diào)試信息*/public void printDebugInfo(){System out println( totalThread= +totalThread);System out println( m_ThreadList size()= +m_ThreadList size());}/**** pTitle: 工作線程類/p* @author 張榮斌* @version */class WorkerThread extends Thread{boolean running = true;String work;public void run(){while(running){synchronized(o){freeThreadCount++;}synchronized(m_RunList){while(m_RunList size() == ){try{m_RunList wait();if(!running) return;}catch(InterruptedException e){} lishixinzhi/Article/program/Java/gj/201311/27379
這些JAVA代碼實(shí)現(xiàn)了什么功能,摘取主要代碼并寫上功能,謝謝
這不是Java,這是HTML和Javascript。
HTML主要寫了一個(gè)表格樣式。
Javascript異步傳遞ID獲得了一些數(shù)據(jù)。
java代碼功能
Java 是一種編程語言,它本身的作用是通過編寫應(yīng)用程序,幫助人們解決日常工作、生活和學(xué)習(xí)遇到的問題。
一些常見的java功能代碼。如復(fù)制文件夾及文件到指定目錄,遍歷指定盤符所有文件,檢索字符串是否符合指定要求。
當(dāng)前標(biāo)題:java通用業(yè)務(wù)代碼功能 java經(jīng)典代碼
本文地址:http://www.ef60e0e.cn/article/dospsoo.html