蘇州培訓(xùn)網(wǎng) > 蘇州JAVA培訓(xùn)機(jī)構(gòu) > 蘇州其然軟件開(kāi)發(fā)培訓(xùn)
首頁(yè) 培訓(xùn)網(wǎng) 最新資訊 熱門問(wèn)答

蘇州其然軟件開(kāi)發(fā)培訓(xùn)

免費(fèi)試聽(tīng)

您當(dāng)前的位置: 蘇州IT認(rèn)證培訓(xùn) > 蘇州JAVA培訓(xùn) > 昆山學(xué)java學(xué)習(xí)

昆山學(xué)java學(xué)習(xí)_JAVA培訓(xùn)

¥詳詢

班制:周末班

蘇州其然軟件開(kāi)發(fā)
上課(咨詢)地址:蘇州市昆山市震川西路111號(hào)名仕大廈
報(bào)名咨詢 預(yù)約試聽(tīng)
課程介紹
昆山學(xué)java學(xué)習(xí)
一個(gè)合格的未來(lái) Java工程師

昆山學(xué)java學(xué)習(xí)

昆山學(xué)java學(xué)習(xí)

java入門要注意什么

昆山學(xué)java學(xué)習(xí)

學(xué)習(xí)java就像是一個(gè)種花的過(guò)程,不斷地為其施肥澆水,它才會(huì)茁壯成長(zhǎng)。 而我們學(xué)習(xí)java,就要不斷的充實(shí)自己、提升自己,才能獲得更多機(jī)會(huì)。很多開(kāi)始學(xué)習(xí)java編程的小白,經(jīng)常就會(huì)被概念、定義什么的搞糊涂。當(dāng)分類 、對(duì)象、接口、構(gòu)造函數(shù)等等各種專業(yè)名詞出現(xiàn)的時(shí)候,你一定是腦子里好像一片空白,根本就搞不懂這些字眼的意思和關(guān)系,而且,這種情況下,很 容易導(dǎo)致你喪失自信心,開(kāi)始逃避、拒絕,這些小白經(jīng)常遇到的情況在我剛接觸java的時(shí)候也遇見(jiàn)了,但是好在我足夠幸運(yùn),遇見(jiàn)了誠(chéng)筑說(shuō)。我現(xiàn)在已 經(jīng)是公司的項(xiàng)目經(jīng)理了,今天,我為大家來(lái)總結(jié)了一些經(jīng)驗(yàn)和建議,希望能夠幫助到大家。

一點(diǎn):熟練基本的j2seAPI

除去java語(yǔ)言本身的語(yǔ)法之外呢,要懂得并且熟練j2seAPI的API也是非常有 必要的,在這里,就建議大家首先去掌握字符串的處理、異常的處理、容器、輸入輸出、線程等,這些相對(duì)來(lái)說(shuō)較為重要的。還有就是API的內(nèi)容是非 常龐大的,關(guān)于API,一定要懂得查詢API的文件說(shuō)明,在了解了其作用用途或者目的才能夠進(jìn)行相對(duì)于的程序。

二點(diǎn):穩(wěn)固java的語(yǔ)法基礎(chǔ)

學(xué)習(xí)java一定要學(xué)會(huì)使用java的程序語(yǔ)言,用來(lái)編寫程序,但是學(xué)習(xí)程序語(yǔ) 言就要熟悉語(yǔ)法是怎么使用的。程序語(yǔ)言其實(shí)也是一種語(yǔ)言,不過(guò)跟人類的語(yǔ)言不同,這種語(yǔ)言是要和計(jì)算機(jī)溝通交流,那怎么做才能熟悉這種語(yǔ)言呢 ,我給出的建議是多看別人寫的程序,了解人家是怎么用java來(lái)解決問(wèn)題的。然后再找類似的程序去練習(xí)了,這樣就能夠從實(shí)際操作中檢驗(yàn)自己是否真 的知道該怎么去解決問(wèn)題了。

三點(diǎn):加入貼吧論壇多參與討論

根據(jù)我當(dāng)時(shí)的經(jīng)驗(yàn),在大家學(xué)習(xí)的過(guò)程中,如果有人可以參與話題,共同討 論的話,會(huì)加快你學(xué)習(xí)的速度。所以大家可以和我一樣,找一個(gè)技術(shù)討論的地方,貼吧啊,論壇啊都可以,在這里進(jìn)行討論,畢竟大家有著共同的目標(biāo) 和理想,有著共同的話題可聊,這樣的話,又大大節(jié)省了學(xué)習(xí)的時(shí)間。

