原创 面試必備——Java的Annotation註解

Annotation Annotation是一個接口,程序可以通過反射來獲取指定程序元素的Annotation對象,然後通過Annotation對象來取得註釋裏的元數據。 Annotation必須使用工具來處理,工具負責提取Ann

原创 用Java實現平衡二叉樹

​平衡二叉樹的定義 在談平衡二叉樹之前,首先了解一下二叉排序樹。空樹或者具有以下特性的二叉樹就是二叉排序樹: 若左子樹非空,則左子樹上所有結點關鍵字的值均小於根節點的關鍵字的值。 若右子樹非空,則右子樹上所有結點關鍵字的值均大於

原创 面試不能不懂的進程與線程

進程的概念 爲什麼引入進程? 在多道程序同時運行的背景下,進程之間需要共享系統資源,這樣就會導致各程序在執行過程中出現相互制約的關係,程序的執行就會表現出間斷性的特徵。這些特徵都是在程序的執行過程中發生的,是動態的過程,而傳統的程

原创 數據庫之系統的三級模式結構

數據庫系統的三級模式結構 在數據庫系統內部管理數據採用三級模式結構。數據庫系統的三級模式結構是指數據庫系統由外模式、模式和內模式三級構成。 數據庫系統模式的概念 型:對某一類數據的結構和屬性的說明。 值:是型的一個具體賦值。

原创 佈線問題(附代碼)

佈線問題 在N*M的方格陣列中指定一個方格的點a,一個方格的點b,求出a到b的最短佈線方案(即最短路徑)。佈線時只能走直線或直角,不能走斜線。 問題分析 1、將方格抽象爲頂點,中心方格和相鄰四個方向(上、下、左、右)能通過的方格

原创 面試必備——數據庫觸發器

觸發器是用戶定義在關係表上的一類由事件驅動的特殊過程。一旦定義,觸發器將被保存在數據庫服務器中。任何用戶對錶的增、刪、改操作均由服務器自動激活相應的觸發器,在關係數據庫管理系統核心層進行集中的完整性控制。觸發器類似於約束,但是比約

原创 二叉樹之建樹和七種遍歷(含Java代碼)

二叉樹的建樹和七種遍歷(含Java代碼) 詳細代碼請訪問我的github:二叉樹操作 二叉樹結點定義 一個樹結點最基本的字段就是三個字段,分別代表該結點的值和它的左右孩子結點。 public class TreeNode {

原创 Java CC實現語法分析

#語義分析 設計MiniC的上下文無關文法,在“Parser.jjt”文件中表示該文法,生成調試遞歸下降分析程序,以便對任意輸入的符號串進行分析; 以文件流的形式讀入要分析的C語言程序; 如果輸入的源程序符合MiniC的語法規範

原创 面試必備——HTTP協議的理解

萬維網的內核部分是由三個標準構成的: (1)統一資源定位符(URL),負責標識萬維網上的各種文檔,並使每個文檔在整個萬維網的範圍內具有唯一的標識符URL。 (2)超文本傳輸協議(HTTP),是一個應用層協議,使用TCP連接進行可

原创 SpringAOP不生效的情況

在使用SpringAOP的過程中不知道大家有沒有遇到這樣一個問題,就是我對一個方法做了AOP的增強,但是在內部方法的調用過程中,卻發現它並沒有按照預期設定的那樣執行AOP的增強。 下面我通過一個例子來說明這種情況。 首先先在

原创 想學Spring?那就不能不學動態代理(示例代碼講解)

Java的動態代理是學習Java的時候一個不好理解的知識點,本文將分享我在學習這個知識點中的筆記和理解。 Java的java.lang.reflect包下提供了一個Proxy類和一個InvocationHandler接口,通過

原创 你能實現平衡二叉樹嗎?

​平衡二叉樹的定義 在談平衡二叉樹之前,首先了解一下二叉排序樹。空樹或者具有以下特性的二叉樹就是二叉排序樹: 若左子樹非空,則左子樹上所有結點關鍵字的值均小於根節點的關鍵字的值。 若右子樹非空,則右子樹上所有結點關鍵字的值均大於

原创 使用Java生成思維導圖

使用Java生成思維導圖 前言 最近因爲一些原因需要做一些資料管理,準備建一個文件夾,然後對各種資料做一個分類,每個分類做一個文件夾。 可以想象,隨着資料數量和種類的增多,文件層級關係的增加,以後需要查一個文件在哪個位置的時候可能

原创 idea2020.1踩坑:找不到程序包和符號(冷門解決)

idea2020.1踩坑:找不到程序包和符號(冷門解決) 我下好idea2020.1和maven之後,在maven的setting.xml加上了localRepository修改倉庫位置,然後在idea的setting裏面設置ma

原创 程序練習之地圖探測

問題描述 假如有這樣一個區域,區域被劃分成了一個4 x 6的探測網格,區域的長和寬都不能超過100。 在探測這個區域時,將會沿着蛇形路線遍歷探測網格上的每一個格子:從左上角開始,向右飛行到盡頭;再轉向下一行,從右向左飛到盡頭;再轉頭