Why Java Sucks and C# Rocks(3):Attribute與Annotation
上一篇文章裡我談了Java和C#語言中對於基礎型別的不同態度,我認為C#把基礎型別視做物件的做法比Java更有“萬物皆物件”的理念,使用起來也更為方便。此外,C#擁有一個Java 1.4所不存在的特性,即Attribute(自定義特性),而在之後的Java 5.0中也增加了類似的功能,這便是Annotation(標註)。那麼,Attribute的作用是什麼,Java中的Annotation和C#中的Attribute又有什麼區別呢,Java 5.0中又從C# 1.0中吸收了哪些優點?我們現在就來關注這方面的問題。
相關推薦
Why Java Sucks and C# Rocks(3):Attribute與Annotation
上一篇文章裡我談了Java和C#語言中對於基礎型別的不同態度,我認為C#把基礎型別視做物件的做法比Java更有“萬物皆物件”的理念,使用起來也更為方便。此外,C#擁有一個Java 1.4所不存在的特性,即Attribute(自定義特性),而在之後的Java 5.0中也增加了類似的功能,這便是Annotatio
Why Java Sucks and C# Rocks(2):基礎型別與物件
既然已經談過這次語言比較的意義與目的,而完整的幻燈片和錄音也已經放出,那麼接下來自然是詳細討論了。在這篇文章中,我會對兩個語言的基本特徵進行簡單描述,並主要討論兩者對於基礎型別的處理方式。在我看來,Java語言對於基礎型別的處理方式,並不如C#中值型別般妥當。如果您有任何覺得不妥或是想要補充的意見,請不吝回覆
Why Java Sucks and C# Rocks(1):比較的意義與目的
訊息釋出之後,許多朋友都表示對我這個主題的關注——無論是正面還是負面的——這讓我很高興。不過說實話,我原本並沒有打算寫這篇文章。我原本的打算是從一開始就進行技術方面的討論,但是大家在前文的反饋讓我把一些問題想得更清楚了,也認識到有些東西可能需要先說在前面可以有更好的效果。希望各位朋友可以繼續給我一些反饋,這樣
演講預告:Why Java Sucks and C# Rocks
怎麼樣,這個標題是不是足夠吸引眼球?嗯,我下個星期便打算在5173和部落格園舉辦的技術交流會上討論一下這個話題。原本這只是一個為盛大創新院內部分享交流會準備的內容,不過正好5173要舉辦一個技術交流會──還有比那兒更適合這個話題的地方嗎?直到現在,還有許多朋友認為,Java語言和C#的區別並不大,也有人認為C
幻燈片:Why Java Sucks and C# Rocks
昨天在5173與部落格園聯合舉辦的技術交流活動中進行了演講,現在幻燈片終於可以放出了。當然,光看幻燈片本身的效果不大,在演講過程中我進行了非常多的程式碼演示和說明,幻燈片本身只能算是一個輔助手段,因此各位沒有來聽演講的朋友,還是等我慢慢地對這個話題進行詳細討論吧。 不過既然幻燈片放出了,那麼我進行這場“鬧劇
小朋友學C++(3):類與物件
(一)類與物件 類是由我們根據客觀事物抽象而成,形成一類事物,然後用類去定義物件,形成這類事物的具體個體。 比如小狗是一個類,你家的“旺財”則是小狗一個具體的物件。 (二)屬性與方法 一般把類的資料成員稱為類的屬性,把類的函式成員稱為方法。 比如小
C++入門(3):C++開發環境搭建
本文首發 | 公眾號:lunvey 既然開始學C++,電腦上應該具備它的開發環境。 而C++歷史,lunvey老師覺得:初學者有興趣可以自行了解一下,不是必要的。 大家都在用最新款的蘋果手機,好用就行,又有多少人知道蘋果手機的歷代版本呢? 同理,工欲善其事,必先利其器。先搭建好C++開發環境,初窺一下它的
新手學python(3):yield與序列化
1 Yield生成器 Yield是我在其他語言中沒有見過的一個屬性,算是python的一大特色,用好之後可以使程式碼更簡潔。考慮一個簡單的例子,檔案的遍歷。要遍歷一個目錄下的所有檔案需要遞迴的操作。如果我們只是單純的列印檔名,我們可以在遞迴的過程中完成,每當發
小朋友學C語言(23):二進位制與十進位制之間的轉換
一、二進位制轉換為十進位制的C語言程式碼 #include <stdio.h> #include <string.h> int binary2decimal(char str[]) { int sum = 0;
網路應用(3):CDN與P2P的概念
我前面說了流量的概念,流量是使用網路時經常要考慮的一個因素--如何才能更快的使用流量,如何才能節省流量使用的成本,對於這樣的問題,你可能要了解一下什麼是cdn,什麼是p2p。 (1)cdn是什麼 cdn是一個基於已有的internet網路而進行擴充套件的網路系統,叫作內容分發網路,content delive
網絡應用(3):CDN與P2P的概念
公司 等等 語音 轉發 獲取數據 服務 live 及其 直播 我前面說了流量的概念,流量是使用網絡時經常要考慮的一個因素--如何才能更快的使用流量,如何才能節省流量使用的成本,對於這樣的問題,你可能要了解一下什麽是cdn,什麽是p2p。 (1)cdn是什麽 cdn是一個基於
Matplotlib資料視覺化(3):文字與軸
在一幅圖表中,文字、座標軸和影象的是資訊傳遞的核心,對著三者的設定是作圖這最為關心的內容,在上一篇部落格中雖然列舉了一些設定方法,但沒有進行深入介紹,本文以圍繞如何對文字和座標軸進行設定展開(對影象的設定在後續介紹到各種圖繪製時介紹)。 這裡所說的文字是指在使用matplot
Java 之常用運算符(3)
註意 sys 有趣的 open size 除法 如果能 都是 pla 什麽是運算符: 運算符是一種“功能”符號,用以通知 Java 進行相關的運算。譬如,我們需要將變量 age 的值設置為 20 ,這時候就需要一個“=”,告
C#基礎(3)
之間 sys delete cnblogs show tle 前臺 nco click 摘要: 基於.Net Framework的winform開發,主要是關於為winform平臺的一些控件的屬性以及事件的使用。 涉及內容: 1、Directory類 2
【java多線程】(3)---synchronized、Lock
arraylist arr nal 調用 BE [] div 請求 timeunit synchronized、Lock 一、概述 1、出現線程不安全的原因是什麽? 如果我們創建的多個線程,存在著共享數據,那麽就有可能出現線程的安全問題:當其中一個
C# 抽象(3)
圖片 AD set 類繼承 oid C# pub AC color 接上章: 抽象類中有抽象方法,那麽可不可以有非抽象方法呢? 答案是可以的。 abstract class Human { public abstract voi
Java語法糖(3):泛型
rgs fir double new t exc The 編譯器 sta arraylist 泛型初探 在泛型(Generic type或Generics)出現之前,是這麽寫代碼的: public static void main(String[] args){List l
Java併發程式設計(3):執行緒掛起、恢復與終止的正確方法(含程式碼)
JAVA大資料中高階架構 2018-11-06 14:24:56掛起和恢復執行緒Thread 的API中包含兩個被淘汰的方法,它們用於臨時掛起和重啟某個執行緒,這些方法已經被淘汰,因為它們是不安全的,不穩定的。如果在不合適的時候掛起執行緒(比如,鎖定共享資源時),此時便可能會發生死鎖條件——其他執行緒在等待該
C#:執行緒(3):執行緒暫停
執行緒暫停是讓某一個執行緒先休眠一段時間,在這段時間內,該執行緒不佔用系統資源 用一個例子說明執行緒休眠,除了主函式還有另一個執行緒,主函式會輸出從11到19的數字,而執行緒會每隔兩秒輸出從1到9的數 (一):首先建立控制檯程式 在預處理部分寫入 using static Syste
初學C語言(3)
1、求一個數字的二進位制數中1的個數 2 0000 0010 1 2、給定一個數字,求這個數字是幾位數? 順序列印每一位數字 逆序列印每一位數字 12345 5 1 2 3 4 5 5 4 3 2 1 3、求斐波那契數列的第40項的和為多少? 1 1 2 3 5 8 13 4、輸出 100-