學(xué)完基本的java語(yǔ)法呢,現(xiàn)在就該用java來(lái)進(jìn)行實(shí)際的編程了,假如你需要 編寫窗口程序,那就學(xué)Swing窗口設(shè)計(jì);假如你要編寫數(shù)據(jù)庫(kù)什么的,那就學(xué)JDBC等等。

大數(shù)據(jù)核心知識(shí)

昆山學(xué)java學(xué)習(xí)

大數(shù)據(jù)核心知識(shí)

Hadoop基礎(chǔ)

Hadoop1介紹

hadoop1架構(gòu)

hadoop2架構(gòu)(對(duì)比hadoop1)

hadoop2環(huán)境搭建

HDFS操作

yarn操作

Hadoop應(yīng)用

Hive數(shù)據(jù)倉(cāng)庫(kù)

zookeeper系統(tǒng)服務(wù)

HBase非關(guān)系型數(shù)據(jù)庫(kù)

Sqoop數(shù)據(jù)庫(kù)抽取工具

Flume日志抽取工具

Spark基礎(chǔ)

環(huán)境搭建

Spark平臺(tái)介紹

RDD彈性分布式數(shù)據(jù)集

Scala編程

Spark應(yīng)用

Spark-SQL組件

DataFrame組件

課程優(yōu)勢(shì)

1.真實(shí)的企業(yè)項(xiàng)目;

2.目前企業(yè)中應(yīng)用廣泛的技術(shù)路線;

3.部分Spark源碼剖析,從源碼層面提升問(wèn)題解決能力。

4.從hadoop1到hadoop2機(jī)制原理詳細(xì)解說(shuō);

5.生產(chǎn)環(huán)境hadoop集群調(diào)優(yōu)經(jīng)驗(yàn);

6.企業(yè)真實(shí)項(xiàng)目實(shí)戰(zhàn);

本階段學(xué)習(xí)目標(biāo)

1.了解hadoop機(jī)制原理 ;

2.了解hadoop集群搭建過(guò)程;

3.了解Hdfs API使用以及mr編程模型;

4.了解hive、hbase、sqoop、flume等組件的使用方法;

5.Spark平臺(tái)的優(yōu)勢(shì)以及Spark集群的搭建過(guò)程;

6.Scala程序設(shè)計(jì)基礎(chǔ);

7.Spark-SQL和DataFrame API詳解。

本階段學(xué)習(xí)效果

1.了解hadoop集群的搭建過(guò)程;

2.能夠**mr和hive來(lái)實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)清洗的業(yè)務(wù)需求;

3.能夠了解數(shù)據(jù)的抽取,轉(zhuǎn)換,清洗,建模,入庫(kù)過(guò)程;

4.掌握Spark集群的搭建;

5.掌握函數(shù)式編程思想,能夠根據(jù)業(yè)務(wù)需求編寫高質(zhì)量的Scala程序;

6.掌握大規(guī)模離線數(shù)據(jù)的計(jì)算、分析能力。

Java網(wǎng)絡(luò)編程由淺入深一


>

本文介紹網(wǎng)絡(luò)相關(guān)理論和簡(jiǎn)單入門的java網(wǎng)絡(luò)編程例子

這篇文章主要介紹計(jì)算機(jī)網(wǎng)絡(luò)的一個(gè)整體架構(gòu)和每一層的作用。

計(jì)算機(jī)網(wǎng)絡(luò)的概念 OSI參考模型 TCP/ip參考模型 IP協(xié)議 TCP協(xié)議和端口 Java網(wǎng)絡(luò)編程入門程序

計(jì)算機(jī)網(wǎng)絡(luò)的概念

網(wǎng)絡(luò),就是不同節(jié)點(diǎn)之間**連線互聯(lián)起來(lái)的一個(gè)事物。以此類推,計(jì)算機(jī)網(wǎng)絡(luò),就是將不同地理位置的計(jì)算機(jī)**通信線路連接起來(lái)的一個(gè)具有強(qiáng)大功能的網(wǎng)絡(luò)系統(tǒng)。在這個(gè)網(wǎng)絡(luò)中每臺(tái)電腦就是一個(gè)節(jié)點(diǎn)。

OSI參考模型

OSI(Open System Interconnection)是由ISO組織研究的一套網(wǎng)絡(luò)體系結(jié)構(gòu)。這名字起的好 各層的名稱和作用,當(dāng)做了解:

