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

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

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

瀏覽:28日期: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久久,三上悠亚国产精品一区二区三区
国产一区二区三区探花| 久久精品人人| jiujiure精品视频播放| 极品日韩av| 亚洲精品网址| 欧美搞黄网站| 红桃视频国产一区| 首页国产欧美日韩丝袜| 日本不卡视频在线观看 | 免费日韩av片| 亚洲综合色婷婷在线观看| 中文字幕一区二区精品区| 日韩不卡手机在线v区| 国产精品调教视频| 成人在线视频中文字幕| 成人片免费看| 99在线精品免费视频九九视| 蜜臀精品一区二区三区在线观看 | 欧美精品国产| 精品国产亚洲一区二区三区大结局| 成人在线超碰| 免费黄色成人| 日韩一区精品| 精品美女在线视频| 99国产精品一区二区| 亚洲国产影院| 日韩精品一卡二卡三卡四卡无卡| 欧美精品福利| 国产aⅴ精品一区二区四区| 久久在线免费| 日韩精品一区二区三区中文字幕| 久久精品国产免费| 蜜臀av免费一区二区三区| 亚洲三级网站| 精品日产乱码久久久久久仙踪林| 黑森林国产精品av| 视频一区欧美精品| 国产精品66| 亚洲影院天堂中文av色| 国产在线观看91一区二区三区| 色婷婷精品视频| 深夜福利亚洲| 精品国产18久久久久久二百| 伊人精品视频| 久久不见久久见国语| 欧美永久精品| 深夜视频一区二区| 日韩一区二区三区在线看| 水蜜桃久久夜色精品一区| 亚洲欧美日韩国产综合精品二区| 国产精品99久久久久久董美香| 1024精品久久久久久久久| 日韩av网站在线观看| 深夜视频一区二区| 日本aⅴ免费视频一区二区三区| 福利一区和二区| 免费在线观看日韩欧美| 精品精品久久| 日本伊人午夜精品| 亚洲午夜91| 欧美激情亚洲| 综合激情婷婷| 婷婷激情一区| 国产精品亚洲成在人线| 亚洲女人av| 欧美不卡高清一区二区三区| 91精品日本| 国产亚洲精品v| 亚洲国产成人二区| 国产欧美日韩免费观看| 欧美99久久| 久久99国产精品视频| 蜜桃视频第一区免费观看| 日韩精品电影| 久久99精品久久久久久园产越南| 尤物网精品视频| 成人在线丰满少妇av| 91精品国产自产精品男人的天堂| 亚洲一本视频| 国内精品美女在线观看| 日韩精品社区| 亚洲在线电影| 精品三级久久| 久久精品理论片| 欧美日一区二区在线观看| 中文在线一区| 久久久天天操| 在线人成日本视频| 久久精品九色| 欧美午夜三级| 五月激激激综合网色播| 99国产精品私拍| 亚洲国产综合在线看不卡| 色爱综合网欧美| 日韩avvvv在线播放| 日韩视频在线一区二区三区 | 亚洲婷婷在线| 日韩不卡免费高清视频| 精品一区二区三区亚洲| 国产欧美久久一区二区三区| 免费不卡在线视频| 亚洲欧美久久久| 一区二区亚洲精品| 国精品一区二区| 天堂а√在线最新版中文在线| 久久精品国产999大香线蕉| 日韩欧美2区| 免播放器亚洲一区| 欧美专区在线| 99在线精品视频在线观看| 精品一区欧美| 欧美日韩国产一区二区三区不卡| 日本在线精品| 久久久一二三| 99精品在线观看| 欧美特黄一级大片| japanese国产精品| 欧美日韩四区| 一本一本久久| 综合国产精品| 影音先锋久久精品| 免费欧美日韩| 亚洲精品在线a| 日韩高清欧美激情| 欧美日韩一区二区三区四区在线观看| 日本在线不卡视频| 欧美一区影院| 美女在线视频一区| 精品一区二区三区亚洲| 国产精品久久久久蜜臀| 国产福利片在线观看| 成人日韩在线| 久久精品亚洲欧美日韩精品中文字幕| 香蕉久久精品| 亚洲主播在线| 深夜福利亚洲| 青草国产精品久久久久久| 久久狠狠久久| 精品国产欧美日韩一区二区三区| 麻豆国产在线| 激情综合自拍| 天堂成人免费av电影一区| 亚洲精品少妇| 国产福利一区二区精品秒拍| 国产精品久久久久久久久妇女| 日韩欧美看国产| 99国产精品视频免费观看一公开| 伊人国产精品| 老牛国内精品亚洲成av人片| 日韩精品首页| 三级亚洲高清视频| 日韩在线网址| 久久久免费人体| 亚洲天堂1区| 美女网站久久| 国产精品白浆| 亚洲国产影院| 日韩精品a在线观看91| 国产精品18| 四虎4545www国产精品| 日韩中文字幕亚洲一区二区va在线| 日本欧美一区二区在线观看| 丁香婷婷久久| 国产精品毛片在线| 国产精品免费99久久久| 亚洲va在线| 中文一区一区三区免费在线观 | 欧美精品资源| 在线免费观看亚洲| 精品少妇一区| 亚洲一区二区三区免费在线观看| 中文字幕中文字幕精品| 国产精品一区2区3区| 樱桃视频成人在线观看| 日韩中文字幕区一区有砖一区 | 欧美一区成人| 久久久久久久久丰满| 日韩1区2区3区| 国产传媒av在线| 免费在线看一区| 精品国产一区二区三区性色av| 国产真实久久| 日本a级不卡| 久久国产免费| 欧美精品中文字幕亚洲专区| 91精品一区二区三区综合在线爱 | 免费观看久久av| 国产日韩欧美在线播放不卡| 99视频精品全国免费| 日韩国产一区二| 一区二区小说| 欧美精品二区| 欧美资源在线| 日韩电影二区| 日本成人在线网站| 黑丝美女一区二区| 精品国产不卡一区二区| 亚洲精品欧美| 亚洲第一区色| 久久影院一区二区三区|