java中易錯點(二)

来源:http://www.cnblogs.com/hgc-bky/archive/2017/01/04/6249369.html
-Advertisement-
Play Games

java,exe是java虛擬機 javadoc.exe用來製作java文檔 jdb.exe是java的調試器 javaprof,exe是剖析工具 解析一: sleep是線程類(Thread)的方法,執行此方法會導致當前此線程暫停指定時間,給執行機會給其他線程,但是監控狀態依然保持,到時後會自動恢復 ...


java,exe是java虛擬機 javadoc.exe用來製作java文檔 jdb.exe是java的調試器 javaprof,exe是剖析工具

解析一:

sleep是線程類(Thread)的方法,執行此方法會導致當前此線程暫停指定時間,給執行機會給其他線程,但是監控狀態依然保持,到時後會自動恢復。調用sleep不會釋放對象鎖。 wait是Object類的方法,對此對象調用wait方法導致本線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象發出notify方法或notifyAll後本線程才獲得對象鎖進入運行狀態 解析二: notity()和notifyAll()兩個方法均可,應該進入就緒狀態而不是運行狀態。 Exception 包括 非檢查性異常 RuntimeException, 及其子類,即運行時的異常,運行時的異常是代碼的BUG, 和檢查性異常,即非運行時異常,程式在編譯的時候會發現的異常 如: IOException之類,在處理類似文件流的時候,java強制規定必須處理可能遇到的文件流異常。 runtimeException是運行時的異常,在運行期間拋出異常的超類,程式可以選擇是否try-catch處理。 其他的檢查性異常(非運行時的異常,如IOException),是必須try-catch的,否則程式在編譯的時候就會發現錯誤。

我們都知道jvm運行時刻記憶體的分配。其中有一個記憶體區域是jvm虛擬機棧,每一個線程運行時都有一個線程棧,線程棧保存了線程運行時候變數值信息。當線程訪問某一個對象時候值的時候,首先通過對象的引用找到對應在堆記憶體的變數的值,然後把堆記憶體變數的具體值load到線程本地記憶體中,建立一個變數副本,之後線程就不再和對象在堆記憶體變數值有任何關係,而是直接修改副本變數的值,在修改完之後的某一個時刻(線程退出之前),自動把線程變數副本的值回寫到對象在堆中變數。這樣在堆中的對象的值就產生變化了

java提供了一個系統級的線程,即垃圾回收器線程。用來對每一個分配出去的記憶體空間進行跟蹤。當JVM空閑時,自動回收每塊可能被回收的記憶體,GC是完全自動的,不能被強制執行。程式員最多只能用System.gc()來建議執行垃圾回收器回收記憶體,但是具體的回收時間,是不可知的。 當對象的引用變數被賦值為null,可能被當成垃圾。 源碼程式中用到了一個重要的內部介面:Map.Entry,每個 Map.Entry 其實就是一個 key-value 對。當系統決定存儲 HashMap 中的 key-value 對時,完全沒有考慮 Entry 中的 value,僅僅只是根據 key 來計算並決定每個 Entry 的存儲位置。Entry是數組,數組中的每個元素上掛這個一條鏈表。。 鏈表法就是將相同hash值的對象組織成一個鏈表放在hash值對應的槽位;開放地址法是通過一個探測演算法,當某個槽位已經被占據的情況下繼續查找下一個可以使用的槽位。很顯然我們使用的不是開放地址法。   J2Sdk是Sun公司開發的編程工具。        java api是應用程式介面 JAR(Java Archive,Java 歸檔文件)是與平臺無關的文件格式,它允許將許多文件組合成一個壓縮文件。為 J2EE 應用程式創建的 JAR 文件是 EAR 文件(企業 JAR 文件)。打開方式java -jar AppletViewer是與html有關的 appletviewer 提供了一個Java運行環境,在其中可測試小應用程式Applet。appletviewer 讀取包含小應用程式的HTML文件併在一個視窗中運行它們。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • SHA-1.cpp TEST.cpp ...
  • if __name__== "__main__" 的意思(作用)python代碼復用 轉自:大步's Blog http://www.dabu.info/if-__-namelxx_-main__-mean-function-python-code-reuse.html 有人在學習python腳本時 ...
  • Java是最早開始有併發的語言之一,再過去傳統多任務的模式下,人們發現很難解決一些更為複雜的問題,這個時候我們就有了併發. 引用 & 160; & 160; & 160; & 160;多線程比多任務更加有挑戰。多線程是在同一個程式內部並行執行,因此會對相同的記憶體空間進行併發讀寫操作。這可能是在單線程 ...
  • 本文由博主原創,轉載請註明出處:我的博客-知乎爬蟲之爬蟲流程設計 git爬蟲項目地址(關註和star在哪裡~~):https://github.com/MatrixSeven/ZhihuSpider (已完結) 附贈之前爬取的數據一份(mysql): 鏈接:https://github.com/Ma ...
  • 要知道什麼是智能指針,首先瞭解什麼稱為 “資源分配即初始化” what RAII:RAII—Resource Acquisition Is Initialization,即“資源分配即初始化” 在《C++ Primer》這樣解釋的,“通過定義一個類來封裝資源的分配和釋放,可以保證正確釋放資源” 核心 ...
  • 結果: ...
  • 一. 異常的定義 在《java編程思想》中這樣定義 異常:阻止當前方法或作用域繼續執行的問題。雖然java中有異常處理機制,但是要明確一點,決不應該用"正常"的態度來看待異常。絕對一點說異常就是某種意義上的錯誤,就是問題,它可能會導致程式失敗。之所以java要提出異常處理機制,就是要告訴開發人員,... ...
  • 一、回調機制概述 回調機制在JAVA代碼中一直遇到,但之前不懂其原理,幾乎都是繞著走。俗話說做不願意做的事情叫做突破,故誕生了該文章,算是新年的新氣象,新突破! 回調機制是什麼?其實回調機制一直在我們身邊存在著,只是我們習慣了存在就未曾察覺,懂得其原理就很簡單了。 先打個比方,設置場景如下,教師,成 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...