關於java圖標是個咖啡的N種猜測

2020-12-25 課工場

為什麼java的圖標是個咖啡杯呢?小編也很好奇,於是收集了一些關於為什麼是咖啡杯的各種猜測,你認為哪個最靠譜?

(圖片來源於網絡侵刪)

第一個版本

2000年度的JavaOne國際會議大廳,一陣濃鬱的咖啡香氣撲鼻。從世界各地Java精英們興奮異常,排著長隊,等待得到一杯由Java語言控制的咖啡機煮製的免費咖啡。之後JAVA圖標上就有了咖啡的標誌。

第二個版本

最初這個為TV機頂盒所設計的語言在公司內部一直稱為Green項目。但由於註冊重名的問題,大家集思廣益想了很多,一個個去測試能否註冊,直到第四位的java才註冊成功,於是所有人慶祝的喝了一杯咖啡。之後咖啡也成為了java圖標的一部分。

第三個版本

名字是馬克·奧頗門(為java起名字的人)在一家咖啡店與同事品嘗咖啡時得到靈感的。Java是印度尼西亞爪哇島的英文名稱,因盛產咖啡而聞名。國外的許多咖啡店用Java來命名或宣傳,以彰顯其咖啡的品質。

第四個版本

Java語言中的許多庫類名稱,多與咖啡有關。如JavaBeans(咖啡豆)、NetBeans(網絡豆)以及ObjectBeans (對象豆)等等。從此一個即好聽又好記、具有強大的生命力的程式語言Java誕生了。

第五個版本

因為寫 java 經常通宵加班,需要喝咖啡,所以java圖標是個咖啡。

第六個版本

用NotePad++安裝了HEX-Editor插件,隨便打開一個Java項目目錄下的.class文件,發現首行開頭是cafe,全文字為:ca fe ba be 20 20 20 31 20 而cafe babe 翻譯:咖啡寶貝。所以logo用咖啡一點都不奇怪呢~

第七個版本

為了蹭大IP熱度,當時比較有名的咖啡有一種就來自爪(zhǎo)哇島(英語:Java [dɑv] ),島上盛產爪哇咖啡。創始團隊為了能夠推廣此程式語言,於是選擇了當時火遍全球咖啡市場的印尼爪哇咖啡名,作為此程式語言的名字,所以就被命名為Java。開發者當然也想借著爪哇咖啡的熱度來打榜、推廣,爭取讓更多的人了解、使用這麼新的程式語言。

第八個版本也有人認為圖標是咖啡的話,是不是通宵改bug的時候就不困了呢?也有可能是能夠讓你感受到編程淡淡的苦澀。

以上這些版本,你覺得哪個更靠譜?

