亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

通過SSH交互進行Java應用開發

2024-07-21 02:04:32
字體:
來源:轉載
供稿:網友
javaeye上活躍的開發者complystill(歆淵)最近發布了自己的開源securejsh項目,提供了一個通過ssh交互進行java應用開發或者管理的工具。

 

在項目的介紹中可以得知,securejsh與ptyhon里面的ipython或者ruby里面的irb非常相似。它們都允許交互式運行語言的代碼,以方便跟蹤或者調試應用。但是,java與ruby、python不同,后者是動態腳本語言,它們天生具有解釋執行的特點(注意:當然python支持預編譯,ruby也將在yarv中開始支持,這里指它們的解釋執行狀態)。我們常見的python和ruby發行版本基本上都包括自己的解釋器(這也是它們的核心組件),但是java是一種需要中間編譯過程的語言,默認情況下它無法直接解釋運行,也沒有相應的解釋器。

 

那么securejsh是如何實現的呢?讀者首先會想到jsr-223,這個api可以自己擴展腳本語言支持,比如rhino是 javascript解釋引擎。但是使用它難以實現交互操作,因為它必須輸入一個相對完整的腳本才可以運行,這樣會喪失一部分交互性。securejsh 實際上是使用了jdk 6.0的新特性java compiler api(jsr-199),它提供了一組api來讓程序可以動態地訪問java編譯器的接口,這樣就可以使用java編譯器動態檢查代碼語法或者動態根據 java源碼生成可以執行的字節碼。這種方式與asm的編程直接生成字節碼不同,它能直接將java源碼轉換為字節碼,xruby的主力開發者鄭曄(網名 dreamhead)在他的blog中這樣對比了兩種方案:

 

之前,剛剛在blog中提到asm,里面的代碼生成工作是通過直接寫 字節碼完成的。現在有了compiler api,可以考慮生成代碼以java源碼的形式完成,然后,通過調用compiler api對源碼進行動態編譯,這樣,可以達到同直接寫字節碼類似的作用。使用compiler api,肯定不如直接生成字節碼來得高效,但對于不了解jvm指令的人來說這也許是一種解決方案。

可見jsr-199不是最高效的字節碼生成方案,但是更方便使用。java compiler api不是為了取代asm這樣的方案的,它的本意是以編程的方式實現實時編譯及信息反饋。java目前的主要架構師之一peter von der ahé曾經在他的blog對誰需要使用java compiler api這個問題做了如下解釋:

 

99%的java開發者都不需要了解java compiler api。只有少數的開發者會直接應用這個api。但是ide、java ee應用程序服務器、maven或者ant還有測試框架的開發者卻不一樣,他們有一個共同點,就死需要調用編譯器將java源碼轉換為類文件(他們是這個 api的潛在用戶)。

可見jsr-199的產生主要是面向熱部署或者增量編譯這樣的場合,但是securejsh的產生擴展了java compiler api的應用場景,同時也增強了java和jvm的交互性。complystill這樣介紹了securejsh的應用場景和需求:

 

securejsh允許java編寫的服務器端應用程序為管理員、客戶、開發者和客戶端服務提供一個安全shell,這里可以交互性地讓java語言逐句運行。securejsh需要jdk 6.0或者jre 6.0加javac(在classpath中)來運行。

securejsh的官方首頁這樣描述了它的主要特性:

安全:securejsh在服務器端實現了rfc-4251,ssh 2.0協議,支持公鑰認證,這種方式方便安全(不需要每次輸入密碼)。

交互式執行:傳 統的方式下,在運行java源代碼之前你必須將它們編譯為字節碼。但是使用securejsh,編譯的過程是透明完成的,所以你只需要隨意輸入一些 java表達式(就可以運行)。這意味著你可以使用你書寫應用程序時完全相同的語法,與最新的java語言規范同步。你可以在你的java項目源碼和 securejsh終端里面拷貝&粘貼任何代碼,都沒有問題。

智能命令識別,unix shell風格:不 像jsr-223(java scripting engin,java腳本引擎)對java語言的腳本的支持,在(java腳本引擎)里面你必須將java類的全部代碼輸入后才可以執行, securejsh更加智能和人性化,如果你輸入了不完整的java表達式,它會自動提示你進行多行的輸入,然后將這些表達式包裝到一個預先定義的類結構 中來執行。它是一個真正的shell。

沒有相互干擾,最小化資源消耗:securejsh沒有需要儲存在jvm范圍的靜態資源,每一個實例只消耗很少量的資源(基于nio實現,所有的ssh通訊都由一個線程處理)。你可以按照你的想法在一個jvm里面運行任意多個shell服務,包括java應用程序服務器的jvm。

