你通俗易懂的理解——線程、多線程與線程池

一:異常處理

????????1.1 異常概述

????????????????(1)場景

????????????????????????

????????????????(2)定義

????????????????????????

????????????????(3)異常拋出機制

????????????????????????Java把不同的異常用不同的類表示

????????????????????????

????????????????(4)如何對待異常

????????????????????????

????????1.2 常見異常類

????????????????????????

????????????????(1)Throwable

????????????????????????

????????????????(2)Error

????????????????????????

????????????????(3)Exception

????????????????????????

? ? ? ? ? ? ? ? (4)編譯時異常和運行時異常

????????????????????????

????????????????????????編譯時異常

????????????????????????

????????????????????????運行時異常

????????????????????????

????????1.3 異常處理

? ? ? ? ? ? ? ? ? ?(1)概述

? ? ? ? ? ? ? ? (2)異常處理方式

????????????????????????

? ? ? ? ? ? ? ? (3)try-catch-finally

????????????????????????抓拋模型

????????????????????????????????抓的過程,生成異常類對象后將對象拋出,程序不執行其后代碼

????????????????????????????????抓:對拋出的異常對象進行捕獲處理

????????????????????????????????

????????????????????????基本結構

????????????????????????????????

????????????????????????使用細節

????????????????????????????????

????????????????(4)finally

????????????????????????

????????????????????????是否必須寫

????????????????????????

????????????????????????一定要聲明在finally中的代碼

????????????????????????

?????????????????(5)throws

????????????????????????????????是否真正處理了異常

????????????????????????????????

????????????????(6)自定義異常

????????????????????????????????自定義異常類

????????????????????????????????

????????????????????????????????使用自定義異常類

????????????????????????????????

????????????????????????????????使用自定義異常原因

????????????????????????????????

二:線程

????????2.1 相關概念

????????????????(1)程序、進程、線程

????????????????????????程序是一段代碼,進程是程序的執行過程(從創建到使用到消亡),線程

????????????????(2)線程調度

????????????????????????分時調度:所有線程輪流使用CPU的使用權

????????????????????????搶占式調度:讓優先級高的線程優先使用CPU

????????2.2 常用方法和生命周期

????????????????(1)常用方法

????????????????????????構造器

????????????????????????

????????????????????????Sleep(long mills):靜態方法,調用時,可以使得當前線程睡眠指定毫秒數

? ? ? ? ? ? ? ? (2)生命周期

????????????????????????阻塞一定是臨時狀態

????????????????????????

????????2.3 線程創建方式

????????????????(1)步驟

????????????????(2)代碼

????????????????????

????????????????????????????????使用實現Runnable接口的方式(提供了Runnable接口匿名實現類的匿名對象)

????????????????

????????2.4 線程安全

????????????????(1)問題描述:多線程賣票出現了重票和錯票

????????????????(2)解決思路:保證一個線程a在操作ticket的過程中,其它線程必須等待,知道線程a操作ticket結束以后,其它線程才可以操作共享數據

????????????????(3)實現

????????????????????????使用線程同步機制(同步代碼塊或同步方法)

????????????????????????需要被同步的代碼,在被synchronized包裹以后,就使得一個線程在操作這些代碼的過程中,其它線程必須等待

????????????????????????同步監視器:俗稱鎖,哪些線程獲取了鎖,哪個線程就能執行需要被同步的代碼

(4)代碼

?????

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/81958.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/81958.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/81958.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

w~自動駕駛~合集13

我自己的原文哦~ https://blog.51cto.com/whaosoft/13933252 # 小米智能駕駛技術的一些猜測 來蹭一下小米汽車智能駕駛的熱度,昨晚聽了雷總小米汽車的發布,心潮澎湃尋思下單一輛奈何現實不允許hhh。 言歸正傳吧, 本來是想主要聽一下小米…

AI 面試幫 開發日志

項目源碼 https://cnb.cool/szu/TravelBest/Platform/-/tree/main 文章目錄 架構微服務網絡通信延遲 中間件redisMongoDB 架構 微服務 優點: 模塊間解耦、職責清晰,獨立部署與擴展,單個服務故障不會影響整個系統,便于持續交付與…

論文閱讀(四):Agglomerative Transformer for Human-Object Interaction Detection

論文來源:ICCV(2023) 項目地址:https://github.com/six6607/AGER.git 1.研究背景 人機交互(HOI)檢測需要同時定位人與物體對并識別其交互關系,核心挑戰在于區分相似交互的細微視覺差異&#…

部署java項目

1.編寫shell腳本部署服務 restart.sh #!/bin/bash # # start the user program # echo "-------------------- start jk service --------------------" LOG_DIR"/home/joy/usr/app/ers-log" LOG_FILE"$LOG_DIR/log_$(date "%Y%m%d").txt&…

第18天-NumPy + Pandas + Matplotlib多維度直方圖

示例1:帶樣式的柱狀圖 python 復制 下載 import numpy as np import pandas as pd import matplotlib.pyplot as plt# 生成數據 df = pd.DataFrame(np.random.randint(10, 100, size=(8, 4)),columns=[Spring, Summer, Autumn, Winter],index=[2015, 2016, 2017, 2018, 20…

關于 Web 安全實踐:4. 文件上傳功能的風險分析與防護

定義:文件上傳風險點是指應用程序允許用戶上傳文件,但沒有嚴格校驗上傳文件的類型、內容、路徑等屬性,導致攻擊者可以上傳并執行惡意代碼。 繞過方式: 前端繞過 1. 前端限制的原理 前端限制上傳文件類型的常見方式有三種&#…

