1. 程式人生 > 其它 >linux系統核心跟蹤java程式在linux系統上的執行過程--linux的strace指令

linux系統核心跟蹤java程式在linux系統上的執行過程--linux的strace指令

技術標籤:linuxjava

前言

java程式通過JVM與系統底層指令互動,想要深入理解程式底層,如網路通訊;就需要了解跟蹤執行java程式時,系統核心做了什麼;

  1. strace -ff 指令追蹤java程式在linux核心上的執行
# -ff 如果提供-o filename,則所有程序的跟蹤結果輸出到相應的filename.pid中,pid是各程序的程序號. 
strace -ff -o out java Test.class

2.socket協議傳輸資料,BIO是指;建立客戶端和服務端連線的時候阻塞;讀取資料的時候阻塞;
3.socket協議的NIO是指,非阻塞IO,java中呼叫ServerSocketChannel的configBlocking(false)來設定建立連線的時候不阻塞;使用ServerSocketChannel.accept()方法獲取新進來的連線的SocketChannel。使用SocketChannel的configBlocking(false)方法來設定讀取資料階段非阻塞;