日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一个牛人给JAVA初学者的建议【转】

發(fā)布時間:2023/12/14 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一个牛人给JAVA初学者的建议【转】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

給初學(xué)者之一:淺談java及應(yīng)用

學(xué)java不知不覺也已經(jīng)三年了

從不知java為何物到現(xiàn)在一個小小的j2ee項目經(jīng)理

雖說不上此道高手,大概也算有點斤兩了吧

每次上網(wǎng),泡bbs逛論壇,沒少去java相關(guān)的版面

總體感覺初學(xué)者多,高手少,精通的更少

?

由于我國高等教育制度教材陳舊,加上java自身發(fā)展不過十年左右的時間

還有一個很重要的原因就是java這門語言更適合商業(yè)應(yīng)用

所以高校里大部分博士老師們對此語言的了解甚至不比本科生多

在這種環(huán)境下,很多人對java感到茫然,不知所措,不懂java能做什么

即便知道了java很有用,也不清楚該從哪里入手

所以就有了 java入門難這一說法

?

ok,那我們就從java到底能做什么聊起

?

先說什么是java

?

java是一種面向?qū)ο笳Z言,真正的面向?qū)ο?#xff0c;任何函數(shù)和變量都以類(class)封裝起來

至于什么是對象什么是類,我就不廢話了

關(guān)于這兩個概念的解釋任何一本面向?qū)ο笳Z言的教材里面都有

知道了什么是java,那自然就會對java能干什么感興趣

?

在說java能做什么之前,先說java作為一個真正面向?qū)ο笳Z言的優(yōu)點

首先第一個,既然是真正的面向?qū)ο?#xff0c;那就要做到徹底的封裝

這是java和c++最大的不同,java所有的源碼以及編譯后的文件都以類的形式存在

java沒有所謂的類外部定義,所有的函數(shù)(方法)以及變量(屬性)都必須在類內(nèi)部定義

這樣就不會出現(xiàn)一個類被切割成這里一塊那里一塊的情況,c++就可以,不是么?

這樣做使得整個程序的結(jié)構(gòu)異常清晰,明了

?

其次第二個,最讓人歡呼雀躍的是完全屏蔽了指針,同時引入了垃圾回收機制

任何一個寫過c/c++代碼的人,都會對內(nèi)存管理深惡痛絕

因為這使得我們不能把主要精力放在我們關(guān)心的事情上

而需要考慮計算機內(nèi)部的一些事情,作為一個軟件工程師

我想沒有一個人愿意把大量的時間花在內(nèi)存管理上,畢竟我們不是電子工程師

此時java的優(yōu)勢體現(xiàn)出來了,它完全屏蔽了內(nèi)存管理

也就是說,如果你用java寫程序,寫出來的任何一個程序內(nèi)存上的開銷,都不受你控制

乍一看,似乎你受到了束縛,但實際上不是這樣

因為雖然你的程序無法對內(nèi)存進行管理,降低了一定的速度

但你的程序會非常非常的安全,因為你無法調(diào)用一個空指針

而不像以前寫c的時候那樣,成天因為空指針而擔(dān)驚受怕

當(dāng)然,如果你深入了解這一行,就會發(fā)現(xiàn)java其實也無法保證程序不去調(diào)用空的指針

但是它會在最大程度上避免空指針的調(diào)用

這已經(jīng)很好了,安全,這是java的最突出的優(yōu)點

?

第三個,虛擬機跨平臺,這是java最大的特點,跨平臺

可能所有人都知道windows,但是不是所有人都知道unix

和java一樣,很多人都不知道unix這種操作系統(tǒng)干什么用

我不想多說unix的應(yīng)用,這不是主要,但是我要說,大部分小型機

工作站,都跑在unix一族的操作系統(tǒng)上,比如linux/solaris

unix比起windows有一個最顯著的特點,穩(wěn)定,這就好比思科和華為

思科的機器慢但穩(wěn)定,華為的機器快但不穩(wěn)定,作為服務(wù)器這一端來說

要的unix在服務(wù)器端還是非常有市場的

而且很重要的windows不安全,在ms的宣傳中我想所有人都很少看到安全二字

因為windows操作系統(tǒng)針對的是pc用戶,pc死機就死機咯,大不了重啟

瘟95最經(jīng)常冒出來的就是藍屏,在服務(wù)器這一端上因為ms沒有自己的芯片

所以要做系統(tǒng)有些力不從心啊。扯遠了,那么java可以做到在windows上編譯

然后在unix上運行,這是c/c++做不到的

?

那么說到這里,java能做什么逐漸清晰起來

剛才說到了,java程序有一個的特點是安全

這個安全是針對你的系統(tǒng)來說得,系統(tǒng)在跑了java程序之后會特別地穩(wěn)定

而且還能跨平臺,那么很明顯,java主要應(yīng)用于除了windows操作系統(tǒng)以外所有的平臺

比如手機,服務(wù)器

想想看,如果你寫的程序要跑在手機上,而手機有多少款用的是windows?

就算有,那如果你用c/c++,是不是要針對每一款手機寫一套程序呢?

累死,那跨平臺的java就不用,做到編譯一次,隨時運行

同樣,在服務(wù)器這一端,如果我想給一個網(wǎng)絡(luò)門戶站點,比如sina

寫一個應(yīng)用程序,pc的性能肯定無法滿足sina這樣大站點并發(fā)數(shù)量的要求

那么它就需要買服務(wù)器,那么服務(wù)器ms沒有市場,而且windows很不安全

那么十之八九會買一個sun/ibm的機器,或者hp,但不管是誰的機器

它裝的操作系統(tǒng)也不會是windows,因為windows太不安全了,而且多核的支持太差了

這個有空再說,那么如果你要寫一個程序在這樣的機器上跑

難道我們就在這個機器上做開發(fā)么?當(dāng)然不可能,一般程序員開發(fā)用的都是pc,windows

那么該怎么辦?寫一個程序,然后再拿到服務(wù)器上去編譯,去調(diào)試?

肯定不可能,所以我們就希望找到一個語言,編譯完生成程序之后

在pc上調(diào)試,然后直接移植到服務(wù)器上去,那么此時,我們就會毫不猶豫地選擇java

因為在跨平臺以及安全性來說,java永遠是第一選擇

?

ok,下面說java的缺點

?

一慢,這其實是一種誤區(qū),這就好比goto語句一樣

java也拋棄了指針,雖然看上去似乎變慢了,但是在這個兩三年硬件性能就能翻番的年代

速度已經(jīng)不是我們關(guān)心的問題了,而且對于企業(yè)級的應(yīng)用來說

沒有什么比安全穩(wěn)定更重要的,換句話說,我們可以忍受慢,但是不能忍受死機和藍屏

而且越大型的應(yīng)用,這種慢的劣勢體現(xiàn)得越模糊

因為當(dāng)系統(tǒng)項目越做越大,任何一個環(huán)節(jié)做不好都可能影響全局的情況下

安全尤其重要,而且就像goto語句一樣

這種過分追求速度的主張會給系統(tǒng)開發(fā)和糾錯以及維護帶來無可挽回甚至不可避免的損失

把內(nèi)存交給計算機去管理吧,這種代價值得

我們做的不是pc游戲,沒必要把內(nèi)存的那一點點消耗當(dāng)親爹

?

二難看,又是一個誤區(qū),很多人甚至拿出java swing控件畫出的界面來說

呵呵,其實java不是不能畫得好看,IDEA就是java寫的IDE,挺漂亮的

但為什么難看呢,是因為swing控件它本身就是unix時代的產(chǎn)物,swing控件貼近unix界面

老外看unix界面其實挺順眼的,他們就是吃unix飯長大的

而unix又是吃百家飯的,不像ms那么唯利是圖,所以不怎么對中國人友好

加上我國又沒有公司在做操作系統(tǒng),所以看上去是不怎么順眼

其實玩過unix的人都知道,unix對中文的支持一直不怎么好

?

三我還沒想到,其他人補充

?

給初學(xué)者之二:從JDK說起

在知道了java有什么優(yōu)點,能做什么之后

就該說一下java該如何去學(xué)了

?

在說java如何去學(xué)之前,有必要把java的幾個大方向做一個簡單說明

早在五年前,嗯,應(yīng)該說是六年前,也就是99年的時候

sun公司做出了一個決定,將java應(yīng)用平臺做一個劃分

畢竟在不同領(lǐng)域,語言應(yīng)用特性是有區(qū)別的

針對不同領(lǐng)域內(nèi)的應(yīng)用,sun公司可以發(fā)布相關(guān)高端標(biāo)準(zhǔn)來統(tǒng)一規(guī)范代碼

這三大塊就是J2SE,J2EE以及J2ME

這個舉措今天看來無疑是非常了不起的

正是由于這次革命性的發(fā)展,使java從一種小打小鬧游戲性的語言

發(fā)展成為今天企業(yè)級應(yīng)用的基礎(chǔ)

?

這里要特別說明一下J2SE J2EE J2ME中2的意思

其實2就是英文單詞to的諧音,就是to的意思

而不是second edition,當(dāng)然java 2本身版本號就是1.2,也有點2nd edition的味道

?

說點題外的,sun公司發(fā)布的java版本很有意思

雖然總是寫是1.X但其實外界對這種版的說法也就是X.0

比如java 2,其實就是java 1.2

1.3其實就是3.0,1.4就是4.0,現(xiàn)在所說的5.0其實就是1.5

只是以前我們更習(xí)慣叫1.X而已

可能到了5.0以后,就全改叫X.0而不是1.X了

所以以后聽到別人說java 5.0,千萬別驚訝,其實就是1.5

?

在這三個J2*E中J2SE是基礎(chǔ),就是java 2的標(biāo)準(zhǔn)版(java 2 standard edition)

也就是最基礎(chǔ)的java語言部分,無論學(xué)什么java技術(shù),J2SE都是必須掌握的

要使用J2SE就必須安裝JDK(java development kit)

JDK在sun公司的主頁上可以免費下載,下載后需要安裝,具體安裝流程看教材

JDK包含有五個部分:核心API,集成API,用戶界面API,發(fā)布技術(shù)還有java虛擬機(JVM)

?

先說運行環(huán)境,運行環(huán)境最主要要說的就是java虛擬機(JVM)

前面我們說過java是跨平臺的語言,那么如何做到跨平臺呢?畢竟每種操作系統(tǒng)都是不同的

java的設(shè)計者們提出了一個虛擬機的概念

在操作系統(tǒng)之上建立一個統(tǒng)一的平臺,這個平臺必須實現(xiàn)某些功能以支持程序的運行

如下圖:

-------------------------------------

|???????????? program?????????????? |

-------------------------------------

|??????????????? JVM??????????????? |

-------------------------------------

| UNIX | Windows | Linux | Solaris |..

-------------------------------------

程序員所寫的每一個程序都先運行在虛擬機上

所有操作都必須經(jīng)過虛擬機才能和操作系統(tǒng)交互

這樣做不僅統(tǒng)一了所有操作系統(tǒng),同時也保證了操作系統(tǒng)的安全

要死機的話,死的是虛擬機(JVM)而操作系統(tǒng)并不會受此影響

而我們所說的java運行環(huán)境指的主要是JVM,其他的不說了,省略

?

下面說說JDK(java development kit)的API,其實用JDK來包括運行環(huán)境以及開發(fā)工具

個人感覺是不恰當(dāng)?shù)?#xff0c;因為這三個單詞僅能說明開發(fā)工具,也就是幾個標(biāo)準(zhǔn)的API

而沒有讓人感覺到有運行環(huán)境的意思在里面,這是題外

那么什么是API?

簡單地說就是Application Programming Interface,應(yīng)用程序編程接口

在java里面,就是一些已經(jīng)寫好了的類打成的包

這又要解釋什么是類什么是包了,簡單說一下,包就是類的集合

一個包包含零個或多個類,嗯,具體的可以去看書

這些類是java的基礎(chǔ)類,常用的類,可以簡單理解成java的工具集

?

最后說一下JDK的發(fā)布技術(shù),其實按我的理解,講白了就是編譯器

將.java文件轉(zhuǎn)換成.class文件的一種技術(shù)

這三部分組成了JDK,有了JDK,就可以開發(fā)出J2SE應(yīng)用軟件了

最原始的只要用一個記事本寫幾行代碼就可以了

但一般來說我們會使用效果比較好的開發(fā)工具,也就是IDE

在J2SE這一塊,特別推薦JCreator這款I(lǐng)DE

sun公司的產(chǎn)品,與JDK結(jié)合得幾乎是天衣無縫,非常適合初學(xué)者使用

?

教材方面中文的推薦電子工業(yè)出版社出版的《java教程》初級與高級篇各一本

還有就是《21天學(xué)通java》雖然有人說21天系列是爛書,但個人感覺

對于j2se,這本書翻譯得已經(jīng)很不錯了,基本沒有什么語法錯誤,語句也很通順

最后要說的就是《thinking in java》

這本書自然很經(jīng)典,說得比較細,只是我覺得不太適合初學(xué)者,其實也不難

初學(xué)者直接看也不成問題,但個人感覺還是找本教材也就是前面推薦的兩款來看比較好

基本概念的理解還是用教材的,畢竟thinking in java有的版本翻譯得很爛

