原创 Zookeeper概述

Zookeeper 1、Zookeeper是一個分佈式開源框架,主要用戶分佈式系統,所以Zookeeper不集羣是沒有意義的。 2、Zookeeper實質上存儲數據的容器,以節點(node)的形式存儲數據,如字符串、json、圖片等等

原创 微服務概述

傳統的單體架構:服務器訪問壓力很大 特徵:所有的模塊都放在一個系統中 集羣:減輕單臺服務器的訪問壓力(解決傳統單體架構的訪問壓力問題) 微服務(微服務是一種特殊的分佈式) 微服務:將一個項目拆分成若干個子模塊,分別部署在不同的服務

原创 Nginx概述

爲什麼使用Nginx? Nginx能支持5萬併發量,而且消耗CPU、內存很低,關鍵是性能穩定,所以國內很多企業都用Nginx,一些大公司,如阿里巴巴,也是再Nginx基礎上進行升級而已,畢竟是開源的。 Nginx的作用 1、Nginx

原创 消息中間件概述

爲什麼需要消息中間件? 消息中間件 常見的消息中間件:ActivaMQ、RabiitMQ、Kafka 消息中間件的原理:是基於消費者和生產者模型,是爲了解決數據不及時可達的問題 MQ的兩大模型 1、點對點通訊模型(P2P),一個消

原创 Redis的總結

Redis的基本介紹 1、Redis是一種完全開源免費的NoSql數據庫,key-value數據庫,非關係型數據庫,也是內存數據庫。 2、Redis的作用:減輕服務器訪問的壓力,提高用戶訪問的速度 3、傳統關係型數據庫MySql讀寫操

原创 SpringBoot總結

SpringBoot SpringBoot是一個微服務框架,每一個SpringBoot項目都是一個獨立的應用,且內置tomcat服務器。 SpringBoot開發的作用:簡化XML文件的配置,採用註解方法,從而提高開發效率 Sprin

原创 事務的傳播行爲

事務的傳播行爲 事務的傳播行爲有七種 (我從網上直接拷貝的話,大家可以結合下面的代碼理解) PROPAGATION.REQUIRED-------- 支持當前事務,如果當前沒有事務,就新建一個事務。這是最常見的選擇。 PROPAGAT

原创 聲明式事務的使用

聲明式事務 聲明式事務分爲XML聲明式事務和註解聲明式事務。 聲明式事務的原理:在編程事務的基礎上,加入了AOP動態代理的功能。 XML事務 1、配置XML文件 <?xml version="1.0" encoding="UTF-8"

原创 使用Spring的jdbc事務管理器手寫一個編程事務

事務 1、事務分類:編程事務和聲明式事務。 2、事務的作用是爲了保證數據的一致性。 3、事務的特性(ACID):原子性、一致性、隔離性、持久性 使用Spring的JdbcTemplate和Jdbc事務管理器寫一個編程事務 1、配置好b

原创 Mybatis之Sql注入問題

Sql注入 Sql注入:由於Sql拼接的原因,有些人使用一些非法的連接,導致Sql出現問題 Mybatis中$ 和#之間的區別:$會導致Sql注入,相當於Sql拼接的原始方式;#可以防止Sql注入,相當於預編譯的?佔位符方式。 Myb

原创 Ajax之跨域問題

跨域問題 跨域:瀏覽器有一個規定,在不同的域名下訪問,Ajax回調函數會被拒絕執行。 跨域常見的解決方案: 1、服務器端在響應頭中設置運行跨域即可。(適合小型企業使用) 2、使用jsonp完成跨域。(不建議使用,因爲jsonp只支持g

原创 防止表單的重複提交

防止表單的重複提交 表單重複提交的原因:網絡延遲,重新加載 表單重複提交的解決辦法:前端js控制,後端用token+session來控制(增加程序的容錯性) 1、前端用js來進行校驗 <%@ page language="java"

原创 Session入門

Session Cookie的侷限性:1、Cookie只能存儲字符串,而且不能是中文 2、一個Cookie只能存儲4KB大小的內容 會話管理除了Cookie之外,還有Session。 Session的存儲原理:Session將數據存儲

原创 Spring的AOP的總結

SpringAOP SpringAOP:面向切面編程,常見應用場景有權限、事務、控制、日誌等。 SpringAOP的原理:使用cglib代理設計模式。 用註解來模擬一下Spring的AOP 1、創建一個切面類= /** * 定義一個

原创 Servlet入門

Servlet 1、Servlet的作用:負責接收並處理用戶的請求,然後向瀏覽器發出響應。 2、所謂控制層框架,SpringMVC框架和Struts2框架底層都是用Servlet進行封裝的。 創建簡單的Servlet(分別用XML和註