原创 Oracle爲返回的json數據添加序號

select row_number() over( order by t.時間字段 desc) as num ,t. from 表名 t oracle官網的描述:https://docs.oracle.com/cd/B28359

原创 MybatisPlus 代碼生成器模板

依賴jar包 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <ve

原创 把jar包做成windows服務

1.去GitHub下載需要的文件 2. 3. 2.修改xml配置文件和.exe文件 修改文件名,兩個文件的文件名要一致 修改xml文件內容 <!-- This is an example of

原创 Java垃圾回收-標記算法

標記算法 對象被判定爲垃圾的標準 沒有被其他對象引用:引用計數算法、可達性分析算法 引用計數算法 判斷對象的引用數量來決定對象引用是否可以被回收。 每個對象實例都有一個引用計數器,被引用則+1,完成引用-1 任何引用計數爲0

原创 Oracle日期查詢實現

<if test="dto.date!= null and dto.date!= ''"> and to_char(表中時間字段,'yyyy-mm')= #{dto.date}

原创 Java垃圾回收-老年垃圾收集器

Serial Old收集器(-XX:+UseSerialOldGC,標記-整理算法) 單線程收集,進行垃圾收集時,必須暫停所有工作線程 簡單高效,Client模式下默認的老年代收集器 Parallel Old收集器(-XX:

原创 Java垃圾回收-新生代垃圾收集器

兩個關於垃圾回收的關鍵詞 Stop-the-World JVM由於要執行GC而停止了應用程序的執行 任何一種GC算法都會發生 多數GC優化就是通過減少Stop-theWorld發生的時間來提高程序性能 Safepoint 分

原创 Content type multipart/form-data

在請求參數接收實體類中有MultipartFile類型,導致報錯。去掉@RequestBody 問題解決。原因不明

原创 Java多線程和併發-進程和線程的區別

進程是資源分配的最小單位,線程是CPU調度的最小單位 所有與進程相關的資源,都被記錄在進程控制塊(PCB)中 進程是搶佔處理機的調度單位;線程屬於某個進程,共享其資源 線程由堆棧寄存器、程序計數器和線程控制塊(TCB)組成

原创 Java垃圾回收-常見面試題

Object的finalize()方法的作用是否與C++的析構函數作用相同 public class Finalization { private static Finalization finalization;

原创 Redis基本數據類型

String 最基本數據類型,二進制安全。 就是k-v鍵值對,值最大存儲512M。 二進制安全就是能夠存儲任何類型的數據,比如jpg或序列化的對象 使用方式 set name "redis" 剛纔就是存儲了一個key爲name,

原创 Redis主從同步

原理 Master主服務器處理寫操作,Slave從服務器處理讀操作。每一個master和slave都代表一個個獨立的服務器。定期的數據備份,是通過某一個slave服務器來完成。 主從一致的問題 無法保持高可用性。 當mast

原创 密集索引和係數索引的區別

密集索引文件中的每一個搜索碼值都對應一個索引值 係數索引文件只爲索引碼的某些值建立索引 密集索引決定了表的物理排列順序,一個表只能有一個物理排列順序,所以一個表只能創建一個密集索引 以mysql爲例,有myisam存儲引擎爲

原创 Redis異步隊列

1 2 缺點 只能供一個消費者消費 3 實現多消費者消費 缺點 消息的發佈是無狀態的,無法保證可達 解決方式 使用專業的消息隊列,如kafka來解決 點贊 收藏 分享 文章舉報

原创 JVM如何加載.class文件

Java虛擬機 Native Interface 本地接口的作用是融合不同的語言爲Java所用,因爲C語言或C++的執行效率還是要比Java高,所以在看源碼時,有些方法上有native標識。 爲了不重複造輪子,不需要再開發一套