名稱 功能
物理層 不要理解錯(cuò)了,這一層不包含什么網(wǎng)線、電纜的物理介質(zhì)。這里只是規(guī)定網(wǎng)線和電纜的接口類型,信號(hào)電壓等。使用bit傳輸
數(shù)據(jù)鏈路層 負(fù)責(zé)兩個(gè)相鄰節(jié)點(diǎn)間的路線,以幀為單位傳輸。典型設(shè)備交換機(jī)(Switch)
網(wǎng)絡(luò)層 兩臺(tái)計(jì)算機(jī)傳輸數(shù)據(jù)可能會(huì)經(jīng)過(guò)很多數(shù)據(jù)鏈路,網(wǎng)絡(luò)層的作用就是選擇**優(yōu)的路線。典型設(shè)備就是路由器
傳輸層 提供兩個(gè)端系統(tǒng)的會(huì)話的建立、維護(hù)和取消傳輸連接的功能。使用報(bào)文傳輸
會(huì)話層 管理進(jìn)程間的會(huì)話過(guò)程,即建立、管理、終止進(jìn)程間的會(huì)話。使用報(bào)文傳輸
表示層 對(duì)數(shù)據(jù)的加解密、解壓縮和格式轉(zhuǎn)換等。
應(yīng)用層 這層就是和用戶的具體應(yīng)用交互。例如:收發(fā)E-mail等。

TCP/IP參考模型

因?yàn)镺SI網(wǎng)絡(luò)結(jié)構(gòu)分層太多過(guò)于復(fù)雜,所以TCP/IP協(xié)議橫空出世。TCP/IP協(xié)議同樣借助了OSI的分層思想,但是只是分為四層:

名稱 功能
主機(jī)網(wǎng)絡(luò)層 為上層提供一個(gè)訪問(wèn)接口
網(wǎng)絡(luò)互聯(lián)層 把IP數(shù)據(jù)包發(fā)送到目標(biāo)主機(jī)。這一層使用的是IP協(xié)議,IP協(xié)議規(guī)定了數(shù)據(jù)包的格式,并且規(guī)定了為數(shù)據(jù)包尋找路由的流程。
傳輸層 使源主機(jī)和目標(biāo)主機(jī)的進(jìn)程可以進(jìn)行會(huì)話。這一層定義了兩種協(xié)議TCP和UDP協(xié)議。
應(yīng)用層 TCP/IP模型將OSI參考模型中的會(huì)話層和表現(xiàn)層功能合并到應(yīng)用層。

基于TCP協(xié)議的應(yīng)用主要有以下幾種:

? FTP:文件傳輸協(xié)議,允許在網(wǎng)絡(luò)上傳輸文件。 ? TELNET:虛擬終端協(xié)議,允許從主機(jī)A登入遠(yuǎn)程主機(jī)B。 ? HTTP:超文本傳輸協(xié)議,允許網(wǎng)絡(luò)是傳輸超文本。 ? HTTPS:安全超文本傳輸協(xié)議。 ? POP3:允許用戶訪問(wèn)和操作運(yùn)程服務(wù)器上的郵件和郵件夾。 ? IMAP4:消息訪問(wèn)協(xié)議版本4,允許用戶訪問(wèn)和操作運(yùn)程服務(wù)器上的郵件和郵件夾。 ? SMTP:發(fā)送郵件的協(xié)議。

基于UDP協(xié)議的應(yīng)用層協(xié)議:

? SNMP:簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議,為管理本地和遠(yuǎn)程的網(wǎng)絡(luò)設(shè)備提供了一個(gè)標(biāo)準(zhǔn)化途徑,是分布式環(huán)境中的集中化管理協(xié)議。 ? DNS:域名系統(tǒng)協(xié)議,把主機(jī)的域名轉(zhuǎn)換為對(duì)應(yīng)的IP地址。

IP協(xié)議

IP網(wǎng)絡(luò)(采用IP協(xié)議的網(wǎng)絡(luò))中每一臺(tái)主機(jī)都有唯一的IP地址,IP地址標(biāo)識(shí)網(wǎng)絡(luò)中的每個(gè)主機(jī)。IP地址是一個(gè)32位的二進(jìn)制數(shù)序列。例如:192.168.3.4。IP地址與子網(wǎng)掩碼進(jìn)行與運(yùn)算得到的是網(wǎng)絡(luò)地址。如果子網(wǎng)掩碼為255.255.255.0 那網(wǎng)絡(luò)地址就是:192.168.3.0

