欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java進行遠程部署與調試及原理詳解

 更新時間:2019年12月09日 14:32:45   作者:sunweiye  
這篇文章主要介紹了java進行遠程部署與調試及原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了java進行遠程部署與調試及原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

遠程調試,特別是當你在本地開發(fā)的時候,你需要調試服務器上的程序時,遠程調試就顯得非常有用。

JAVA 支持調試功能,本身提供了一個簡單的調試工具JDB,支持設置斷點及線程級的調試同時,不同的JVM通過接口的協(xié)議聯(lián)系,本地的Java文件在遠程JVM建立聯(lián)系和通信。此篇是Intellij IDEA遠程調試的教程匯總和原理解釋,知其然而又知其所以然。遠程部署點擊

1.本機Intellij IDEA遠程調試配置

1,打開Inteliij IDEA,頂部菜單欄選擇Run-> Edit Configurations,進入下圖的運行/調試配置界面。

2,點擊左上角'+'號,選擇Remote。分別填寫右側三個紅框中的參數(shù):Name,Host(想要指定的遠程調試端口)。

3,點擊界面右下角應用按鈕即可。

2.服務器端開啟調試模式,增加JVM啟動參數(shù),以支持遠程調試

服務器端的catalina.sh文件,在Tomcat的安裝目錄下,復制到本地,進行編輯,在第一行添加參數(shù)配置如下,完成后粘貼回去。

文本:

CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8089"

配置添加之后,重啟tomcat即可生效(shutdown.sh /startup.sh)。到此,開始遠程調試。

3.Intellij IDEA啟動遠程調用

最后,打開IDEA,程序上打上斷點,運行模式選遠程,點擊運行。調用服務器端運行的系統(tǒng)程序,系統(tǒng)自動進入斷點

4.為什么可以進行遠程調試,背后的原理是什么?

首先,了解下的Java程序的執(zhí)行過程- 分為以下幾個步驟:Java的文件 - -編譯生成的類文件(class文件) - - JVM加載類文件 - - JVM運行類字節(jié)碼文件 - - JVM翻譯器翻譯成各個機器認識的不同的機器碼。

遠程調試原理

眾所周知,Java 程序是運行在Java 虛擬機(JVM )上的,具有良好跨平臺性,是因為Java程序統(tǒng)一以字節(jié)碼的形式在JVM中運行,不同平臺的虛擬機都統(tǒng)一使用這種相同的程序存儲格式。因為都是類字節(jié)碼文件,只要本地代碼和遠程服務器上的類文件相同,兩個JVM通過調試協(xié)議進行通信(例如通過插座在同一個端口進行通信),另外需要注意的時,被調試的服務器需要開啟調試模式,服務器端的代碼和本地代碼必須保持一致,則會造成斷點無法進入的問題。

<code>Java</code>的調試器架構

1.這個架構其實質還是JVM,只要確保本地的Java的源代碼與目標應用程序一致,本地的Java的的的的源碼就可以用插座連接到遠端的JVM,進而執(zhí)行調試。因此,在這種插座連接模式(下文介紹)下,本地只需要有源碼,本地的Java的應用程序根本不用啟動。

傳輸方式,默認為Socket ;

套接字:MACOS,Linux的系統(tǒng)使用此種傳輸方式;

共享內存:WINDOWS系統(tǒng)使用此種傳輸方式。

調試模式:默認為Attach ;

  Attach :此種模式下,調試服務端(被調試遠程運行的機器)啟動一個端口等待我們(調試客戶端)去連接;

  Socket :此種模式下,是我們(調試客戶端)去監(jiān)聽一個端口,當調試服務端準備好了,就會進行連接。

配置屬性說明補充


文本:

CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8089"

