當前位置:首頁 » 文件管理 » jdkftp

jdkftp

發布時間: 2023-04-02 01:17:41

『壹』 北大青鳥設計培訓:java工程師要學會哪些工具

很多朋友想進入IT行業,在深思熟慮之後,決定成為一名Java工程師,目前對Java工程師的需求高達60%-70%,並且一個Java工程師的月薪是在上萬元的,還擁有著管理、培訓教育、營銷等等選擇,有逗磨著莫大的發展空間。
成為一名Java工程師有那麼容易嗎?Java工程師需要學遲檔什麼?跟北大青鳥http://www.kmbdqn.cn/往下看。
Java工程師需要學什麼?要學的東西還真的挺多的,比如Java語法是最基礎的Java知識;JDK是正式學好Java的第一步;IDE的開發工具至少要熟練掌握一種;API必須熟練掌握,不然學不好Java,Java.io、Java.math、Java.text排錯、編程思想、編程規范等等。
這些當然只是成為Java工程師要學習的一部分,具體的Java學習體系完整版,歡迎上北大青鳥官網查看。
以下是關於一則Java工程師的招聘要求:1.熟悉UML建模工具,能進行分析和設計;2熟悉MVC設計模式,掌握Struts或Spring中的一種;3.熟練使用主流開源框架,如Struts、Spring、Hibernate、iBatis等;4.熟悉IO、多線程、分布式、負載均衡、緩存、消息等技術;5.熟悉各種網路通信協議、ftp、http等;6.熟悉oracle、mysql資料庫碼指亂開發技術及相關工具,熟練掌握SQL、會寫存儲過程、創建job、視圖維護;7.熟悉各種Web前端技術,包括XHTML/XML/Ajax/CSS/Javascript/jQuery等;8.熟悉使用Tomcat或JBoss等應用伺服器軟體;9.良好的溝通能力及團隊合作精神,責任心強;

『貳』 如何將BIN文件解壓

1、將jdk.bin文件使用FTP工具上傳linux伺服器的指定位置。

『叄』 簡述FTP服務,jdk,mysql,apache的作用

FTP:用於文件傳輸,比如上傳文御旦件到網站
JDK:支持JSP用的玩意
mysql:一種資料庫,一般和php、JSP等搭配
APACHE:一種webserver,也就是氏亮運行網站用的。
建議你使用護衛神·主機大師(Linux版鎮核擾),一鍵安裝ftp+apache+mysql+php

『肆』 jdk版本不同調用不同的ftp會有問題么

jdk版本不同調用攔御不同的ftp會有問題。根據查詢相關公開資料得知jdk版本不同會鉛衡或導致有些功能不槐伍能使用並且會出現不兼容的現象。

『伍』 JDK1.7的FtpClient 有人用過嗎

sun.net.ftp.FtpClient 這個類在jdk的幫助文檔中沒有具體的脊含說明,也就是並沒有對外公開。並且這個類是在jdk的 rt.jar中實現的。
jdk1.7下其構造函數FtpClient()被定義遲賀為private類型,所以無法new了碼野派。 在jdk1.7,已經換成了 FtpClient.create(ip)方法
同時,其他的一些方法也基本都改掉了,
如 ftpClient.openServer(server);
ftpClient.login(user, password);
就可以換成:ftpClient.login(user, null, password);
ftpClient.binary(); ---> ftpClient.setBinaryType();
ftpClient.put(remotefilename);--->ftpClient.putFileStream(remotefilename, true);
等。

『陸』 java jdk1.6環境下實現 ftp文件上傳

通過JDK自帶的API實現

package com.cloudpower.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

import sun.net.TelnetInputStream;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;