而且個人建議還是看原版比較好,當(dāng)然這幾本都看最好了,但如果沒時間

至少精讀其中一本,然后再看其他兩本就可以,其實三本書內(nèi)容也差不多

但看問題的角度方式以及面向的讀者也都不同,嗯,怎么說呢,找適合自己的吧

最后要說的是

由于虛擬機的存在,J2SE的大多數(shù)軟件的使用會比一般桌面軟件慢一些

效果不盡如人意,現(xiàn)在大概只有swing控件還在使用吧,其它沒怎么聽說

?

J2EE&J2ME

這是java應(yīng)用的重中之重,如果想拿高薪,最好把J2EE學(xué)好

記得以前在csdn上看過一個調(diào)查,月薪上萬的程序員主要從事哪方面的工作

十個中有八個是做J2EE的,其他兩個一個做J2ME,還有一個做嵌入式

也許有些夸張,但也從某一方面說明J2EE人才的稀缺以及應(yīng)用的廣泛

所以如果想學(xué)java,只精通j2se是永遠不夠的,至少還需要時間去了解其它兩個J2*E

?

給初學(xué)者之三:java企業(yè)級應(yīng)用之硬件篇

總算講到企業(yè)級應(yīng)用了,內(nèi)容開始逐漸有趣起來

?

java企業(yè)級應(yīng)用分為硬件篇和軟件篇

重點在軟件,硬件是外延,嚴(yán)格地說與java沒有必然聯(lián)系

但是,由于java是網(wǎng)絡(luò)語言,不了解硬件的一些基礎(chǔ)知識

軟件知道再多也沒什么用,不要上了戰(zhàn)場還不知道為什么而打仗

硬件是軟件的基礎(chǔ),在這個前提下,有必要專門花一點點篇幅來聊一下硬件

?

硬件,簡單地說就是我們實際生活中看得見摸得著的東西

也就是那些冰冷的機器,比如服務(wù)器,個人電腦還有網(wǎng)絡(luò)交換機,路由器等等

?

那么先拋開網(wǎng)絡(luò)設(shè)備不談,先來說說計算機電腦的歷史

?

在很早很早以前,人類創(chuàng)造了第一臺電腦,那時候的電腦只是一臺用來計算的機器

無比大,無比重,無比傻,除了算其它屁事不會做,沒有所謂的人工智能與計算機網(wǎng)絡(luò)

但是總算是誕生了,雖然以今天的眼光去看那時候的機器巨傻無比

只配叫做計算器而不是電腦,沒有邏輯思維能力,只會死算

但千里之行,始于足下,反正是造出來了

?

然后隨著時間的推移,制造業(yè)發(fā)展發(fā)展發(fā)展

電腦性能逐漸得到提升,速度快了起來,成本也逐漸低了下來

于是人們造出了第二臺,第三臺,第四臺,第五臺……第n臺計算機

人們就造出了無數(shù)臺計算機并使其成為一種產(chǎn)品

逐漸應(yīng)用于許多復(fù)雜計算領(lǐng)域,不僅僅是科研,許多生產(chǎn)領(lǐng)域也開始出現(xiàn)計算機的影子

?

然后又隨著時間的推移,人們發(fā)現(xiàn)不可能把所有的計算機都做成一個樣子

因為各行各業(yè)對計算機性能的要求各不相同

于是開始把計算機劃分檔次,最簡單地是按照計算機的大小劃分

就是教科書上寫的大型機,中型機,小型機

//個人感覺這樣分純粹扯淡,還以為是小孩子玩球,分為大球,中球和小球

但是不管怎樣,計算機不再是千篇一律一個樣子了

按照性能的不同,在不同領(lǐng)域,出現(xiàn)了滿足符合不同要求的計算機

?

幾乎在同時,人們也開始考慮計算機之間通訊問題

人們開始考慮將不同的計算機連接起來,于是網(wǎng)線出現(xiàn)了,網(wǎng)絡(luò)出現(xiàn)了

又隨著網(wǎng)絡(luò)的發(fā)展,出現(xiàn)了一下專門為了尋址而存在的機器

這就是路由器和交換機,然后又出現(xiàn)了一些公益性的組織或團體

他們制定了一系列的標(biāo)準(zhǔn)來規(guī)范以及管理我們的網(wǎng)絡(luò)

于是3w出現(xiàn)了,計算機的網(wǎng)絡(luò)時代來臨了

?

嗯,說到這里,計算機發(fā)展到今天的歷史大概說完了

我們來詳細說說網(wǎng)絡(luò)時代的計算機以及各個硬件供應(yīng)商之間的關(guān)系

?

前面說到了,計算機分為大型機,中型機和小型機……

但是現(xiàn)在市場上沒有人這樣分,要是出去買機器,對硬件供應(yīng)商說

我要買一款中型機,或者說,我要買一款小型機,硬件供應(yīng)商肯定會問問題

他們會問你買機器干什么用的?科學(xué)計算啊還是居家用,是作服務(wù)器啊還是圖形設(shè)計

但不管怎樣,簡單地說大中小型機已經(jīng)沒有什么意義了

我們按照使用范疇來劃分

簡單劃分為

服務(wù)器,工作站還有微機

?

服務(wù)器(server)

服務(wù)器涵蓋了幾乎所有的大型機以及大部分中型機甚至一些小型機

用通俗點話說24小時不間斷運行提供服務(wù)的機器

比如賣飛機票(中航信),比如酒店預(yù)定(攜程)

比如提供門戶站點相關(guān)服務(wù)(sina),比如電子商務(wù)(ebay,amazon,阿里巴巴)

這些服務(wù)對機器都有一些特定的要求,尤其強調(diào)安全和穩(wěn)定

?

工作站(workstation)

工作站其實是圖形工作站的簡稱,說白了,就是某種功能極其強大的計算機

用于特定領(lǐng)域,比如工程設(shè)計,動畫制作,科學(xué)研究等

?

個人電腦/微機(pc)

計算機網(wǎng)絡(luò)的最末端,這個應(yīng)該不用我說太多了

網(wǎng)絡(luò)時代的pc已經(jīng)普及到千家萬戶

?

說完了分類,我們就來說說各個硬件供應(yīng)商

首先是服務(wù)器還有工作站

這兩類硬件供應(yīng)商主要是以下三家

Sun,IBM還有HP(惠普)

?

然后是PC

以前IBM還有PC事業(yè)部,現(xiàn)在被聯(lián)想吞并了(蛇吞象)

現(xiàn)在國際市場上有聯(lián)想和DELL(戴爾),目前戴爾還是國際老大

還有HP康柏

?

然后是網(wǎng)絡(luò),也就是路由器和交換機

這塊市場嘛,Cisco(思科)Brocade(博科)還有McDATA三足鼎立

?

內(nèi)核(CPU)

PC內(nèi)核

主要是AMD和Intel,前者最近與Sun公司合作,Sun也有一部分單雙核服務(wù)器用的是AMD的

服務(wù)器與工作站內(nèi)核

這一塊與硬件廠商綁定

還是Sun,IBM,HP三家自己生產(chǎn)

?

題外

在一些大型主機應(yīng)用市場,比如賣飛機票

德國的漢莎,中國的中航信,香港的國泰用的都是尤利(美國的公司,英文名我忘了)

其它用的是IBM的機器,現(xiàn)在能做大型機的感覺似乎只有IBM可以

尤利已經(jīng)快倒了,技術(shù)太落后了,現(xiàn)在他們的系統(tǒng)還是fortran寫的,連c都不支持

?

要特別說明的是,一個超大型主機然后多個小終端/pc的結(jié)構(gòu)現(xiàn)在越來越?jīng)]市場了

將來的趨勢是用一整個包含多個服務(wù)器的分布式操作系統(tǒng)來取代這些大型主機

因為大型主機更新?lián)Q代極其困難,一旦數(shù)據(jù)量超過了主機的處理能力

那么就要換主機,這個成本是極大的,但是如果用分布式操作系統(tǒng)

那就只需要增加小服務(wù)器就行了

?

硬件就大概說到這里,與大多數(shù)人沒什么關(guān)系

因為大多數(shù)人壓根不可能進入這些硬件領(lǐng)域,除非做銷售

說了這么多,只是為了給軟件部分打基礎(chǔ)而已

//做嵌入式的除外

給初學(xué)者之四:java企業(yè)級應(yīng)用之軟件篇

嗯,說過了硬件就該是軟件了

這篇是這個系列的重中之重

?

首先我們來說說什么是軟件,統(tǒng)一一下概念

?

所謂軟件通俗地說就是一套計算機程序

實現(xiàn)了某些功能的計算機程序

在很早很早以前,一臺計算機的軟件是不分層次結(jié)構(gòu)的

一臺計算機只有一個系統(tǒng),這個系統(tǒng)既是操作系統(tǒng)又是應(yīng)用軟件,與硬件緊密綁定

后來經(jīng)過許多年的發(fā)展發(fā)展發(fā)展

人們把一些與硬件緊密相連的又經(jīng)常用到必不可少的功能做到一套程序中去

這一套程序就被人們稱做操作系統(tǒng)

另外一些可有可無的,不同工作適應(yīng)不同環(huán)境的功能封裝到另外一套程序中去

而這一系列程序被人們稱作應(yīng)用軟件

如下圖:

-------------------------------------------

|應(yīng)用軟件:falshgat/IE/realplayer/winamp..|

-------------------------------------------

|操作系統(tǒng):UNIX/Windows/Linux/Solaris...? |

-------------------------------------------

前一篇我們知道,硬件分為服務(wù)器工作站與pc

其實無論哪種硬件的軟件,都有操作系統(tǒng)與應(yīng)用軟件

?

ok,那下面我們來談應(yīng)用軟件

在現(xiàn)在企業(yè)級應(yīng)用中,我們的應(yīng)用軟件一般分為三層

三層分別是表示層,業(yè)務(wù)邏輯層,數(shù)據(jù)持久層

------------------------------

|表示層|業(yè)務(wù)邏輯層|數(shù)據(jù)持久層|

------------------------------

我們來說說三層中的代表軟件

表示層

這一層一般在客戶端pc機上,最常見的是IE瀏覽器,這就是表示層的軟件

表示層是直接與使用者交互的軟件

業(yè)務(wù)邏輯層

這一層一般在服務(wù)器端,顧名思義,所有業(yè)務(wù)邏輯處理都在這一層完成

最典型的是appserver,比如IBM的websphere,BEA的weblogic還有tomcat/jboss等

這一層也是三層中的重點,我們要說的大部分內(nèi)容都是關(guān)于這一層的,這個等會再說

這一層就叫做中間層

數(shù)據(jù)持久層

這一層典型的就是數(shù)據(jù)庫,一般也在服務(wù)器端

但該服務(wù)器一般與裝業(yè)務(wù)邏輯層軟件的服務(wù)器分開

當(dāng)然你也可以用IO輸入輸出流往硬盤上寫東西

但沒人會建議你這么做,因為這樣做你的數(shù)據(jù)缺乏管理,不管怎樣

這一層要做的就是保存數(shù)據(jù),業(yè)務(wù)邏輯層軟件一般不負責(zé)保留數(shù)據(jù)

或者說業(yè)務(wù)邏輯層只負責(zé)暫時儲存數(shù)據(jù),一關(guān)機,業(yè)務(wù)邏輯層數(shù)據(jù)全部over了

那么數(shù)據(jù)的持久化(也就是儲存數(shù)據(jù))就必須要在這一層完成

?

下面放著這些概念不談,我們來說說將來的趨勢

趨勢一:

瘦客戶端,很早很早以前,當(dāng)時C/S模式也就是client/server

客戶端軟件大行其道的年代,一個pc用戶,是采用一個傻終端連接到服務(wù)器上

然后進行相應(yīng)的操作,最典型的就是我們上bbs經(jīng)常用的c-term

這就是那個時代的產(chǎn)物,同樣還有我國現(xiàn)行的機票定座用的e-term

后來呢,瀏覽器變得非常流行,人們發(fā)現(xiàn),瀏覽器也能傳遞一些數(shù)據(jù)

雖然這些數(shù)據(jù)并不像那些終端那樣準(zhǔn)確,但應(yīng)付大多數(shù)日常需求足夠了

于是人們就提出一個瘦客戶端概念,也就是說,將來表示層所有的其他軟件疾揮?

我們唯一需要的就是一個網(wǎng)頁瀏覽器,然后通過瀏覽器輸入ip地址連接到服務(wù)器

然后進行相關(guān)的操作,由于網(wǎng)頁瀏覽器一般每個操作系統(tǒng)都有自帶一個

這樣做就達到了給我們客戶端瘦身的目的(不需要安裝額外軟件)

這樣模式被稱作B/S模式,也就是browser/server模式

但需要指出的是,雖然瘦客戶端是趨勢,但并不代表胖客戶端沒有市場

尤其是一些復(fù)雜的業(yè)務(wù)操作,還是瀏覽器這種簡單軟件無法勝任的

?

趨勢二:

傻數(shù)據(jù)庫,ok,首先,我承認(rèn),這個名詞是我發(fā)明的,但我實在無法找到一個更好的表達

什么是傻數(shù)據(jù)庫,如果誰對數(shù)據(jù)庫有所了解的話,就知道,以前的數(shù)據(jù)庫