2.各參數(shù)解釋:

  • -Xdebug:通知JVM工作在調試模式下
  • -Xrunjdwp:通知JVM使用(java debug wire protocol)來運行調試環(huán)境。參數(shù)同時有一系列的調試選項:
  • <code>session</code>:指定了調試數(shù)據(jù)的傳送方式,dt_socket是指用SOCKET模式,另外dt_shmem指用共享內存方式,其中dt_shmem只適用于窗口平臺.server 參數(shù)是指是否支持在服務器模式的虛擬機中。
  • onthrow:指明當產(chǎn)生該類型的異常時,JVM就會中斷下來,進行調式該參數(shù)任選。
  • <code>release</code>:指明當JVM被中斷下來時,執(zhí)行的可執(zhí)行程序該參數(shù)可選
  • <code>suspend</code><:指明:是否在調試客戶端建立起來后,再執(zhí)行 JVM。
  • onuncaught(= y或n)指明出現(xiàn)未捕獲的異常后,是否中斷JVM的執(zhí)行

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • IDEA的常見的設置和優(yōu)化功能圖文詳解

    IDEA的常見的設置和優(yōu)化功能圖文詳解

    這篇文章主要介紹了IDEA的常見的設置和優(yōu)化功能,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Maven3種打包方式中maven-assembly-plugin的使用詳解

    Maven3種打包方式中maven-assembly-plugin的使用詳解

    這篇文章主要介紹了Maven3種打包方式中maven-assembly-plugin的使用,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 淺聊一下Java中的鎖機制

    淺聊一下Java中的鎖機制

    Java中的鎖機制是保證多線程并發(fā)訪問共享資源安全性的重要手段之一。Java提供了兩種類型的鎖機制:synchronized關鍵字和Lock接口。本文將介紹這兩種鎖機制的原理及使用方法,并通過代碼示例講解它們的使用
    2023-03-03
  • SpringBoot使用Jwt處理跨域認證問題的教程詳解

    SpringBoot使用Jwt處理跨域認證問題的教程詳解

    這篇文章主要介紹了SpringBoot使用Jwt處理跨域認證問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • java(jdk)環(huán)境變量配置(XP、win7、win8)圖文教程詳解

    java(jdk)環(huán)境變量配置(XP、win7、win8)圖文教程詳解

    對于初學java的同學來說,第一件事不是寫hello world,而是搭建好java開發(fā)環(huán)境,下載jdk,安裝,配置環(huán)境變量。這些操作在xp、win7、win8不同的操作系統(tǒng)里面配置不太一樣,下面通過本文給大家介紹如何在上面不同操作系統(tǒng)下配置
    2017-03-03
  • 手把手教你用Java實現(xiàn)一套簡單的鑒權服務

    手把手教你用Java實現(xiàn)一套簡單的鑒權服務

    現(xiàn)今大部分系統(tǒng)都會有自己的鑒權服務,本文介紹了最常用的鑒權服務,就是日常用戶的登錄登出,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • 利用Java手寫一個簡易的lombok的示例代碼

    利用Java手寫一個簡易的lombok的示例代碼

    Lombok是一款Java開發(fā)插件,使得Java開發(fā)者可以通過其定義的一系列注解來消除業(yè)務工程中冗長和繁瑣的代碼,尤其對于簡單的Java模型對象。本文就來手寫一個簡易的lombok,需要的可以參考一下
    2022-10-10
  • Java?Float?保留小數(shù)位精度的實現(xiàn)

    Java?Float?保留小數(shù)位精度的實現(xiàn)

    這篇文章主要介紹了Java?Float?保留小數(shù)位精度的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java異常處理中的一些特殊情況舉例

    Java異常處理中的一些特殊情況舉例

    這篇文章主要介紹了Java異常處理中的一些特殊情況舉例,分別是只用try和finally不用catch,以及finally語句不被執(zhí)行的情況,需要的朋友可以參考下
    2015-11-11
  • 關于spring事務傳播行為非事務方式的理解

    關于spring事務傳播行為非事務方式的理解

    這篇文章主要介紹了對spring事務傳播行為非事務方式的全面理解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11

最新評論