相關焦點

  • 零基礎學習Java者必須了解的Java語言常識以及知識
    Java語言其實是有個曾用名的~叫Oak,而且起這個名字的時候也是很隨心的,只是因為作者當時看到了窗口外的一顆橡樹,所以就叫為Oak,但Oak這個名字已經被註冊。最後他們以Java這個名字命名了這個語言,據說是Sun公司的程式設計師們都很喜歡喝咖啡,而且對爪哇島的一種咖啡印象很深,所以就有了Java這個經典的名字和咖啡的圖標。
  • Java中Lambda表達式的5種不同語法
    1.標準語法考慮以下示例:String[] arr = {"program", "creek", "is", "a", "java", "site"};Arrays.sort(arr, (String m, String n) -> Integer.compare(m.length(), n.length()));
  • Java 生成隨機數的 5 種方式,你知道幾種?
    Java生成隨機數的幾種高級用法,這篇推薦看一下。 因此 方法是線程安全的。 什麼情況下隨機數的生成線程不安全: 線程1在第一次調用 時產生一個生成器 ,使用當前時間作為種子。
  • Java中 休眠(sleep)
    Hi,大家好久不見,今天我們在這裡給大家介紹一下關於Java的小知識,在Java中 休眠(sleep),至於運用呢就不和大家做介紹了;接下來就給大家詳細介紹一下如何實現。那我們該如何創建使用呢?Sleeptime {public static void main(String[] args) {// TODO Auto-generated method stubtry { System.out.println(new Date( ) + "\n"
  • java中的持有對方引用是什麼意思?有什麼用嗎?
    持有對方引用比如 A類有: h、j、 k, 3種方法,B類有 h 1種方法,但我B類必須要用到 A 類的 k方法怎麼辦呢?那麼下面就要引入引用了!我在 B 類中創建個A類的引用,例如 如果在同一包下就不用導包了import 包名.Apublic class B {A a=null; 此a就是B類中 對A的引用a=new A(); 用此引用創建了A類的實例}
  • 深入淺出Rhino:Java與JS互操作
    [] listFiles()  java.io.File[] listFiles(java.io.FilenameFilter)  java.io.File[] listFiles(java.io.FileFilter)  */}  輸出中列出三個重載方法
  • Java咖啡館(2)——第一杯咖啡
    現在打開「命令提示符」窗口,隨便進入某個目錄,輸入「java -version」命令,如果看到如圖2所示的結果,說明已經設置正確了。  2.記事本  品嘗第一杯咖啡,用「記事本」就夠了。  創建第一個Java應用程式  約定俗成,讓我們創建「Hello world!」程序。
  • 跟我學java編程—認識java的整數類型
    因此整型類型的數據能夠表示的最小值為:-2n-1 —2n-1-1(n為該類型所佔存儲空間的二進位位數)。其中,byte佔用一個字節的存儲空間,可表示的最小數值為-128,最大數值為127;short佔用二個字節的存儲空間,可表示的最小數值為-32768,最大數值為32767;int佔用四個字節的存儲空間,可表示的最小數值為-2147483648,最大數值為2147483647;
  • 你必須掌握的 21 個 Java 核心技術!
    但是這裡的知識點並不難,但是對於集合最好要了解內部的實現方式,因為這樣有助於你在各個不同的場景選擇適合的框架來解決問題,比如有1W個元素的集合,經常要進行contains判斷操作,知道了集合的特性或者內部實現,就很容易做出正確的選擇。
  • java.util.Scanner的幾種next方法
    java.util.Scanner,這個類,想必大家都不怎麼陌生,在初學Java這門程式語言時,都見過,使用過吧。今天就來說說java.util.Scanner類的幾種next方法。scanner.nextBigDecimal()方法如果想要通過java.util.Scanner來獲取一個輸入的BigDecimal對象,則可以使用類似下面示例的代碼。
  • Java 中 Comparable 和 Comparator 比較
    Comparable 定義Comparable 接口僅僅只包括一個函數,它的定義如下:package java.lang; import java.util.*; public interface Comparable<T> { public int compareTo(T o); }說明:假設我們通過 x.compareTo
  • Java之 Scanner類
    InsufficientFundsException.java 文件代碼:// 文件名InsufficientFundsException.javaimport java.io.CheckingAccount.java 文件代碼:// 文件名稱 CheckingAccount.javaimport java.io.
  • Java Swing JMenu和JPopupMenu:菜單和彈出式菜單
    第一個構造方法創建一個無文本的 JMenu 對象,第二個構造方法創建一個帶有指定文本的 JMenu 對象。JMenu 類的常用方法如表 1 所示。返回位於位置 n 的組件getMenuComponents()返回菜單子組件的 Component 數組getSubElements()返回由 MenuElement 組成的數組,其中包含此菜單組件的子菜單insert(JMenuItem mi,int pos)在給定位置插入指定的 JMenuiteminsert(String s,pos)在給定位置插入具有指定文本的新菜單項insertSeparator
  • java是什麼文件格式?.java文件怎麼打開?
    java是什麼文件?  Java文件是由Sun Microsystems公司於1995年5月推出的Java程序設計語言和Java平臺的總稱。用Java實現的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平臺、動態的Web、Internet計算。從此,Java被廣泛接受並推動了Web的迅速發展,常用的瀏覽器現在均支持Java applet。
  • 重學Java 設計模式:實戰策略模式「模擬多種營銷類型優惠券,折扣...
    第二個錦囊:用謊言(曹操打荊州)騙泡在溫柔鄉裡的劉備回去。第三個錦囊:讓孫夫人擺平東吳的追兵,她是孫權妹妹,東吳將領懼她三分。event │ └── MJCouponDiscount.java │ └── NYGCouponDiscount.java │ └── ZJCouponDiscount.java
  • JAVA基礎學習|JAVA中的包總結!
    Java語言類庫中幾個常用的包  1.java.lang包。
  • 【java源碼】火車訂票系統
    ├── Test.java│   │   │   ├── TicketImpl.java│   │   │   ├── TickettypeImpl.java│   │   │   ├── UserDaoImpl.java│   │   │   └── UserTicketImpl.java│   │   ├── SeattypeDao.java│
  • Java中Thread.start和Thread.run是什麼?有什麼區別
    線程類的run()方法是Runnable接口的一個抽象方法,由java虛擬機直接調用的,不會創建的新線程。二:start()方法和run()方法的區別有哪些1、方法的定義start()方法在java.lang.Thread類中定義;而,run()方法在java.lang.Runnable接口中定義,必須在實現類中重寫
  • 幾個Java編程的典型例子
    char )( '0' +(i- 52 ));           }                     //生成6位隨機密碼           Random r= new Random();           for ( int i= 0 ;i< 6 ;i++){             int n=
  • 關於《我的世界》國際版的那些事,國內很少有玩家知道!
    對於一些玩家來說,只是了解了關於國際版的些許細節,那還是不夠的,只有參與到其中才能深刻地體會到。這一期的內容主要是PC端的,至於手機端的Minecraft國際版,網上有很多的資料可以找到,演說家就不在這裡過多贅述。