日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

java 定義長度為0的數組/空數組案例

瀏覽:24日期:2022-08-15 10:12:59
如下:

int[] array = new int[0]; // 定義一個長度為 0 的數組 / 空數組Sring[] arr = new String[0]; // 定義一個長度為 0 的數組 / 空數組長度為 0 的數組 / 空數組 并不是 null

有時數組里可能只有一個空字符串 '',這時數組長度是 1。這種情況也要注意判斷。

if ( arr.length == 1 && arr[ 0 ].equals( '' ) ) { System.out.println( '輸入的數組不能只包含一個空字符串' ); return;}

補充:java定義一個空數組_一個 Java 方法,最多能定義多少參數?

在 JVM 中,一個 Java 方法,最多能定義多少參數呢?這是一個很無聊的問題,即使能定義一萬個,十萬個,誰又會真的去這么做呢。

但是作為一個 coder,最重要的不就是好奇心嗎,沒有好奇心,和一條咸魚又有什么區別呢?本文作者就是這樣一位充滿好奇心的 coder。

java 定義長度為0的數組/空數組案例

我最近給我的 QuickTheories 分支添加了一個接口:

@FunctionalInterfacepublic interface QuadFunction { E apply(A a, B b, C c, D d);}

讓我好奇的是這個方法能有多少個類型參數。到目前為止,我敢說,Java 語言規范并沒有談及這個問題。

對于實現定義的限制可能是什么,我有兩個猜測:

1、編譯器會設置一個可預測的限制,如 255 或 65535。

2、編譯器的緊急行為會由于實現細節(堆棧溢出或同樣不可預測/不相關的東西)而設置意外的限制。