/**
* Java自帶的API對FTP的操作
* @Title:Ftp.java
* @author: 周玲斌
*/
public class Ftp {
/**
* 本地文件名
*/
private String localfilename;
/**
* 遠程文件名
*/
private String remotefilename;
/**
* FTP客戶端
*/
private FtpClient ftpClient;

/**
* 伺服器連接
* @param ip 伺服器IP
* @param port 伺服器埠
* @param user 用戶名
* @param password 密碼
* @param path 伺服器路徑
* @author 周玲斌
* @date 2012-7-11
*/
public void connectServer(String ip, int port, String user,
String password, String path) {
try {
/* ******連接伺服器的兩種方法*******/
//第一種方法
// ftpClient = new FtpClient();
// ftpClient.openServer(ip, port);
//第二種方法
ftpClient = new FtpClient(ip);

ftpClient.login(user, password);
// 設置成2進制傳輸
ftpClient.binary();
System.out.println("login success!");
if (path.length() != 0){
//把遠程系統上的目錄切換到參數path所指定的目錄
ftpClient.cd(path);
}
ftpClient.binary();
} catch (IOException ex) {
ex.printStackTrace();
throw new RuntimeException(ex);
}
}
/**
* 關閉連接
* @author 周玲斌
* @date 2012-7-11
*/
public void closeConnect() {
try {
ftpClient.closeServer();
System.out.println("disconnect success");
} catch (IOException ex) {
System.out.println("not disconnect");
ex.printStackTrace();
throw new RuntimeException(ex);
}
}
/**
* 上傳文件
* @param localFile 本地文件
* @param remoteFile 遠程文件
* @author 周玲斌
* @date 2012-7-11
*/
public void upload(String localFile, String remoteFile) {
this.localfilename = localFile;
this.remotefilename = remoteFile;
TelnetOutputStream os = null;
FileInputStream is = null;
try {
//將遠程文件加入輸出流中
os = ftpClient.put(this.remotefilename);
//獲取本地文件的輸入流
File file_in = new File(this.localfilename);
is = new FileInputStream(file_in);
//創建一個緩沖區
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
System.out.println("upload success");
} catch (IOException ex) {
System.out.println("not upload");
ex.printStackTrace();
throw new RuntimeException(ex);
} finally{
try {
if(is != null){
is.close();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(os != null){
os.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

/**
* 下載文件
* @param remoteFile 遠程文件路徑(伺服器端)
* @param localFile 本地文件路徑(客戶端)
* @author 周玲斌
* @date 2012-7-11
*/
public void download(String remoteFile, String localFile) {
TelnetInputStream is = null;
FileOutputStream os = null;
try {
//獲取遠程機器上的文件filename,藉助TelnetInputStream把該文件傳送到本地。
is = ftpClient.get(remoteFile);
File file_in = new File(localFile);
os = new FileOutputStream(file_in);
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
System.out.println("download success");
} catch (IOException ex) {
System.out.println("not download");
ex.printStackTrace();
throw new RuntimeException(ex);
} finally{
try {
if(is != null){
is.close();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(os != null){
os.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

public static void main(String agrs[]) {

String filepath[] = { "/temp/aa.txt", "/temp/regist.log"};
String localfilepath[] = { "C:\\tmp\\1.txt","C:\\tmp\\2.log"};

Ftp fu = new Ftp();
/*
* 使用默認的埠號、用戶名、密碼以及根目錄連接FTP伺服器
*/
fu.connectServer("127.0.0.1", 22, "anonymous", "IEUser@", "/temp");

//下載
for (int i = 0; i < filepath.length; i++) {
fu.download(filepath[i], localfilepath[i]);
}

String localfile = "E:\\號碼.txt";
String remotefile = "/temp/哈哈.txt";
//上傳
fu.upload(localfile, remotefile);
fu.closeConnect();
}
}

『柒』 阿里雲部署javaweb項目 rt,所有環境已經配好,jdk tomcat mysql。 ftp

直接在伺服器上訪問127.0.0.1能進項目嗎?還有就是tamcat啟動時有沒有報錯呢?

『捌』 jdk1.6與1.5對ftp的支持有區別嗎

JDK1.6主要增加了一些易用的API即類(接旦消口),語言本身方面(語法修改)不大,主要還是繼續發揮JDK1.5泛型、註解的優勢。

這個沒法精簡,因為這些點都很零碎:

一:Desktop類和SystemTray類

在JDK6中 ,AWT新增加了兩個類:Desktop和SystemTray。

前者可以用來打開系統默認瀏覽器瀏覽指定的URL,打開系統默認郵件客戶端給指定的郵箱發郵件,用默認應用程序打開或編輯文件(比如,用記事本打開以txt為後綴名的文件),用系統默認的列印機列印文檔;後者可以用來在系統托盤區創建一個托盤程序.

二:使用JAXB2來實現對象與XML之間的映射

JAXB是Java Architecture for XML Binding的縮寫,可以將一個Java對象轉變成為XML格式,反之亦然。

我們把對象與關系資料庫之間的映射稱為ORM, 其實也可以把對象與XML之間的映射稱為OXM(Object XML Mapping). 原來JAXB是Java EE的一部分,在JDK6中,SUN將其放到了Java SE中,這也是SUN的一貫做法。JDK6中自帶的這個JAXB版本是2.0, 比起1.0(JSR 31)來,JAXB2(JSR 222)用JDK5的新特性Annotation來標識要作綁定的類和屬性等,這就極大簡化了開發的工作量。

實際上,在Java EE 5.0中,EJB和Web Services也通過Annotation來簡化開發工作。另外,JAXB2在底層是用StAX(JSR 173)來處理XML文檔。除了JAXB之外,我們還可以通過XMLBeans和Castor等來實現同樣的功能。

三:理解StAX

StAX(JSR 173)是JDK6.0中除了DOM和SAX之外的又一種處理XML文檔的API。

StAX 的來歷 :在JAXP1.3(JSR 206)有兩種處理XML文檔的方法:DOM(Document Object Model)和SAX(Simple API for XML).

由於JDK6.0中的JAXB2(JSR 222)和JAX-WS 2.0(JSR 224)都會用到StAX所以Sun決定把StAX加入到JAXP家族當中來,並將JAXP的版本升級到1.4(JAXP1.4是JAXP1.3的維護版本). JDK6裡面JAXP的版本就是1.4. 。

StAX是The Streaming API for XML的縮寫,一種利用拉模式解析(pull-parsing)XML文檔的API.StAX通過提供一種基於事件迭代器(Iterator)的API讓程序員去控制xml文檔解廳稿析過程,程序遍歷這個事件迭代器去處理每一個解析事件,解析事件可以看做是程序拉出來的,也就是程序促使解析器產生一個解析事件然後處理該事件,之後又促使解析器產生下一個解析事件,如此循環直到碰到文檔結束符;
SAX也是基於事件處理xml文檔,但卻是用推模式解析,解析器解析完整個xml文檔後,才產生解析事件,然後推給程序去處理這些事件;DOM採用的方式是將整個xml文檔映射到一顆內存樹,這樣就可以很容易地得到父節點和子結點以及兄弟節點的數據,但如果文檔很大,將會嚴重影響性能。

四:使用Compiler API

現在我 們可以用JDK6 的Compiler API(JSR 199)去動態編譯Java源文件,Compiler API結合反射功能就可以實現動態的產生Java代碼並編譯執行這些代碼,有點動態語言的特徵。

這個特性對於某些需要用到動態編譯的應用程序相當有用, 比如JSP Web Server,當我們手動修改JSP後,是不希望需要重啟Web Server才可以看到模伏知效果的,這時候我們就可以用Compiler API來實現動態編譯JSP文件,當然,現在的JSP Web Server也是支持JSP熱部署的,現在的JSP Web Server通過在運行期間通過Runtime.exec或ProcessBuilder來調用javac來編譯代碼,這種方式需要我們產生另一個進程去做編譯工作,不夠優雅而且容易使代碼依賴與特定的操作系統;Compiler API通過一套易用的標準的API提供了更加豐富的方式去做動態編譯,而且是跨平台的。

五:輕量級Http Server API

JDK6 提供了一個簡單的Http Server API,據此我們可以構建自己的嵌入式Http Server,它支持Http和Https協議,提供了HTTP1.1的部分實現,沒有被實現的那部分可以通過擴展已有的Http Server API來實現,程序員必須自己實現HttpHandler介面,HttpServer會調用HttpHandler實現類的回調方法來處理客戶端請求,在這里,我們把一個Http請求和它的響應稱為一個交換,包裝成HttpExchange類,HttpServer負責將HttpExchange傳給 HttpHandler實現類的回調方法.

六:插入式註解處理API(Pluggable Annotation Processing API)

插入式註解處理API(JSR 269)提供一套標准API來處理Annotations(JSR 175)

實際上JSR 269不僅僅用來處理Annotation,我覺得更強大的功能是它建立了Java 語言本身的一個模型,它把method, package, constructor, type, variable, enum, annotation等Java語言元素映射為Types和Elements(兩者有什麼區別?), 從而將Java語言的語義映射成為對象, 我們可以在javax.lang.model包下面可以看到這些類. 所以我們可以利用JSR 269提供的API來構建一個功能豐富的元編程(metaprogramming)環境.

JSR 269用Annotation Processor在編譯期間而不是運行期間處理Annotation, Annotation Processor相當於編譯器的一個插件,所以稱為插入式註解處理.如果Annotation Processor處理Annotation時(執行process方法)產生了新的Java代碼,編譯器會再調用一次Annotation Processor,如果第二次處理還有新代碼產生,就會接著調用Annotation Processor,直到沒有新代碼產生為止.每執行一次process()方法被稱為一個"round",這樣整個Annotation processing過程可以看作是一個round的序列.

JSR 269主要被設計成為針對Tools或者容器的API. 舉個例子,我們想建立一套基於Annotation的單元測試框架(如TestNG),在測試類裡面用Annotation來標識測試期間需要執行的測試方法。

七:用Console開發控制台程序

JDK6中提供了java.io.Console 類專用來訪問基於字元的控制台設備. 你的程序如果要與Windows下的cmd或者Linux下的Terminal交互,就可以用Console類代勞. 但我們不總是能得到可用的Console, 一個JVM是否有可用的Console依賴於底層平台和JVM如何被調用. 如果JVM是在互動式命令行(比如Windows的cmd)中啟動的,並且輸入輸出沒有重定向到另外的地方,那麼就可以得到一個可用的Console實例.

八:對腳本語言的支持如: ruby, groovy, javascript.

九:Common Annotations

Common annotations原本是Java EE 5.0(JSR 244)規范的一部分,現在SUN把它的一部分放到了Java SE 6.0中.
隨著Annotation元數據功能(JSR 175)加入到Java SE 5.0裡面,很多Java 技術(比如EJB,Web Services)都會用Annotation部分代替XML文件來配置運行參數(或者說是支持聲明式編程,如EJB的聲明式事務), 如果這些技術為通用目的都單獨定義了自己的Annotations,顯然有點重復建設, 所以,為其他相關的Java技術定義一套公共的Annotation是有價值的,可以避免重復建設的同時,也保證Java SE和Java EE 各種技術的一致性.

下面列舉出Common Annotations 1.0裡面的10個Annotations Common Annotations
Annotation Retention Target Description
Generated Source ANNOTATION_TYPE, CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE 用於標注生成的源代碼
Resource Runtime TYPE, METHOD, FIELD 用於標注所依賴的資源,容器據此注入外部資源依賴,有基於欄位的注入和基於setter方法的注入兩種方式
Resources Runtime TYPE 同時標注多個外部依賴,容器會把所有這些外部依賴注入
PostConstruct Runtime METHOD 標注當容器注入所有依賴之後運行的方法,用來進行依賴注入後的初始化工作,只有一個方法可以標注為PostConstruct
PreDestroy Runtime METHOD 當對象實例將要被從容器當中刪掉之前,要執行的回調方法要標注為PreDestroy RunAs Runtime TYPE 用於標注用什麼安全形色來執行被標注類的方法,這個安全形色必須和Container 的Security角色一致的。RolesAllowed Runtime TYPE, METHOD 用於標注允許執行被標注類或方法的安全形色,這個安全形色必須和Container 的Security角色一致的
PermitAll Runtime TYPE, METHOD 允許所有角色執行被標注的類或方法
DenyAll Runtime TYPE, METHOD 不允許任何角色執行被標注的類或方法,表明該類或方法不能在Java EE容器裡面運行
DeclareRoles Runtime TYPE 用來定義可以被應用程序檢驗的安全形色,通常用isUserInRole來檢驗安全形色

注意:
1.RolesAllowed,PermitAll,DenyAll不能同時應用到一個類或方法上

2.標注在方法上的RolesAllowed,PermitAll,DenyAll會覆蓋標注在類上的RolesAllowed,PermitAll,DenyAll

3.RunAs,RolesAllowed,PermitAll,DenyAll和DeclareRoles還沒有加到Java SE 6.0上來

4. 處理以上Annotations的工作是由Java EE容器來做, Java SE 6.0隻是包含了上面表格的前五種Annotations的定義類,並沒有包含處理這些Annotations的引擎,這個工作可以由Pluggable Annotation Processing API(JSR 269)來做

『玖』 計算機的高級語言有哪些請詳細介紹

計算機的高級語言目前流行的有java、vb、vc、foxpro、delphi等
高級語言是目前絕大多數編程者的選擇⊥匯編語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。 高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的vb、vc、foxpro、delphi等,這些語言的語法、命令格式都各不相同。 高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類 解釋類執行方式類似於我們日常生活中的同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。 編譯類編譯是指在應用源程序執行之前,就將程序源代碼翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(* .obj)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如visual c++、visual foxpro、delphi等。
計算機語言---Java語言之簡介
1。它的由來
當1995年SUN推出Java語言之後,全世界的目光都被這個神奇的語言所吸引。那麼Java到底有何神奇之處呢?

Java語言其實最是誕生於1991年,起初被稱為OAK語言,是SUN公司為一些消費性電子產品而設計的一個通用環境。他們最初的目的只是為了開發一種獨立於平台的軟體技術,而且在網路出現之前,OAK可以說是默默無聞,甚至差點夭折。但是,網路的出現改變了OAK的命運。

在Java出現以前。Internet上的信息內容都是一些乏味死板的HTML文檔。這對於那些迷戀於WEB瀏覽的人們來說簡直不可容忍。他們迫切希望能在WEN中看到一些互動式的內容,開發人員也極希望能夠在WEB上創建一類無需考慮軟硬體平台就可以執行的應用程序,當然這些程序還要有極大的安全保障。對於用戶的這種要求,傳統的編程語言顯得無能為力,面SUN的工程師敏銳地察覺到了這一點,從1994年起,他們開始將OAK技術應用於WEB上,並且開發出了此灶HotJava的第一個版本。當SUN公司1995年正式以Java這個名字推出的時候,幾乎所有的WEB開發人員都想到:噢,這正是我想要的。於是Java成了一顆耀眼的明星,丑小鴨一下了變成了白天鵝。

二. Java的定義

Java是一種簡單的,面象對象的,分布式的,解釋的,鍵壯的安全的,結構的中立的,可移植的,性能很優異的多線程的,動態的語言。

Java的開發環境有不同的版本,如sun公司的Java Developers Kit, 簡稱 JDK。後來微軟公司推出了支持Java規范的Microsoft Visual J++ Java開發環境,簡稱 VJ++。

三. Java的特點

1. 平台無關性

平台無關性是指Java能運行於不同的平台。Java引進虛擬機 原理,並運行於虛擬機,實現不同平台的Java介面之間。使 用Java編寫的程序能在世界范圍內共享。Java的數據類型與 機器無關,Java虛擬機(Java Virtual Machine)是建立在 硬體和操作系統之上,實現Java二進制代碼的解釋執行功能, 提供於不同平台的介面的。

2. 安全性

Java的編程類似C++,學習過C++的讀者將很快掌握Java的精 髓。Java舍棄了C++的指針對存儲器地址的直接操作,程序 運行時,內存由操作系統分配,這樣可以避免病毒通過指 針侵入系統。Java對程序提供了安培昌全管理器,防止程序的 非法訪問。

3. 面向對象

Java 吸取了C++面向森中扮對象的概念,將數據封裝於類中,利用類 的優點,實現了程序的簡潔性和便於維護性。類的封裝性、 繼承性等有關對象的特性,使程序代碼只需一次編譯,然後 通過上述特性反復利用。程序員只需把主要精力用在類和接 口的設計和應用上。Java 提供了眾多的一般對象的類,通 過繼承即可使用父類的方法。在 Java 中,類的繼承關系是單一的非多重的,一個子類 只有一個父類,子類的父類又有一個父類。Java 提供的 Object 類及其子類的繼承關系如同一棵倒立的樹形,根類 為 Object 類, Object 類功能強大,經常會使用到它及其 它派生的子類。

4. 分布式

Java建立在擴展TCP/IP網路平台上。庫函數提供了用HTTP和FTP協議傳送和接受信息的方法。這使得程序員使用網路上的文件和使用本機文件一樣容易。

5. 鍵壯性

Java致力於檢查程序在編譯和運行時的錯誤。類型檢查幫助檢查出許多開發早期出現的錯誤。Java自已操縱內存減少了內存出錯的可能性。Java還實現了真數組,避免了覆蓋數據的可能。這些功能特徵大大提高了開發Java應用程序的周期。Java提供: Null指針檢測、 數組邊界檢測、 異常出口、 Byte code校驗。

四. Java與C/C++語言

Java提供了一個功能強大語言的所有功能,但幾乎沒有一點含混特徵。C++安全性不好,但C和C++被大家接受,所以Java設計成C++形式,讓大家很容易學習。

Java去掉了C++語言的許多功能,讓Java的語言功能很精煉,並增加了一些很有用的功能,如自動收集碎片。

Java去掉了以下幾個C和C++功能:
指針運算
結構
typedefs
#define
需要釋放內存

這將減少了平常出錯的50%。而且,Java很小,整個解釋器只需215K的RAM。

面象對象:Java實現了C++的基本面象對象技術並有一些增強,(為了語言簡單,刪除了一些功能)。Java處理數據方式和用對象介面處理對象數據方式一樣。

五. Java與Internet

我們知道,早先的 www 僅可以傳送文本和圖片,Java的出現實現了互動的頁面,是一次偉大的革命。

Java並不是為 Internet,WWW而設計的,它也可以用來編寫獨立的應用程序。Java 是一種面向對象語言。Java 語言類似於 C++ 語言,所以已熟練掌握 C++語言的編程人員,再學習 Java 語言就容易得多!Java 程序需要編譯。實際上有兩種 Java 程序:一種 Java 應用程序是一個完整的程序,如 Web 瀏覽器。一種 Java 小應用程序是運行於 Web 瀏覽器中的一個程序.

Java程序和它的瀏覽器HotJava,提供了可讓你的瀏覽器運行程序的方法。你能從你的瀏覽器里直接播放聲音。你還能播放頁面里的動畫。Java還能告訴你的瀏覽器怎樣處理新的類型文件。當我們能在2400 baud線上傳輸視頻圖象時,HotJava將能顯示這些視頻。

當今Internet的一大發展趨勢是電子商務,而Internet的安全問題是必須解決的問題,通常大的部門應設置防火牆,阻止非法侵入。

電子商務是當今的熱門話題,然而傳統的編程語言難以勝任電子商務系統,電子商務要求程序代碼具有基本的要求:安全、可靠、同時要求能 與運行於不同平台的機器的全世界客戶開展業務。Java以其強安全性、平台無關性、硬體結構無關性、語言簡潔同時面向對象,在網路編程語言中占據無可比擬的優勢,成為實現電子商務系統的首選語言。

Java程序被放置在Internet伺服器上,當用戶訪問伺服器時,Java程序被下載到本地的用戶機上,由瀏覽器解釋運行。

Delphi這個名字源於古希臘的城市名。它集中了第三代語言的優點。以Object Pascal為基礎,擴充了面向對象的能力,並且完美地結合了可視化的開發手段。Delphi自1995年3 月一推出就受到了人們的關注,並在當年一舉奪得了多項大獎。

Delphi的出現打破了V承可視化編程領域一統天下的局面。並且Delphi使用了本地編譯器直接生成技術,使程序的執行性能遠遠高於其它產品生成的程序。它還是真正的面向對象的編程語言。PASCAL語言的嚴謹加上可視化的優勢和強大的資料庫功能使得它有充分的資本和微軟的VB叫板。許多人當時都認為Pascal 是最有前途的程序設計語言,並預測Delphi將會成為可視化編程的主流環境。

Delphi在你編好程序後自動轉換成.EXE文件它運行時速度比VB快,而且編譯後不需要其他的支持庫就能運行。它的資料庫功能也挺強的,是開發中型資料庫軟體理想的編程工具。 Delphi適用於應用軟體、資料庫系統、系統軟體等類型的開發。而且它擁有和VB差不多一樣的功能,而且一樣能應用API函數,這在控制Windows很有用。

Delphi是全新的可視化編程環境,為我們提供了一種方便、快捷的Windows應用程序開發工具。它使用了Microsoft Windows圖形用戶界面的許多先進特性和設計思想,採用了彈性可重復利用的完整的面向對象程序語言(Object-Oriented Language)、當今世界上最快的編輯器、最為領先的資料庫技術。對於廣大的程序開發人員來講,使用Delphi開發應用軟體,無疑會大大地提高編程效率,而且隨著應用的深入,您將會發現編程不再是枯燥無味的工作——Delphi的每一個設計細節,都將帶給您一份欣喜。

Delphi的基本形式

Delphi實際上是Pascal語言的一種版本,但它與傳統的Pascal語言有天壤之別。一個Delphi程序首先是應用程序框架,而這一框架正是應用程序的「骨架」。在骨架上即使沒有附著任何東西,仍可以嚴格地按照設計運行。您的工作只是在「骨架」中加入您的程序。預設的應用程序是一個空白的窗體(Form),您可以運行它,結果得到一個空白的窗口。這個窗口具有Windows窗口的全部性質:可以被放大縮小、移動、最大最小化等,但您卻沒有編寫一行程序。因此,可以說應用程序框架通過提供所有應用程序共有的東西,為用戶應用程序的開發打下了良好的基礎。

Delphi已經為您做好了一切基礎工作——程序框架就是一個已經完成的可運行應用程序,只是不處理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代碼而已。 在空白窗口的背後,應用程序的框架正在等待用戶的輸入。由於您並未告訴它接收到用戶輸入後作何反應,窗口除了響應Windows的基本操作(移動、縮放等)外,它只是接受用戶的輸入,然後再忽略。Delphi把Windows編程的回調、句柄處理等繁復過程都放在一個不可見的Romulam覆蓋物下面,這樣您可以不為它們所困擾,輕松從容地對可視部件進行編程。

面向對象編程的概念

面向對象的程序設計(Object-Oriented Programming,簡記為OOP)是Delphi誕生的基礎。OOP立意於創建軟體重用代碼,具備更好地模擬現實世界環境的能力,這使它被公認為是自上而下編程的優勝者。它通過給程序中加入擴展語句,把函數「封裝」進Windows編程所必需的「對象」中。面向對象的編程語言使得復雜的工作條理清晰、編寫容易。

說它是一場革命,不是對對象本身而言,而是對它們處理工作的能力而言。對象並不與傳統程序設計和編程方法兼容,只是部分面向對象反而會使情形更糟。除非整個開發環境都是面向對象的,否則對象產生的好處還沒有帶來的麻煩多。

而Delphi是完全面向對象的,這就使得Delphi成為一種觸手可及的促進軟體重用的開發工具,從而具有強大的吸引力。

1968年瑞士的N.WIRTH教授設計完成了Pascal語言,1971年正式發表。

1975年,國際標准化組織(ISO)對Pascal語言進行了修改,從而形成了標准Pascal語言。與以往的編程語言相比,Pascal語言是一門結構化的語言,它具有豐富的數據類型和控制結構,簡明易懂,所以特別適合於教學。

Pascal語言還是一種自編譯的語言,這就使它的可靠性大大提高了。在Pascal的各個版本中,尤以Turbo Pascal的功能最為強大。如今,在許多學校的計算機語言課上,學的都是Pascal語言,用的都是Turbo Pascal。

PASCAL語言是一種結構式程序設計語言。它是於70年代在ALGOL基礎上研製出來的。它具有豐富的數據類型並提供了數據類型定義設施,其控制結構體現了結構程序設計原則。

PASCAL語言最初是為系統地教授程序設計而設計的,特點是簡明化和結構化,適合教學,科學計算與系統軟體的研製。

Pascal是最早出現的結構化軟化,具有豐富的數據類型和簡潔靈活的操作語句,適於描述數值和非數值的問題。

BASIC是Beginner's All-purpose symbolic instruction Code(初學者通用符號指令代碼)的縮寫,是國際上廣泛使用的一種計算機高級語言。BASIC簡單、易學,目前仍是計算機入門的主要學習語言之一。

BASIC語言的問世及發展 BASIC語言自其問世經歷了以下四個階段:

第一階段:(1964年~70年代初) 1964年BASIC語言問世。

第二階段:(1975年~80年代中) 微機上固化的BASIC

第三階段:(80年代中~90年代初) 結構化BASIC語言。

第四階段:(1991年以來) Visual BASIC

BASIC是種易學易用的高級語言,非常適合初學者學習運用。常用的編譯軟體有True BASIC,Turbo BASIC Quick BASIC,Visual BASIC,CAREALIZER,GFA BASIC,POWER BASIC,等等......

1991年,微軟推出了Visual Basic1.0版。這在當時引起了很大的轟動。許多專家把VB的出現當做是軟體開發史上的一個具有劃時代意義的事件。其實,以我們現在的目光來看,VB10的功能實在是太弱了。但在當時,它是第一個「可視」的編程軟體。這使得程序員欣喜之極,都嘗試在VB的平台上進行軟體創作。微軟也不失時機地在四年內接連推出VB20,VB30,40三個版本。並且從VB3開始,微軟將ACCESS的資料庫驅動集成到了VB中,這使得VB的資料庫編程能力大大提高。從VB4開始,VB也引入了面向對象的程序設計思想。VB功能強大,學習簡單。而且,VB還引入了「控制項:的概念,使得大量已經編好的VB程序可以被我們直接拿來使用,如今,VB已經有了6.0版。

通過幾年的發展,它已成為一種真真專業化的開發語言和環境。用戶認為可用Visual Basic快速創建Windows程序,在現在還可以編寫企業水平的客戶/伺服器程序及強大的資料庫應用程序,Visual Basic新版中還有更多可用功能。

Visual Basic的編程基礎

什麼是程序

首先需要知道下面這個問題的答案:「程序到底是什麼?」計算機程序是指令集,它告訴計算機如何執行特殊的任務。讀者也許對許多種指令熟悉,如按菜譜烹調特殊的食物或按指定的方向到達不熟悉的目的地。沒有這些特殊的指令,就不能執行預期的任務。

計算機也是一樣,只是它們需要為執行的每一個任務提供指令。甚至對最簡單的任務也需要指令,例如如何取得擊鍵,怎樣在屏幕上放一個字母,怎樣在磁碟中保存訊息。 幸運的是,許多這樣的指令包含在處理器晶元中或內置於操作系統中,因此用戶不必擔心它們。

相反,應集中於為任務提供指令,如計算雇員工資,創建鄰居郵件列表,或設置格式化文本以顯示最近的年度報表信息。 雖然我們用自然語言讀這些指令,但計算機指令必須是二進制代碼,即一系列在計算機內存和處理器中的開或關的狀態。有些語言,如匯編程序,可以允許直接寫這種類型的代碼。但是,以這種方法編程十分困難,因此Visual Basic和其他編程語言使程序員可以用與自然語言有點相近的方式編寫指令。然而,即使是這些指令仍有限,並要遵循高度定義的結構。

事件驅動編程

Visual Basic允許創建反映用戶動作和系統事件的程序。這種編程叫事件驅動編程。要了解事件驅動程序是怎樣工作的,先要了解過去的程序怎樣運行及在Windows環境中有何不同。 在Windows之前(回到往日的DOS和「史前時代」��PC之前),程序以順序方式運行。也就是說,一旦程序啟動,它就一條指令一條指令的向前執行,直到程序結束或出現致命錯誤。

面向對象編程

使創建Windows程序較為容易的關鍵技術是面向對象編程,或OOP。這種技術可以創建可重用組建,它是程序的組成模塊。

幾個定義

在討論Visual Basic時,經常可以聽到這些術語,因此對這些術語的基本理解十分有幫助。

控制項 提供程序可見界面的可重用對象。控制項的示例有文本框、標簽和命令按鈕。

事件 由用戶或操作系統引發的動作。事件的示例有擊鍵、單擊滑鼠、一段時間的限制,或從埠接收數據。

方法 嵌入在對象定義中的程序代碼,它定義對象怎樣處理信息並響應某事件。例如,資料庫對象有打開紀錄集並從一個記錄移動到另一個記錄的方法。

對象 程序的基本元素,它含有定義其特徵的屬性,定義其任務和識別它可以響應的事件的方法。控制項和窗體是Visual Basic中所有對象的示例。

過程 為完成任務而編寫的代碼段。過程通常用於響應特定的事件。

屬性 對象的特徵,如尺寸、位置、顏色或文本。屬性決定對象的外觀,有時也決定對象的行為。屬性也用於為對象提供數據和從對象取回信息。

C語言是目前世界上流行、使用最廣泛的高級程序設計語言。

C語言對操作系統和系統使用程序以及需要對硬體進行操作的場合,用C語言明顯優於其它高級語言,許多大型應用軟體都是用C語言編寫的。

C語言具有繪圖能力強,可移植性,並具備很強的數據處理能力,因此適於編寫系統軟體,三維,二維圖形和動畫它是數值計算的高級語言。

常用的編譯軟體有Microsoft Visual C++,Borland C++,Watcom C++ ,Borland C++, Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++, Lccwin32 C Compiler 3.1,Microsoft C,High C,等等......

C語言的發展歷史

C語言的發展頗為有趣。它的原型ALGOL 60語言。

1963年,劍橋大學將ALGOL 60語言發展成為CPL(Combined Programming Language)語言。

1967年,劍橋大學的Matin Richards 對CPL語言進行了簡化,於是產生了BCPL語言。

1970年,美國貝爾實驗室的Ken Thompson將BCPL進行了修改,並為它起了一個有趣的名字「B語言」。意思是將CPL語言煮干,提煉出它的精華。並且他用B語言寫了第一個UNIX操作系統。

而在1973年,B語言也給人「煮」了一下,美國貝爾實驗室的D.M.RITCHIE在B語言的基礎上最終設計出了一種新的語言,他取了BGPL的第二個字母作為這種語言的名字,這就是C語言。

為了使UNIX操作系統推廣,1977年Dennis M.Ritchie 發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。

1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》,從而使C語言成為目前世界上流行最廣泛的高級程序設計語言。

1988年,隨著微型計算機的日益普及, 出現了許多C語言版本。由於沒有統一的標准,使得這些C語言之間出現了一些不一致的地方。為了改變這種情況,美國國家標准研究所(ANSI)為C語言制定了一套ANSI標准, 成為現行的C語言標准 3.C語言的主要特點 。C語言發展迅速, 而且成為最受歡迎的語言之一, 主要因為它具有強大的功能。許多著名的系統軟體, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 語言編寫的。用C語言加上一些匯編語言子程序, 就更能顯示C語言的優勢了,象PC- DOS 、WORDSTAR等就是用這種方法編寫的。

C語言的特點

1. 簡潔緊湊、靈活方便

C語言一共只有32個關鍵字,9種控制語句,程序書寫自由,主要用小寫字母表示。它把高級語言的基本結構和語句與低級語言的實用性結合起來。 C 語言可以象匯編語言一樣對位、位元組和地址進行操作, 而這三者是計算機最基本的工作單元。

2. 運算符豐富

C的運算符包含的范圍很廣泛,共有種34個運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C的運算類型極其豐富表達式類型多樣化,靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。

3. 數據結構豐富

C的數據類型有:整型、實型、字元型、數組類型、指針類型、結構體類型、共用體類型等。能用來實現各種復雜的數據類型的運算。並引入了指針概念,使程序效率更高。另外C語言具有強大的圖形功能, 支持多種顯示器和驅動器。且計算功能、邏輯判斷功能強大。

4. C是結構式語言

結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰, 便於使用、維護以及調試。C語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。

5. C語法限制不太嚴格、程序設計自由度大

一般的高級語言語法檢查比較嚴,能夠檢查出幾乎所有的語法錯誤。而C語言允許程序編寫者有較大的自由度。

6. C語言允許直接訪問物理地址,可以直接對硬體進行操作

因此既具有高級語言的功能,又具有低級語言的許多功能,能夠象匯編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元,可以用來寫系統軟體。

7. C語言程序生成代碼質量高,程序執行效率高

一般只比匯編程序生成的目標代碼效率低10へ20%。

8. C語言適用范圍大,可移植性好

C語言有一個突出的優點就是適合於多種操作系統, 如DOS、UNIX,也適用於多種機型。

一些早期的具有OOP性能的程序語言如C++,Pascal,Smalltalk等,雖然具有面向對象的特徵,但不能輕松地畫出可視化對象,與用戶交互能力較差,程序員仍然要編寫大量的代碼。Delphi的推出,填補了這項空白。您不必自己建立對象,只要在提供的程序框架中加入完成功能的代碼,其餘的都交給Delphi去做。欲生成漂亮的界面和結構良好的程序絲毫不必絞盡腦汁,Delphi將幫助您輕松地完成。它允許在一個具有真正OOP擴展的可視化編程環境中,使用它的Object Pascal語言。這種革命性的組合,使得可視化編程與面向對象的開發框架緊密地結合起來。

『拾』 如何在遠程linux伺服器上安裝javajdk

使用遠程終端登陸Linux伺服器,接著就是來安裝jdk:

  1. 在oracle網站下載jdk,這個很簡單,自己一進去就可以找到下載的地方

選擇適當的包,比如Linux是32位的就選32位的包,64位的就選64位的包

2. 比如:jdk-6u21-linux-i586.bin

3. 通過ftp上傳下載的包到Linux伺服器上

4. 執行:shjdk-6u21-linux-i586.bin 或者 ./jdk-6u21-linux-i586.bin

5. 配置:

在自己的主目錄下,如我的主目錄為/home/zhujian/ ,如 .bashrc 文件,末尾加下如下信息

JAVA_HOME=/home/zhujian/jdk1.6.0_21
JAVA_BIN=/home/zhujian/jdk1.6.0_21/bin
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
exportJAVA_HOMEJAVA_BINPATHCLASSPATH

6。然後重啟,即可

熱點內容
androidactivity生命 發布:2024-04-27 07:33:48 瀏覽:84
win2008伺服器搭建網站 發布:2024-04-27 07:26:51 瀏覽:640
java的vector 發布:2024-04-27 07:05:00 瀏覽:204
舊電腦共享伺服器 發布:2024-04-27 06:32:21 瀏覽:339
java程序練習 發布:2024-04-27 06:24:00 瀏覽:438
sql30 發布:2024-04-27 06:22:10 瀏覽:55
怎樣防止sql注入 發布:2024-04-27 06:11:25 瀏覽:236
安卓為什麼不能登蘋果系統的游戲 發布:2024-04-27 06:11:23 瀏覽:601
編程日課 發布:2024-04-27 05:56:54 瀏覽:620
漏洞上傳工具 發布:2024-04-27 05:50:58 瀏覽:717