這是java之父23年前寫下的代碼,你看的懂嗎

Java之父高斯林是一位加拿大的計算機天才。

他創造瞭偉大的編程語言——Java,在TIOBE排行榜上,Java常年排名第一。

現在這位64歲高齡的祖師爺依然戰鬥在編程最前線,寶刀不老。

這是java之父23年前寫下的代碼,你看的懂嗎

Java之父找不到工作?

就算是Java之父,也難逃中老年危機。

高斯林曾在Facebook上發表瞭一段言論:

我曾在面試的時候被HR告知,“通常我們不招你這種年齡的程序員,但你的情況特殊(指的是他Java之父的身份),所以對你特殊考慮。”

有些程序員開始表示同情高斯林的遭遇,中老年危機找不到工作。

但是,人傢找工作可是不一般呀!

有人找不到工作是找不到一個年薪十幾萬的工作。但這位祖師爺這裡人傢找不到的是年薪五百萬的工作!

這和有些女神經常感嘆,找不到男朋友有點類似。

有個程序員表示,祖師爺也可以找個大學去教書,將自己的畢生所學傳給下一代。

還有一個程序員網友表示,我如果哪天有幸收編程的徒弟,就找高斯林的畫像掛墻上,他們要拜祖師爺。

這是java之父23年前寫下的代碼,你看的懂嗎

計算機編程藝術

在編程的過程中,難免要在程序多加入一些代碼,這勢必將讓程序復雜性增加。

但是你沒有多寫入一些代碼,用戶體驗程序就會很復雜。

高斯林曾談論過計算機編程藝術,他認為和精力守恒定理一樣:你投入到程序中的精力越多,用戶使用時遇到的麻煩和折騰的精力就會越少,程序員要做的,正是在開發端和用戶端之間盡量平衡開發和用戶的復雜度。

這是java之父23年前寫下的代碼,你看的懂嗎

祖師爺這一段代碼你看懂瞭嗎?

近日,有程序員網友曝光瞭Java之父寫的一段代碼,祖師爺這段代碼你看懂瞭嗎,有沒有很牛逼呢?

[Listing One]

PingPong class PingPong extends Thread {

String word; // what word to print

int delay; // how long to pause

PingPong(String whatToSay, int delayTime) {

word = whatToSay;

delay = delayTime;

}

public void run() {

try {

for (;;) {

System.out.print(word + ” “);

sleep(delay); // wait until next time

}

} catch (InterruptedException e) {

return; // end this thread

}

}

public static void main(String[] args) {

new PingPong(“ping”, 33).start(); // 1/30 second

new PingPong(“PONG”, 100).start(); // 1/10 second

}

}

[Listing Two]

Account class Account {

private double balance;

public Account(double initialDeposit) {

balance = initialDeposit;

}

public synchronized double getBalance() {

return balance;

}

public synchronized void deposit(double amount) {

balance += amount;

}

}

[Listing Three]

