原创 java中內存泄漏的問題

1.什麼是java中的內存泄露 內存泄漏定義:無用對象持續佔有內存或無用對象的內存得不到釋放,從而造成內存空間的浪費。 滿足的條件: 1.對象與GCROOT的節點相連,不是垃圾對象; 2.對象是無用的 這些對象不會被GC所回收,

原创 java如何判斷一個對象是否存活

1. 引用計數法 引用計數器法:每個對象設置一個引用計數器,當對象被引用,計算器加1,當引用失效,計算器減一。當計數器爲0時, 表示引用失效,也就是"死對象",可以被垃圾回收機制回收。 缺陷:無法解決循環依賴的問題。有兩個對象A

原创 單例模式的雙重檢測

1.一般的單例模式如下: class Singleton{ private static Singleton singleton; private Singleton(){} pu

原创 shiro註解解決按鈕級別權限的校驗

1.spring容器中注入shiro的權限解析器 <!--權限處理器,主要是用來處理傳過來的權限信息的,裏面只有一個方法 --> <bean id="userPermissionResolver" class="com.xdja.

原创 類CountDownLatch的使用

1.簡介 允許一個或多個線程等待,直到在其他線程中執行的一組操作完成爲止。 一個CountDownLatch初始化爲給定數。該await方法將阻塞,直到由於該countDown()方法的調用導致當前計數達到零爲止,此後所有等待線程

原创 CyclicBarrier類

1.簡介 可循環利用的屏障。 它允許一組線程互相等待,直到到達某個公共屏障點 (common barrier point)。在涉及一組固定大小的線程的程序中,這些線程必須不時地互相等待,此時 CyclicBarrier 很有用。因

原创 redis常見的緩存問題(穿透、雪崩、擊穿)

redis緩存穿透 簡介 null值問題。緩存數據先從緩存查詢,再從數據庫查詢。如果key值不存在,則從db中獲取。這樣大量的請求,緩存失效,給服務器造成壓力。 解決方法 方法一:key值不存在的也保存在緩存中,設置短的過期時間

原创 java中的日誌

日誌:程序開發中的一些信息. 常用信息輸出:System.out.println(“”); * 這種方式不好: * 如果輸出內容比較多,項目已經開發完畢,不想使用輸出.需要打開每個類,將輸出的代碼註釋. 日誌:Hibernat

原创 二叉樹遍歷算法的應用(java版)

1.統計二叉樹中節點的個數 思路:統計二叉樹節點個數,無次序的要求,按照一種次序遍歷,遇到節點count++即可。 代碼: /* * 先根序統計節點的個數 */ private int count

原创 SpringMVC執行流程

1.SpringMVC的流程圖 2.執行流程 1、用戶發送請求至前端控制器DispatcherServlet 2、DispatcherServlet收到請求調用HandlerMapping處理器映射器。 3、處理器映射器

原创 圖解歸併排序算法(java版)

歸併排序:採用分治法的思想(遞歸),將整個數組序列分成兩個序列,再講兩個序列分成各自的子序列,採用遞歸的思想解決一個個的子問題。 歸併排序的時間複雜度:O(n*lgn) 歸病排序的空間複雜度:O(n) 歸併排序的兩個核心: 核

原创 HttpClient的HttpGet、HttpPost、HttpPut、HttpDelete工具類

//Http的get請求方法 public static String httpGet(String listenIp, String service, JSONObject jsonStr) { String s

原创 jdbc獲取mysql、oracle數據庫的表、字段、主鍵、唯一索引

根據數據庫的四大參數獲取指定庫中的所有表 //根據數據庫的參數獲取指定庫中的所有表 public static List<Map<String, String>> getDbTables(String driver, String

原创 IDEA版本控制工具VCS中使用Git,以及快捷鍵總結(不使用命令)

場景介紹: 工作中多人使用版本控制軟件協作開發,常見的應用場景歸納如下: 假設小組中有兩個人,組長小張,組員小袁 場景一:小張創建項目並提交到遠程Git倉庫 場景二:小袁從遠程Git倉庫上獲取項目源碼 場景三:小袁修改了部分源碼,

原创 [ElementUI]el-table-column(表頭)使用 :render-header 實現el-select(下拉框)

本文講述使用ElementUi的表格時,表頭實現下拉框的功能: 實現的效果圖如下所示: 表格的定義 <el-table :data="tableLogData" style="width: 100%" header-cell-cla