發(fā)送數(shù)據(jù)包的過(guò)程

IP是面向包的協(xié)議,即數(shù)據(jù)被分成若干小數(shù)據(jù)包,然后分別傳輸它們。IP網(wǎng)絡(luò)上的主機(jī)只能直接向本地網(wǎng)上的其他主機(jī)(也就是具有相通IP網(wǎng)址的主機(jī))發(fā)送數(shù)據(jù)包。主機(jī)實(shí)際上具有兩個(gè)不同性質(zhì)的真實(shí)地址。主機(jī)A向同一個(gè)網(wǎng)絡(luò)上的另一個(gè)主機(jī)B發(fā)包時(shí),會(huì)**地址解析協(xié)議(ARP,Address Resolution PRotocol)獲得對(duì)法的物理地址,然后把包給對(duì)方。ARP協(xié)議的運(yùn)行機(jī)制為,主機(jī)A在網(wǎng)絡(luò)上廣播一個(gè)ARP消息:”要找地址為192.166.3.5的主機(jī)”,具有這個(gè)IP地址的主機(jī)B就會(huì)作響應(yīng),把自身的物理地址告訴A。

當(dāng)主機(jī)A向另外一個(gè)網(wǎng)絡(luò)的主機(jī)B發(fā)送包時(shí): 主機(jī)A利用ARP協(xié)議找到本地網(wǎng)絡(luò)上的路由器的物理地址,把包轉(zhuǎn)給路由。路由器按照如下步驟處理數(shù)據(jù)包:

如果數(shù)據(jù)包的生命周期已到,則數(shù)據(jù)包被拋棄。 搜索路由表,優(yōu)先搜索路由表中的主機(jī),如果找到具有目標(biāo)IP地址的主機(jī),則將數(shù)據(jù)包發(fā)給該主機(jī)。 如果匹配主機(jī)失敗,則繼續(xù)搜索路由表,匹配子網(wǎng)的路由表,如果找到匹配的路由表,則將數(shù)據(jù)包轉(zhuǎn)發(fā)給該路由器。 如果匹配同子網(wǎng)的路由器失敗,則繼續(xù)搜索路由表,匹配同網(wǎng)絡(luò)的路由器,如果找到匹配的路由器,則將數(shù)據(jù)包轉(zhuǎn)發(fā)給該路由器。 如果以上匹配都失敗,就搜索默認(rèn)路由,如果默認(rèn)路由存在,則按照默認(rèn)路由發(fā)送數(shù)據(jù)包,否則丟棄數(shù)據(jù)包。 流程圖如下:

域名

IP是一串?dāng)?shù)字沒(méi)有任何意義。域名就是與IP對(duì)應(yīng)的有意義的一串字符或數(shù)字。例如:www.google.com 域名和IP的對(duì)應(yīng)需要一個(gè)域名解析系統(tǒng)來(lái)實(shí)現(xiàn)將域名轉(zhuǎn)換成IP。DNS服務(wù)器就是就可以解決這個(gè)問(wèn)題。

URL(統(tǒng)一資源定位符)

URL(Uniform Resource Location)是專門標(biāo)識(shí)網(wǎng)絡(luò)上資源位置而設(shè)置的一種編址方式。URL一般由3個(gè)部分組成:

應(yīng)用層協(xié)議://主機(jī)IP地址或域名/資源所在路徑/資源名

例如:http://blog.csdn.net/facekbook/article/details/54962975 其中http 指超文本傳輸協(xié)議,blog.csdn.net 是Web服務(wù)器的域名,/article/details/ 是網(wǎng)頁(yè)所在路徑,54962975 這個(gè)才是相應(yīng)的網(wǎng)頁(yè)文件。

TCP協(xié)議和端口

IP協(xié)議在發(fā)送數(shù)據(jù)時(shí),在數(shù)據(jù)傳輸過(guò)程中會(huì)出現(xiàn)各種問(wèn)題。導(dǎo)致包丟失或包的順序不對(duì)。TCP協(xié)議使兩臺(tái)主機(jī)上的進(jìn)程順利通信,不必?fù)?dān)心包丟失或包順序不對(duì)。TCP跟蹤包順序,如果包順序被搞亂時(shí)按照正確的順序進(jìn)行重新組合。如果包丟失,則TCP會(huì)請(qǐng)求源主機(jī)重發(fā)包。

端口