有自己的一套管理體系,甚至有自己的客戶端,比如oracle,mysql,sqlserver都有

在某個管理工具上寫什么sql語句查詢數(shù)據(jù)庫是我們以前常做的事

那么將來我們提倡的是:將所有的業(yè)務(wù)邏輯封裝到業(yè)務(wù)邏輯層去

管理的事情由軟件來做,由業(yè)務(wù)邏輯層的軟件來做

所謂傻數(shù)據(jù)庫就是說,將來的數(shù)據(jù)庫什么事都不用做

只用把數(shù)據(jù)給我保存好就行了,那些復(fù)雜的業(yè)務(wù)邏輯什么外鍵什么關(guān)聯(lián)

都沒數(shù)據(jù)庫什么事了,都交給業(yè)務(wù)邏輯層軟件來做

這樣做的好處就是:我們就不需要這些該死難懂又復(fù)雜的數(shù)據(jù)庫系列管理工具了

而且這些工具每個數(shù)據(jù)庫都有自己的工具,完全不一樣,亂七八糟,沒有人喜歡面對他們

除了數(shù)據(jù)庫維護人員,也就是DBA,我們是軟件工程師,維護的事讓他們?nèi)プ?/span>

而且嚴(yán)禁數(shù)據(jù)庫維護人員改動數(shù)據(jù)庫的數(shù)據(jù),他們只做備份,必要時候恢復(fù)一下就是了

?

了解了這兩個趨勢之后,是不是有種砍頭去尾保中間的感覺?

沒錯,未來的趨勢就是中間件時代,中間件工程師將是未來計算機應(yīng)用的主流

那再次統(tǒng)一一下概念,什么是中間件

記得我上學(xué)的時候,看ibm的教材,看了半天中間件定義,就看懂記住一句話

中間件是做別人不愿意去做的事情,現(xiàn)在想想,狗屁定義,呵呵

什么是中間件,中間件是業(yè)務(wù)邏輯層的應(yīng)用軟件

是處理業(yè)務(wù)數(shù)據(jù)與客戶端之間業(yè)務(wù)邏輯的一種應(yīng)用軟件

一種提供網(wǎng)絡(luò)服務(wù)的服務(wù)器端應(yīng)用軟件

舉個非常簡單的例子,網(wǎng)上銀行,某個人想用IE進入工行的賬戶,然后轉(zhuǎn)帳

在這個例子中,客戶端表示層顯然是IE,數(shù)據(jù)持久層顯然是銀行的核心數(shù)據(jù)庫

那么中間件是什么?中間件就是提供這種服務(wù)的系統(tǒng)

?

這三層的劃分如下

------------------------------

|表示層 |業(yè)務(wù)邏輯層 | 數(shù)據(jù)持久層 |

------------------------------

|? IE? ?| ?網(wǎng)上銀行 ?|? ?數(shù)據(jù)庫 ??|

------------------------------

?

?

給初學(xué)者之五:企業(yè)級應(yīng)用之中間件

前面一篇簡單介紹了一下應(yīng)用軟件的分層
下面重點介紹一下中間件,也就是業(yè)務(wù)邏輯層的軟件結(jié)構(gòu)?

從本系列第二篇我們知道,java程序是跑在虛擬機之上的
大致結(jié)構(gòu)如下:?
------------?
| grogram ?|?
------------?
| ?虛擬機 ?|?
------------?
| 操作系統(tǒng) |?
------------?
也就是說操作系統(tǒng)先運行一個java虛擬機,然后再在虛擬機之上運行java程序
這樣做的好處前面也說過了,就是安全,一旦出現(xiàn)病毒或是其他什么東西
掛掉的是虛擬機,操作系統(tǒng)并不會受多大影響?

這時候有人可能會問,為什么非要虛擬機?把操作系統(tǒng)當(dāng)成虛擬機為什么不行?
可以,當(dāng)然可以,但是這樣做某一個應(yīng)用軟件的bug就可能造成整個操作系統(tǒng)的死亡
比如說我們在某個服務(wù)器上安裝了一個收發(fā)電子郵件的軟件和java虛擬機
那么一旦黑客通過收發(fā)電子郵件的軟件入侵系統(tǒng),那么操作系統(tǒng)就整個玩完
那么如果黑客通過java程序進行攻擊的話,那么死的將會是虛擬機而不是操作系統(tǒng)
大不了虛擬機崩潰,而操作系統(tǒng)正常運行不受任何影響?

舉個簡單例子,比如說最常見的是將數(shù)據(jù)庫(DB)與中間件放在同一臺服務(wù)器上
------------------------?
| ?program | ??????????|?
-----------| ????DB ???|?
| ?虛擬機 ?| ??????????|?
------------------------?
| ???????操作系統(tǒng) ?????|?
------------------------?
那么此時如果沒有虛擬機,黑客病毒攻擊中間件系統(tǒng),就有可能造成操作系統(tǒng)的死亡
那此時數(shù)據(jù)庫也有可能跟著一起玩完,那損失可就大咯?
那如果此時有虛擬機,那么一旦被攻擊,死的是虛擬機,操作系統(tǒng)與數(shù)據(jù)庫不受任何影響

嗯,回顧完虛擬機,再來介紹中間件?
在很早很早以前,任何一家企業(yè),想要搭建一個局域網(wǎng)系統(tǒng),他需要請許多個工程師
比如說我們想搭建一個網(wǎng)上銀行,客戶端用瀏覽器,后臺數(shù)據(jù)庫比如說用oracle

那么搭建這樣一個網(wǎng)上銀行,可能需要用到多少個工程師,我們來算一算
首先,由于客戶端用的是瀏覽器,我們需要一些了解網(wǎng)絡(luò)通訊協(xié)議以及一些瀏覽器標(biāo)準(zhǔn)的網(wǎng)絡(luò)工程師
其次,由于后臺數(shù)據(jù)庫用的是oracle,那我們還需要請oracle的工程師,因為數(shù)據(jù)庫這一層每個數(shù)據(jù)庫公司的接口什么都不一樣
然后,我們還需要一些操作系統(tǒng)的工程師,因為我們的系統(tǒng)需要跟操作系統(tǒng)直接交互
最后,我們需要一些設(shè)計網(wǎng)上銀行系統(tǒng)及其相關(guān)業(yè)務(wù)的工程師?

太多了太多了,這樣一個中間件隊伍實在太龐大了,制作維護成本實在太高了
不僅如此,這樣一個中間件就算做出來,他們所寫的代碼也只能滿足這一家公司使用
其它公司統(tǒng)統(tǒng)不能再用,代碼重用率極低,近乎不可能重用?
畢竟這個系統(tǒng)中改動任何一個部分都有可能涉及到整個系統(tǒng)的改動?

那么如何降低成本??

我舉出了四組的工程師:?
網(wǎng)絡(luò)工程師,數(shù)據(jù)庫工程師,操作系統(tǒng)工程師以及設(shè)計網(wǎng)上銀行系統(tǒng)的業(yè)務(wù)工程師
除了最后一組設(shè)計網(wǎng)上銀行的業(yè)務(wù)工程師之外,前面三組工程師是不是每一個項目都需要的?
就算不是每一個項目都需要,至少也是絕大多數(shù)項目需要的吧??
哪個項目能夠脫離網(wǎng)絡(luò),數(shù)據(jù)庫和操作系統(tǒng)?不可能,在這個時代已經(jīng)很少很少了
好,那既然每個項目都需要,我們是不是可以用一個產(chǎn)品來取代這三組的工程師呢?
我們的業(yè)務(wù)工程師只需要遵循這個產(chǎn)品所提供的接口,進行相應(yīng)的開發(fā)就行了
人們提出了一種叫做appserver也就是應(yīng)用服務(wù)器的東西
應(yīng)用服務(wù)器是干什么的?按官方的說法,應(yīng)用服務(wù)器是包括有多個容器的軟件服務(wù)器
那容器是什么?容器(Container)到底是個什么東西我想多數(shù)人還是不清楚

在說這個之前,先介紹一下組件?
什么是組件,組件是什么?組件其實就是一個應(yīng)用程序塊?
但是它們不是完整的應(yīng)用程序,不能單獨運行
?
就有如一輛汽車,車門是一個組件,車燈也是一個組件?
但是光有車燈車門沒有用,它們不能跑上公路?
在java中這些組件就叫做javabean,有點像微軟以前的com組件
要特別說明的是,由于任何一個java文件編譯以后都是以類的形式存在
所以javabean肯定也是一個類,這是毫無疑問的

好,那么容器里裝載的是什么呢?就是這些組件?
而容器之外的程序需要和這些組件交互必須通過容器?

舉個例子,IE發(fā)送了一個請求給容器,容器通過調(diào)用其中的一個組件進行相關(guān)處理之后
將結(jié)果反饋給IE,這種與客戶端軟件交互的組件就叫做servlet

但是組件有很多種,那么如何區(qū)分這些組件呢??
有多種管理辦法,比如同是同樣是servlet,有些是通過jsp生成的
而有些是開發(fā)人員自己寫的,那么通過jsp生成的servlet集中放在一個地方
而開發(fā)人員自己寫的則需要在xml里面配置一些基本的參數(shù)
同時,不同組件有可能還需要繼承一些特定的父類或者接口,這也是容器管理的需要
還有其他的一些組件,這里就不一一說明舉例了?

那么容器有很多種,按照他們裝載的組件類型劃分?
比如有裝ejb的ejb容器,有裝servlet與jsp還有靜態(tài)頁面的web容器等等

//這種只含有web容器的應(yīng)用服務(wù)器也被叫做web服務(wù)器

當(dāng)表示層的應(yīng)用軟件通過網(wǎng)絡(luò)向appserver發(fā)送一個請求的時候
appserver自動找到相應(yīng)容器中的組件,執(zhí)行組件中的程序塊,把得到結(jié)果返還給客戶
而我們要做的事就是寫組件也就是javabean,然后放到appserver里面去就可以了
至于怎樣與IE通訊,怎樣截獲網(wǎng)絡(luò)上的請求,怎樣控制對象的數(shù)量等等
這些繁瑣而無味的工作我們都不管,都由appserver去做吧,把注意力集中在業(yè)務(wù)邏輯上

appserver與其他相關(guān)軟件的關(guān)系如下圖:?
-------------------------------------------------------?
| ???表示層 ???| ??????業(yè)務(wù)邏輯層 ???????|數(shù)據(jù)持久層 |?
-------------------------------------------------------?
| ?????????????| ???----------------- ???| ???????????|?
| ?????IE ?????| ???| ??javabean ???| ???| ???????????|?
| ?????????????-> ??----------------- ???-> ??DB ?????|?
| ???client ??<- ?????????????appserver <- ???????????|?
| ?????????????|-------------------------| ???????????|?
| ?????????????| ???????虛擬機 ??????????| ???????????|
|--------------|-------------------------|------------|?
| ???Windows ??| ???Linux/Saloris ???????|LinuxSaloris|?
|--------------|-------------------------|------------|?
圖上可以看出:虛擬機負責(zé)處理中間件與操作系統(tǒng)之間的交互?
appserver則負責(zé)組件的管理以及與其他兩層的業(yè)務(wù)交互?

1 附圖: image002.gif (76463 字節(jié))

要說明的是上圖中還包含有應(yīng)用程序客戶端容器(Application client container)
管理應(yīng)用程序客戶端組件的運行,應(yīng)用程序客戶端和它的容器運行在客戶機
這種情況比較復(fù)雜一般說的是兩個server之間的通訊
比如jsp/servlet容器在一個服務(wù)器上,而ejb容器在另外一個服務(wù)器上等等
這是分布式操作系統(tǒng)大面積應(yīng)用的基礎(chǔ),這個以后再說?
下面這張相對簡單:?
2 附圖: j2ee.gif (8226 字節(jié))

嗯,那么話題再回到中間件上去,什么是中間件??
appserver就是所謂的中間件,但是中間件不僅有appserver,還有其他的東西
換句話說,appserver只是中間件的一種

而關(guān)于中間件有諸多規(guī)范以及遵循這些規(guī)范的模型?
最流行的規(guī)范無非兩種,一個是j2ee還有一個是.net
但是.net幾乎只有微軟在用,所以很多人把.net這個規(guī)范就當(dāng)成是微軟的中間件產(chǎn)品
也不為過,畢竟沒幾個公司喜歡跟著微軟屁股后面跑的

給初學(xué)者之六:java企業(yè)級應(yīng)用之綜合篇

我們知道中間件有很多種規(guī)范以及相關(guān)的模型
最流行的一個是j2ee還有一個是.net
那么各大公司關(guān)于這兩套規(guī)范各有什么產(chǎn)品以及周邊呢??

j2ee:?

黃金組合?
操作系統(tǒng):Solaris?
應(yīng)用服務(wù)器:Weblogic?
數(shù)據(jù)庫:Oracle?
開發(fā)工具:JBuilider/IntelliJ IDEA?
優(yōu)點:性能一級棒,大企業(yè)大公司做系統(tǒng)的首選,世界五百強幾乎都是這套組合
缺點:極貴?