升級SpringBoot2到3導致的WebServices升級

背景 WebServices 是基于開放標準(XML、SOAP、HTTP 等)的 Web 應用程序,它們與其他 Web 應 用程序交互以交換數據。WebServices 可以將您現有的應用程序轉換為 Web 應用程序。 老代碼中有一個19年前的包,由于漏洞原因,…

Vue3中插槽, pinia的安裝和使用(超詳細教程)

1. 插槽 插槽是指, 將一個組件的代碼片段, 引入到另一個組件。 1.1 匿名插槽 通過簡單的案例來學習匿名插槽,案例說明,在父組件App.vue中導入了子組件Son1.vue,父組件引用子組件的位置添加了一個片段,比如h2標簽,然…

【Redis】AOF日志

目錄 1、背景2、工作原理3、核心配置參數4、優缺點5、AOF文件內容 1、背景 AOF(Append Only File)是redis提供的持久化機制之一,它通過記錄所有修改數據庫狀態的寫命令來實現數據庫持久化。與RDB(快照)方式不同&#…

【HTTP】connectionRequestTimeout與connectTimeout的本質區別

今天發現有的伙伴調用第三方 httpclient 的配置中 connectTimeout 和 connectionRequestTimeout 配置的不到 1 S,問了一下他,知不知道這兩個參數的意思,他說不知道。那我們今天就來了解一下這兩個參數的區別 一、核心概念解析 1.1 connectT…

react中運行 npm run dev 報錯,提示vite.config.js出現錯誤 @esbuild/win32-x64

在React項目中運行npm run dev時,如果遇到vite.config.js報錯,提示esbuild/win32-x64在另一個平臺中被使用,通常是由于依賴沖突或緩存問題導致的。解決方法是刪除node_modules文件夾,并重新安裝依賴。 如下圖: 解決辦…

EMQX開源版安裝指南:Linux/Windows全攻略

EMQX開源版安裝教程-linux/windows 因最近自己需要使用MQTT,需要搭建一個MQTT服務器,所以想到了很久以前用到的EMQX。但是當時的EMQX使用的是開源版的,在官網可以直接下載。而現在再次打開官網時發現怎么也找不大開源版本了,所以…

Python:操作Excel按行寫入

Python按行寫入Excel數據,5種實用方法大揭秘! 在日常的數據處理和分析工作中,我們經常需要將數據寫入到Excel文件中。Python作為一門強大的編程語言,提供了多種庫和方法來實現將數據按行寫入Excel文件的功能。本文將詳細介紹5種常見的Python按行寫入Excel數據的方法,并附上…

vue3中RouterView配合KeepAlive實現組件緩存

KeepAlive組件緩存 為什么需要組件緩存代碼展示緩存效果為什么不用v-if 為什么需要組件緩存 業務需求&#xff1a;一般是列表頁面通過路由跳轉到詳情頁&#xff0c;跳轉回來時&#xff0c;需要列表頁面展示上次展示的內容 代碼展示 App.vue入口 <script setup lang"…

【JAVA】比較器Comparator與自然排序(28)

JAVA 核心知識點詳細解釋 Java中比較器Comparator的概念和使用方法 概念 Comparator 是 Java 中的一個函數式接口,位于 java.util 包下。它用于定義對象之間的比較規則,允許我們根據自定義的邏輯對對象進行排序。與對象的自然排序(實現 Comparable 接口)不同,Comparat…

浪潮服務器配置RAID和JBOD

目錄 1 配置RAID2 設置硬盤為JBOD模式3 驗證結果 1 配置RAID 進入 bios 界面 選擇 “高級” - “UEFI-HII配置” 選擇 raid 卡 進入 Main Menu 點擊 Driver Management&#xff0c;可以查詢當前硬盤 返回上一級&#xff0c;點擊 Configuration Management - Create virtu…

mongodb管理工具的使用

環境&#xff1a; 遠程服務器的操作系統&#xff1a;centOS stream 9; mongoDB version:8.0; 本地電腦 navicat premium 17.2 ; 寶塔上安裝了mongoDB 目的&#xff1a;通過本地的navicat鏈接mongoDB,如何打通鏈接&#xff0c;分2步&#xff1a; 第一步&#xff1a;寶塔-&…

03-Web后端基礎(Maven基礎)

1. 初始Maven 1.1 介紹 Maven 是一款用于管理和構建Java項目的工具&#xff0c;是Apache旗下的一個開源項目 。 Apache 軟件基金會&#xff0c;成立于1999年7月&#xff0c;是目前世界上最大的最受歡迎的開源軟件基金會&#xff0c;也是一個專門為支持開源項目而生的非盈利性…

實景VR展廳制作流程與眾趣科技實景VR展廳應用

實景VR展廳制作是一種利用虛擬現實技術將現實世界中的展覽空間數字化并在線上重現的技術。 這種技術通過三維重建和掃描等手段&#xff0c;將線下展館的場景、展品和信息以三維形式搬到云端數字空間&#xff0c;從而實現更加直觀、立體的展示效果。在制作過程中&#xff0c;首…

Python爬蟲實戰:獲取天氣網最近一周北京的天氣數據,為日常出行做參考

1. 引言 隨著互聯網技術的發展,氣象數據的獲取與分析已成為智慧城市建設的重要組成部分。天氣網作為權威的氣象信息發布平臺,其數據具有較高的準確性和實時性。然而,人工獲取和分析天氣數據效率低下,無法滿足用戶對精細化、個性化氣象服務的需求。本文設計并實現了一套完整…