TCP協(xié)議使兩臺(tái)主機(jī)上的進(jìn)程順利通信,但是主機(jī)不止一個(gè)進(jìn)程。TCP就采取端口來(lái)區(qū)分進(jìn)程。端口不是物理設(shè)備,而是用于標(biāo)識(shí)進(jìn)程的邏輯地址。計(jì)算機(jī)的端口范圍是0到65535,其中0到1023的端口一般固定分配給一些服務(wù)。具體如下:

服務(wù) 端口 協(xié)議
文件傳輸服務(wù) 21 FTP
遠(yuǎn)程登錄服務(wù) 23 TELENET
郵件傳輸服務(wù) 25 SMTP
萬(wàn)維網(wǎng)超文本傳輸服務(wù) 80 HTTP
訪問(wèn)郵件遠(yuǎn)程郵件服務(wù) 110 POP3
互聯(lián)網(wǎng)消息存取服務(wù) 143 IMAP4
安全的超文本傳輸服務(wù) 443 HTTPS
安全的遠(yuǎn)程登錄服務(wù) 992 TELNETS
安全互聯(lián)網(wǎng)消息存取服務(wù) 993 IMAPS

Java網(wǎng)絡(luò)編程入門程序

Java網(wǎng)絡(luò)程序都建立在TCP/IP協(xié)議基礎(chǔ)上,在應(yīng)用層實(shí)現(xiàn)。傳輸層向應(yīng)用層提供了套接字Socket接口,Socket封裝了下層的數(shù)據(jù)傳細(xì)節(jié),應(yīng)用層的程序**Socket來(lái)建立與遠(yuǎn)程主機(jī)的連接,以及數(shù)據(jù)傳輸,如下圖所示:

在Java中,有3種套接字類:java.net.Socketjava.net.ServerSocketjava.net.DatagramSocket 。其中SocketServerSocket 建立在TCP協(xié)議上,DatagramSocket 類建立在UDP協(xié)議基礎(chǔ)上。我們創(chuàng)建EchoServer和EchoClient兩個(gè)類,我們**ServerSocketSocket來(lái)編寫。

創(chuàng)建EchoServer類

在服務(wù)端**一直監(jiān)聽(tīng)端口,來(lái)接收客戶程序的連接請(qǐng)求。在服務(wù)器程序中,先創(chuàng)建一個(gè)ServerSocket對(duì)象,在構(gòu)造方法中指定監(jiān)聽(tīng)的端口:

ServerSocket server = new ServerSocket(8080);

ServerSocket構(gòu)造器負(fù)責(zé)在操作系統(tǒng)中將當(dāng)前進(jìn)程注冊(cè)為服務(wù)進(jìn)程。服務(wù)器程序調(diào)用ServerSocketaccept()方法來(lái)監(jiān)聽(tīng)端口,等待客戶端的連接,如果接收到連接,則accept()方法返回一個(gè)Socket對(duì)象,這個(gè)Socket對(duì)象與客戶端的Socket對(duì)象形成了一條通信線路:

Socket socket = server.accept();

Socket提供了getInputStream()方法和getOutputStream()方法,分別返回輸入流InputStream對(duì)象和輸出流OutputStream對(duì)象。程序只需向輸出流寫入東西,就能向?qū)Ψ桨l(fā)送數(shù)據(jù);只需從輸入流讀取數(shù)據(jù),就能接收到數(shù)據(jù)。如下圖: EchoServer 類代碼如下:

/** * 服務(wù)端 服務(wù)端類 * */ public class EchoServer { private ServerSocket serverSocket; public EchoServer(int port) { try { this.serverSocket = new ServerSocket(port); System.out.println("start server success,start port:" port); } catch (IOException e) { e.printStackTrace(); } } /** * 獲取BufferedReader包裝類 * * @param socket * @return * @throws IOException */ private BufferedReader getReader(Socket socket) throws IOException { return new BufferedReader(new InputStreamReader(socket.getInputStream())); } /** * 獲取PrintWriter包裝類, * * @param socket * @return * @throws IOException */ private PrintWriter getWriter(Socket socket) throws IOException { // 每寫一行自動(dòng)刷新 return new PrintWriter(socket.getOutputStream(), true); } public void service() { while (true) { Socket socket = null; try { socket = serverSocket.accept(); System.out.println("new connect,address is:" socket.getInetAddress() " port is:" socket.getPort()); BufferedReader reader = getReader(socket); PrintWriter writer = getWriter(socket); String msg = null; while ((msg = reader.readLine()) != null) { // 讀取一行 System.out.println("client request msg: " msg); writer.println(echo(msg)); if ("bye".equalsIgnoreCase(msg)) { break; } } } catch (IOException e) { e.printStackTrace(); }finally{ if(socket!=null){ try { //關(guān)閉會(huì)話連接 socket.close(); } catch (IOException e) { e.printStackTrace(); } } } } } private String echo(String msg) { return "get request msg is " msg " "; } public static void main(String[] args) { new EchoServer(8080).service(); } }

EchoServer類的**主要的方法就是service()方法,它不斷登錄客戶的連接請(qǐng)求。當(dāng)serverSocket.accept()返回一個(gè)Socket對(duì)象時(shí),表示與一個(gè)客戶端建立了連接。

創(chuàng)建EchoClient

在EchoClient程序中,為了與EchoClient通信,需要先創(chuàng)建一個(gè)Socket對(duì)象:

String host="localhost"; int port = 8080; new Socket(host, port);

host表示Server進(jìn)程所在服務(wù)器的地址,port表示Server進(jìn)程監(jiān)聽(tīng)的端口。當(dāng)參數(shù)host為’localhost’時(shí),表示服務(wù)端和客戶端在同一臺(tái)機(jī)器上。下面是EchoClient類的源碼:

public class EchoClient { private Socket socket; public EchoClient(String host,int port){ try { this.socket = new Socket(host, port); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /** * 獲取BufferedReader包裝類 * * @param socket * @return * @throws IOException */ private BufferedReader getReader(Socket socket) throws IOException { return new BufferedReader(new InputStreamReader(socket.getInputStream())); } /** * 獲取PrintWriter包裝類, * * @param socket * @return * @throws IOException */ private PrintWriter getWriter(Socket socket) throws IOException { // 每寫一行自動(dòng)刷新 return new PrintWriter(socket.getOutputStream(), true); } public void talk(){ try { BufferedReader reader = getReader(socket); PrintWriter writer = getWriter(socket); BufferedReader localReader = new BufferedReader(new InputStreamReader(System.in)); String msg = null; while((msg=localReader.readLine())!=null){ writer.println(msg); System.out.println("server response msg:" reader.readLine()); if("bye".equalsIgnoreCase(msg)){ break; } } } catch (IOException e) { e.printStackTrace(); }finally{ if(socket!=null){ try { socket.close(); System.out.println("has been disconnected"); } catch (IOException e) { e.printStackTrace(); } } } } public static void main(String[] args) { new EchoClient("localhost", 8080).talk(); } }

在EchoClient類中**重要的是talk()方法,該方法不斷讀取用戶從控制臺(tái)輸入的字符串,然后將它發(fā)送到EchoServer,在把EchoServer返回的數(shù)據(jù)打印在控制臺(tái)。如果輸入’bye’字符串,就會(huì)結(jié)束與EchoServer的通信,調(diào)用socket.close()方法端口連接。 具體運(yùn)行如下圖,一個(gè)是服務(wù)端一個(gè)是客戶端的控制臺(tái):

總結(jié)

簡(jiǎn)單介紹了一下網(wǎng)絡(luò)的理論知識(shí)和TCP/IP協(xié)議。并使用Java實(shí)現(xiàn)了一個(gè)網(wǎng)絡(luò)通信程序。


相關(guān)推薦:


蘇州JAVA培訓(xùn)   蘇州JAVA培訓(xùn)班   蘇州JAVA培訓(xùn)機(jī)構(gòu)

體驗(yàn)課預(yù)約試聽(tīng)

倒計(jì)時(shí)

12:00:00

課程熱線:

在線咨詢

客服在線時(shí)間:早上9點(diǎn)~下午6點(diǎn),其他時(shí)間請(qǐng)?jiān)诰€預(yù)約報(bào)名或留言,謝謝!

蘇州JAVA

免費(fèi)體驗(yàn)課開(kāi)班倒計(jì)時(shí)

11: 41: 09

稍后會(huì)有專業(yè)老師給您回電,請(qǐng)保持電話暢通

咨詢電話:
推薦機(jī)構(gòu) 全國(guó)分站 更多課程

本周僅剩 個(gè)試聽(tīng)名額

請(qǐng)鍵入信息,稍后系統(tǒng)將會(huì)把領(lǐng)獎(jiǎng)短信發(fā)至您的手機(jī)

申請(qǐng)?jiān)嚶?tīng)名額

已有10254人申請(qǐng)免費(fèi)試聽(tīng)

01電話咨詢 |

QQ:
加盟合作:0755-83654572