超級組合,也是最安全最酷的黃金組合,硬件采用SUN公司的機器
但是SUN的服務(wù)器很貴,同等價格不如去買IBM的機器
SUN的服務(wù)器支持Solaris的效果自然不用說,Solaris號稱是世界上最安全的操作系統(tǒng)
Oracle也是世界上最安全,性能最優(yōu)的數(shù)據(jù)庫,Weblogic是當(dāng)今性能最優(yōu)的appserver
JBuilder和IDEA各有所長,JBuilder是Borland公司的招牌之一
是當(dāng)今世界上最流行的java IDE,用delphi寫的,但網(wǎng)絡(luò)上評價似乎不是很好
IDEA擁有插件功能,界面在所有java IDE中最為漂亮,東歐人開發(fā)的產(chǎn)品
東歐人嚴(yán)謹(jǐn)?shù)淖黠L(fēng)在這個產(chǎn)品上體現(xiàn)得尤為突出,用java寫的
IDEA甚至號稱自己被業(yè)界公認(rèn)為是最好的IDE//個人保留意見,沒有最好只有更好
但我用JBuilder的時候發(fā)現(xiàn)了不少bug,而至今還沒有在IDEA上發(fā)現(xiàn)什么bug
個人推薦IDEA?
價格方面,Solaris開源,但是SUN的服務(wù)器比較貴,Weblogic最高是34萬
oracle標(biāo)準(zhǔn)版要18.6萬,企業(yè)版要49萬,JBuilder要2.7萬左右
IDEA零售價大概是500美金,也就是5000多元
另外,雖然理論上這些產(chǎn)品的綜合性能要高于其他選擇,但是必須看到?
由于產(chǎn)商之間的利益沖突,比如oracle也有自己的appserver,但是性能不怎樣
使得這幾種產(chǎn)品之間協(xié)作的性能要比預(yù)想中的要差一點點?
--?
開源系列?
操作系統(tǒng):-?
應(yīng)用服務(wù)器:JBoss?
數(shù)據(jù)庫:MySql?
開發(fā)工具:Netbeans?
優(yōu)點:便宜,性能未必最佳,但是對付中小企業(yè)足夠了?
缺點:出了問題自己抗吧?

嗯,這是java陣營最大的特色,免費免費,還有在開發(fā)工具這一欄Eclipse也是免費的
但后面要說,算了,換個有代表性的開源產(chǎn)品來?
tomcat僅有web容器而沒有ejb容器,而jboss已經(jīng)集成了tomcat
也就是說下載了jboss之后,啟動的同時也就啟動了tomcat
jboss在tomcat基礎(chǔ)之上多加了一個ejb容器,使得jboss+tomcat成為和weblogic
websphere之外又一個得到廣泛應(yīng)用的appserver?
現(xiàn)在大概是這樣,中小型企業(yè)多用jboss,如果應(yīng)用小一點就用tomcat
只有給那些大型企業(yè)做的項目,才會花錢去上一個weblogic或者websphere
mysql也是開源的數(shù)據(jù)庫,做得非常不錯,如果系統(tǒng)對數(shù)據(jù)庫要求不高
或者安全要求不是非常嚴(yán)格,mysql是一個非常不錯的選擇
開發(fā)工具方面,netbeans是sun公司極力推廣的一種IDE
聽說在北美市場使用量已經(jīng)超過eclipse了
操作系統(tǒng),軟件再不用錢,服務(wù)器也要錢,看這臺機器上跑什么操作系統(tǒng)就用什么了
--?
IBM套餐?
操作系統(tǒng):Linux?
應(yīng)用服務(wù)器:Websphere?
數(shù)據(jù)庫:DB2?
開發(fā)工具:Eclipse/WebSphere Studio?
優(yōu)點:服務(wù)好,IBM可以提供全套服務(wù),也可以替客戶承擔(dān)風(fēng)險
缺點:把機器數(shù)據(jù)全部交給IBM,安全什么的都由不得你了

呵呵,IBM全套產(chǎn)品,甚至包括硬件設(shè)備IBM的服務(wù)器
由于是一個公司的產(chǎn)品,各產(chǎn)品之間的協(xié)作自然不錯?
價格方面,Linux,DB2,Eclipse都是開源產(chǎn)品,Websphere目前零售價是33.8萬人民幣
IBM服務(wù)器不錯,可以考慮?
--?
.net:?

微軟陣營?
操作系統(tǒng):Windows?
應(yīng)用服務(wù)器:.net應(yīng)用服務(wù)器(好像叫IIS)
數(shù)據(jù)庫:SqlServer?
開發(fā)工具:MS Visual Studio?
優(yōu)點:客戶端的用戶體驗良好,和客戶端諸多微軟產(chǎn)品的兼容性強?
缺點:離開了微軟,寸步難行,和其他任何一家公司的產(chǎn)品都不兼容?

微軟的東西,怎么說呢,太專橫了?
微軟所有的東西都是圍繞著windows來做的
.net其實已經(jīng)可以實現(xiàn)跨平臺了,但是微軟出于自身商業(yè)考慮?
在其應(yīng)用服務(wù)器跨平臺的實現(xiàn)上設(shè)置了種種障礙?
而且針對windows,微軟做了大量的優(yōu)化,可以這么看
.net就是與windows捆綁的一套產(chǎn)品
所以有些人說,微軟的產(chǎn)品離開了windows,就是渣
而且.net開源選擇也少,安全性方面考慮,windows本身就有一堆補丁要打了
sqlserver也不安全,至于.net到底安全不安全我不清楚,畢竟我沒怎么用過
但整體考慮,感覺.net不是大企業(yè)的首選,鑒于其濃厚的商業(yè)背景
也不是中小企業(yè)的首選,但是必須看到?
客戶端也就是微機pc市場已經(jīng)完全被windows所壟斷
所以在一些快速開發(fā),還有和微軟產(chǎn)品兼容性要求較高的領(lǐng)域,.net還是比較有市場的
最后一個visual studio對它之前的版本兼容,且支持c,c++,c#,vb等語言
在其傳統(tǒng)領(lǐng)域,比如寫一些桌面軟件等客戶端應(yīng)用上,.net還是第一選擇
--?
最后要說明的是?
這些組合不是固定不變的?
由于J2EE得到了絕大多數(shù)IT企業(yè)的支持以及JAVA跨平臺的特性
我們可以自由地定制個性化的組合?
比如我可以選擇windows+jboss+eclipse+oracle
也可以選擇solaris+websphere+IDEA+mysql
等等,這些自由組合都是可以的,但是有一點必須說明?
微軟的東西,一般來說離開了windows就不能用
比如你選擇了.net應(yīng)用服務(wù)器,那操作系統(tǒng)就必須是windows
你選擇了sqlserver,那就必須在windows上用
還有就是遵循j2ee規(guī)范的所有的組件都可以在不同的應(yīng)用服務(wù)器上互相移植
比如你可以在測試的時候用jboss?
而在正式投產(chǎn)上線的時候使用websphere,只需要在配置文件中作相應(yīng)改動即可

給初學(xué)者之七:java企業(yè)級應(yīng)用之術(shù)語篇

在了解完J2ee的相關(guān)周邊產(chǎn)品之后需要深入J2ee規(guī)范內(nèi)部去了解一下到底這些規(guī)范
這里介紹幾個最常用的規(guī)范
再繼續(xù)說下去之前有必要說幾個常識

Java的誕生
Java之父James Gosling早年從cmu畢業(yè)之后
從事了一段時間的開發(fā)工作,后來意外碰到一個項目
這個項目要求他用C++開發(fā),但可愛的JG是天才,凡是天才在某方面特別突出的同時
必然有一些天生的缺陷,恩,或說共性,比如說懶,急躁和傲慢
JG既然是天才,那就必然具備這些共性,JG懶,以至于他學(xué)不好C++
不僅他學(xué)不好,當(dāng)年開發(fā)出Java的那個團隊也都學(xué)不好C++
他們急噪,以至于他們中有人甚至威脅以辭職的方式離開這個需要使用CPP開發(fā)的項目
他們傲慢,所以他們決定開發(fā)出一種新的語言來取代那個該死的CPP
更可愛的是,他們一開始居然給這門語言起名C++++--//沒錯,我沒敲錯
叫什么C加加 加加減減,意思是加上一些好東西,減去一些壞東西
天才的設(shè)定,有時候你會發(fā)現(xiàn)天才和傻瓜真的只有一線之隔
還好這個可愛的名字沒有被繼承下來,這些天才們給他們的產(chǎn)物起名叫Oak//橡樹
只是后來當(dāng)他們?nèi)プ赃@個名字的時候,發(fā)現(xiàn)這個名字已經(jīng)被注冊了
于是在Sun公司的一個女職員//mm就是心細,這個說法也是我們公司mm告訴我的
的提議下,把這個可愛的語言起名為Java,就是他們當(dāng)時喝的咖啡的名字
所以我們看到Java的標(biāo)志就是一杯冒著熱氣的咖啡

JavaBean 了解完Java之后,再來說說什么是JavaBean//華為面試題
JavaBean是什么? 咖啡豆
ja,更為科學(xué)點的解釋是
用java語言編寫的可重用的軟件組件//組件的定義前面說過了,不再重復(fù)
很形象不是么? 將javabean放入杯子//容器,還記得容器的概念么?web容器,ejb容器
就可以沖泡//編譯 成咖啡,供客人們品嘗//運行
完美的服務(wù)

下面進入正題 再談容器
前面介紹過容器,我覺得有必要再補充一點
容器從某種意義上說其實就是一個可運行的java寫的應(yīng)用程序
猶如c++/c編譯后生成的.exe文件
不同的是java編譯后的文件需要用命令行或者腳本啟動執(zhí)行
由于容器是由java寫的,所以容器都能夠跨平臺
雖說如此,似乎大部分容器都針對不同的操作系統(tǒng)提供了不同的版本
但可以肯定的一點是,相同容器間的移植組件不需要重新編譯

Servlet web容器組件
Servlet確切地說,就是web容器運行的java組件
與普通javabean不同的是,Servlet定義了一系列方法//比如init()和destroy()
供容器調(diào)用,調(diào)用的主要目的是為了管理
當(dāng)一個request請求被web容器截獲之后,容器分析該請求地址
然后通過一個配置文件中的映射表//web.xml
調(diào)用相應(yīng)的Servlet組件處理后將結(jié)果返還給客戶端

JSP//Java Server Page
web容器組件
Servlet出現(xiàn)了之后,人們發(fā)現(xiàn)幾乎沒有辦法用一個非常直觀的方式去編寫頁面
畢竟頁面是html語言編寫的
而讓我們用一種流程式的處理方式去逐行教計算機如何寫html代碼太困難
在這種情況下JSP應(yīng)運而生,JSP將java代碼嵌入html代碼內(nèi)部
然后存成.jsp文件,再由計算機編譯生成Servlet儲存起來//注意這個過程
所以JSP和Servlet對于web容器來說其實是一種東西,雖然它們編寫遵循的標(biāo)準(zhǔn)有所不同
極大地簡化了代碼同時增加了代碼的可讀性,生產(chǎn)維護成本下降
值得一提的是,在制定JSP規(guī)范的過程中,借鑒了ASP的很多規(guī)范
寫過ASP并熟悉Java語言的人應(yīng)該能很快掌握J(rèn)SP

EJB//Enterprise JavaBean
ejb容器組件
隨著時間的推移,人們發(fā)現(xiàn)普通的JavaBean似乎并不能滿足企業(yè)級應(yīng)用的需要
最典型的就是虛擬機提供的垃圾回收收集機制也就是GC不夠完善
可以優(yōu)化的余地極大,在這種情況下,EJB應(yīng)運而生
EJB和其它組件一樣,不過遵循了某些規(guī)范而已
但是這些規(guī)范更多的是為充分利用機器并提高性能為主要目的的
舉個簡單例子
比如某個web服務(wù)器有100個用戶同時連接上
由于網(wǎng)絡(luò)連接是瞬時連接,所以很多時候并發(fā)數(shù)并沒有100那么大

前一秒有可能有30個請求被發(fā)送過來并被處理
后一秒可以只有10個請求被發(fā)送過來并被處理?
只有在非常非常極端的情況下才有可能發(fā)生100個請求同時被發(fā)送過來并被處理的情況?
那么我們是否需要保留100個那么多個對象在服務(wù)器的內(nèi)存里面去處理這些請求呢??
很顯然,不需要,大多數(shù)時候//甚至可以說是所有時候,我不相信有那么極端的情況?
我們只需要保存其中的10-30%就夠了,那么什么時候需要20%,什么時候需要50%?
甚至100%,這個過程就交給容器去管理,這就是ejb容器每天在干的事?
管理內(nèi)存中活躍的對象?

恩,必須強調(diào)的一點是,由于使用的不成熟?
我們經(jīng)常把規(guī)范以及具體的應(yīng)用兩個名詞混用?
舉個簡單例子,我們說Servlet,極有可能說的是Servlet規(guī)范?
也有可能說的是一個具體的Servlet,這個就要看情況而定了?
EJB,JSP也是如此?

