static-initialization

    16熱度

    2回答

    實施例: struct Foo { Foo() { printf("foo\n"); } }; static Foo foo; __attribute__((constructor)) static void _bar() { printf("bar\n"); } 它是確定性的閹羊foo或bar是第一印刷? (我希望和期望靜態對象的構造函數總是執行有關構造屬性不說什麼第一,但不知道和GC

    1熱度

    1回答

    我是Android新手。我經歷了Android ContentProvider的代碼,我對UriMatcher有點困惑,因爲靜態中的語句將首先執行。這裏在UriMatcher裏面的代碼中有一個靜態塊,沒有關於PROVIDER_NAME的想法。它如何使用它,因爲在PROVIDER_NAME初始化之前靜態塊應該運行。 public class CustomContentProvider extends

    3熱度

    3回答

    在Java中,我可以創建一個List並立即使用靜態初始化程序填充它。事情是這樣的: List <String> list = new ArrayList<String>() {{ Add("a"); Add("b"); Add("c"); }} 這是方便,因爲我可以動態創建列表,並將其作爲參數傳遞給函數。這樣的事情: printList

    1熱度

    2回答

    我正在編寫一些庫代碼,作爲jar文件分發,開發人員在使用前需要使用應用程序ID進行初始化。初始化僅僅是一個函數調用,就像 MyLibrary.initialize("16ea53b"); 棘手的是,我不知道如何指導開發人員,使這個初始化調用。起初,我認爲主要活動中的一個靜態初始化塊將是最簡單的方法。問題是用戶可以通過其他活動或意圖進入應用程序,並且主要活動不會被加載。是否有一種通用的方法來確保

    3熱度

    3回答

    使用靜態初始化實現線程安全單例時,還是實例的簡單靜態聲明就足夠了,是否需要Initialize-On-Demand成語? 實例作爲靜態字段的簡單聲明: class Singleton { private static Singleton instance=new Singleton(); private Singleton() {..} public static Singleton g

    2熱度

    4回答

    我有以下類: public abstract class A() { public static final SomeString = null; static() { SomeString = "aaa"; } } 當這個靜態方法調用,怎麼樣? 創建這樣一個靜態方法(沒有名稱/返回類型)的目的是什麼?

    1熱度

    1回答

    這是我想做什麼: T[1]:=5; T[2]:=3; . . . T[9]:=20; 是否有一個快捷方式實現這一目標,我可以在單行分配值?

    1熱度

    1回答

    我有幾個編譯成動態庫的大代碼庫。我知道其中一些有一些非常昂貴的動態全局動態初始化器。 (也就是說,構造這些類/結構的全局實例非常昂貴。) 我想要一種方法來查看代碼中這些動態初始化器的內容/位置列表,以便我可以看到它們是否很昂貴並需要重構。我想避免在很多程序集中進行挖掘,因爲其中一些庫很大,可能包含數百個動態初始化程序(其中很多小型且相當便宜,比如字符串構造)。 有沒有可以幫助我的工具? (我的工具

    1熱度

    3回答

    自從Android引入了庫項目以來,我一直在將我的應用程序轉換爲庫,以便可以通過適當的調整來製作多個版本(例如,使用相同的自由和專業版本代碼庫,但改變了一些東西)。 我最初有麻煩讓圖書館項目的代碼訪問我的子項目中的字段。換句話說,我的免費和專業版本每個都有一個包含少量常量的類,圖書館項目將用它來區分某些功能。 在子項目中,我擴展了庫的主要活動並添加了一個靜態初始化塊,它使用反射更改庫中字段的值。

    3熱度

    2回答

    有沒有辦法將非核心Java類返回到新加載的狀態?我想要相當於卸載一個類並從頭開始重新加載它。我最關心的是靜態初始化器和變量。 問題背景:我正在爲學生代碼編寫機器人分級程序。我見過的一個常見學生錯誤是不恰當地使用靜態變量。例如,考慮一個包含靜態數量的元素的集合。該集合在第一次創建和使用時會正常工作,但在下一個實例化時失敗。如果我希望我的測試儘可能模塊化,那麼我需要一種方法在測試後恢復乾淨狀態。 現在