原创 初識Netty原理

第一個Netty實踐DiscardServer 創建Netty項目 創建一個快速開始的Maven項目,導入Netty4.0版本的依賴(我的JDK是1.8,官方建議1.6以上)。Netty依賴如下: <dependency>

原创 HTTP協議知識總結

更好的瀏覽體驗: http://jie12366.xyz:8081/#/users/11/articles/59 HTTP 1.0 HTTP 1.0的問題 HTTP 1.0中,每一個請求都要開一個連接,請求結束,斷開連接。這樣的協

原创 初始Netty原理 (二)

上文已經瞭解到了Netty中的啓動器、反應器、通道、處理器、流水線,下面來了解一下Netty中較爲重要的ByteBuf緩衝區。 概念 優勢 Pooling池化,減少了內存複製和GC,提升了效率。 讀寫分開存儲,索引也分開了,不需

原创 MySQL知識點總結(重點分析事務)

範式 數據庫三種範式如下。 範式 描述 反例 第一範式 每個字段都是原子的,不能再分解 某個字段是JSON串,或者是數組 第二範式 1) 表必須有主鍵,可以是多個順序屬性的組合。2) 非主屬性必須完全依賴主屬性(

原创 MySQL中的“鎖”事

樂觀鎖和悲觀鎖 樂觀鎖:類似Java中的CAS算法,每次讀數據的時候都認爲別人不會修改數據,所以不會上鎖,只有在更新的時候去判斷數據是否被修改過,一般都會使用版本號機制實現。 悲觀鎖:類似Java中的synchronized和l

原创 經典排序算法歸納

算法概述 算法分類 十種常見排序算法可以分爲兩大類: 比較類排序:通過比較來決定元素間的相對次序,由於其時間複雜度不能突破O(nlogn),因此也稱爲非線性時間比較類排序。 非比較類排序:不通過比較來決定元素間的相對次序,它可以

原创 mui和H5+構建的仿微信App

canary_chat 一個仿微信的H5+應用,使用mui組件庫來構建接近原生APP的應用。後端採用springboot + mybatis,使用netty搭建websocket服務器用於聊天功能。 技術棧 HTML/CSS/J

原创 InnoDB存儲引擎的索引

概述 InnoDB存儲引擎目前支持以下索引 B+樹索引:關係型數據庫總最常用和最爲有效的索引 哈希索引:優化器根據表的使用情況自動構建哈希索引(如果優化器覺得使用哈希索引效率更高),不能認爲手動構建 全文索引:使用倒排索引構建,

原创 spring的AOP和事務

動態代理 代理模式:給一個對象提供一個代理,並由代理對象來控制真實對象的訪問(調用者並不知道真實對象是什麼)。 代理模式分靜態代理和動態代理。這裏只討論動態代理,通俗的講,動態代理就是在不修改代碼的基礎對被代理對象進行方法的增強。

原创 Redis的數據結構介紹

我們都知道Redis是用C語言編寫的內存數據庫。但是由於C幾乎沒有提供任何數據結構的封裝,所以Redis爲了實現更快,更安全的操作,自己在內部封裝了一系列的數據結構。 其中包括了簡單動態字符串、鏈表、字典、跳躍表、整數集合、壓縮列

原创 Mybatis入門

入門 安裝 如果使用 Maven 來構建項目,則需將下面的 dependency 代碼置於 pom.xml 文件中: <dependency> <groupId>org.mybatis</groupId> <artifac

原创 初始Netty原理(四)— 序列化

在開發一些遠程過程調用(RPC)的程序時,一般都會涉及到對象的序列化和反序列化的問題(因爲TCP或UDP這些低層協議只能傳輸字節流,所以應用層需要將Java POJO對象序列化爲字節流才能傳輸)。 對象的序列化方式有以下幾種方

原创 Spring中的IoC容器

什麼是IoC 什麼是耦合和內聚 耦合指的就是模塊之間的依賴關係。模塊間的依賴越多,則表示耦合度越高,相應的維護成本就越高。 內聚指的是模塊內功能之間的聯繫。模塊內功能的聯繫越緊密,則表示內聚度越高,模塊的職責也就越單一。 所以

原创 初識Netty原理(三)——解碼和編碼

在Netty底層讀入的是ByteBuf二進制數據,在實際開發中,需要將它解碼爲Java的POJO對象,處理完業務後,需要將Java的POJO對象編碼爲ByteBuf二進制數據放進通道中進行傳輸。這裏就需要使用到Netty的解碼器和

原创 中文情緒識別api

前言 國慶的時候用LSTM搭建的了一個神經網絡,訓練微博數據集來進行情感多分類。後來覺得之前那個數據集不太行,所以經過大量的資料搜索,使用了當前這個數據集。數據集的提供方是清華大學計算機系黃民烈副教授。共4萬多條句子,分爲其他(N