1. 前言 上一篇文章中,粗略的介紹了BIO,有興趣的可以去看一看。 Java NIO部分,我大致會(huì)寫4篇文章,前三篇介紹NIO的三個(gè)核心組件,第四篇介紹NIO的簡(jiǎn)單應(yīng)用 下...
1. 前言 上一篇文章中,粗略的介紹了BIO,有興趣的可以去看一看。 Java NIO部分,我大致會(huì)寫4篇文章,前三篇介紹NIO的三個(gè)核心組件,第四篇介紹NIO的簡(jiǎn)單應(yīng)用 下...
Java網(wǎng)絡(luò)編程之BIO 由于工作需要搭建一個(gè)TCP服務(wù),之前忽略了這塊,最近撿起來,順便記錄一下。 1. 什么是BIO? 在JDK1.4之前,基于Java的所有Socket...
什么是DAO? DAO:Data Access Object訪問數(shù)據(jù)信息的類和接口,包括了對(duì)數(shù)據(jù)的CRUD,而不包含任何業(yè)務(wù)相關(guān)的信息。 作用:為了實(shí)現(xiàn)功能的模塊化,更有利于...
數(shù)據(jù)庫(kù)事務(wù)介紹 事務(wù):一組邏輯操作單元,使數(shù)據(jù) 從一種狀態(tài)變換到另一種狀態(tài)。 一組邏輯操作單元:一個(gè)或多個(gè)DML操作(增刪改) 事務(wù)處理原則:保證所有事務(wù)都作為一個(gè)工作單元來...
MySQL的Blob類型 在MySQL中Blob是一個(gè)二進(jìn)制類型對(duì)象,是一個(gè)可以存儲(chǔ)大量數(shù)據(jù)的容器,它能容納不同大小的數(shù)據(jù)。 插入Blob類型的數(shù)據(jù)必須使用PreparedS...
PreparedStatement介紹 可以通過調(diào)用Connection對(duì)象的preparedStatement(String sql)方法獲取 PreparedStatem...
JDBC介紹 JDBC(Java Database Connectivity)是一個(gè)獨(dú)立于特定數(shù)據(jù)庫(kù)管理系統(tǒng)、通用的SQL數(shù)據(jù)庫(kù)存取和操作的公共接口(一組API),定義了用來...
我的電腦已經(jīng)安裝了MySQL-5.7.32,現(xiàn)在再安裝個(gè)MySQL-8.0.28 官網(wǎng)下載最新版的MySQL的安裝包(官網(wǎng)下載[https://dev.mysql.com/d...
async函數(shù) 什么是async函數(shù)? async函數(shù)是使用async關(guān)鍵字聲明的函數(shù)。 mdn文檔:https://developer.mozilla.org/zh-CN/...
Promise是什么? 理解 1. 抽象表達(dá) Promise是一門新的技術(shù)(ES6規(guī)范) Promise是JS中進(jìn)行異步編程的新解決方案?jìng)渥ⅲ号f的方案是單純使用回調(diào)函數(shù) 2....
代理是基本的設(shè)計(jì)模式之一。在我們的日常生活中也很常見,比如:黃牛。 代理模式設(shè)計(jì)的原理 使用一個(gè)代理將原始對(duì)象包裝起來,然后用該代理對(duì)象取代原始對(duì)象。任何對(duì)原始對(duì)象的調(diào)用都要...
反射概述 反射的簡(jiǎn)介 Reflection(反射)是被視為動(dòng)態(tài)語(yǔ)言的關(guān)鍵,反射機(jī)制允許程序在執(zhí)行期借助于Reflection API取得任何類的內(nèi)部信息,并能直接操作任意對(duì)象...
線程通信涉及到的三個(gè)方法 wait():一旦執(zhí)行此方法,當(dāng)前線程就進(jìn)入阻塞狀態(tài),并釋放同步監(jiān)視器。 notify():一旦執(zhí)行此方法,就會(huì)喚醒被wait的一個(gè)線程。如果有多個(gè)...
線程同步機(jī)制 背景 例子:創(chuàng)建個(gè)窗口賣票,總票數(shù)為100張,使用實(shí)現(xiàn)Runnable接口的方式。 代碼: 按照要求,這個(gè)程序顯然是有問題的:賣票過程中,出現(xiàn)了重票、錯(cuò)票,即出...
為什么要使用多線程 耗時(shí)的操作另起一個(gè)線程,提高應(yīng)用程序的響應(yīng)。 提高計(jì)算機(jī)系統(tǒng)CPU的利用率。 改善程序結(jié)構(gòu)。將既長(zhǎng)又復(fù)雜的進(jìn)程分為多個(gè)線程,獨(dú)立運(yùn)行,利于理解和修改。 應(yīng)...
在進(jìn)行Java多線程內(nèi)容之前,需要簡(jiǎn)單先了解一下程序、進(jìn)程、線程、并行與并發(fā)這些概念,弄懂了這個(gè),對(duì)于學(xué)習(xí)多線程,或者說對(duì)你理解多線程可能會(huì)有一定的幫助。 程序、進(jìn)程以及線程...
使用泛型,實(shí)現(xiàn)棧數(shù)據(jù)結(jié)構(gòu)(本例為鏈?zhǔn)綏#?棧是一種運(yùn)算受限的線性表,是一種先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu),限定只能在一端進(jìn)行插入和刪除操作,允許操作的一端稱為棧頂,不允許操作的稱為棧底...
類型擦除 泛型是Java 5才引入的特性,在這之前,并沒有泛型,所以Java的泛型和C++的不一樣,是通過類型擦除來實(shí)現(xiàn),是偽泛型,這可能為了兼容之前的版本,做出的無(wú)奈之舉吧...
泛型的概念 所謂泛型,就是允許在定義類、接口時(shí)通過一個(gè)標(biāo)識(shí)表示類中某個(gè)屬性的類型或者是某個(gè)方法的返 回值及參數(shù)類型。這個(gè)類型參數(shù)將在使用時(shí)(例如,繼承或?qū)崿F(xiàn)這個(gè)接口,用這個(gè)類...
本文主要介紹Java IO中的其他幾種流: 標(biāo)準(zhǔn)輸入、輸出流 打印流 數(shù)據(jù)流 對(duì)象流 隨機(jī)存取文件流 標(biāo)準(zhǔn)輸入、輸出流 簡(jiǎn)介 System.in:標(biāo)準(zhǔn)的輸入流,默認(rèn)從鍵盤輸入...