原创 NIO中的MappedByteBuffer使用

MappedByteBuffer 可讓文件直接在內存(堆外內存)修改, 操作系統不需要拷貝一次,提高性能。 import java.io.RandomAccessFile; import java.nio.MappedByteBu

原创 用NIO寫一個通信工具

服務器: import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.

原创 idea部署docker的pom文件配置對應的插件

<build> <finalName>${project.artifactId}</finalName> <plugins> <plugin> <groupId>org.sp

原创 RedisUtils springboot整合redis

import java.io.Serializable; import java.util.List; import java.util.Set; import java.util.concurrent.TimeUnit; imp

原创 NIO與零拷貝

前言 零拷貝是服務器網絡編程的關鍵,任何性能優化都離不開。在 Java 程序員的世界,常用的零拷貝有 mmap 和 sendFile。那麼,他們在 OS 裏,到底是怎麼樣的一個的設計?本文將簡單聊聊 mmap 和 sendFile

原创 Java中網絡編程IO種類簡介

Java共支持3種網絡編程模型IO模式: 1、BIO(阻塞io):服務器實現模式爲一個連接一個線程,即客戶端有連接請求時服務器就需要啓動一個線程進行處理,如果這個連接不做如何事情會造成不必要的線程開銷。(之前用BIO實現了一個簡單

原创 【github淘寶】Java學習+面試指南( 一份涵蓋大部分Java程序員所需要掌握的核心知識)

Java知識體系學習 一個較完整的Java知識總結開源項目,學習的不錯選擇: 包含的內容: Java 基礎 容器 併發 JVM 其他 網絡 操作系統 Linux 數據結構與算法 數據結構 算法 數據庫 MySQL Redis 系統

原创 【github淘寶】互聯網 Java 工程師進階知識完全掃盲

互聯網 Java 工程師進階知識完全掃盲 互聯網 Java 工程師進階知識完全掃盲:涵蓋高併發、分佈式、高可用、微服務、海量數據處理等領域知識,後端同學必看,前端同學也可學習 本項目大部分內容來自中華石杉,版權歸作者所有,內容涵

原创 Activiti7工作流引擎-環境搭建及創建數據庫

第1章 什麼是工作流 1.1工作流介紹 工作流(Workflow),就是通過計算機對業務流程自動化執行管理。它主要解決的是“使在多個參與者 之間按照某種預定義的規則自動進行傳遞文檔、信息或任務的過程,從而實現某個預期的業務目標,

原创 日誌配置文件

<?xml version="1.0" encoding="UTF-8"?> <configuration debug="false"> <!--定義日誌文件的存儲地址 勿在 LogBack 的配置中使用相對路徑-->

原创 實現一個簡單版的tomacat

結構圖: 實現的效果,請求資源,返回html頁面: 以下是代碼結構: 實現了對請求處理,讀取輸入流,並按照http格式進行解析,獲取請求方法行、請求頭、請求體的解析,解析完後進行對應方法分析,並按照請求資源返回。通過設置r

原创 【筆試題】開發一個座標計算工具

題目描述 開發一個座標計算工具, A表示向左移動,D表示向右移動,W表示向上移動,S表示向下移動。從(0,0)點開始移動,從輸入字符串裏面讀取一些座標,並將最終輸入結果輸出到輸出文件裏面。 輸入: 合法座標爲A(或者D或者W或者S

原创 JAVA解析Excel工具easyexcel之深入源代碼解密原理

EasyExcel.read(file, HeadReadData.class, new HDListener()).sheet(0).doRead(); EasyExcel.read(file, HeadReadDat

原创 JAVA解析Excel工具easyexcel之快速上手

easyexcel的底層是poi,它是對poi的封裝,原理是在讀取excel文件達到一定的數量後進行清空內存,並再繼續讀取內容,從而達到防止內存溢出的問題。 64M內存1分鐘內讀取75M(46W行25列)的Excel: 簡單上手

原创 Mybaties學習之路一:基本介紹及手動搭建mybaties訪問數據庫工程

前言: 在工作中項目提了個動態切換多數據庫的需求(具體需求見文章末尾),爬了N多的博客文章總結了大概有以下幾種方法: 1、用springboot的AOP進行切面處理配置datasource(service層),然後進行mybati