原创 Mysql索引底層原理

B+樹 鏈接: https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html 葉子節點冗餘了非葉子節點,非葉子節點右指針指向的葉子節點大於等於該非葉子節點,左指針指向

原创 穀粒商城項目總結(四)

線程回顧 初始化線程的4種方式: 繼承Thread 實現Runnable接口 實現Callable接口 + FutureTask(可以拿到返回結果,可以處理異常) 線程池 方式1和方式2:主進程無法獲取線程的運算結果。不適合當

原创 緩存穿透-布隆過濾器

緩存三大問題 緩存擊穿 熱點key失效 緩存雪崩 大量key失效 緩存穿透 大量請求不存在的key 解決緩存穿透 1.設置空key,缺點:導致redis中存儲了大量空值,請求另一個不存在的key時,需要設置新的空key。 2.

原创 hibernate表的繼承@DiscriminatorColumn(name="animalType")

@Entity @Inheritance(strategy=InheritanceType.SINGLE_TABLE) @DiscriminatorColumn(name="animalType") @Discrimi

原创 JVM常量池、棧、堆的比較

JAVA中,有六個不同的地方可以存儲數據 寄存器:最快的存儲區,位於不同於其他存儲區的地方——處理器內部。寄存器的數量極其有限,所以寄存器由編譯器根據需求進行分配。你不能直接控制,也不能在程序中感覺到寄存器存在的任何跡象。 棧:

原创 RestTemplate的Post和Get請求-發送請求參數,接受請求參數

一.表單提交 Postman發送Get請求和Post請求 可以獲取 //Get請求 @GetMapping("/form/get") public void testFormGet(User user){} @GetMappin

原创 實測可用-Spring Boot使用JPA多條件查詢mysql

package com.biologic.entity; import java.util.Date; import javax.persistence.Entity; import javax.persistence.Gen

原创 java常用api

1.Math.max() 2.數組長度 .length 3.字符串替換空格 str.replace(" “,”%20") 4.棧 import java.util.Stack; Stack stack = new Stack();

原创 操作系統-死鎖

一、什麼是死鎖 多個進程佔有並等待 死鎖是指多個併發進程,各自持有資源又都等待別的進程釋放所擁有的資源,在未改變這種狀態之前不能向前推進,這種狀態稱爲死鎖,死鎖產生的根本原因是系統資源不足。 二、死鎖的必要條件 互斥、非搶佔、佔有

原创 @Param註解的用法解析

@Param註解單一屬性 dao層示例 Public User selectUser(@param(“userName”) String name,@param(“userpassword”) String password);

原创 穀粒商城項目總結(一)

註冊中心Nacos(以服務爲主要服務對象的中間件) 面試題:微服務間遠程交互的過程? 先去註冊中心查詢服務的服務器地址。 調用方給對方發送http請求。 Nacos使用步驟: 引入Nacos和SpringCloud依賴。 在

原创 JSON

JSON.parseArray cateJson = "[ { "catId":22, "catLevel":2, "name":"電子書刊", "paren

原创 穀粒商城項目總結(二)

本地事務 在jdbc的api中,默認的情況爲自動提交事務,也就是說,每一條對數據庫的更新的sql語句代表一項事務,操作成功後,系統自動調用commit()來提交,否則將調用rollback()來撤消事務。 事務的核心是動態代理,

原创 穀粒商城項目總結(三)

緩存 redis配置 引入依賴 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-dat

原创 Java三大框架

Java三大框架  Java三大框架指程序員常說的三大框Spring、Struts、Hibernate。JAVA三大框架用可以用來做WEB應用。struts主要負責表示層的顯示,spring和Hibernate負責對數據庫的操作。  Ja