synchronized_abs /* make all elements in the array nonnegative /

public static void abs(int[] values) {

synchronized (values) {

for (int i = 0; i < values.length; i++) {

if (values[i] < 0)

values[i] = -values[i];

}

}

}

[Listing Four]

class Queue {

// The first and last elements in the queue

Element head, tail;

public synchronized void append(Element p) {

if (tail == null)

head = p;

else

tail.next = p;

p.next = null;

tail = p;

notify(); // Let waiters know something arrived

}

public synchronized Element get() {

try {

while(head == null)

wait(); // Wait for an element

} catch (InterruptedException e) {

return null;

}

Element p = head; // Remember first element

head = head.next; // Remove it from the queue

if (head == null) // Check for an empty queue

tail = null;

return p;

}

}

[Listing Five]

Thread spinner; // the thread doing the processing

public void userHitCancel() {

spinner.suspend(); // whoa!

if (askYesNo(“Really Cancel?”))

spinner.stop(); // stop it

else

spinner.resume(); // giddyap!

}

[Listing Six]

class CalcThread extends Thread {

private double Result;

public void run() {

Result = calculate();

}

public double result() {

return Result;

}

public double calculate() {

// …

}

}

class Join {

public static void main(String[] args) {

CalcThread calc = new CalcThread();

calc.start();

doSomethingElse();

try {

calc.join();

System.out.println(“result is “

+ calc.result());

} catch (InterruptedException e) {

System.out.println(“No answer: interrupted”);

}

}

}

最後小編給大傢準備瞭一整套大神的視頻教程,全部免費分享給大傢

這是java之父23年前寫下的代碼,你看的懂嗎

《Java300 集》 由高淇、裴新、李毅老師歷經兩年錄制而成。整個教學視頻從零基礎開始講解,不僅僅註重實用性、同時註重底層原理講解(內存分析、數據結構、JDK 源代碼解讀),讓大傢不僅快速用於實戰而且內功紮實。

本書涵蓋瞭《Java300 集》的核心內容。整套視頻由多個項目穿插講解,從零基礎編程寫遊戲、手寫 WEB 服務器、手寫 ORM框架,內容覆蓋工作和學習的方方面面。並且已經被北京大學教授推薦為學習 JAVA 必看視頻:

第一階段 :Java基礎

1.認知基礎課程

2. java入門階段

3. 面向對象編程

4. 飛機小項目

5. 面向對象和數組

6. 常用類

7. 異常機制

8. 容器和數據結構

9. IO流技術

10. 多線程

11. 網絡編程

12. 手寫服務器

13. 註解和反射

14. GOF23種設計模式

15. 正則表達式

16. JDBC數據庫操作

17. 手寫SORM框架

18. JAVA10新特性

19.數據結構和算法

20. JVM虛擬機講解

21. XML技術解析

第二階段:數據庫開發全套課程

1.Oracle和SQL語言

2.Mysql快速使用

3.PowerDesigner使用

4.JDBC數據庫

5.Mysql優化

6.oracle深度講解

第三階段:網頁開發和設計

1.HTML基礎

2.CSS基礎

3.JavaScript編程

4.jQuery

5.easyUI

第四階段:Servlet和JSP實戰深入課程

1.Servlet入門和Tomcat

2.request和response對象

3.轉發和重定向_Cookie

4.session_Context對象

5.JSP

6.用戶管理系統

7.Ajax技術

8.EL和JSTL標簽庫

9.過濾器

10.監聽器

第五階段:高級框架階段

1.Mybatis

2.Spring

3.Spring MVC

4.SSM框架整合

5.RBAC權限控制項目

6.Hibernate3

7.Hibernate4

8.jFinal

9.Shiro安全框架

10.Solr搜索框架

11.Struts2

12.Nginx服務器

13.Redis緩存技術

14.JVM虛擬機優化

15.Zookeeper

第六階段:微服務架構階段

1.Spring Boot

2.Spring Data

3.Spring Cloud

第七階段:互聯網架構階段

1.Linux系統

2.Maven技術

3.Git

4.SVN

5.高並發編程

6.系統和虛擬機調優

7.JAVA編程規范

8.高級網絡編程

9.Netty框架

10.ActiveMQ消息中間件

11.單點登錄SSO

12.數據庫和SQL優化

13.數據庫集群和高並發

14.Dubbo

15.Redis

16.VSFTPD+NGINX

第八階段:分佈式億級高並發電商項目

1.基於SOA架構介紹

2.VSFTPD和Nginx和商品新增

3.商品規格參數管理

4.Jsonp

5.CMS模塊

6.廣告位數據緩存

7.SolrJ和SolrCloud

8.商品搜索

9.商品詳情

10.單點登錄

11.購物車

12.訂單系統

13.分庫和分表

14.分佈式部署

第九階段:畢設項目第一季

1. 電子政務網

2. 企業合同管理系統

3. 健康管理系統

4. 商品供應管理系統

5. 土地檔案管理系統

6. 聊天室設計和實現

7. 碼頭配套和貨櫃管理系統

8. 百貨中心供應鏈系統

9. 病歷管理系統

10. 超市積分管理系統

11. 動漫論壇

12. 俄羅斯方塊

13. 個人博客系統

14. 固定資產管理系統

15. 影視創作論壇

16. 屏幕截圖工具

17. 超級瑪麗遊戲

18. 飛機大戰遊戲

19. 雷電

第十階段:畢設項目第二季

1. 微博系統

2. 寫字板

3. 坦克大戰

4. 推箱子

5. 電腦彩票系統

6. 記賬管理系統

7. 新聞發佈系統

8. 醫院掛號系統

9. 倉庫管理系統

10. 停車場管理系統

11. 網絡爬蟲

12. 酒店管理系統

13. 企業財務管理系統

14. 車輛管理系統

15. 員工信息管理系統

16. 旅遊網站

17. 搜索引擎

18. 進銷存管理系統

19. 在線考試系統

20. 物流信息網

21. 住院管理系統

22. 銀行櫃員業務績效系統

獲取方式:請大傢轉發本文+關註並私信小編 “ 資料 ”,即可免費獲取。

這是java之父23年前寫下的代碼,你看的懂嗎

這是java之父23年前寫下的代碼,你看的懂嗎

Published in News by Awesome.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *