❶ 為什麼要學習Golang
Go語言其實是Golanguage的簡稱,Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發的一種靜態強類型、編譯並發型語言。Go 語言語法與 C 相近,但功能上有:內存安全,GC(垃圾回收),結構形態及 CSP-style 並發計算。該語言的吉祥物為金花鼠(gordon),
金花鼠(gordon)
Go 語言特色——簡潔、快速、安全、並行、有趣、開源、內存管理、數組安全、編譯迅速
Go 語言用途:Go 語言被設計成一門應用於搭載 Web 伺服器,存儲集群或類似用途的巨型中央伺服器的系統編程語言。對於高性能分布式系統領域而言,Go 語言無疑比大多數其它語言有著更高的開發效率。它提供了海量並行的支持,這對於游戲服務端的開發而言是再好不過了。
C/C++的問題:開發效率低,對開發者要求高;libc只向後兼容,運維難度偏大。
Lua/Python的問題:動態語言,缺少編譯過程,低級錯誤頻出;缺少有效的性能分析及調試工具。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
❷ java是什麼意思
什麼是Java?
Java好象隨處可見 - 甚至在TV中。盡管如此,說清楚Java是什 么和它能做什麼卻不那麼容易。剛開始接觸Java的人通常有三
個問題:
什麼是Java?
Java能做什麼?
Java怎樣改變我的生活?
讓我們先回答第一個問題:什麼是Java?
Java既是一種編程語言,又是一個平台。
Java程序語言
Java是具有以下特徵的高級程序語言:
簡單
面向對象
可分布
可解釋
強壯
安全性
結構化
輕便
功能強大
多線程
動態
Java既可以被編譯,也可以被解釋。通過編譯器,可以把Java程序翻譯成一種中間代碼 - 稱為位元組碼 - 可以被Java解釋器
解釋的獨立於平台的代碼。通過解釋器,每條Java位元組指令被分析,然後在計算機上運行。只需編譯一次,程序運行時解釋執行。
一 有很多教程,叫學了也白搭
這年頭,網上的Java教程一堆一堆的,看的我們很多Java寶寶們是眼花繚亂,不知該如何是好,我當年也是從這個過程走過來的,每天看很多老師的Java教程,聽的自己暈頭轉向的,當然我不是說他們講錯了,他們講的知識層面的東西是對的,但是很多做Java教程的老師不善於深入淺出,通俗易懂的來為我們講解知識,什麼是好教程?好教程就是讓我們學了之後,有一種豁然開朗的感覺,而不是雲深不知處,我想說的是這種教程,不看也罷,浪費了時間,迷茫了自己。
二 有一種教程叫無論你身處何地,都能現場直播教你
現在很多網上流傳的教程都是很多年前的,遠遠的不適應現在Java新應用的需要,基本上都是一些淘汰貨,很多小夥伴們,從網上找這種破爛,學的還不亦樂乎,也是醉了。綜上所述,我們很多人學不好Java,是因為 一開始就選擇錯了,選擇不對,努力白費。為了能夠讓廣大Java學子們在網上學到Java的系統精華知識,通俗易懂的理解這些知識,我們決定現在每天晚上現場直播在網上教大家學習Java,我們的老師,一般的老師不用,我們只讓牛掰的老師講,而你什麼都不需要付出,你只需要來我們這個群里聽就行,開頭的的第一部分是:426.,位於中間的第二部分是:396,處於最後一部分的是:284,學習沒有任何借口,想強大就要努力,同時這也不是一個單打獨斗的時代了,大家在這里一塊學習,打拚出屬於我們的Java新天地。
基本概念:
1.OOP中唯一關系的是對象的介面是什麼,就像計算機的銷售商她不管電源內部結構是怎樣的,他只關系能否給你提供電就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的屬性和行為對象組成的,不同的對象的訪問通過函數調用來完成,對象間所有的交流都是通過方法調用,通過對封裝對象數據,很大限度上提高復用率。
2.OOP中最重要的思想是類,類是模板是藍圖,從類中構造一個對象,即創建了這個類的一個實例(instance)。
3.封裝:就是把數據和行為結合起在一個包中)並對對象使用者隱藏數據的實現過程,一個對象中的數據叫他的實例欄位(instance field)。
4.通過擴展一個類來獲得一個新類叫繼承(inheritance),而所有的類都是由Object根超類擴展而得,根超類下文會做介紹。
5.對象的3個主要特點
behavior---說明這個對象能做什麼.
state---當對象施加方法時對象的反映.
identity---與其他相似行為對象的區分標志.
每個對象有唯一的indentity 而這3者之間相互影響.
6.類之間的關系:
use-a :依賴關系
has-a :聚合關系
is-a :繼承關系--例:A類繼承了B類,此時A類不僅有了B類的方法,還有其自己的方法.(個性存在於共性中)
7.構造對象使用構造器:構造器的提出,構造器是一種特殊的方法,構造對象並對其初始化。
例:Data類的構造器叫Data
new Data()---構造一個新對象,且初始化當前時間.
Data happyday=new Data()---把一個對象賦值給一個變數happyday,從而使該對象能夠多次使用,此處要聲明的使變數與對象變數二者是不同的.new返回的值是一個引用。
構造器特點:構造器可以有0個,一個或多個參數
構造器和類有相同的名字
一個類可以有多個構造器
構造器沒有返回值
構造器總是和new運算符一起使用.
8.重載:當多個方法具有相同的名字而含有不同的參數時,便發生重載.編譯器必須挑選出調用哪個方法。
9.包(package)Java允許把一個或多個類收集在一起成為一組,稱作包,以便於組織任務,標准Java庫分為許多包.java.lang java.util java,net等,包是分層次的所有的java包都在java和javax包層次內。
10.繼承思想:允許在已經存在的類的基礎上構建新的類,當你繼承一個已經存在的類時,那麼你就復用了這個類的方法和欄位,同時你可以在新類中添加新的方法和欄位。
11.擴展類:擴展類充分體現了is-a的繼承關系. 形式為:class (子類) extends (基類)。
12.多態:在java中,對象變數是多態的.而java中不支持多重繼承。
13.動態綁定:調用對象方法的機制。
(1)編譯器檢查對象聲明的類型和方法名。
(2)編譯器檢查方法調用的參數類型。
(3)靜態綁定:若方法類型為priavte static final 編譯器會准確知道該調用哪個方法。
(4)當程序運行並且使用動態綁定來調用一個方法時,那麼虛擬機必須調用x所指向的對象的實際類型相匹配的方法版本。
(5)動態綁定:是很重要的特性,它能使程序變得可擴展而不需要重編譯已存代碼。
14.final類:為防止他人從你的類上派生新類,此類是不可擴展的。
15.動態調用比靜態調用花費的時間要長。
16.抽象類:規定一個或多個抽象方法的類本身必須定義為abstract。
例: public abstract string getDescripition
17.Java中的每一個類都是從Object類擴展而來的。
18.object類中的equal和toString方法。
equal用於測試一個對象是否同另一個對象相等。
toString返回一個代表該對象的字元串,幾乎每一個類都會重載該方法,以便返回當前狀態的正確表示.
(toString 方法是一個很重要的方法)
19.通用編程:任何類類型的所有值都可以同object類性的變數來代替。
20.數組列表:ArrayList動態數組列表,是一個類庫,定義在java.uitl包中,可自動調節數組的大小。
21.class類 object類中的getclass方法返回ckass類型的一個實例,程序啟動時包含在main方法的類會被載入,虛擬機要載入他需要的所有類,每一個載入的類都要載入它需要的類。
22.class類為編寫可動態操縱java代碼的程序提供了強大的功能反射,這項功能為JavaBeans特別有用,使用反射Java能支持VB程序員習慣使用的工具。
能夠分析類能力的程序叫反射器,Java中提供此功能的包叫Java.lang.reflect反射機制十分強大.
1.在運行時分析類的能力。
2.在運行時探察類的對象。
3.實現通用數組操縱代碼。
4.提供方法對象。
而此機制主要針對是工具者而不是應用及程序。
反射機制中的最重要的部分是允許你檢查類的結構.用到的API有:
java.lang.reflect.Field 返回欄位.
java.reflect.Method 返回方法.
java.lang.reflect.Constructor 返回參數.
方法指針:java沒有方法指針,把一個方法的地址傳給另一個方法,可以在後面調用它,而介面是更好的解決方案。
23.介面(Interface)說明類該做什麼而不指定如何去做,一個類可以實現一個或多個interface。
24.介面不是一個類,而是對符合介面要求的類的一套規范。
若實現一個介面需要2個步驟:
1.聲明類需要實現的指定介面。
2.提供介面中的所有方法的定義。
聲明一個類實現一個介面需要使用implements 關鍵字
class actionB implements Comparable 其actionb需要提供CompareTo方法,介面不是類,不能用new實例化一個介面.
25.一個類只有一個超類,但一個類能實現多個介面。Java中的一個重要介面:Cloneable
26.介面和回調.編程一個常用的模式是回調模式,在這種模式中你可以指定當一個特定時間發生時回調對象上的方法。
例:ActionListener 介面監聽.
類似的API有:java.swing.JOptionPane
java.swing.Timer
java.awt.Tookit
27.對象clone:clone方法是object一個保護方法,這意味著你的代碼不能簡單的調用它。
28.內部類:一個內部類的定義是定義在另一個內部的類。
原因是:
1.一個內部類的對象能夠訪問創建它的對象的實現,包括私有數據。
2.對於同一個包中的其他類來說,內部類能夠隱藏起來。
3.匿名內部類可以很方便的定義回調。
4.使用內部類可以非常方便的編寫事件驅動程序。
29.代理類(proxy):
1.指定介面要求所有代碼
2.object類定義的所有的方法(toString equals)
30.數據類型:Java是強調類型的語言,每個變數都必須先申明它都類型,java中總共有8個基本類型.4種是整型,2種是浮點型,一種是字元型,被用於Unicode編碼中的字元,布爾型。
❸ 誰能介紹一下linux
Linux是開源的操作系統,是目前世界上非常流行的一個操作系統。優點很多。
是有全世界各個行業的人在不斷更新的操作系統;
是不需要支付昂貴購買費用的操作系統
是相對windows等系統要穩定得多的系統
是目前眾多大型企業中小企業首選的伺服器系統
是目前病毒攻擊最少的系統
是任何一個想成為計算機高手和已經成為計算機高手的必須要掌握的系統
是一個讓你最能知道計算機底層操作方式和運作原理的系統
1、國際青少年信息學奧林匹克競賽委員會決定:IOI2001將採用Linux操作系統和相對應的編程環境。
2、中國計算機學會也決定在NOI2001採用新的操作系統和編程環境。
3、Linux開始於芬蘭赫爾辛基大學的Linus Torvalds的業余愛好。
4、Linux是一 個與UNIX兼容的操作系統。但Linux並沒有包括Unix源碼。
5、Linux屬於一個完全基於自由軟體的軟體體系(GNU)。所有的GNU程序遵循一種「Copyleft」原則,即可以拷貝,可以修改,可以出售,只是有一條:源代碼所有的改進和修改必須向每個用戶公開,所有用戶都可以獲得改動後的源碼。它保證了自由軟體傳播的延續性。Linux是自由軟體,任何機構和個人都可以在遵守GNU公用許可證的前題下隨意打包組合Linux軟體和工具,以免費或收費的方式發行。即是說:Linux是目前唯一可以從網上或其他途徑自由獲得的可為PC及網路提供多用戶、多任務、多進程功能的免費操作系統軟體。
6、Linux的標志(吉祥物)是企鵝。
7、Linux的分內核版本和發行版本。我們以內核版本來看,一般具有2.2.16這樣的形式。其中第一部分是主版本號,第二部分是次版本號,二者構成當前的內核版本號,第三部分是對當前內核版本的修正次數。根據約定,次版本號為偶數時,表示該內核是穩定的發行版本,次版本號為奇數時,則表示該內核是不穩定的開發版本。
8、像Unix一樣,Linux一般被分成四個主要部分:內核、Shell、文件系統和實用工具。
9、Linux需同時使用多個分區,每個分區稱之為一個文件系統。最少需要二個分區:一個交換分區,一個根文件系統分區。
10、Linux採用的文件系統類型是ext2而不是FAT32(FAT32是WINDOWS採用的文件系統)。
11、「root」即根用戶,是Linux系統中的最高許可權用戶,這個帳號對系統的一切文件都有完全的訪問許可權。
12、Linux的關機和MSDOS會有所不同,不能隨意關機,因為Linux會將內存作為暫存區,那樣可能會造成系統的癱瘓。使用正常的關機可將內存信息寫回硬碟。關機使用的指令是「shutdown」。組合鍵「Ctrl + Alt + Del」可重啟動Linux。
13、Vi 是 UNIX 世界裡最通用的全屏編輯器,所有的UNIX機器都提供本編輯器。Linux里提供的是vi的加強版—vim,是同vi完全兼容的。
14、X Window System 是 UNIX 系統上強大的圖形化作業環境。提供了類似於Windows的圖形環境。
15、在Linux系統中,軟盤/光碟屬獨立的文件系統,使用前必須掛裝,用完需卸載。掛裝使用命令:Mount –t 文件系統類型 設備名 掛裝點。
16、Linux對字母的大小寫是敏感的,在命令和參數中a和A並不等價。
17、Linux中包含5種文件系統。比較關鍵的是根文件系統和/usr文件系統。
-----------------------------------------------------------------
Linux的良好特性
1 開放性
是指系統遵循世界標准規范,特別是遵循開放系統互連(OSI)國際標准。凡遵循國際標准所開發的硬體和軟體,都能彼此兼容,可方便地實現互連。
2 多用戶
是指系統資源可以被不同用戶使用,每個用戶對自己的資源(例如:文件、設備)有特定的許可權,互不影響。Linux和Unix都具有多用戶的特性
3 多任務
是現代計算機的最主要的一個特點。它是指計算機同時執行多個程序,而且各個程序的運行互相獨立。Linux系統調度每一個進程平等地訪問微處理器。由於 CPU的處理速度非常快,其結果是,啟動的應用程序看起來好像在並行運行。事實上,從處理器執行一個應用程序中的一組指令到Linux調度微處理器再次運行這個程序之間只有很短的時間延遲,用戶是感覺不出來的。
4 良好的用戶界面
Linux向用戶提供了兩種界面:用戶界面和系統調用。Linux的傳統用戶界面是基於文本的命令行界面,即shell,它既可以聯機使用,又可存在文件上離線使用。shell有很強的程序設計能力,用戶可方便地用它編製程序,從而為用戶擴充系統功能提供了更高級的手段。可編程Shell是指將多條命令組合在一起,形成一個Shell程序,這個程序可以單獨運行,也可以與其他程序同時運行。系統調用給用戶提供編程時使用的界面。用戶可以在編程時直接使用系統提供的系統調用命令。系統通過這個界面為用戶程序提供低級、高效率的服務。 Linux還為用戶提供了圖形用戶界面。它利用滑鼠、菜單、窗口、滾動條等設施,給用戶呈現一個直觀、易操作、交互性強的友好的圖形化界面。
5 設備獨立性
設備獨立性是指操作系統把所有外部設備統一當作成文件來看待,只要安裝它們的驅動程序,任何用戶都可以象使用文件一樣,操縱、使用這些設備,而不必知道它們的具體存在形式。具有設備獨立性的操作系統,通過把每一個外圍設備看作一個獨立文件來簡化增加新設備的工作。當需要增加新設備時、系統管理員就在內核中增加必要的連接。這種連接(也稱作設備驅動程序)保證每次調用設備提供服務時,內核以相同的方式來處理它們。當新的及更好的外設被開發並交付給用戶時,操作允許在這些設備連接到內核後,就能不受限制地立即訪問它們。設備獨立性的關鍵在於內核的適應能力。其他操作系統只允許一定數量或一定種類的外部設備連接。而設備獨立性的操作系統能夠容納任意種類及任意數量的設備,因為每一個設備都是通過其與內核的專用連接獨立進行訪問。 Linux是具有設備獨立性的操作系統,它的內核具有高度適應能力,隨著更多的程序員加入Linux編程,會有更多硬體設備加入到各種Linux內核和發行版本中。另外,由於用戶可以免費得到Linux的內核源代碼,因此,用戶可以修改內核源代碼,以便適應新增加的外部設備。
6 供了豐富的網路功能
完善的內置網路是Linux一大特點。 Linux在通信和網路功能方面優於其他操作系統。Linux為用戶提供了完善的、強大的網路功能。支持Internet是其網路功能之一。Linux免費提供了大量支持Internet的軟體,Internet是在Unix領域中建立並繁榮起來的,在這方面使用Linux是相當方便的,用戶能用Linux與世界上的其他人通過Internet網路進行通信。文件傳輸是其網路功能之二。用戶能通過一些Linux命令完成內部信息或文件的傳輸。遠程訪問是其網路功能之三。Linux不僅允許進行文件和程序的傳輸,它還為系統管理員和技術人員提供了訪問其他系統的窗口。通過這種遠程訪問的功能,一位技術人員能夠有效地為多個系統服務,即使那些系統位於相距很遠的地方。
7 可靠的系統安全
Linux採取了許多安全技術措施,包括對讀、寫控制、帶保護的子系統、審計跟蹤、核心授權等,這為網路多用戶環境中的用戶提供了必要的安全保障。
8 良好的可移植性
Linux可移植性是指將操作系統從一個平台轉移到另一個平台使它仍然能按其自身的方式運行的能力。 Linux是一種可移植的操作系統,能夠在從微型計算機到大型計算機的任何環境中和任何平台上運行。可移植性為運行Linux的不同計算機平台與其他任何機器進行准確而有效的通信提供了手段,不需要另外增加特殊的和昂貴的通信介面。
❹ 天貓和京東會把一貓一狗作為自己的吉祥物有什麼寓意嗎
京東的是帶有金屬質感的狗狗形象,而天貓則是一隻黑白相間的貓。而在當下的互聯網時代中,看中這兩種動物形象無疑就想到了京東與天貓這兩大電商巨頭,毫不誇張的說這兩種動物形象對於京東和天貓來說,那就是公司的LOGO,亦或是叫做徽標。而通過這種形象的徽標可以讓消費者記住公司主體和品牌文化。在網路中,徽標主要是各個網站用來與其它網站鏈接的圖形標志,代表一個網站或網站的一個板塊。
另外,LOGO還是一種早期的計算機編程語言,也是一種與自然語言非常接近的編程語言,它通過「繪圖」的方式來學習編程,對初學者特別是兒童進行寓教於樂的教學方式。
❺ java 調用軟鍵盤
JAVA調用軟鍵盤應該要用到JIN,來操作本地的資源,樓主到網上找下JIN的使用方法,再找下本地計算機是怎麼調出軟鍵盤的,這樣下去應該會有結果。不過建議樓主最好自己做個JAVA軟體鍵盤,然後在文本中只顯示*就是了。
❻ 安卓吉祥物的設計靈感來源是什麼,有什麼含義
android
Google公司開發的操作系統
更多義項
更多圖片(63張)
Android是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用「安卓」或「安致」。Android操作系統最初由Andy Rubin開發,主要支持手機。2005年8月由Google收購注資。2007年11月,Google與84家硬體製造商、軟體開發商及電信營運商組建開放手機聯盟共同研發改良Android系統。隨後Google以Apache開源許可證的授權方式,發布了Android的源代碼。第一部Android智能手機發布於2008年10月。Android逐漸擴展到平板電腦及其他領域上,如電視、數碼相機、游戲機等。2011年第一季度,Android在全球的市場份額首次超過塞班系統,躍居全球第一。 2013年的第四季度,Android平台手機的全球市場份額已經達到78.1%。2013年09月24日谷歌開發的操作系統Android在迎來了5歲生日,全世界採用這款系統的設備數量已經達到10億台。
2014第一季度Android平台已佔所有移動廣告流量來源的42.8%,首度超越iOS。但運營收入不及iOS。
中文名:安卓
外文名:Android
開發商:Google、開放手持設備聯盟
發行商:Google
發行時間:2008年9月23日
編程語言:C/C++(底層) Java等(應用層)
系統家族:類Unix,Linux
源碼模式:自由及開放源代碼軟體
內核類型:宏內核(Linux內核)
軟體許可:Apache License、 GPL等
分享
系統簡介
Android一詞的本義指「機器人」,同時也是Google於2007年11月5日
Android logo相關圖片
圖冊 36張
宣布的基於Linux平台的開源手機操作系統的名稱,該平台由操作系統、中間件、用戶界面和應用軟體組成。
Android一詞最早出現於法國作家利爾亞當(Auguste Villiers de l'Isle-Adam)在1886年發表的科幻小說《未來夏娃》(L'ève future)中。他將外表像人的機器起名為Android。
Android的Logo是由Ascender公司設計的,誕生於2010年,其設計靈感源於男女廁所門上的圖形符號,於是布洛克繪制了一個簡單的機器人,它的軀干就像錫罐的形狀,頭上還有兩根天線,Android小機器人便誕生了。其中的文字使用了Ascender公司專門製作的稱之為「Droid 」 的字體。Android是一個全身綠色的機器人,綠色也是Android的標志。顏色採用了PMS 376C和RGB中十六進制的#A4C639來繪制,這是Android操作系統的品牌象徵。有時候,它們還會使用純文字的Logo。
❼ import語法什麼時候開始支持
Java是一種廣泛使用的計算機編程語言,擁有跨平台、面向對象、泛型編程的特性,廣泛應用於企業級Web應用開發和移動應用開發。
任職於太陽微系統的詹姆斯·高斯林等人於1990年代初開發Java語言的雛形,最初被命名為Oak,目標設置在家用電器等小型系統的程序語言,應用在電視機、電話、鬧鍾、烤麵包機等家用電器的控制和通信。由於這些智能化家電的市場需求沒有預期的高,Sun公司放棄了該項計劃。隨著1990年代互聯網的發展,Sun公司看見Oak在互聯網上應用的前景,於是改造了Oak,於1995年5月以Java的名稱正式發布。Java伴隨著互聯網的迅猛發展而發展,逐漸成為重要的網路編程語言。
Java編程語言的風格十分接近C++語言。繼承了C++語言面向對象技術的核心,Java舍棄了C++語言中容易引起錯誤的指針,改以引用取代,同時移除原C++與原來運算符重載,也移除多重繼承特性,改用介面取代,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型編程、類型安全的枚舉、不定長參數和自動裝/拆箱特性。太陽微系統對Java語言的解釋是:「Java編程語言是個簡單、面向對象、分布式、解釋性、健壯、安全與系統無關、可移植、高性能、多線程和動態的語言」
Java不同於一般的編譯語言或直譯語言。它首先將源代碼編譯成位元組碼,然後依賴各種不同平台上的虛擬機來解釋執行位元組碼,從而實現了「一次編寫,到處運行」的跨平台特性。在早期JVM中,這在一定程度上降低了Java程序的運行效率。但在J2SE1.4.2發布後,Java的運行速度有了大幅提升。
與傳統類型不同,Sun公司在推出Java時就將其作為開放的技術。全球數以萬計的Java開發公司被要求所設計的Java軟體必須相互兼容。「Java語言靠群體的力量而非公司的力量」是 Sun公司的口號之一,並獲得了廣大軟體開發商的認同。這與微軟公司所倡導的注重精英和封閉式的模式完全不同,此外,微軟公司後來推出了與之競爭的.NET平台以及模仿Java的C#語言。後來Sun公司被甲骨文公司並購,Java也隨之成為甲骨文公司的產品。
現時,移動操作系統Android大部分的代碼採用Java 編程語言編程。
早期的Java
Java的發明人詹姆斯·高斯林
Duke,Java語言的吉祥物
語言最開始只是Sun計算機(Sun MicroSystems)公司在1990年12月開始研究的一個內部項目。Sun計算機公司的一個叫做帕特里克·諾頓的工程師被公司自己開發的C++和C語言編譯器搞得焦頭爛額,因為其中的API極其難用。帕特里克決定改用NeXT,同時他也獲得了研究公司的一個叫做「Stealth計劃」的項目的機會。
「Stealth計劃」後來改名為「Green計劃」,詹姆斯·高斯林和麥克·舍林丹也加入了帕特里克的工作小組。他們和其他幾個工程師一起在加利福尼亞州門羅帕克市沙丘路的一個小工作室裡面研究開發新技術,瞄準下一代智能家電(如微波爐)的程序設計,Sun公司預料未來科技將在家用電器領域大顯身手。團隊最初考慮使用C++語言,但是很多成員包括Sun的首席科學家比爾·喬伊,發現C++和可用的API在某些方面存在很大問題。
工作小組使用的是嵌入式系統,可以用的資源極其有限。很多成員發現C++太復雜以至很多開發者經常錯誤使用。他們發現C++缺少垃圾回收系統,還有可移植的安全性、分布程序設計、和多線程功能。最後,他們想要一種易於移植到各種設備上的平台。
根據可用的資金,喬伊決定開發一種集C語言和Mesa語言大成的新語言,在一份報告上,喬伊把它叫做「未來」,他提議Sun公司的工程師應該在C++的基礎上,開發一種面向對象的環境。最初,高斯林試圖修改和擴展C++的功能,他自己稱這種新語言為C++ ++ --,但是後來他放棄了。他將要創造出一種全新的語言,被他命名為「Oak」(橡樹),以他的辦公室外的橡樹命名。
就像很多開發新技術的秘密工程一樣,工作小組沒日沒夜地工作到了1993年的夏天,他們能夠演示新平台的一部分了,包括Green操作系統,Oak的程序設計語言,類庫及其硬體。最初的嘗試是面向一種類PDA設備,被命名為Star7,這種設備有鮮艷的圖形界面和被稱為「Duke」的智能代理來幫助用戶。1992年12月3日,這台設備進行了展示。
同年11月,Green計劃被轉化成了「FirstPerson有限公司」,一個Sun公司的全資子公司,團隊也被重新安排到了帕洛阿爾托。FirstPerson團隊對建造一種高度交互的設備感興趣,當時代華納發布了一個關於電視機頂盒的徵求提議書時(Request for proposal),FirstPerson改變了他們的目標,作為對徵求意見書的響應,提出了一個機頂盒平台的提議。但是有線電視業界覺得FirstPerson的平台給予用戶過多的控制權,因此FirstPerson的投標敗給了SGI。與3DO公司的另外一筆關於機頂盒的交易也沒有成功,由於他們的平台不能在電視工業產生任何效益,公司被並回Sun公司。
Java和互聯網
1994年6月,在經歷了一場歷時三天的腦力激盪的討論後,約翰·蓋吉、詹姆斯·高斯林、比爾·喬伊、帕特里克·諾頓、韋恩·羅斯因和埃里克·斯庫米,團隊決定再一次改變了努力的目標,這次他們決定將該技術應用於萬維網。他們認為隨著Mosaic瀏覽器的到來,網際網路正在向同樣的高度互動的遠景演變,而這一遠景正是他們在有線電視網中看到的。作為原型,帕特里克·諾頓寫了一個小型萬維網瀏覽器,WebRunner,後來改名為HotJava[12]。
1994年10月,HotJava和Java平台為公司高層進行演示。1994年,Java
1.0a版本已經可以提供下載,但是Java和HotJava瀏覽器的第一次公開發布卻是在1995年3月23日SunWorld大會上進行的。升陽公司的科學指導約翰·蓋吉宣告Java技術。這個發布是與網景公司的執行副總裁馬克·安德森的驚人發布一起進行的,宣布網景將在其瀏覽器中包含對Java的支持。1996年1月,升陽公司成立了Java業務集團,專門開發Java技術。
Java和「Java」
由於商標搜索顯示,Oak已被一家顯示卡製造商注冊。於是同年,Oak被改名為Java。當使用十六進制編輯器打開由Java源代碼編譯出的二進制文件(.class文件)的話,最前面的32位將顯示為CA FE BA BE,即片語「CAFE BABE」(咖啡屋寶貝)。
Java近況
一套Java編輯器軟體
J2SE環境與CDC的關連
JVM的所在角色
JSPX網頁的概念
在流行幾年之後,Java在瀏覽器中的地位被逐步侵蝕。它在簡單交互性動畫方面的用途已經完全被Adobe公司的Flash排擠,2005年Java傾向只被用於雅虎游戲那樣的更為復雜的應用程序。Java同時遭受到來自微軟的反對,他們決定在新版本的Internet Explorer和Windows中不再附帶Java平台。
與此相反。在萬維網的伺服器端和手持設備上,Java變得更加流行。很多網站在後端使用JSP和其他的Java技術。
在桌面系統上,獨立的Java程序還是相對少見,這是因為Java平台的運行開銷較大,而許多人的電腦上沒有安裝Java,由於網路帶寬在以前較小,下載Java曾經是個耗時的事情。但是隨著計算機計算能力、網路帶寬在10年中獲取了很大的進步,同時虛擬機和編譯器的質量得到了提高,許多應用程序得到了廣泛的使用,包括:
開源軟體:
NetBeans和Eclipse等軟體開發工具
Android操作系統
JEdit
Azureus BitTorrent客戶端。
JNode操作系統
Apache軟體基金會的Ant、Derby、Hadoop、Jakarta、POI和Tomcat
JBoss和GlassFish應用伺服器
商業軟體:
EIOffice(永中Office)
Minecraft
純Java 3D游戲合金戰士Chrome
IBM Websphere、ColdFusion和WebLogic
IntelliJ IDEA
還有許多用Java寫的軟體,可以在http://www.java.com 找到。在以下網頁可以看到非常多用Java寫的程序:http://java.sun.com/procts/ 下面有大量用Java Swing開發的桌面Java程序 http://java.sun.com/procts/jfc/tsc/sightings/ 目前Java提供以下三個版本:
Java Platform, Enterprise Edition(Java EE:Java平台企業版)
Java Platform, Standard Edition(Java SE:Java平台標准版)
Java Platform, Micro Edition(Java ME:Java平台微型版)
Java Platform, Card Edition
Java開放源代碼項目
2006年SUN在JavaOne公布Java 開放源代碼項目,並推出OpenJDK項目。[13]Java虛擬機、Java編譯器和Java類庫以GNU通用公共許可證公開。
版本歷史
主條目:Java版本歷史
1995年5月23日,Java語言誕生
1996年1月,第一個JDK-JDK1.0誕生
1996年4月,10個最主要的操作系統供應商申明將在其產品中嵌入JAVA技術
1996年9月,約8.3萬個網頁應用了JAVA技術來製作
1997年2月18日,JDK1.1發布
1997年4月2日,JavaOne會議召開,參與者逾一萬人,創當時全球同類會議規模之紀錄
1997年9月,JavaDeveloperConnection社區成員超過十萬
1998年2月,JDK1.1被下載超過2,000,000次
1998年12月8日,JAVA2企業平台J2EE發布
1999年6月,SUN公司發布Java的三個版本:標准版(J2SE)、企業版(J2EE)和微型版(J2ME)
2000年5月8日,JDK1.3發布
2000年5月29日,JDK1.4發布
2001年6月5日,NOKIA宣布,到2003年將出售1億部支持Java的手機
2001年9月24日,J2EE1.3發布
2002年2月26日,J2SE1.4發布,自此Java的計算能力有了大幅提升
2004年9月30日18:00PM,J2SE1.5發布,成為Java語言發展史上的又一里程碑。為了表示該版本的重要性,J2SE1.5更名為Java SE 5.0
2005年6月,JavaOne大會召開,SUN公司公開Java SE 6。此時,Java的各種版本已經更名,以取消其中的數字「2」:J2EE更名為Java EE,J2SE更名為Java SE,J2ME更名為Java ME
2006年12月,SUN公司發布JRE6.0
2009年12月,SUN公司發布Java EE 6
2010年11月,由於Oracle公司對於Java社區的不友善,因此Apache揚言將退出JCP[14]
2011年7月28日,Oracle公司發布Java SE 7
2014年3月18日,Oracle公司發表Java SE 8
語言特性
Java之所以被開發,是要達到以下五個目的:
應當使用面向對象程序設計方法學
應當允許同一程序在不同的計算機平台執行
應當包括內建的對計算機網路的支持
應當被設計成安全地執行遠端代碼
應當易於使用,並借鑒以前那些面向對象語言(如C++)的長處。
Java技術主要分成幾個部分:Java語言、Java運行環境、類庫。一般情況下說Java時並不區分指的是哪個部分。
Java在1.5版本時,做了重大改變,Sun公司並1.5版本重命名為Java 5.0。
面向對象
Java的特點之一就是面向對象,是程序設計方法的一種。「面向對象程序設計語言」的核心之一就是開發者在設計軟體的時候可以使用自定義的類型和關聯操作。代碼和數據的實際集合體叫做「對象」。一個對象可以想像成綁定了很多「行為(代碼)」和「狀態(數據)」的物體。對於數據結構的改變需要和代碼進行通信然後操作,反之亦然。面向對象設計讓大型軟體工程的計劃和設計變得更容易管理,能增強工程的健康度,減少失敗工程的數量。
跨平台性
Java語言的第二個特性就是跨平台性,也就是說使用Java語言編寫的程序可以在編譯後不用經過任何更改,就能在任何硬體設備條件下運行。這個特性經常被稱為「一次編譯,到處運行」。
執行Java應用程序必須安裝爪哇運行環境(Java Runtime Environment,JRE),JRE內部有一個Java虛擬機(Java Virtual Machine,JVM)以及一些標準的類庫(Class Library)。通過JVM才能在電腦系統執行Java應用程序(Java Application),這與.Net Framework的情況一樣,所以電腦上沒有安裝JVM,那麼這些程序將不能夠執行。
實現跨平台性的方法是大多數編譯器在進行Java語言程序的編碼時候會生成一個用位元組碼寫成的「半成品」,這個「半成品」會在Java虛擬機(解釋層)的幫助下運行,虛擬機會把它轉換成當前所處硬體平台的原始代碼。之後,Java虛擬機會打開標准庫,進行數據(圖片、線程和網路)的訪問工作。主要注意的是,盡管已經存在一個進行代碼翻譯的解釋層,有些時候Java的位元組碼代碼還是會被JIT編譯器進行二次編譯。
有些編譯器,比如GCJ,可以自動生成原始代碼而不需要解釋層。但是這些編譯器所生成的代碼只能應用於特定平台。並且GCJ目前只支持部分的Java API。
甲骨文公司對於Java的許可是「全兼容的」,這也導致了微軟和升陽關於微軟的程序不支持RMI和JNI介面、並且增加特性為己所用的法律爭端。升陽最終贏得了官司,獲得了大約兩千萬美元的賠償,法院強制要求微軟執行升陽公司關於Java的許可要求。作為回應,微軟不再在Windows系統中捆綁Java,最新的Windows版本,Windows Vista和Internet Explorer 7.0版本也不再提供對於Java應用程序和控制項的支持。但是升陽公司和其他使用Java運行時系統的公司在Windows操作系統下對用戶提供無償的第三方插件和程序支持。
Java語言使用解釋層最初是為了輕巧性。所以這些程序的運行效率比C語言和C++要低很多,用戶也對此頗有微詞。很多最近的調查顯示Java的程序運行速度比幾年前要高出許多,有些同樣功能的程序的效率甚至超過了C++和C語言編寫的程序[來源請求]。
Java語言在最開始應用的時候是沒有解釋層的,所有需要編譯的代碼都直接轉換成機器的原始代碼。這樣做的後果就是獲得了最佳的性能,但是程序臃腫異常。從JIT技術開始,Java的程序都經過一次轉換之後才變成機器碼。很多老牌的第三方虛擬機都使用一種叫做「動態編譯」的技術,也就是說虛擬機實時監測和分析程序的運行行為,同時選擇性地對程序所需要的部分進行編譯和優化。所有這些技術都改善了代碼的運行速度,但是又不會讓程序的體積變得失常。
程序的輕便性事實上是軟體編寫很難達到的一個目標,Java雖然成功地實現了「一次編譯,到處運行」,但是由於平台和平台之間的差異,所編寫的程序在轉換代碼的時候難免會出現微小的、不可察覺的錯誤和意外。有些程序員對此非常頭疼,他們嘲笑Java的程序不是「一次編譯,到處運行」,而是「一次編譯,到處調試」。以Java
AWT為例,早期Java
AWT內提供的按鈕、文字區等均是以計算機系統所默認的樣式而顯示。這令Java程序在有些沒有提供圖案的計算機系統產生錯誤(在Microsoft
Windows設有窗口管理器,在一些Linux distribution則沒有)。後來SUN公司針對Java AWT一些問題而推出Java
Swing。
平台無關性讓Java在伺服器端軟體領域非常成功。很多伺服器端軟體都使用Java或相關技術建立。
自動垃圾回收(Garbage Collection)
C++語言被用戶詬病的原因之一是大多數C++編譯器不支持垃圾收集機制。通常使用C++編程的時候,程序員於程序中初始化對象時,會在主機內存堆棧上分配一塊內存與地址,當不需要此對象時,進行析構或者刪除的時候再釋放分配的內存地址。如果對象是在堆棧上分配的,而程序員又忘記進行刪除,那麼就會造成內存泄漏(Memory
Leak)。長此以往,程序運行的時候可能會生成很多不清除的垃圾,浪費了不必要的內存空間。而且如果同一內存地址被刪除兩次的話,程序會變得不穩定,甚至崩潰。因此有經驗的C++程序員都會在刪除之後將指針重置為NULL,然後在刪除之前先判斷指針是否為NULL。
C++中也可以使用「智能指針」(Smart Pointer)或者使用C++託管擴展編譯器的方法來實現自動化內存釋放,智能指針可以在標准類庫中找到,而C++
(題主你怎麼可以問這么沙比的問題!)
託管擴展被微軟的Visual
C++
7.0及以上版本所支持。智能指針的優點是不需引入緩慢的垃圾收集機制,而且可以不考慮線程安全的問題,但是缺點是如果不善使用智能指針的話,性能有可能不如垃圾收集機制,而且不斷地分配和釋放內存可能造成內存碎片,需要手動對堆進行壓縮。除此之外,由於智能指針是一個基於模板的功能,所以沒有經驗的程序員在需要使用多態特性進行自動清理時也可能束手無策。
Java語言則不同,上述的情況被自動垃圾收集功能自動處理。對象的創建和放置都是在內存堆棧上面進行的。當一個對象沒有任何引用的時候,Java的自動垃圾收集機制就發揮作用,自動刪除這個對象所佔用的空間,釋放內存以避免內存泄漏。
注意程序員不需要修改finalize方法,自動垃圾收集也會發生作用。但是內存泄漏並不是就此避免了,當程序員疏忽大意地忘記解除一個對象不應該有的引用時,內存泄漏仍然不可避免。
不同廠商、不同版本的JVM中的內存垃圾回收機制並不完全一樣,通常越新版本的內存回收機制越快,IBM、BEA、SUN等等開發JVM的公司都曾宣稱過自己製造出了世界上最快的JVM[來源請求],JVM性能的世界紀錄也在不斷的被打破並提高。
IBM有一篇有關Java內存回收機制比不激活垃圾收集機制的C++內存處理快數倍的技術文章[15],而著名的Java技術書籍《Java編程思想》(Thinking in Java)也有一段論述Java內存及性能達到甚至超過C++的章節[16]。
基本語法
編寫Java程序前應注意以下幾點:
大小寫敏感:Java是大小寫敏感的,這就意味著標識符Hello與hello是不同的。
類名:對於所有的類來說,類名的首字母應該大寫。如果類名由若干單片語成,那麼每個單詞的首字母應該大寫,例如MyFirstJavaClass。
方法名:所有的方法名都應該以小寫字母開頭。如果方法名含有若干單詞,則後面的每個單詞首字母大寫,例如myFirstJavaMethod。
源文件名:源文件名必須和類名相同。當保存文件的時候,你應該使用類名作為文件名保存(切記Java是大小寫敏感的),文件名的後綴為.java。(如果文件名和類名不相同則會導致編譯錯誤)。
主方法入口:所有的Java程序由public static void main(String[] args)方法開始執行。
Java關鍵字
關鍵字 下面列出了Java關鍵字。這些關鍵字不能用於常量、變數、和任何標識符的名稱。
關鍵字
描述
abstract
抽象方法,抽象類的修飾符
assert
斷言條件是否滿足
continue
不執行循環體剩餘部分
default
switch語句中的默認分支
do-while
循環語句,循環體至少會執行一次
double
64-bit雙精度浮點數
else
if條件不成立時執行的分支
enum
枚舉類型
extends
表示一個類是另一個類的子類
final
表示定義常量
finally
無論有沒有異常發生都執行代碼
float
32-bit單精度浮點數
for
for循環語句
goto
用於流程跳轉(不可用,意即不可隨意跳轉)
if
條件語句
implements
表示一個類實現了介面
import
導入類
instanceof
測試一個對象是否是某個類的實例
int
32位整型數
interface
介面,一種抽象的類型,僅有方法和常量的定義
long
64位整型數
native
表示方法用非java代碼實現
new
分配新的類實例
package
一系列相關類組成一個包
private
表示私有欄位,或者方法等,只能從類內部訪問
protected
表示保護類型欄位
public
表示共有屬性或者方法
return
方法返回值
short
16位數字
static
表示在類級別定義,所有實例共享的
strictfp
浮點數比較使用嚴格的規則
super
表示基類
switch
選擇語句
synchronized
表示同一時間只能由一個線程訪問的代碼塊
this
調用當前實例或者調用另一個構造函數
throw
拋出異常
throws
定義方法可能拋出的異常
transient
修飾不要序列化的欄位
try
表示代碼塊要做異常處理
void
標記方法不返回任何值
volatile
標記欄位可能會被多個線程同時訪問,而不做同步
while
while循環
注釋
注釋作用:標識程序是干什麼的,以及它是如何構建的。注釋幫助程序員進行相互溝通以及理解程序。注釋不是程序設計語言,所以編譯器編譯程序時忽略它們。
介面和類別
Java自帶了創建介面的類別,可以這樣使用:
public interface Deleteable {
void delete();
}
這段代碼的意思是任何實現(implement)Deleteable介面的類別都必須實現delete()方法。每個類別對這個方法的實現可以自行定製。由此概念可以引出很多種使用方法,下面是一個類別的例子:
❽ 吉祥物象徵意義
吉祥物象徵意義
吉祥物象徵意義,吉祥物是作為一個國家的特徵,是一個代表,有一些吉祥物也可以用於避邪消災的,那麼吉祥物象徵意義是什麼呢,我為大家整理好了吉祥物象徵意義的相關資料,一起來看看吧。
1、貔貅
古人有雲,貔貅乃龍之九子,以金銀玉器為食,只吃不吐,故有納食四方之財的寓意,因此也就流傳著這樣的一種說法:「貔貅在手發財順手,家中有貔貅萬事無憂」的說法。因為貔貅是龍的兒子,但又有點像獅子,所以貔貅有辟邪、擋煞、鎮宅之威力,而且將這地方的邪氣趕走、帶來歡樂及好運的作用。
2、玉白菜,翡翠白菜
玉白菜諧音「遇百財」,故此在室內擺放佩戴翡翠白菜寓意聚財、招財、發財、橫財就手、百財聚來;「百財」,翡翠白菜還有著「擺財」之音,擺放財產,是一種富貴人家的象徵,是彰顯財富的代表。
3、寶瓶
寶瓶,取其諧音,便是永保平安之意,在家中或公司均適合擺放。寶瓶插花,平安幸福美好,生活真是平安多彩。
4、大象
「象」與「祥」的諧音,也因此,大象被賦予了吉祥如意的寓意。中國古人有雲:「太平有象」,寓意「吉祥如意」和「出將入相」,意思也是大象之稟性馴良善於吸財,有助於吸納四方之財,而且古代封侯拜相亦有此說法,表達對前途事業的期盼。
5、葫蘆
大多風水擺件皆是諧音,葫蘆,地方方言便是「福祿」,取其福祿壽三仙,以示庇佑,保佑大富大貴,吸納進財,壽比南山之意。
6、蟾蜍
有這樣一句俗語「得金蟾者必大富」!也就是傳說金蟾所到之處,便是金錢聚集之地,也因此有「金錢蟾蜍」這一說法。三足金蟾有三足,是為靈物,象徵財源滾滾,是招財的吉祥物!除此以外,三足金蟾還能化煞、辟邪、除小人!
7、關公
關公便是最常見的辦公室的風水擺件了,關公乃三國中的關羽,騎馬耍大刀,對劉備赤膽忠心,刀口向山上的關公,寓意著公司的員工要想關公對劉主公一樣,對公司中心耿耿;也有很多把關二爺作為財神爺,大刀刀口向下,乃寓意招財進寶。
8、牛
我們一直都知道,牛最是勤勤懇懇的,古時候的一頭牛便是整個家的勞力支撐,財源、生活助手,牛甘為百姓犧牲,造福天下。牛勤勞奮斗,祥瑞平安已成為牛的代名詞。
9、麒麟
麒麟是天上的神物,有一股祥瑞之氣,常伴神靈出現,是神的座騎;傳說中,麒麟對孝道積善的人特別照顧,因此麒麟有「仁獸」之稱;還有一句話說的是「麒麟送子」,麒麟還有旺後代的作用。麒麟具有鎮宅驅邪,招財進寶,多子多孫,大利文運等吉祥之功。
10、馬到成功
一匹奔騰中的烈馬,奔向鴻運和財運。馬到成功是風水中常用的吉祥擺件。馬頭朝著窗內擺放,馬就一直被主人掌控,如果朝外,就像脫韁的馬,掌握不了財運與鴻運。
一、中國傳統吉祥圖案的發展簡史
隨著社會的進步,人類文明的發展,人們的觀念意識和審美情趣也在不斷的發展變化,與之相生相伴的各種藝術形式也都打上了鮮明的時代烙印。中國傳統吉祥圖案作為形式藝術同樣也是人類思維和意識形態的反映,必然有一個發生發展的過程。
遠在遠古時代圖騰崇拜時期,先民們對神秘莫測的宇宙萬象和諸多的飛禽走獸、花鳥蟲魚等動植物的形狀與生活特性充滿了幻想與猜測,企福求安的圖形符號由此誕生。這一時期彩陶工藝上的動物紋、人面魚紋等都帶有人敬天神、人仰混沌的意味。這種圖騰文化,雖然還不能真正意義上被稱為人們主觀能動所創造的裝飾吉祥圖案,但客觀上它奠定了傳統吉祥圖案的發展基礎,將其源址定義在了人文藝術的范疇之內。
新石器時期的彩陶、石雕、玉刻中先後出現了各種形狀的怪獸,如龍、鳳、龜、鳥等,以及雲紋、水波紋、回紋等紋飾亦最先出現。殷商、西周、春秋戰國時期,真正意義上的吉祥圖案在階級社會中得以產生。因為在階級社會,人們的意識形態發生了巨大的變化,伴隨這工藝水平的突飛猛進,豐富的思想內容得以通過客觀形式表現出來。例如青銅器、漆器上的饕餮紋、夔龍紋、鳥紋、象紋等各種紋飾,讓人不僅感受到那個特定時代凝重典雅又神秘古老的精神內涵。秦漢時期,佛教傳入中國,佛教中的因果報應、道教中的長生不老、儒教中的陰陽五行,三者有所融合,再加上神話傳說,極大地豐富了吉祥圖案的題材,並廣泛地應用於建築、雕塑和民俗藝術中,豐富的吉祥語言開始出現。例如在漢代織錦上已經出現不少吉祥圖案,有「萬事如意」錦、「延年益壽大益子孫」錦等。此時傳統吉祥圖案中的福、祿、壽、喜圖案已經逐漸開始成形。隋唐宋元時期,吉祥圖案日臻完善,逐漸普及。尤其是在宋元時期,吉祥圖案被廣泛應用於建築彩畫、陶瓷、刺綉、織物、漆器上,此時的吉祥圖案進入了發展的高度普及期,甚至到了「圖必吉祥」的地步。明清時期,吉祥圖案開始走向成熟。圖案的形式更加豐富多彩,並施用圖案技法加以、表現,使吉祥圖案更趨成熟完美。吉祥圖、吉祥俗、吉祥語的流傳更為深遠,對社會文化的'影響逐步加深。
綜觀中國傳統吉祥圖案的發展史,其源於原始人文、始於商周,高速發展於宋元,到明清時期達到高峰。在各個時期吉祥圖案都有其相對的局限性,但其發展的腳步始終未曾停歇。直至今日,傳統吉祥圖案仍具有極強的生命力。
二、中國傳統吉祥圖案的分類
為了方便地深入研究中國傳統吉祥圖案,人們依據各種標准,將其劃分出不同的類別體系,其中較為普遍的分類標准有:依據吉祥圖案的應用載體,可將其分為建築裝飾圖案(如石刻、磚印及木結構上的彩畫等)傢具裝飾、印染織綉圖案、瓷器圖案、漆器圖案、彩陶圖案等。依據吉祥圖案的題材可分為人物類、祥禽瑞獸類、植物類、文字類、幾何紋、器物組合類等。在這里,本文試以吉祥圖案的審美特徵為標准,將其分為以下幾類。
1、漢語言諧音的運用
中國人逢遇喜慶吉祥,偏好討個「口彩」。這其中就應用了漢語的一個重要特徵:漢字有許多讀音相同,字義相異的現象。利用漢語言的諧音可以作為某種吉祥寓意的表達,這在吉祥圖案中的運用十分普遍。例如,一隻鵪鶉與九片落葉組成「安居樂業」(鵪居落葉);魚諧音「余」,馨諧音「慶」梅諧音「眉」、喜鵲代「喜」花生代「生」等等。以上各例,就可分別組成「吉慶有餘」「喜上眉梢」,「早生貴子」(棗,花生,桂園,蓮子)等吉祥圖案了。
2、對動物生態屬性的藉助
自然界的各種動植物由於生態、環境、條件、遺傳等因素,形成了各種不同的生態屬性,人們就借物喻志,附會象徵。例如狗的不侍二主喻為忠、羊羔跪而吃奶喻為孝,鹿的不食葷腥、性情溫順比作仁,馬之順從主人謂之義。儒家提倡的忠孝仁義等抽象的概念就有了具體的象徵物。又如鴛鴦雌雄成對,形影不離,用雌雄鴛鴦並浮水面,即「鴛鴦戲水」寓意夫妻恩愛。
3、對有代表性事物的寓意
用代表性事物來寓意吉祥喜慶,是吉祥圖案對素材較為直接的應用方式,能給人最為直觀的祈福印象。例如金錢、玉石、元寶等都是屬於財物象徵的,將其直接應用於工藝品上,表示對富貴的追求;燈彩是傳統的喜慶之物,將燈籠繪上五穀、寓意五穀豐登,豐衣足食。筆墨紙硯、琴棋書畫用來寓意書香雅閣,文人雅士;具有宗教淵源的吉祥圖案,是典型的用各家有代表性的物品寓意吉祥的範例。多見的是道教的「明暗八仙」和佛教的「八寶」、「八吉祥」。
4、吉祥文字的直接應用
文字本身就具有很好的裝飾性,其各種變體或書法形式都有較強的表現張力,因此直接將吉祥文字裝飾在客體上是一種很好的表現手段。常用的吉祥文字有「福」、「祿」、「壽」、「喜」四個字。它們組成的吉祥圖案是中國傳統吉祥圖案中的一個重要分支。用各種書法或變體形式可以組成「百福」、「百祿」、「百壽」、「百喜」圖,常與室內藝術品或屏風雕刻結合起來,體現出書法藝術、民族藝術和傳統文化相應相生,頗具意味。
5、古代詩情畫意的應用
古代試詞歌賦歷史悠久,沉澱深厚,常借用比、興之法,借物以言志,思路廣闊如野鶴行雲,這些特點被吉祥圖案巧借,可以營造濃厚的文化氣氛。例如,古人有人雲「與人之善,如入芝蘭之室,久不聞則其香化矣「,在吉祥畫里,人們習慣芝蘭同用,比喻君子之交;菊花秋季開放,凌霜耐寒,多為文人所詠唱。人們愛它的清秀神韻,並賦予它高尚堅強的情操。吉祥圖案中的菊花又被賦予吉祥長壽的含義,其它如「落花流水」圖案也與唐詩宋詞的意境相仿。
6、綜合運用多種象徵手法
有很多吉祥圖案是綜合運用了以上象徵手法的藝術成果。綜合手法的最大特點是可以賦予圖案更豐富的含義。使作品成熟豐滿。例如「三多圖」由石榴、桃、佛手組成,寓意多福(佛)多壽(桃)多男子(石榴,石榴子多),三多組合在一起,便成了人生幸福美好的象徵。
中國古代的吉祥物:蝙蝠 靈芝 老菱 鯉魚 喜鵲 棗 杏 龍 雲 饕餮 龍 鳳 龜 鶴 松 竹 梅 蘭 菊 蟬 象 鵝 猴 獾 葫蘆等
❾ java語言的發展歷史
早期的Java
Duke,Java語言的吉祥物語言最開始只是太陽微系統(Sun MicroSystems)公司在1990年12月開始研究的一個內部項目。太陽微系統公司的一個叫做帕特里克?諾頓的工程師被公司自己開發的C++和C語言編譯器搞得焦頭爛額,因為其中的API極其難用。帕特里克決定改用NeXT,同時他也獲得了研究公司的一個叫做「Stealth計劃」的項目的機會。
「Stealth計劃」後來改名為「Green計劃」,詹姆斯·高斯林和麥克?舍林丹也加入了帕特里克的工作小組。他們和其他幾個工程師一起在加利福尼亞州門羅帕克市沙丘路的一個小工作室裡面研究開發新技術,瞄準下一代智能家電(如微波爐)的程序設計,太陽公司預料未來科技將在家用電器領域大顯身手。團隊最初考慮使用C++語言,但是很多成員包括太陽的首席科學家比爾?喬伊,發現C++和可用的API在某些方面存在很大問題。
工作小組使用的是內嵌類型平台,可以用的資源極其有限。很多成員發現C++太復雜以至很多開發者經常錯誤使用。他們發現C++缺少垃圾回收系統,還有可移植的安全性、分布程序設計、和多運行續功能。最後,他們想要一種易於移植到各種設備上的平台。
根據可用的資金,比爾?喬伊決定開發一種集C語言和Mesa語言大成的新語言,在一份報告上,喬伊把它叫做「未來」,他提議太陽公司的工程師應該在C++的基礎上,開發一種面向對象的環境。最初,高斯林試圖修改和擴展C++的功能,他自己稱這種新語言為C++ ++ --,但是後來他放棄了。他將要創造出一種全新的語言,被他命名為「Oak」(橡樹),以他的辦公室外的橡樹命名。
就像很多開發新技術的秘密工程一樣,工作小組沒日沒夜地工作到了1992年的夏天,他們能夠演示新平台的一部分了,包括Green操作系統,Oak的程序設計語言,類庫及其硬體。最初的嘗試是面向一種類PDA設備,被命名為Star7,這種設備有鮮艷的圖形界面和被稱為「Duke」的智能代理來幫助用戶。1992年12月3日,這台設備進行了展示。
同年11月,Green計劃被轉化成了「FirstPerson有限公司」,一個太陽公司的全資子公司,團隊也被重新安排到了帕洛阿爾托。FirstPerson團隊對建造一種高度交互的設備感興趣,當時代華納發布了一個關於電視機頂盒的徵求提議書時(Request for proposal),FirstPerson改變了他們的目標,作為對徵求意見書的響應, 提出了一個機頂盒平台的提議。但是有線電視業界覺得FirstPerson的平台給予用戶過多的控制權,因此FirstPerson的投標敗給了SGI。與3DO公司的另外一筆關於機頂盒的交易也沒有成功,由於他們的平台不能在電視工業產生任何效益,公司被並回太陽公司。
1994年6月、7月間,在經歷了一場歷時三天的腦力激盪的討論後,約翰·蓋吉、詹姆斯·高斯林、比爾·喬伊、帕特里克·諾頓、韋恩·羅斯因和埃里克·斯庫米,團隊決定再一次改變了努力的目標,這次他們決定將該技術應用於萬維網。他們認為隨著Mosaic瀏覽器的到來,網際網路正在向同樣的高度互動的遠景演變,而這一遠景正是他們在有線電視網中看到的。作為原型,帕特里克·諾頓寫了一個小型萬維網瀏覽器,WebRunner,後來改名為HotJava。由於商標搜索顯示,Oak已被一家顯卡製造商注冊。於是同年,Oak被改名為Java。當使用十六進制編輯器打開由Java源代碼編譯出的二進制文件(.class文件)的話,最前面的32位將顯示為CA FE BA BE,即片語「CAFE BABE」(咖啡屋寶貝)。
1994年10月,HotJava和Java平台為公司高層進行演示。1994年,Java 1.0a版本已經可以提供下載,但是Java和HotJava瀏覽器的第一次公開發布卻是在1995年3月23日SunWorld大會上進行的。升陽公司的科學指導約翰·蓋吉聲明Java技術。這個發布是與網景公司的執行副總裁馬克·安德森的驚人發布一起進行的,宣布網景將在其瀏覽器中包含對Java的支持。1996年1月,升陽公司成立了Java業務集團,專門開發Java技術。Java近況在流行幾年之後,Java在瀏覽器中的地位被逐步侵蝕。它在簡單交互性動畫方面的用途已經完全被Adobe公司的Flash排擠,2005年Java傾向只被用於雅虎游戲那樣的更為復雜的應用程序。Java同時遭受到來自微軟的反對,他們決定在新版本的Internet Explorer和Windows中不再附帶Java平台。
與此相反。在萬維網的伺服器端和手持設備上,Java變得更加流行。很多網站在後端使用JSP和其他的Java技術。
在桌面系統上,獨立的Java程序還是相對少見,這是因為Java平台的運行開銷較大,而許多人的電腦上沒有安裝Java,由於網路帶寬在以前較小,下載Java曾經是個耗時的事情。但是隨著計算機計算能力、網路帶寬在10年中取得了很大的進步,同時虛擬機和編譯器的質量得到了提高,許多應用程序得到了廣泛的使用
❿ 太厲害了:居然有人將各大編程語言繪成了一部編年史
大數據文摘出品
編譯:狗小白、雲舟
代碼是一門語言,這門語言搭建了人與計算機溝通的橋梁。通過編寫代碼,人類可以「命令」計算機開發網頁、開發軟體、搭建 游戲 ... ...
這門語言並不是上帝的發明,它是前輩們發揮聰明才智創造出來的,前輩們的創造過程雖然充滿了有趣與巧合,但是並不神秘!本文就從1980年開始,帶你一覽編程語言發展的「別樣」 歷史 。
1800年,Joseph Marie Jacquard讓織布機學會了讀穿孔卡片,造出了第一台重度使用多線程處理單元的機器。
預見到天網(Skynet)誕生的織布工們激烈地反對該項發明。
Ada Lovelace
1842年,Ada Lovelace厭倦了貴族生活,於是在記事本上寫寫畫畫,而記事本上的這些內容被後世稱作第一個發布的計算機程序。
可惜當年沒有電腦,真是不巧。
1936年,Alan Turing啥都發明了,但英國法庭看他不順眼,還閹了他。後來女王免了他的罪名,雖然當時他已經死去幾百年了。
Alonzo Church
1936年,Alonzo Church和Turing一樣啥都發明了,但他生活在太平洋彼岸(也不是基佬)所以沒被女王人道主義。
John Backus
1957年,John Backus發明Fortran語言,也是「真正的編程者」使用的第一種計算機語言。
1959年,Grace Hopper發明了第一個面向企業、可用的編程語言,命名為「通用的業務導向語言」,簡稱為COBOL。
1964年,John Kemeny和Thomas Kurtz都覺得現有計算機語言的編程太難了,人們需要回歸基礎(basic),因而將他們發明的計算機語言稱之為BASIC。
1970年,Niklaus Wirth創造了Pascal和幾門其它語言(他就是這么愛創造語言),他還創造了沃斯定律。相形之下摩爾定律就過時了,因為軟體開發者基於摩爾定律寫的軟體太臃雜了,連主機都帶不動。後來Electron.js的發明和基於它的抽象概念也證明了這一點。
Dennis Ritchie
1972年,Dennis Ritchie在貝爾實驗室里對工作產生了厭倦,於是決定搞個帶大括弧的C語言,並取得了巨大的成功。之後,他在語言中加入分段錯誤和其它一些對開發者友好的功能來增強C語言的生產力。
幹完這些工作後,離下班還有幾小時,所以他和貝爾實驗室的小夥伴們決定開發個程序來展示C語言,然後他們就造了個叫Unix的操作系統(紅紅火火恍恍惚惚)。
Alan Kay
1980年,Alan Kay建立了一門叫做Smalltalk的面向對象的編程語言。這門語言里,什麼都是對象,對象本身也是一個對象。可惜大家都沒時間思考閑聊(small talk)的意義。
Larry Wall
1987年,Larry Wall經歷了一次宗教體驗,成為了一名傳教者,他傳播的教義就是Perl。
Jean David Ichbiah
1983年,Jean Ichbiah發現Ada Lovelace的程序就從來沒真正運行過,於是決定以她名字創建一門語言。
但她的語言也沒運行過。
1986年,Brac Box和Tol Move決定要創建一門基於Smalltalk、不可讀版本的C語言,並稱之為Objective C語言,但沒人看得懂這門語言的語法。
Bjarne Stroustrup
1983年,Bjarne Stroustrup從未來穿越過去,發現C語言沒給編譯留足時間,於是他把所有能夠想到的功能加進去了,並命名為C++。幾乎所有的編程者都在使用它,這樣他們就有理由在工作的時候擼貓片和看科學松鼠會了。
Guido van Rossum
1991年,Guido van Rossum寫了本關於蛋蛋和火腿的食譜(Python之父)。
1993年,Roberto Ierusalimschy和他的朋友們覺得他們需要一門英國本地化的腳本語言,在本地化過程中出了個錯,使得本應該從0開始的計數從1開始了,然後他們把這個叫做Lua。
Rasmus
1994年,Rasmus Lerdorf為他個人主頁的CGI腳本弄了個模版引擎,並把這個文件發布在網上了。世界各國人民欽定這個文件哪哪都要用上,於是興奮炸裂的Rasmus又放了點額外的綁定資料庫上去,並稱之為PHP。
Yukihiro Matsumoto
1995年,Yukihiro Matsumoto不是很開心,還發現其它碼農也不是很開心,所以他創建了Ruby語言讓大家開心開心。Ruby語言面世後,Matz挺開心的,Ruby社區也挺開心,大家都很開心(*^__^*)。
Brendan Eich
1995年,Brendan Eich花了個周末設計了門語言,希望能夠為世上所有的網頁瀏覽器賦能,最終也影響天網。他最開始去了網景,並稱自己設計的語言為LiveScript,但Java在代碼審查環節火了,於是他們決定用大括弧才好,改名叫JavaScript。
後來Java一團糟,於是他們覺得這語言跟Java沾親帶故會出事,所以又在標准化時候把它改名叫ECMAScript,但人們還是按習慣稱之為JavaScript。
James Gosling
1996年,James Gosling創建了Java,第一個真正的過於詳細的、設計模式高於實用性的、面向對象的編程語言。這么一個非常有效的、管理員供應商集裝箱供應商服務管理者單件模式管理者供應商模式就誕生了。
Anders Hejlsberg
2001年Anders Hejlsberg重建了Java,並稱之為C#,因為用C語言編程比Java要更酷。
大家都很愛這個Java新版本因為它一點也不像Java。
David Heinemeier Hansson
2005年,David Hanselmeyer Hansen創建了個叫做RubyonRails的網頁框架,人們從此把紅寶石與鐵路聯系起來了。
John Resig
2006年,John Resig給JavaScript寫了個助手庫,所有人都覺得這也是門計算機語言,給許多從網上復制粘貼jQuery代碼的人們解決了就業問題。
Ken Thompson
2009年,Ken Thompson和Rob Pike打算也造個類似於C語言但有更安全的設備的語言,而且用金花鼠當作吉祥物讓它更好推銷。
他們把這門語言叫做Go語言,也開源了,支持社區的資金來源就是賣金花鼠的周邊護膝和頭盔。
2010年,Graydon Hoare也想造一門類似C語言的語言,並稱之為Rust。人們表示,所有的軟體都應該現在立即馬上用Rust語言重寫一遍。但Graydon喜歡一閃一閃的亮晶晶而不是生銹的(rust)東西,所以去Apple開發Swift去了。
2012年,Anders Hjelsberg想在網頁瀏覽器里重寫C#,於是他設計了TypeScript,其實也是JavaScript的一種,但更像Java了。
2013年,Jeremy Ashkenas也想像Ruby開發者那麼開心,所以他搞了個CoffeScript,也就是JavaScript的編譯,但看起來更像Ruby。然鵝,Jeremy並沒有像Matz和Ruby開發者那樣開心。
Chris Lattner
2014年,Chris Lattner設計Swift的初衷是讓它別像Objective-C一樣,所以最後Swift看起來就像是Java了。