日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

随机数生成java代码_Java Bullshifier –生成大量随机代码库

發(fā)布時間:2023/12/3 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 随机数生成java代码_Java Bullshifier –生成大量随机代码库 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

隨機數生成java代碼

生成大量隨機Java應用程序的命令行工具

您一直在等待的命令行工具。 或不。 畢竟,這是很深奧的。 無論哪種方式,它對某些人都非常有用,而對其他人來說卻是一個有趣的實用程序。 Bullshifier是David Levanon和Hodaya Gamliel開發(fā)的內部OverOps工具。 它用于在可笑的大型代碼庫上測試我們的某些監(jiān)視功能,該事務的事務進行了數千次調用,涉及數千種類,最后都帶有異常。

讓我們深入研究如何使用它以及為什么要構建它。

一些動機

OverOps向開發(fā)人員展示了代碼在何時何地中斷生產的原因。 每當記錄錯誤,警告或異常時,它就會在錯誤發(fā)生時向您顯示整個調用堆棧中的完整源代碼和變量狀態(tài)。

它是為生產而構建的,所需的開銷很低,就CPU和內存而言,永遠不會超過3%。 因此,作為我們流程的一部分,我們需要在一些極端情況下進行測試-這就是Bullshifier的用處:

  • 生成大量的代碼和日志記錄的大型項目
  • 在具有深度調用堆棧的方法之間運行
  • 引發(fā)由隨機變量狀態(tài)引起的異常

基本用法

要求

  • 安裝Groovy
  • 已安裝Java

安裝

  • 下載,解壓縮,就可以開始了

運行設置

  • ./gradlew運行(默認參數,生成一個包含10個類的jar)
  • cd輸出&& gradle fatJar構建生成的項目
  • java -cp output / build / libs / tester.jar helpers.Main運行它

或者,您可以簡單地使用預先配置的運行設置運行./scripts/small.sh或./scripts/big.sh 。

標志

  • -Poutput-directory (輸出目錄的相對路徑)
  • -Poutput-classes (要生成的類數)
  • -Psubprojects (要生成的jar數量)

請記住,生成500多個類將花費相當長的時間。 我們最大的比賽有20,000堂課,但最好不要超過5,000堂。

運行子項目

  • / gradle構建 (獲取WAR文件)
  • 前往垃圾桶
  • 每個項目都會創(chuàng)建一個shell腳本,root將全部運行它們

進階設定

還有一些其他選項可以使您對生成的代碼進行精細控制,但可能會使其混亂,使用后果自負:

  • 低級配置: src / main / groovy / generator / Config.groovy
  • 輸出文件夾中提供了更高級別的配置。 還有更多選項可以添加日志記錄,并微調應用程序的行為,但目前尚處于試驗階段。

如果您想了解更多信息,請隨時與我們聯(lián)系,或在評論部分詢問我們更深入的演練。 默認設置是沒有日志,并且在調用堆棧中的每第10幀都有一個例外。

樣品輸出

有趣的是,一開始,所有那些隨機生成的類和變量名都引起了很多保留字的點擊。 盡管它們是完全隨機的,但是由于生成的代碼量巨大。 所以現(xiàn)在是隨機減保留字��

每個生成的方法包含4個部分:

  • 變量定義,具有隨機類型,隨機名稱和值。
  • 根據事件發(fā)生率的配置設置,拋出異常的部分或打印到日志的部分。 它還包括一個“自殺”功能,該功能可以停止程序的執(zhí)行。
  • 調用下一個模式。
  • 無法運行的代碼。

這是第一部分中的一個隨機代碼段:

int methodId = 2; Object[] root = new Object[9]; List<Object> valCjrukeawxor = new LinkedList<Object>(); Set<Object> valRvshucjormy = new HashSet<Object>(); boolean valSboiogeldpb = true;valRvshucjormy.add(valSboiogeldpb); boolean valPjvoucyfprv = true;

訪問該站點以下載示例結果或在GitHub上查看 。

翻譯自: https://www.javacodegeeks.com/2016/11/java-bullshifier-generate-massive-random-code-bases.html

隨機數生成java代碼

總結

以上是生活随笔為你收集整理的随机数生成java代码_Java Bullshifier –生成大量随机代码库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。