我知道接口是什麼,但我不知道java知道如何搜索我的答案。那麼這是什麼意思呢?@interface - 什麼?
public @interface ThreadSafe { }
// different file
@ThreadSafe
public class Model {
這行代表什麼意思/ do「@interface」?是什麼時,它上面的「@ThreadSafe」
我知道接口是什麼,但我不知道java知道如何搜索我的答案。那麼這是什麼意思呢?@interface - 什麼?
public @interface ThreadSafe { }
// different file
@ThreadSafe
public class Model {
這行代表什麼意思/ do「@interface」?是什麼時,它上面的「@ThreadSafe」
應用這就是所謂的註解意思/做。你可能想看看Java教程。它對於它們是什麼以及如何使用有很好的解釋。
http://download.oracle.com/javase/tutorial/java/javaOO/annotations.html
這就像內置於類本身的XML描述符,但它隱藏了複雜的東西。你只是說你想讓這個課程成爲線程安全的,並且願意。所有配置都在@符號的單行上。
嗯...你是否暗示你需要做的所有事情才能使你的類線程安全?因爲事實並非如此。在這種情況下,註釋只是爲了讓班級的客戶知道作者採取措施使其線程安全。 –
我相信它不僅僅是一個評論塊http://jcip.net/annotations/doc/net/jcip/annotations/ThreadSafe.html –
沒有辦法讓神奇的課程線程變得安全。您需要一種策略,其中包括使用Atomic實例,同步塊,易失性字段等。每種情況都是不同且獨特的。沒有適合所有的解決方案。在實踐中閱讀Java併發性以獲取更多關於如何實現線程安全類的細節。 –
許多註釋代碼中的註釋。
假設的軟件組傳統上與意見提供了重要的信息開始每類的主體:
public class Generation3List extends Generation2List {
// Author: John Doe
// Date: 3/17/2002
// Current revision: 6
// Last modified: 4/12/2004
// By: Jane Doe
// Reviewers: Alice, Bill, Cindy
// class code goes here
}
與註釋添加此相同的元數據,你必須首先定義註釋類型。這樣做的語法是:
@interface ClassPreamble {
String author();
String date();
int currentRevision() default 1;
String lastModified() default "N/A";
String lastModifiedBy() default "N/A";
// Note use of array
String[] reviewers();
}
的註解類型的定義類似於在此,關鍵字接口由在符號之前的接口定義(@)(@ = AT,如在註釋類型)。註釋類型是一種界面形式,將在後面的課程中介紹。目前,您不需要了解接口。
以前的註釋定義的主體包含註釋類型元素的聲明,這看起來很像方法。請注意,他們可以定義可選的默認值。
註釋類型被定義後,您可以使用該類型的註釋,填入的是,像這樣的價值觀:
@ClassPreamble (
author = "John Doe",
date = "3/17/2002",
currentRevision = 6,
lastModified = "4/12/2004",
lastModifiedBy = "Jane Doe",
// Note array notation
reviewers = {"Alice", "Bob", "Cindy"}
)
public class Generation3List extends Generation2List {
// class code goes here
}
來源:https://docs.oracle.com/javase/tutorial/java/annotations/declaring.html
閱讀。謝謝。現在@ThreadSafe對任何人都有什麼好處? – user123321
如果它來自net.jcip.annotations,這裏是它的文檔:http://jcip.net/annotations/doc/index.html它似乎沒有做任何事情,只是*註釋*類,所以用戶知道它是線程安全的。 – Delyan