JDBC?
和數(shù)據(jù)庫的連接
這個嚴(yán)格說來是數(shù)據(jù)庫產(chǎn)商需要關(guān)心的事?
關(guān)于AppServer如何與數(shù)據(jù)庫的連接?
但是也需要開發(fā)人員做一點事,因為AppServer不知道什么時候組件需要用到數(shù)據(jù)庫?
同時也需要開發(fā)人員告訴AppServer他們使用的是什么數(shù)據(jù)庫,ip地址等等?
JDBC就是關(guān)于這一套東東的規(guī)范?
包括數(shù)據(jù)庫的產(chǎn)商應(yīng)提供什么樣的接口?
AppServer應(yīng)用服務(wù)器應(yīng)該如何去連接?
開發(fā)人員應(yīng)該如何去配置這些連接等等?
還有一些數(shù)據(jù)源,連接池等概念參考相關(guān)數(shù)據(jù)在此就不再贅述?
其它的規(guī)范比如JMX等確切地說與開發(fā)人員關(guān)聯(lián)并不大了?
這類高級應(yīng)用只對AppServer應(yīng)用服務(wù)器產(chǎn)商重要?
也不再羅嗦了?
---------?
記得聽說過這樣一種說法?
大一時候不知道自己不知道 大二時候知道自己不知道 大三時候不知道自己知道 大四時候知道自己知道 為什么呢,因為大一時候剛進大學(xué),什么都不懂,很正常,大家都一樣?

大二或者大三時候開始接觸知識,雖然還是不懂,但慢慢地開始學(xué)習(xí),開始積累
過了一段時間,知道自己知道了//也就是前一種說法的大四,后一種說法的大三?
開始屁癲,開始拽得不得了,覺得自己懷才不遇,千里馬難尋伯樂的那種感覺?
有些人是大四畢業(yè)了以后開始拽,悟性高一點的,大三就開始拽,因人而異?
這幾乎是每一個初學(xué)者經(jīng)過一段時間學(xué)習(xí)后的必然階段?
不管如何,總之開始入門了,這也不是壞事?
但最后每個人都會知道自己不知道的,也就是后一種說法的大四階段?
//前一種說法里面的那些家伙估計要到工作以后才能明白?
因為任何一門學(xué)科都博大精深,要是能在兩三年之內(nèi)就統(tǒng)統(tǒng)搞懂?
那不是在吹牛就是坐井觀天,java如此,c如此,c++也是如此?

那么到了本系列的第七集,可愛的讀者應(yīng)該處在什么階段呢??
恭喜,在看完這篇文章之后,你就基本處于知道自己不知道的那種階段?
離拽起來還有那么一段距離,因為你們畢竟還沒有學(xué)習(xí)和積累一定的基礎(chǔ)知識?
但是騙騙外行,蒙蒙國企那些吃閑飯的管理人員問題不大

給初學(xué)者之八:java高級應(yīng)用之框架篇

沒錯,我沒敲錯
之所以不再聲稱是企業(yè)級應(yīng)用而稱之為高級應(yīng)用是因為下面要講的東西屬于純民間性質(zhì)
是java具體應(yīng)用的上層建筑,可用可不用,沒有人強迫你用

首先給框架//framework 下一個定義
我想讀者你可能聽說過.net framework這個概念
沒錯,我們將要說的framework也和這個framework差不多
所不同的是.net framework的競爭對象是j2ee那一系列標(biāo)準(zhǔn)
而我們將要說到的幾個框架則應(yīng)用在j2ee的不同層面
單就單個框架而言,沒有.net framework管得那么多
但是卻要比它精專多了,而且總量加起來,也遠比微軟那一套框架要廣泛得多
回到正題,框架是什么??
軟件工程之所以被叫做軟件工程就是因為有那么一批人覺得可以用工程學(xué)里面
那些管理Project的方法來管理軟件從開發(fā)到維護這一系列流程
那么在建筑工程里面框架是什么??
現(xiàn)在建筑多采用鋼筋混凝土結(jié)構(gòu),注意里面一個很重要的詞匯:鋼筋?
托福閱讀中曾有一題聽力就是關(guān)于鋼筋結(jié)構(gòu)的誕生,在美國?
恩,現(xiàn)代建筑中多在建筑起來之前,先用鋼筋搭建出一個框架出來?
然后往鋼筋中間填入混凝土,從而形成一個完成的建筑?
而今天要說到的框架就是這么一個東西在每一個軟件中間的實現(xiàn)?
框架就是那么一個通過預(yù)先寫好代碼從而幫我們建立起一個軟件結(jié)構(gòu)的這么一個東西

這里提一下框架與規(guī)范//主要指J2ee規(guī)范也就是官方標(biāo)準(zhǔn)的區(qū)別
從某種意義上說,J2ee規(guī)范本身就是一個框架
無論是web容器也好,還是ejb容器也好,它們都開發(fā)了一部分通用的代碼
并且?guī)椭覀兇罱ㄆ饋砹艘粋€軟件結(jié)構(gòu),我們要做的就是往里面填入組件
比如ejb/servlet/jsp等等
沒錯,要這么理解也沒錯,但是為了避免混亂,我們還是嚴(yán)格區(qū)分開來?
本文中將要提到的框架如無特別說明,就是指的是非官方標(biāo)準(zhǔn)的框架?
規(guī)范是規(guī)范,而框架是建立在規(guī)范之上的一種東西?
可以說是標(biāo)準(zhǔn)的延續(xù),或者說是民間的嘗試,總之是這么一個非官方的東西
說到這里順便提一下JCP組織也就是Java Community Process/Java社區(qū)
當(dāng)初Sun公司在java發(fā)布之初,為了提倡開源和共項
同時也出于一個提出合理的標(biāo)準(zhǔn)的目的,而讓廣大的開發(fā)者參與標(biāo)準(zhǔn)的制定
而成立了這樣一個社區(qū),現(xiàn)在還健在,網(wǎng)址是jcp.org?
每一個新的規(guī)范發(fā)布之前都會在這個社區(qū)廣泛討論,最終對規(guī)范的制定產(chǎn)生巨大的影響
其中就包括企業(yè)級的參與者,相當(dāng)有名的JBoss以及我國的金碟公司都是其中的成員

下面介紹一下幾個相當(dāng)著名的框架,必須要指出的是,雖然框架大多開源但并不代表所有的框架都開源,比如.net framework,但是java框架大多數(shù)開源
言歸正傳?
Struts?
表示層框架,名字來源于飛機的金屬框架?
可能有讀者會提問了?
表示層不是客戶端么??
沒錯,但是語言這東西,眾口爍金,別人都這么說你就不好不這么說了?
最早表示層說的是客戶端,后來隨著時間的發(fā)展?
人們也把服務(wù)器端直接與客戶端//比如IE
打交道的那部分也稱為表示層//JSP+Servlet?
那么表示層框架是干什么的呢??
早先大規(guī)模應(yīng)用JSP的時候,人們發(fā)現(xiàn),JSP里面充斥著邏輯代碼與數(shù)據(jù)
可讀性極差,于是人們借用很早很早以前的MVC模式的思想
把表示層組件分為V-Viewer,也就是JSP
M-Model模型,一般來說是一個JavaBean?
C-Controller控制器,一般來說是一個Servlet?
所有人通過JSP和服務(wù)器打交道,發(fā)送請求,Viewer把這個請求轉(zhuǎn)發(fā)給Controller
Controller通過調(diào)用一個Model來處理該請求,然后返回數(shù)據(jù)到Viewer
這么一個過程,從而達到數(shù)據(jù)與邏輯的剝離,增強代碼可讀性,降低維護成本
而幫助人們實現(xiàn)這一系列東西的就是Struts框架,就是這么一個東西
Struts的競爭對手主要是產(chǎn)商們極力倡導(dǎo)的JSF也就是Java Server Faces
但是由于Struts出道時間早,所以應(yīng)用比較多
JSF則是產(chǎn)商們大力支持,前景看好?
對于這一層來說,在JSP的html代碼中出現(xiàn)的java語句越少越好
因為java代碼越少說明頁面處理的業(yè)務(wù)邏輯越少,也越合理
這也是Struts最初的目的,記住這話

Spring?大名鼎鼎的Spring框架
有人曾說2005年一片叫春之聲,指的就是該框架
Spring起源于Rod Johnson的《Expert One-on-One J2EE Design and Development》一書
Rod Johnson認(rèn)為,J2ee里面的那一套//尤其是ejb
太重了,對于單機的系統(tǒng)來說,沒有必要使用那么復(fù)雜的東西?
于是就開始設(shè)計并引導(dǎo)Spring小組開發(fā)出這樣一個構(gòu)架
不能不說他是個天才,因為的的確確不是所有的系統(tǒng)都是跨多服務(wù)器的?
沒有必要把一個簡單的系統(tǒng)設(shè)計得那么復(fù)雜//天才的那幾個共性又體現(xiàn)出來了
Spring從誕生之日起就是針對EJB的,力爭在不少應(yīng)用上取代EJB
而它也確實達到了這個目的?
現(xiàn)在包括WebLogic等主流應(yīng)用服務(wù)器還有主流IDE都開始逐漸接受該框架
并提供相應(yīng)支持?
提到Spring就不能不說控制反轉(zhuǎn)Ioc//Inversion of Control
和依賴注射DI//Dependency Injection?
什么叫控制反轉(zhuǎn)呢??
套用好萊塢的一句名言就是:你呆著別動,到時我會找你。?
什么意思呢?就好比一個皇帝和太監(jiān)?
有一天皇帝想幸某個美女,于是跟太監(jiān)說,今夜我要寵幸美女?
皇帝往往不會告訴太監(jiān),今晚幾點會回宮,會回哪張龍床,他只會告訴太監(jiān)他要哪位美女
其它一切都交由太監(jiān)去安排,到了晚上皇帝回宮時,自然會有美女出現(xiàn)在皇帝的龍床上
這就是控制反轉(zhuǎn),而把美女送到皇帝的寢宮里面去就是注射?
太監(jiān)就是是框架里面的注射控制器類BeanFactory,負責(zé)找到美女并送到龍床上去
整個后宮可以看成是Spring框架,美女就是Spring控制下的JavaBean
而傳統(tǒng)的模式就是一個饑渴男去找小姐出臺?
找領(lǐng)班,幫助給介紹一個云云,于是領(lǐng)班就開始給他張羅?
介紹一個合適的給他,完事后,再把小姐還給領(lǐng)班,下次再來?
這個過程中,領(lǐng)班就是查詢上下文Context,領(lǐng)班的一個職能就是給客戶找到他們所要的小姐
這就是lookup()方法,領(lǐng)班手中的小姐名錄就是JNDI//Java Naming and Directory Interface
小姐就是EJB,饑渴男是客戶端,青樓是EJB容器
看到區(qū)別了么?饑渴男去找小姐出臺很麻煩,不僅得找,用完后還得把小姐給還回去
而皇帝爽翻了,什么都不用管,交給太監(jiān)去處理,控制權(quán)轉(zhuǎn)移到太監(jiān)手中去了
而不是皇帝,必要時候由太監(jiān)給注射進去就可以了?
看到Spring的美妙了吧,Spring還提供了與多個主流框架的支持
可以和其它開源框架集成?
Hibernate?
名字取材自O(shè)RM最早的一句玩笑話//ORM就是OR-Mapping
說用了ORM之后,程序員就可以去冬眠了,而不需要操心那么多事
這里不得不說的是,該框架由于做得太好,以至于被J2ee招安,成為EJB3.0的一部分
替代原有EJB2.X里面關(guān)于Entity Bean而成為EJB ORM的工具
這里解釋一下ORM//OR-Mapping?
中文名對象關(guān)系映射?
什么意思呢?我們知道傳統(tǒng)的數(shù)據(jù)庫都是關(guān)系型的?
一條條記錄以表格的形式儲存,而表與表之間充斥著是關(guān)系/關(guān)聯(lián)
比如說一個人,名字zhaoce,性別男,年齡23那么數(shù)據(jù)庫中是這么儲存的
姓名性別年齡 zhaoce m ?23 某女 ??f ?22
而實際應(yīng)用服務(wù)器中的實體都是以對象的形式存在,一個個對象?
zhaoce是以這種形式存在的?
Human human=new Human();?
human.setName("zhaoce")?
human.setSex("m");?
human.setAge(23);?
這樣的,那么我們知道,傳統(tǒng)的JDBC是通過一個二維字符串將數(shù)據(jù)取出
需要我們自己將其包裝成對象,在存入的時候,我們還需要將對象拆開?
放入sql語句中//Insert into Huamn values('zhaoce','m',23)
然后執(zhí)行該sql語句
太麻煩太麻煩,ORM理念的提出改變了這一切,ORM認(rèn)為,這些東西應(yīng)該由框架來做
而不是程序員,程序員做他該做的,不要為這種破事分心,還測試半天?
于是就出現(xiàn)了Hibernate,JDO,TopLink等等,甚至.net里面也有ADO.net
過去一段時間是Hibernate和JDO爭風(fēng),現(xiàn)在看來Hibernate逐漸成為主流并被官方接納
成為規(guī)范標(biāo)準(zhǔn)之一,替代掉原來EJB2.X的ORM EntityBean
TopLink則是Oracle公司推出和Oracle數(shù)據(jù)庫結(jié)合的一種ORM
商業(yè)用軟件,貴且復(fù)雜,不過正在逐漸開放?
而象表示層一樣,這一種專門面對數(shù)據(jù)層的代碼也被稱為數(shù)據(jù)持久層?
所以數(shù)據(jù)持久層這一概念有時不僅僅指代數(shù)據(jù)庫?
關(guān)于ORM,最高的境界應(yīng)該是在java代碼中不出現(xiàn)任何一句的sql語句
注意,是不包括sql語句,Hibernate的hql以及ejb的ejb-ql不算在內(nèi)
至于出現(xiàn)不出現(xiàn)hql/ejb-ql等替代ql,這要視具體情況而定,不過最好也是不出現(xiàn)
當(dāng)然最后所說的過分理想的情況往往不現(xiàn)實,總之一句話?
以sql為代表的ql/*還有hql,ejbql等*/語句在代碼中出現(xiàn)得越少越好
記住這話,現(xiàn)在未必能夠理解,學(xué)了以后就懂了?

這三個是目前最為常用的框架而目前光已公布的框架就>500?
還在不停增加中,不可能一一列舉,有興趣的可以去看相應(yīng)文檔要指出的是框架不是應(yīng)用程序
只是一堆組件的有序復(fù)合,應(yīng)用時不能脫離于應(yīng)用服務(wù)器單獨存在

給初學(xué)者之九:收尾

最后一篇介紹幾個常見的概念

設(shè)計模式
這可不僅是java獨有
我看的書就是c++和smalltalk例子的
先說說什么是設(shè)計模式?
模式是什么?模式是經(jīng)驗的總結(jié),潛規(guī)則的抽象?
什么意思呢?比如說我們坐飛機,上飛機前需要經(jīng)過幾個步驟?
什么安檢領(lǐng)取登機牌之類的,這一套流程能不能改呢??
可以,但為什么幾乎全世界的航空公司登機前都是這一套流程呢??
因為航空公司經(jīng)過長期實踐之后得出了一堆結(jié)論和經(jīng)驗?
并認(rèn)為這樣做才是最安全,或說是最有效率的?
這就是模式,模式是編程高手之間交流的橋梁?
兩個編程高手通過統(tǒng)一命名的模式了解對方的思想?
當(dāng)然不借助模式可不可以?當(dāng)然可以,只是模式無處不在,你不知道而已
又比如吃飯,每吃一口飯,我們要先端碗,拿筷子,張嘴,塞飯入口,咀嚼最后吞咽
這就是一套模式,我們給這套模式命名為吃飯?
那么當(dāng)老爸叫吃飯的時候,我們就能明白什么意思?
而不用老爸進來囈囈啊啊并比畫上半天,啞語也不是這么用的?
這就是模式,已知的模式有400多種//好象更多,不記得了
比如數(shù)據(jù)庫有數(shù)據(jù)庫的設(shè)計模式,編程有編程的模式等等?
面向?qū)ο笥谐S玫?1種模式,需要掌握,主要分為創(chuàng)建,行為,結(jié)構(gòu)三類
J2ee有J2ee的模式,Sun公司出了一本書叫《J2EE核心模式》可以拿來看看
必需要指明的是,模式不是規(guī)范,比如吃飯模式?
沒有人規(guī)定你吃飯非得要那么吃,你可以端碗,上拋,張嘴在下落后連碗一起吞咽
這也可以,只要你愿意,同樣,只要你愿意,你就可以不遵循模式?
模式之外還有反模式,學(xué)模式不可定勢,不要學(xué)死,活學(xué)活用,無招勝有招才是最高境界

JavaDoc?
文檔工具,極其好用?
可以根據(jù)注釋自動生成HTML文檔

Ant?
98年,有一位程序員在從歐洲飛回美國的飛機上想到了這么一個東西?
從而改變了整個世界,他的名字叫James Duncan Davidson
組織管理工具,可以這么描述它?
比如你想在編譯之后自動再次生成JavaDoc?
那么你只需要編輯Ant腳本//對,就像Windows腳本那樣
然后批處理就可以了,不過現(xiàn)在Ant已經(jīng)廣泛集成到IDE中去
不需要自己手動編寫,不過如果想要炫炫,據(jù)說此招百試不爽?

JUnit?
測試工具,Unit家族可不只有JUnit
還有其它版本的,這個不細說,具體實踐一下就明白了?

POJO?
//Plain Old Java Object?
就是傳統(tǒng)的Java對象,也就是一個JavaBean
由虛擬機來掌握其生死?
常用的兩個管理構(gòu)架/規(guī)范是Spring和EJB容器
命名由來是某人//名字我忘了
覺得我們使用了太多的規(guī)范,以至于我們都忘記了純粹的java對象
以至于我們都忽略了它的存在,所以叫了這么一個名字?
以喚醒人們的記憶,這個意義上來說EJB其實不能算是POJO
畢竟遵循了一堆的接口,但是不管怎樣,接口歸接口,還是沒有繼承類?
沒有被強加什么//遵循可以寫空方法假遵循
所以說還是POJO也對
但是由于這種東西缺乏管理,不象Servlet有專門的容器管理并繼承了一定的類
而沒有管理的對象在虛擬機中是很危險的,因為垃圾回收機制各個虛擬機不同
而且也不怎樣,極有可能長時間不回收,這樣在企業(yè)級的應(yīng)用中呢?
就有可能造成內(nèi)存大量被占用從而死機,毫無疑問,這種機制需要優(yōu)化?
這種優(yōu)化就是通過EJB容器或者Spring構(gòu)架來實現(xiàn)
這么做還有一個好處就是迫使程序員對每一個類做封裝?
強迫他做管理,以達到防止內(nèi)存泄露的目的,內(nèi)存泄露最經(jīng)常出現(xiàn)的錯誤就是
引用未釋放,引用最典型體現(xiàn)在new這個關(guān)鍵字上,new得越多引用得越多
隨著時間地增長,有可能導(dǎo)致循環(huán),不停new new new new new.....
其中哪怕只要有一個new處理不當(dāng),虛擬機無法回收內(nèi)存
那就極有可能完蛋,而且這種小bug越是在大的項目越是難以找到
有可能因為一個人而影響整個項目組,所以不妨記住我的一條經(jīng)驗?
好的系統(tǒng)框架不應(yīng)該在業(yè)務(wù)邏輯流程中出現(xiàn)new關(guān)鍵字
現(xiàn)在不理解也無所謂,將來有一天會明白的?

SOA?
面向服務(wù)的構(gòu)架?
不說太多,這個屬于上上層建筑?
不過不妨記住我的一句話,可以幫助理解這個概念?
面向什么就是對什么做封裝?
面向?qū)ο缶褪菍ο笞龇庋b?
面向服務(wù)類似,剩下的靠悟性?

反射?
1.4新增功能,非常強大?
通過反射,程序可以解析出類本身的屬性也就是變量?
//注意這里說的屬性不是.net里面的屬性,我不喜歡微軟造的新名詞,亂
還有行為也就是方法,然后通過invoke()方法調(diào)用該方法
甚至可以新增對象等,java首創(chuàng),本是其它語言所沒有的
后來被微軟抄了去,利用該功能,開源框架廣泛受益并大量采用,近乎瘋狂地使用
具體就不說了,最后要指出的是,有一種說法是利用反射會降低效率?
在早期的時候,的確是,現(xiàn)在不會了,放心使用?

容器?
5.0以后的版本在J2SE中都出現(xiàn)了容器
各位甚至可以自己嘗試用標(biāo)準(zhǔn)庫去使用容器?

推薦網(wǎng)站
www.javaeye.com //java視線論壇,Hibernate國內(nèi)的權(quán)威
dev2dev.bea.com //bea的dev2dev社區(qū),用WebLogic首選的好去處
www-128.ibm.com/developerworks //ibm developer works社區(qū),ibm產(chǎn)品的老家
www.jdon.com //j道,Jboss國內(nèi)相對討論會多一點的地方,有自己的框架
www.matrix.org.cn //matrix,有自己的框架,很清新的論壇
jcp.org //JCP,前面說到過了?
sourceforge.net //開源的東西幾乎這里都可以找到,除java外還有游戲共享等
saloon.javaranch.com //我常去,人氣不錯?
www.apache.org //阿帕奇老家?
www.jboss.com //Jboss和Hibernate老家
www.springframework.org //Spring老家
www.wiki.org //非常好的百科站點,可惜國內(nèi)被封,創(chuàng)始人加入了Eclipse zone
www.google.com //你要的這里有,不信?輸入關(guān)鍵字再按一下那個靠左的白色按鈕試試

書籍
《Thinking in Java》 //實話說,一般,尤其是翻譯后的版本,原版還行
《Java教程》 //電子工業(yè)出版社出版的那本,上下冊,很厚,但翻譯得不錯
《21天學(xué)通Java》 //入門極好,但是《21天學(xué)通j2ee》極爛,不要買
《Mastering EJB》 //翻譯過的書質(zhì)量我不清楚,估計不怎樣,請看原版書籍
《精通Hibernate》 //看清楚作者,孫衛(wèi)琴,其它人的別買

其它的可以不用了,網(wǎng)絡(luò)上的遠比書上來得多,來得好,雖然也來得雜?

最后的建議?
一,不要做一個浮躁的人?
二,學(xué)好英語,很重要?
三,閱讀源代碼和文檔
四,共享源代碼,不要做一個功利的人?
五,熱愛Java

?

總結(jié)

以上是生活随笔為你收集整理的一个牛人给JAVA初学者的建议【转】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