我不想在源代碼上測試我那點可憐的 C++技巧,所以我決定只測試編譯器做了什么。我寫了一個 Python 腳本,它使用二進制搜索找到最少的致錯類型參數。完整的腳本放在 Github repo (https://github.com/hyperpape/java-max-type-params) 中。

腳本地址:https://github.com/hyperpape/java-max-type-params

生成方法很簡單。幸運的是,我們不必使用任何類型參數,只需以的形式發出它們:

def write_type_plain(count): with open(’Test.java’, ’w’) as f: f.write('public class Test {n') f.write('public for i in range(count): if (i > 0):f.write(', ') f.write('A' + str(i + 1)) f.write('> void testMethod() {}') f.write('}')

運行二進制搜索可以得到以下輸出:

>>> error: UTF8 representation for string '>>> largest type: 2776

這個錯誤有點模糊,但事后看來是可以預見的。編譯器生成的類文件包含許多字符串,包括類中每個方法的方法簽名。這些字符串存儲在常量池中,常量池中的條目最大為 65535 字節,這是由 JVM 規范規定的限制。

所以,我之前的猜測都不完全正確。類型參數的最大數目是一個突現特征(emergent property),而不是一個明確的決定。不過,并不是編譯器本身的實現導致了錯誤。

相反,JVM 的類文件格式限制了可以在類文件中表示的類型參數的數量。這是真的,盡管 JVM對泛型一無所知。這也意味著類型參數的最大數目完全取決于如何編寫方法。

我嘗試了一種新的編碼類型參數的方法(先前鏈接文件中的 write_Type_Compact),使用完整的合法 ASCII 字符(A-Z、a-z、$和_)。該實現有點過于復雜,因為可以使用字符 0~9,但不能是標識符的初始字符,因為 Java 關鍵字不能作為類型參數出現。我只是用等長的 UTF-8 字符替換了短單詞「if」和「do」。更緊湊的編碼將參數數量從 2776 增加到 3123。

不方便的是,_A 是一種合法的 Java 標識符,但 _ 不是。謝天謝地,我的編碼在不使用初始_情況下就生成了 3392 個 2 字節類型參數,因此我覺得沒有必要進行簿記以發出初始字符_。

再來一個小技巧

解壓類文件顯示,65536 個字符的大部分不是我生成的類型參數,而是子字符串 Ljava/lang/object 的重復實例。因為沒有提供關于類型參數的信息,所以類文件顯示它們擴展了對象,并在方法簽名中對其進行編碼。我修改了生成器來解決這個問題。

循環的關鍵部分是:

s = type_var(i)f.write(s)if (s != ’A’): f.write(' extends A')

在類型參數中,除了一個實例 java/Lang/Object 之外的所有實例都被替換為 A。在進行了這個更改之后,編譯了一個具有 9851 個類型參數的方法。

由于參數的數量增加了很多,所以我使用的代碼肯定需要調整。使用非 ASCII Unicode 標識符可能是完全高效的必要條件,但簡單地指出這是可以做到的我就很滿意了。

這些都不重要

很難想象有人會達到這個極限。代碼生成有時會達到語言或編譯器的限制,但即使生成的代碼似乎也不太可能使用成百上千的類型參數。

盡管如此,如果我是規則制定者,我會考慮明確禁止任何類或方法具有 255 個以上的類型參數。明確的限制似乎更好,即使它只影響百萬分之一的程序。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久99伊人| 亚洲午夜免费| 日韩福利视频网| 亚洲少妇诱惑| 图片区亚洲欧美小说区| 99久久久久久中文字幕一区| 欧美91在线| 国产精品久久久久久久久久白浆| 日韩高清二区| 国产精品三级| 美女毛片一区二区三区四区最新中文字幕亚洲 | 亚洲精品伊人| 蜜臀av性久久久久蜜臀aⅴ流畅| 日韩视频中文| 免费精品视频在线| 亚洲免费影院| 日韩专区欧美专区| 亚洲精品在线二区| 欧美日韩亚洲三区| 国产精品2区| 91亚洲成人| 亚洲激情五月| 日韩专区视频网站| 国产精品久久国产愉拍| 成人污污视频| 久久亚洲精品中文字幕蜜潮电影| 亚洲免费影视| 国产欧美日韩在线一区二区| 国产精品66| 欧美国产美女| 99精品在线| 在线一区免费观看| 日本免费在线视频不卡一不卡二| 国产精品男女| 国产一区二区三区久久| 久久久久91| 久久午夜精品| 国产精品v一区二区三区| 国产资源在线观看入口av| 免费视频一区三区| 午夜久久99| 青草国产精品| 黑人精品一区| 一区二区三区国产在线| 国产日韩三级| 色爱综合网欧美| 国产亚洲激情| 国产精品va视频| 亚洲成人av观看| 久久先锋影音| 精品一区二区三区免费看| 欧美粗暴jizz性欧美20| 深夜福利亚洲| 在线中文字幕播放| 中文字幕中文字幕精品| 丁香婷婷久久| 蜜臀久久久99精品久久久久久| 国产探花在线精品| 久久久五月天| 日韩高清电影免费| 国产一区二区三区四区| 中国女人久久久| 久久精品xxxxx| 亚洲高清av| 国产精品超碰| 伊人影院久久| 麻豆精品在线观看| 午夜在线视频一区二区区别| 久久不卡国产精品一区二区| re久久精品视频| 国产高清日韩| 蜜臀a∨国产成人精品| 国产第一亚洲| 日本不卡一二三区黄网| 欧美日韩视频网站| 亚洲视频二区| 在线天堂资源www在线污| 日日夜夜免费精品| 欧美va天堂在线| 久久久久97| 中文不卡在线| 日韩精品久久久久久久电影99爱| 久久精品av麻豆的观看方式| av成人国产| 蜜桃成人精品| 国产美女精品视频免费播放软件| 欧美午夜不卡影院在线观看完整版免费| 欧美经典一区| 日韩国产精品久久久久久亚洲| 99国产精品免费视频观看| 日韩高清在线不卡| 精品一区亚洲| 国内精品伊人| 中文字幕一区二区精品区| 日韩欧美精品综合| 综合国产在线| 极品日韩av| 久久精品一区二区国产| 视频在线在亚洲| 亚洲精品永久免费视频| 伊人影院久久| 久久婷婷亚洲| 久久av免费看| 亚洲精品动态| 五月天久久久| 精品国产一区二区三区性色av| 性欧美精品高清| 亚洲综合在线电影| 国产精品一区二区美女视频免费看 | 日本亚洲欧美天堂免费| 日韩a一区二区| 久久狠狠久久| 丝袜亚洲另类欧美| 91tv亚洲精品香蕉国产一区| 国产情侣一区在线| 亚洲天堂av资源在线观看| 日韩免费看片| 精品久久一区| 日韩av一二三| 午夜在线观看免费一区| 天堂av在线| 久久中文字幕一区二区| 日韩欧美中文字幕在线视频| 午夜久久免费观看| 国际精品欧美精品| 久久国产人妖系列| 六月丁香综合| 激情欧美一区| 国产亚洲一区二区手机在线观看 | 免费av一区二区三区四区| 福利一区二区免费视频 | 精品国产网站| 久久国产日韩| 色狠狠一区二区三区| 女主播福利一区| 国产精品嫩模av在线| 亚洲开心激情| 高清不卡亚洲| 国产精品毛片| 欧美日韩99| 国产人成精品一区二区三| 日韩精品一二三区| 久久不见久久见免费视频7| 国产精品白丝一区二区三区| 成人美女视频| 免费的成人av| 久久亚洲视频| 色婷婷亚洲mv天堂mv在影片| 国产欧美二区| 亚洲激情久久| 蜜桃91丨九色丨蝌蚪91桃色| 男人的天堂亚洲一区| 韩日一区二区| 亚洲一区欧美二区| 日韩精品亚洲专区在线观看| 日本在线不卡视频一二三区| 夜夜嗨网站十八久久| 美女精品一区| 欧美一区自拍| 久久久久伊人| 亚洲制服少妇| 麻豆一区二区三区| 精品视频99| 欧美精品导航| 国产成人免费| 精品捆绑调教一区二区三区| 日韩欧美精品| 热久久免费视频| 日本欧美在线| 欧美日韩一区二区三区四区在线观看 | 国产亚洲一卡2卡3卡4卡新区| 伊人精品在线| 欧美日韩一区二区综合| 国产精品毛片在线| 亚洲另类av| 亚洲tv在线| 久久一区视频| 快she精品国产999| 国产999精品在线观看| 99re国产精品| 精品国产欧美| 日韩一区精品视频| 欧美精品99| 蜜臀av亚洲一区中文字幕| 精品久久福利| 日本一区二区三区中文字幕| av综合电影网站| 久久久9色精品国产一区二区三区| 久久久久久久久99精品大| 国产美女精品| 日韩激情av在线| 精品一区二区三区亚洲| 日韩一区二区三区免费播放| 国产精品毛片一区二区三区| 日韩1区2区3区| 国产aa精品| 红桃视频国产精品| 日本久久一区| 色综合www| 色狠狠一区二区三区|