原创 Spring實現事務的方式

Spring 並不直接支持事務,只有當數據庫支持事務時,Spring 才支持事務,Spring 只不過簡化了開發人員實現事務的步驟。 Spring 提供了兩種方式實現事務: 聲明式和編程式 如何選擇 當需要用到事務操作的地方很少的時候

原创 類加載,雙親委派機制

 一、什麼是類加載機制? 虛擬機把描述類的數據從Class文件加載到內存,並對數據進行校驗、轉換解析和初始化,最終形成可以被虛擬機直接使用的Java類型,這就是虛擬機的類加載機制。 二、類加載的時機 類從被加載到虛擬機內存中開始,到卸載出

原创 細說Spring--AOP詳解(AOP概覽)

鏈接:https://blog.csdn.net/q982151756/article/details/80513340

原创 Redis爲什麼這麼快?幾種IO的介紹

redis單線程問題     單線程指的是網絡請求模塊使用了一個線程(所以不需考慮併發安全性),即一個線程處理所有網絡請求,其他模塊仍用了多個線程。 1. 爲什麼說redis能夠快速執行 (1) 絕大部分請求是純粹的內存操作(非常快速)

原创 線程間的通信、同步方式與進程間通信方式

1、線程間的通信方式 使用全局變量 主要由於多個線程可能更改全局變量,因此全局變量最好聲明爲volatile 使用消息實現通信 在Windows程序設計中,每一個線程都可以擁有自己的消息隊列(UI線程默認自帶消息隊列和消息循環,工作線

原创 java中的接口和抽象類

java的三大特性:封裝、繼承、多態。 問題一:爲什麼要設計接口和抽象類? 接口:  官方解釋:Java接口是一系列方法的聲明,是一些方法特徵的集合,一個接口只有方法的特徵沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些

原创 Java類加載機制

Java 類加載機制(阿里面試題)-何時初始化類  (1)可以不可以自己寫個String類 答案:不可以,因爲 根據類加載的雙親委派機制,會去加載父類,父類發現衝突了String就不再加載了; (2)能否在加載類的時候,對類的字節碼進行修

原创 Java中String類的內存分配- JDK1.7

1. 物理的內存是線性結構,並不存在擁有不同功能的不同區域。     編譯器(或者JVM)爲了更高效地處理數據,會用不同的算法把內存分爲各種區域,不同的區域擁有各自的特性,Java中,內存    可以分爲棧,堆,靜態域和常量池等。(可能有

原创 volatile和synchronized的區別

首先需要理解線程安全的兩個方面:執行控制和內存可見。 執行控制的目的是控制代碼執行(順序)及是否可以併發執行。 內存可見控制的是線程執行結果在內存中對其它線程的可見性。根據Java內存模型的實現,線程在具體執行時,會先拷貝主存數據到線程本

原创 https和http的主要區別

HTTPS和HTTP的區別主要如下: 1、https協議需要到ca申請證書,一般免費證書較少,因而需要一定費用。 2、http是超文本傳輸協議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協議。 3、http和https使用的

原创 Redis爲什麼快

Redis有多快? Redis採用的是基於內存的採用的是單進程單線程模型的 KV 數據庫,由C語言編寫,官方提供的數據是可以達到100000+的QPS(每秒內查詢次數)。這個數據不比採用單進程多線程的同樣基於內存的 KV 數據庫 Memc

原创 Redis數據備份與恢復

                                            Redis的兩種持久化機制         Redis支持RDB和AOF兩種持久化機制,持久化功能有效的避免因進程退出造成的數據丟失問題。Redis是

原创 常用的七種線程池

常見的七種線程池: (1)newSingleThreadExecutor():單個線程的線程池,即線程池中每次只有一個線程工作保證所有任務按照指定順序執行(FIFO,LIFO,優先級),單線程串行執行任務。 (2)newFixedThre

原创 java創建多線程的四種方式及其區別

 java創建多線程有如下四種方式: 繼承Thread類創建線程 實現Runnable接口創建線程 使用Callable和Future創建線程 使用線程池比如用Executor框架 下面分別介紹這四種創建多線程的方式 1. -------

原创 分庫分表?如何做到永不遷移數據和避免熱點?

一、前言 中大型項目中,一旦遇到數據量比較大,小夥伴應該都知道就應該對數據進行拆分了。有垂直和水平兩種。 垂直拆分比較簡單,也就是本來一個數據庫,數據量大之後,從業務角度進行拆分多個庫。如下圖,獨立的拆分出訂單庫和用戶庫。 水平拆分的概