欧美看片 | 国产精品久久久av久久久 | 国产综合精品一区二区三区 | 波多野结衣动态图 | 免费观看91视频 | 午夜av免费观看 | 亚洲 综合 精品 | 天天操夜夜干 | 午夜精品视频福利 | av在线激情 | 日韩视频免费 | 天天操天天草 | www.色婷婷.com| 久久久久久久久久久黄色 | 久久精品一二三区白丝高潮 | av天天草| 99精品免费视频 | 亚洲丝袜中文 | 最新国产精品视频 | 久久一级片 | 九九九九九九精品任你躁 | 91大神免费在线观看 | 丁香婷婷色综合亚洲电影 | 成人a级黄色片 | 亚洲视频 中文字幕 | 久久国产精品影视 | 男女拍拍免费视频 | 97电影院在线观看 | 国产不卡在线播放 | 国产精品一区二区免费在线观看 | 精品一区二区三区久久 | 欧美一级久久 | 日韩欧美电影在线 | 日本mv大片欧洲mv大片 | 毛片黄色一级 | 激情欧美xxxx | 91看片网址 | 午夜国产福利视频 | 欧美在线观看视频 | 色先锋av资源中文字幕 | 精品一二三四五区 | 亚洲专区一二三 | 丁香视频全集免费观看 | 日韩免费三级 | av成人黄色 | 亚洲成aⅴ人片久久青草影院 | 天天摸天天舔天天操 | 欧美a级一区二区 | 91成人网在线 | 91刺激视频 | 一区二区三区在线播放 | av中文在线播放 | 区一区二区三区中文字幕 | 国产艹b视频 | 国产精品久久一区二区三区不卡 | 色综合天天狠天天透天天伊人 | 亚洲一区二区高潮无套美女 | 在线观看播放av | 97国产精品亚洲精品 | 日韩欧美高清一区二区 | 亚洲综合色网站 | 国产手机av| 日本在线观看视频一区 | 欧美日韩一区二区三区在线免费观看 | 成人欧美一区二区三区黑人麻豆 | 成人av在线播放网站 | 91视频在线自拍 | 国产中文字幕在线看 | 不卡电影一区二区三区 | 久久成人午夜视频 | 免费看av在线 | 久久艹中文字幕 | 色综合天天色 | 狠狠操狠狠插 | 涩涩在线 | 久久99国产精品免费网站 | 91探花在线视频 | 色欧美日韩 | 日韩在线播放视频 | av免费观看高清 | 欧美日韩一区二区在线观看 | 亚洲国产成人精品久久 | 五月婷婷av | avove黑丝| 97人人艹 | 五月激情丁香 | 五月婷婷中文 | 日韩成人精品一区二区 | 在线看福利av| 91av官网| 在线观看中文 | 欧美日韩中文国产 | 国产专区在线看 | 天天综合网在线观看 | 不卡的av电影在线观看 | 91视频91蝌蚪 | 波多野结衣视频一区二区 | 久久久久久99精品 | 人人澡澡人人 | 在线亚洲欧美日韩 | 久草久草视频 | 九九热在线精品 | 午夜久久久久久久久 | 99久久婷婷国产综合精品 | 97精品国产97久久久久久春色 | 日韩av电影手机在线观看 | 99久久日韩精品视频免费在线观看 | 六月丁香激情综合色啪小说 | 久草在线在线视频 | 亚洲乱亚洲乱妇 | 在线观看免费黄色 | 久久精品二区 | 国产精品精品国产色婷婷 | 国产剧情av在线播放 | 99精品免费观看 | 国产精品综合在线 | 精品国产欧美一区二区三区不卡 | 成人a在线观看 | 日日夜夜添 | 久草网免费 | 午夜在线免费视频 | 五月天激情视频 | 97干com| 黄色大片中国 | 亚洲视频一区二区三区在线观看 | 在线观看91精品国产网站 | 六月色婷婷 | 亚洲爱爱视频 | 国产成人黄色在线 | 中文字幕在线观看免费 | 亚洲日本激情 | 久久久久国产精品视频 | 在线国产一区二区 | 婷婷亚洲最大 | 干av在线 | h视频在线看 | 美女视频是黄的免费观看 | 久久国产精品99久久久久久丝袜 | 毛片区 | 欧美日韩国产免费视频 | 91mv.cool在线观看 | 99精品成人 | 中文字幕视频三区 | 欧美一区二区三区在线播放 | 欧美色888 | 欧美国产视频在线 | 色吊丝在线永久观看最新版本 | 一区二区精品在线 | 国产日韩在线观看一区 | 久草在线费播放视频 | 在线观看视频三级 | av电影免费在线播放 | 人人草在线视频 | 亚洲乱码精品久久久久 | 亚洲在线日韩 | 亚洲国产中文在线 | 91久久精品一区二区三区 | 午夜国产在线 | 亚洲综合色视频 | 国产精品国产三级国产aⅴ入口 | 少妇bbr搡bbb搡bbb | 色在线免费视频 | 欧美 高跟鞋交 xxxxhd | 黄色片免费看 | 欧美成人h版 | 亚洲精品视频在线观看免费视频 | 中文字幕第一页av | 成人av av在线 | 亚洲国产精品va在线看黑人 | 正在播放五月婷婷狠狠干 | 激情丁香久久 | 色的网站在线观看 | 五月婷婷电影网 | 99精品视频在线免费观看 | 日日操天天射 | 97超碰国产在线 | 97国产在线播放 | 国产精品一区二区免费看 | 午夜色大片在线观看 | 久草在线视频免费资源观看 | 久久国产精品99国产 | 最新中文字幕在线观看视频 | 日本在线h | 国产一区国产精品 | 免费高清在线视频一区· | 久操视频在线免费看 | 国产h在线观看 | 中文理论片 | 欧美日产一区 | 国产精品无 | www.天天成人国产电影 | 碰超在线97人人 | 日韩在线观看网站 | 久久五月婷婷丁香 | 天天操夜夜操 | 日韩视频免费观看高清 | 久久久久女人精品毛片九一 | 成年人免费在线 | 国产在线观看二区 | 亚洲国产美女精品久久久久∴ | 久久精品1区 | 五月婷婷播播 | 欧美专区日韩专区 | 九九精品视频在线看 | 亚洲美女在线一区 | 精品久久一级片 | 欧美日韩高清在线观看 | 在线日韩亚洲 | 狠狠狠色丁香婷婷综合激情 | 国产五月 | 亚洲精品www | 日本中文字幕在线视频 | 久久久久激情视频 | 五月婷婷婷婷婷 | 操操日日| 丁香六月色 | 蜜臀av一区二区 | 国产无遮挡又黄又爽馒头漫画 | 欧美大片在线看免费观看 | 欧美福利网址 | 国产在线精品观看 | av一级网站 | 中文字幕在线观看免费高清完整版 | 国产精久久久久久久 | 日韩av中文字幕在线 | 亚洲天堂网视频 | 黄色在线网站噜噜噜 | 激情欧美一区二区三区 | 黄色天堂在线观看 | 亚洲小视频在线 | 黄色在线观看免费 | 99久热| 中文有码在线视频 | 综合av在线| 六月丁香激情综合色啪小说 | 在线看成人片 | 日韩欧美视频在线播放 | 中文字幕在线视频免费播放 | 久久久www成人免费精品张筱雨 | 国产高清免费在线观看 | 国产在线观看污片 | 免费观看成年人视频 | 超碰97人 | 亚洲涩涩涩涩涩涩 | 99久久99视频 | 日本中文字幕在线免费观看 | 日韩理论在线 | 国产精品99久久久精品免费观看 | 久久好看免费视频 | 天天天天天天天操 | 亚洲自拍自偷 | av线上免费观看 | 欧美性爽爽 | 一二三区高清 | 五月天婷亚洲天综合网鲁鲁鲁 | 91九色porn在线资源 | 欧美激精品| 在线观看理论 | 欧美精品成人在线 | 在线观看亚洲精品 | 狠狠操综合网 | a黄色片在线观看 | 国产黄色在线观看 | 激情网在线视频 | www蜜桃视频| 国产91精品看黄网站 | 国产精品乱码久久久久 | 91视频久久久久久 | 亚洲欧洲久久久 | 欧美伦理一区二区 | 精品国产伦一区二区三区观看说明 | 欧产日产国产69 | 在线观看 亚洲 | 美国av片在线观看 | 亚洲视频免费在线观看 | 国产精品一区二区三区久久久 | 久草免费在线视频观看 | 免费a级大片 | 五月激情在线 | 人人爽人人澡人人添人人人人 | 亚洲精品中文字幕视频 | 久日视频 | 久久午夜色播影院免费高清 | 夜夜躁日日躁狠狠躁 | 成年人毛片在线观看 | 久久国产精品二国产精品中国洋人 | a级免费观看 | 99视频精品免费视频 | 日韩av专区 | 国产精品久久久久一区二区三区共 | 成人免费看片网址 | 999久久久精品视频 日韩高清www | 99人成在线观看视频 | 中文字幕在线播放一区二区 | 色综合久久久网 | 日韩在线免费观看视频 | 久久激情五月激情 | 91精品视频导航 | 免费视频 三区 | 亚洲欧美国内爽妇网 | 成人久久久久久久久 | 超级av在线| 国产一性一爱一乱一交 | 亚州欧美视频 | 97精品超碰一区二区三区 | 精品国产乱码久久久久久三级人 | 日本中文字幕网 | 国产精品一区久久久久 | 狠狠狠色丁香婷婷综合久久88 | 国产精品video爽爽爽爽 | 久久视讯 | 久久图 | 91精品久久久久久综合乱菊 | 亚洲视频一级 | 国产亚洲精品久久久久久移动网络 | 国产精品一区二区免费在线观看 | 九九免费精品 | 怡红院av| 丁香婷五月 | 9999免费视频 | 涩涩伊人| 欧美激情xxxx性bbbb | 999色视频| 国产一级黄色片免费看 | 日韩性色 | 91在线九色| 综合在线观看 | 国产精品中文久久久久久久 | 国内偷拍精品视频 | 国产无套精品久久久久久 | 欧美日韩在线视频一区 | 天天色天天综合网 | 婷婷av综合| 日韩狠狠操 | 999国产| 日韩中文字幕国产 | 免费观看的黄色 | 一区二区三区免费在线 | 欧美高清成人 | 97国产在线观看 | 久久亚洲精品电影 | 国产精品乱码久久 | 蜜桃视频精品 | 久久九九精品久久 | 天天玩夜夜操 | 国产97免费 | 天天爱综合 | 国产高清精品在线观看 | 国产一级大片免费看 | 欧美精品一区二区性色 | 在线观看中文字幕 | 又黄又爽又刺激视频 | 欧美成年网站 | www五月| 丁香五月亚洲综合在线 | 亚洲理论在线观看电影 | 69亚洲乱| 色综合天天天天做夜夜夜夜做 | 在线免费色视频 | 日韩综合视频在线观看 | 久九视频 | 久久免费一 | 欧美日韩xxxxx| 黄色不卡av | 碰超在线97人人 | www亚洲国产 | 91黄色免费网站 | 亚洲精品66 | 欧美另类交人妖 | 久久久精品久久 | 91免费国产在线观看 | 亚洲精品一区二区在线观看 | 亚洲国产99 | 亚洲国产精品久久久 | 国产精选在线 | 欧美 日韩 成人 | 成人午夜在线电影 | 99在线精品视频在线观看 | 国产91全国探花系列在线播放 | 97精品超碰一区二区三区 | 五月天综合网站 | 99视频免费播放 | 亚洲香蕉视频 | 亚洲精品视频在线播放 | 欧美孕交vivoestv另类 | 免费看一级片 | 午夜婷婷在线播放 | 99视频偷窥在线精品国自产拍 | 久久久久久久久电影 | 不卡的一区二区三区 | 日日操天天爽 | 91在线视频观看免费 | 黄色视屏av | 丁香婷婷激情五月 | 国产精品综合久久久 | 日韩激情视频 | 亚洲爱爱视频 | 久草观看 | 18岁免费看片 | 国产麻豆剧传媒免费观看 | 国产精品久久久久婷婷二区次 | 中文字幕一区二区三区在线观看 | 久草精品视频 | 日韩大片免费观看 | 99视频在线精品国自产拍免费观看 | 99精品视频免费观看 | 日韩av综合网站 | 国产精品入口66mio女同 | 经典三级一区 | 亚洲精品国产电影 | 黄色三级在线观看 | 丁香花在线观看免费完整版视频 | 激情五月色播五月 | 日韩亚洲在线 | 日韩精品亚洲专区在线观看 | 91桃花视频 | 国产精品一区二区久久久 | 亚洲无线视频 | 少妇性色午夜淫片aaaze | 日韩理论片在线观看 | 99精品国产免费久久 | 日韩在线电影一区 | 久久视频在线观看免费 | 国产 av 日韩 | 成人在线观看免费 | 日本韩国精品一区二区在线观看 | 97超碰免费 | 在线观看免费中文字幕 | 亚洲国产精品一区二区久久,亚洲午夜 | 亚洲精品国产综合99久久夜夜嗨 | 91视频下载 | www.天天综合 | 一区二区三区在线免费播放 | 激情av在线资源 | 丝袜美腿一区 | a级国产片| 色av男人的天堂免费在线 | 日韩视频中文 | 黄色三级网站 | 一本色道久久综合亚洲二区三区 | 日韩免费电影一区二区三区 | 国产成人高清av | www免费黄色 | 狠狠88综合久久久久综合网 | 日韩一区二区三区在线看 | 亚洲夜夜网 | 日本电影久久 | 亚洲日日夜夜 | 蜜桃传媒一区二区 | 国产福利一区二区在线 | 毛片www | 亚洲日本成人网 | 免费看黄在线网站 | 视频 天天草 | 成人免费xxx在线观看 | 天天射天天干天天操 | 麻豆免费在线视频 | 91中文字幕在线 | 在线看一区 | 国产麻豆剧果冻传媒视频播放量 | 亚洲综合一区二区精品导航 | 久久成人精品电影 | 国产99区 | 奇米网网址 | 亚洲色图 校园春色 | 日韩精品在线一区 | 日本久久综合视频 | 国产精品 国内视频 | 天天摸日日摸人人看 | 91色偷偷| 黄色成人av在线 | 久久伊人色综合 | av在线之家电影网站 | 婷婷在线免费观看 | 欧美日韩激情视频8区 | 亚洲国产欧美在线看片xxoo | 美女黄频在线观看 | 亚洲 中文字幕av | 国产亚洲精品久久久久久无几年桃 | 97电影手机版 | 精品亚洲成a人在线观看 | 国产精品成人一区二区三区 | 91精品网站在线观看 | 婷婷激情综合网 | 久久影视一区二区 | 日韩av免费在线电影 | 久久亚洲福利 | 美女很黄免费网站 | 国产精品第三页 | 亚洲三级毛片 | 91av免费观看| 亚洲更新最快 | 日日干天天爽 | 91大片成人网 | 久久伊人精品一区二区三区 | 最新av在线播放 | av电影在线不卡 | 久久99精品久久久久久 | 久久曰视频 | 国产精品视频不卡 | 一区二区三区在线观看免费视频 | 黄色毛片在线观看 | 久久国产精品免费观看 | 欧美一区二区在线刺激视频 | 久久电影日韩 | 日日碰狠狠躁久久躁综合网 | 精品一区二区久久久久久久网站 | 国产91影视 | 国产拍揄自揄精品视频麻豆 | 国产永久免费观看 | 天天操天天操天天操天天操 | 欧美日韩综合在线 | 超碰97中文 | 成人午夜电影在线观看 | 福利视频一区二区 | 三级黄色欧美 | 国产精品久久久久久久久久 | 免费v片 | 久久人人爽人人爽人人片av软件 | 综合网天天 | 久草免费在线视频 | 一区二区三区www | 天天综合色 | 色婷婷午夜 | 欧美日韩不卡一区 | 天海冀一区二区三区 | 日韩免费一级电影 | 亚洲精品久久久蜜臀下载官网 | 国产精品 国产精品 | 色婷五月天| 久久久www成人免费精品张筱雨 | 国产一级大片在线观看 | 欧美了一区在线观看 | 日日夜夜精品免费观看 | 中文字幕乱码电影 | 国产精品高潮呻吟久久久久 | 日本精品视频免费观看 | 国产做aⅴ在线视频播放 | 国产 中文 日韩 欧美 | 热久在线 | 福利av在线 | 日日躁夜夜躁xxxxaaaa | 国产日韩欧美在线影视 | 亚洲欧美日韩一二三区 | 亚洲精品字幕 | 看av免费| 97在线超碰 | 天天射夜夜爽 | 81精品国产乱码久久久久久 | 99精品视频在线观看视频 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 又黄又爽的免费高潮视频 | 国产污视频在线观看 | 亚洲第一伊人 | 亚洲精品视频在线观看免费视频 | 亚洲国产成人在线观看 | 黄色精品久久 | 久久综合九色综合久久久精品综合 | 97视频免费看 | 免费视频国产 | 天天操天天射天天 | www.午夜视频 | 久久情侣偷拍 | 九精品| 久久精品国产亚洲精品 | 亚洲黄网址| 日韩成人精品一区二区 | 亚洲精品欧美精品 | 午夜视频色 | 成人久久视频 | 天天综合91 | 黄网站大全 | 91污污 | 日韩精品一区二区三区免费视频观看 | 欧美久久久久久久 | 国产不卡免费 | 中文字幕一区二区三区四区视频 | 伊人激情网 | 午夜精品一区二区三区免费 | 日韩视 | 亚洲小视频在线观看 | 国产日韩在线视频 | 天天色 天天| 色吊丝在线永久观看最新版本 | av片中文字幕 | 日日草视频 | 国产免费大片 | 911久久香蕉国产线看观看 | 91视频 - 88av| 国产偷国产偷亚洲清高 | 久久成人在线 | 性色视频在线 | 日韩免费在线观看视频 | 欧美乱码精品一区 | 欧美性黄网官网 | 亚洲精品乱码久久久久久蜜桃91 | 国产成人av电影在线观看 | 美女黄网站视频免费 | 国内精品亚洲 | 日韩午夜小视频 | 国产 色 | 91精品国产麻豆 | 日韩一区二区在线免费观看 | 97成人精品区在线播放 | 美女视频又黄又免费 | 日本久久久久久久久久久 | 亚洲免费av片 | 久久国产成人午夜av影院宅 | 久久精品99视频 | 麻豆免费视频观看 | 五月天堂网 | 成人三级av | 欧美网站黄色 | 四虎4hu永久免费 | 国产欧美中文字幕 | 91精品在线观看视频 | av免费在线观看网站 | 国产成人福利在线观看 | 天天爱av导航 | 三级黄色网络 | 婷婷草 | 成人av免费 | 精品久久久久久亚洲综合网站 | 在线观看国产亚洲 | 7799av| 午夜视频在线瓜伦 | 九九亚洲精品 | 天天操天天能 | 国产 日韩 在线 亚洲 字幕 中文 | 激情综合狠狠 | 美女福利视频在线 | 色视频在线看 | 久久国产电影 | 97成人在线观看视频 | 一级黄色电影网站 | 91精品推荐 | 精品自拍av | 欧美在线观看视频免费 | 91视频 - 88av| 人人干狠狠干 | 国产精品久久久久久一区二区 | 国产精品高潮呻吟久久av无 | 国产视频精品免费播放 | 香蕉影视| 涩涩网站在线观看 | 日本精品视频一区 | 国产视频日韩视频欧美视频 | 月下香电影| av解说在线 | 黄色软件视频网站 | 日韩免费观看高清 | 欧美国产一区在线 | 2019天天干天天色 | 免费看黄在线网站 | av片在线观看免费 | 99在线精品观看 | 天天色欧美 | 日韩欧美一区二区三区在线观看 | 中文字幕刺激在线 | 超碰在线最新网址 | 欧美午夜性生活 | 精品自拍sae8—视频 | 亚洲91网站 | 国产精品欧美一区二区三区不卡 | 9免费视频 | 91色视频 | 香蕉视频网址 | 成人国产精品av | 亚洲自拍偷拍色图 | 人人爽人人爽 | 99久久久久国产精品免费 | 国产亚洲观看 | 色九九视频 | 人人看人人艹 | 久久精品一区二区三区四区 | 麻豆一级视频 | 色婷婷久久久 | 欧美性另类 | 91热爆在线观看 | 亚洲草视频 | 欧美一级久久久 | 亚洲 中文字幕av | 国产一级精品绿帽视频 | 日韩在线视频免费看 | 国产亚洲情侣一区二区无 | 亚洲一级二级 | 中文字幕首页 | av色影院 | 黄色一级大片在线免费看产 | 婷婷丁香激情网 | 久草在线视频免赞 | 日韩精品中文字幕有码 | 日韩不卡高清 | 久久精品黄色 | 福利av影院 | 在线激情av电影 | 欧美日韩久久久 | 精品久久久久久久久久久久久 | 精品二区久久 | 国产高清视频色在线www | 男女视频91 | 国内精品久久久久影院优 | 久久免费美女视频 | 综合久久久久久久久 | 91av在线免费 | 欧美三级在线播放 | 天天干天天干天天干天天干天天干天天干 | 亚洲午夜精品久久久久久久久 | 久久国产精品影片 | 色综合夜色一区 | jizz999| 久久乱码卡一卡2卡三卡四 五月婷婷久 | 九九视频网站 | www.一区二区三区 | 九九视频在线播放 | 999成人精品 | 国产区免费在线 | 最新久久免费视频 | 欧美成人精品欧美一级乱黄 | 色婷婷久久一区二区 | 国产96在线观看 | 五月婷婷色丁香 | 色综合激情网 | 久久网站免费 | 国产成人久久精品亚洲 | 欧美精品午夜 | 99久久精品国产免费看不卡 | 精品美女在线视频 | 国产免费叼嘿网站免费 | 99久久久国产免费 | 日韩精品 在线视频 | 黄色.com| 日一日操一操 | 亚洲免费一级电影 | 久久免费试看 | 久久久久久久久久久电影 | 亚洲成人资源在线 | 日韩欧美有码在线 | 久久久久久久久久久久久国产精品 | 911国产精品 | 国产精品不卡 | 成年人视频免费在线 | 日韩a免费| 亚洲日本三级 | 国产成人61精品免费看片 | 日本少妇久久久 | 黄网站免费大全入口 | 深爱婷婷激情 | 久久成人福利 | 亚洲成人资源在线观看 | av在线看片 | 亚洲国产精品女人久久久 | 久久人人添人人爽添人人88v | 五月婷婷国产 | 99精品美女 | www.com黄| 国产精品久久久久久久久搜平片 | 超碰在线中文字幕 | 91看片黄色 | 国产精品成久久久久三级 | 精品久久久久久久久久久久久久久久 | 干 操 插 | 一区二区三区播放 | 香蕉久草 | 96精品高清视频在线观看软件特色 | 欧美aaaxxxx做受视频 | 天天射,天天干 | 国产精品一级在线 | 亚洲在线黄色 | www.色就是色 | 国产日产精品久久久久快鸭 | 国产精品1区2区3区 久久免费视频7 | 美女视频黄是免费的 | 国产99久久久久 | 婷婷色网视频在线播放 | 日韩精品电影在线播放 | 青青河边草免费 | 在线v片| 麻豆成人小视频 | 91精品国产乱码久久桃 | 国产在线日韩 | 免费视频久久久久 | 99久热在线精品 | 日韩精品在线看 | av在线播放快速免费阴 | 久久精品视频在线观看 | 奇米网8888 | 国产专区精品 | www.com黄 | 久久精品国产亚洲 | 在线观看的a站 | 日韩高清不卡一区二区三区 | 91成人精品一区在线播放 | 中文字幕亚洲字幕 | 亚洲一级在线观看 | 欧美日韩精品在线一区二区 | 深夜免费小视频 | 色成人亚洲网 | 香蕉免费在线 | 亚洲在线精品视频 | 久草免费在线观看视频 | 精品一二三四视频 | 中文字幕 影院 | 亚洲春色成人 | 国产高清在线免费 | 亚洲美女精品区人人人人 | 国产又粗又硬又长又爽的视频 | 国产成视频在线观看 | 碰超在线 | 91人人视频在线观看 | 日韩区欧美久久久无人区 | 国产福利免费在线观看 | 综合色婷婷 | 麻豆免费在线播放 | 人人插人人做 | 狠狠色丁香婷综合久久 | 欧美老女人xx | 欧美日韩在线观看不卡 | av黄色在线观看 | 成人av资源站 | 欧美激情第一页xxx 午夜性福利 | 久久精品一区二区 | 又黄又刺激的网站 | 中文字幕人成人 | 麻豆成人小视频 | 黄色在线观看污 | 精品在线一区二区 | 丁香av| 狠狠色丁香婷婷综合视频 | av线上看 | 91黄色视屏 | 国产成人精品电影久久久 | 日韩在线观看免费 | 欧美精品久久人人躁人人爽 | 日韩伦理片一区二区三区 | 在线观看免费版高清版 | 日韩高清二区 | 日本性生活免费看 | 国产亚洲午夜高清国产拍精品 | 日本少妇视频 | 久久国产精品一二三区 | 国产精品成人自拍 | 操操爽 | 亚洲三区在线 | 国产精品一区二区三区在线 | 精品国产午夜 | 亚洲在线看 | 免费在线观看毛片网站 | 一区二区久久 | 一区二区欧美激情 | 亚洲 欧美变态 另类 综合 | 国产精品va| 精品国产乱码一区二 | 国产在线不卡精品 | 成人在线黄色电影 | 麻豆免费看片 | 国产精品午夜av | 成人午夜电影在线观看 | 在线免费观看黄色av | 中文字幕永久 | 午夜久久久精品 | 精品一区二区视频 | 欧美国产日韩在线视频 | 顶级欧美色妇4khd | 久久a国产 | 精品一区二区免费 | 国产99久久久精品 | 日本字幕网 | 久久久久久久久国产 | 中文字幕第一页在线播放 | 国产区精品区 | 欧美日韩视频在线观看一区二区 | 婷婷色网视频在线播放 | 综合伊人av| 国产资源在线视频 | 香蕉在线视频观看 | 国产精品免费观看国产网曝瓜 | 伊人亚洲综合网 | 五月天伊人 | 成人九九视频 | 91精品国产自产老师啪 | 日本最新高清不卡中文字幕 | 天堂成人在线 | 国产99久久久精品 | 国产免费一区二区三区网站免费 | 日韩欧美一区二区三区视频 | 亚洲综合成人专区片 | 亚洲日本va中文字幕 | 视频一区在线免费观看 | 色天天久久 | 人人爱人人爽 | 国产高清精品在线 | 国产精品第2页 | 国产欧美在线一区二区三区 | 日韩动漫免费观看高清完整版在线观看 | 欧美一区免费在线观看 | 91热爆在线观看 | 日本三级吹潮在线 | 亚洲天堂精品视频在线观看 | 亚洲狠狠操 | 亚洲高清不卡av | 久久综合电影 | 国产精品一区久久久久 | 国产在线观看xxx | 亚洲精品欧美精品 | av丝袜在线 | 美女久久久久久久久久久 | 久久人视频 | 久久99亚洲精品久久久久 | 国内精自线一二区永久 | 国产精品69久久久久 | av在线网站大全 | 日韩成人免费观看 | 国产精品福利无圣光在线一区 | 亚洲天天摸日日摸天天欢 | 韩国精品一区二区三区六区色诱 | 日韩最新在线视频 | 激情欧美日韩一区二区 | 婷婷综合视频 | 国产精品成人自产拍在线观看 | 久草在线资源观看 | 久久久久亚洲精品中文字幕 | 亚洲精品久久久蜜桃直播 | 九色精品免费永久在线 | 久久99爱视频 | 天天操夜夜看 | 国产精品成人免费精品自在线观看 | 91视频久久| av手机版| 国产精品va在线观看入 | 久草在线高清视频 | 久久草在线视频国产 | 在线亚洲欧美日韩 | 香蕉视频免费在线播放 | 国产精品一区二区在线 | 热99久久精品 | 黄色特一级| 亚洲毛片久久 | 丁香六月婷婷综合 | 成人午夜电影网站 | 国内丰满少妇猛烈精品播放 | 亚洲片在线 | 亚洲成人黄色在线观看 | 91桃色视频 | 久久久精品国产免费观看同学 | 国产精品完整版 | 麻豆精品国产传媒 | 中文字幕在线观看第二页 | 天天操天天操天天操天天操天天操天天操 | 欧美xxxxx在线视频 | 伊人色**天天综合婷婷 | 玖玖视频免费在线 | 俺要去色综合狠狠 | 欧美做受高潮 | 久久九九影视网 | 五月天中文字幕mv在线 | 日韩免费区 | 国产日韩欧美在线观看 | 日本久久精 | 国产精品久久精品国产 | 久久人人爽人人爽人人片av软件 | 国产亚洲精品成人av久久影院 | 亚洲国产mv | 丁香婷婷网 | 国产精品伦一区二区三区视频 | 久久精品站 | 国产专区视频在线 | 久久久在线| 久久草 | 国产在线播放一区二区 | 亚洲一区精品人人爽人人躁 | 狠狠色噜噜狠狠狠狠2021天天 | 国产精品字幕 | 人人澡人人爽 | 91视频a| 日韩欧美在线高清 | 免费网站在线 | 国产丝袜在线 | 日韩亚洲国产中文字幕 | 国产在线视频在线观看 | 亚洲欧洲日韩在线观看 | 天天拍天天草 | a'aaa级片在线观看 | 97视频在线播放 | 黄色的网站免费看 | 日韩视频www | 丁香六月天婷婷 | 狠狠干狠狠艹 | 在线观看深夜福利 | 亚洲涩涩网站 | 丰满少妇高潮在线观看 | 超碰在线9| 国产色在线视频 | 亚洲精品99久久久久中文字幕 | 热久久视久久精品18亚洲精品 | 色婷婷综合成人av | 成人a大片 | 97色婷婷人人爽人人 |