作為一個開源項目,securejsh使用了ganymed的純java實現的ssh 2.0庫,并使用java nio編寫了網絡服務,代碼質量很高。據comply still介紹,securejsh最初是為內存數據庫tob設計的,為這個面向對象數據庫提供交互訪問的接口,但是后來作者發現它可以被應用在很多場合,所以單獨開源發布。作為java開發者,您可以從這里下載源碼從中學習ssh 2.0、nio網絡服務、java compiler api的使用方法,相信一定會有所收獲

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品有码在线观看| 国产乱肥老妇国产一区二| 亚洲黄色www网站| 国产欧美久久一区二区| 久久人91精品久久久久久不卡| 中文国产成人精品| 久久久视频精品| 日韩精品视频在线免费观看| 不用播放器成人网| 55夜色66夜色国产精品视频| 国产成人高清激情视频在线观看| 久久久精品国产网站| 日韩精品极品毛片系列视频| 91av在线免费观看| 精品二区三区线观看| 97香蕉久久夜色精品国产| 成人中文字幕在线观看| 久久精品中文字幕免费mv| 国产999精品久久久影片官网| www日韩中文字幕在线看| 国产精品亚洲视频在线观看| 国产欧美日韩最新| 久久精品视频网站| 91精品国产自产在线观看永久| 久久久精品国产亚洲| 久久高清视频免费| 成人激情在线观看| 中文字幕亚洲字幕| 91欧美激情另类亚洲| 热久久免费国产视频| 国产日韩av高清| 久久人人爽人人爽人人片av高请| 亚洲精品少妇网址| 乱亲女秽乱长久久久| 久久久久久久久国产精品| 北条麻妃一区二区在线观看| 日韩在线一区二区三区免费视频| 奇米一区二区三区四区久久| 黑人欧美xxxx| 欧美中文在线观看| 国产精品日韩欧美| 中文字幕国产亚洲| www日韩中文字幕在线看| 亚洲第一视频在线观看| 国产精品狼人色视频一区| 色综合久久天天综线观看| 日韩av电影院| 欧美大片欧美激情性色a∨久久| 国产日韩精品在线| 久久久久久久爱| 精品久久久久久久久久ntr影视| 亚洲国产日韩欧美综合久久| 成人精品aaaa网站| 成人伊人精品色xxxx视频| 91久久久久久国产精品| 国产香蕉一区二区三区在线视频| 亚洲国产精品久久精品怡红院| 一区二区中文字幕| 中文字幕在线国产精品| 91大神在线播放精品| 久久影院资源网| 亚洲视频国产视频| 国内精品免费午夜毛片| 欧美黄色片免费观看| 亚洲欧美日韩爽爽影院| 青青久久aⅴ北条麻妃| 欧美老女人www| 国产91精品黑色丝袜高跟鞋| 国产xxx69麻豆国语对白| 亚洲xxxx妇黄裸体| 在线观看视频99| 精品福利视频导航| 91av在线免费观看视频| 日韩av在线电影网| 欧美日韩国产成人在线观看| 亚洲一区亚洲二区亚洲三区| 91av在线网站| 国产亚洲精品久久久优势| 久久精品最新地址| 国产亚洲一区精品| 日韩电影免费观看在线观看| 欧美午夜无遮挡| 欧美精品性视频| 精品一区二区三区三区| 欧美电影电视剧在线观看| 国产精品福利观看| 色哟哟入口国产精品| 亚洲欧美色图片| 国产精品69久久久久| 久久天天躁狠狠躁夜夜躁2014| 国产在线999| 久久天天躁狠狠躁老女人| 中文字幕免费精品一区| 欧美性xxxx| 欧美一级在线亚洲天堂| 中文字幕av一区二区| 日韩va亚洲va欧洲va国产| 欧美另类暴力丝袜| 日韩美女视频中文字幕| 国产精品美女久久久久久免费| 亚洲欧洲在线播放| 国产精品h片在线播放| 黑人巨大精品欧美一区二区一视频| 国产精品91久久久久久| 日韩精品有码在线观看| 91精品国产91久久久久福利| 97成人精品视频在线观看| 欧美—级a级欧美特级ar全黄| 国产精品第10页| 亚洲午夜激情免费视频| 欧美日韩午夜激情| 色综合久久天天综线观看| 欧美激情xxxx性bbbb| 亚洲综合日韩中文字幕v在线| 国产丝袜一区二区| 在线观看国产精品91| 日韩女优人人人人射在线视频| 国产精品欧美日韩一区二区| 精品动漫一区二区三区| 久久全球大尺度高清视频| xxxxxxxxx欧美| 欧美午夜片在线免费观看| 国产这里只有精品| 91精品国产亚洲| 国产精品美乳在线观看| 亚洲最新av在线网站| 国产精品一区专区欧美日韩| 久久久久久有精品国产| 亚洲精品日产aⅴ| 亚洲自拍av在线| 一本色道久久88精品综合| 狠狠操狠狠色综合网| 68精品国产免费久久久久久婷婷| 日本a级片电影一区二区| 亚洲第一精品夜夜躁人人爽| 久久国产精品久久久久久久久久| 国产精品视频一区国模私拍| 国产午夜精品一区二区三区| 在线日韩精品视频| 欧美日韩中文在线| 日韩电影免费观看中文字幕| 91精品国产91久久久久久吃药| 亚洲第一区在线| 中文字幕亚洲一区二区三区五十路| 国产日韩在线亚洲字幕中文| 国产中文字幕日韩| 欧美高清视频免费观看| 亚洲国产精品久久久| 一区二区欧美在线| 亚洲白虎美女被爆操| 亚洲在线www| 日韩**中文字幕毛片| 国产成人在线一区二区| 成人亚洲综合色就1024| 欧美xxxx18性欧美| 欧美—级高清免费播放| 久久精品国产亚洲精品2020| 亚洲国产成人久久综合一区| 亚洲精品免费网站| 亚洲免费视频一区二区| 亚洲黄色片网站| 福利一区视频在线观看| 亚洲高清久久网| 日韩暖暖在线视频|