原创 IDEA Redisson筆記

首先在 pom.xml 配置依賴 <dependency> <groupId>org.redisson</groupId> <artifactId>redisson</arti

原创 JAVA 函數式接口與lambda表達式

以下,只有一個函數的接口是函數式接口: @FunctionalInterface public interface Functor { void run(); } 它可以接收lambda表達式,可以通過以下方式:

原创 IDEA spring-boot 添加 application.properties 及讀取配置

默認會使用 application.properties 作爲啓動相關的配置。 比如 http 端口可以配置爲: 啓動時就會指定此配置作爲 http 端口: 也可以自定義配置 然後通過 @Value 註解從配置自動初始化字段 異常情

原创 IDEA spring-boot 綁定ApplicationContext

要獲取各種bean,需要用到 ApplicationContext 獲取它的引用方式是先綁定它: @Component public class AppContext implements ApplicationContextAware {

原创 IDEA spring-boot 添加一個Component class

使用註解 @Component ,進程啓動後會創建一個單例的bean 。 代碼如: @Component public class Hello { private final Logger logger = LoggerFactor

原创 IDEA maven配置spring-boot

修改 pom.xml 內容如 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:

原创 IDEA設置編輯器字體大小

如圖,打開setting 然後搜索 Font

原创 Ubuntu下安裝IDEA

命令是 sudo snap install intellij-idea-community --classic 啓動完畢後,再安裝 jdk1.8 (因爲這個版本是我工作環境用的) 接着,就可以創建一個JAVA文件,然後運行測試了

原创 關於JAVA設置新生代內存頂住了開服壓力這件事

最近轉了JAVA服務端開發。遊戲開服的時候服務器壓力特別大。 查看了日誌發現是YOUNG GC特別頻繁,而且新生代內存很少。因爲啓動參數並沒有設置新生代內存,是由JVM自動分配的。 修改了新生代內存後 -Xnm256m 後,服務端開服壓

原创 使用 wget 發送 http 請求

wget -q -O - ip:port/...

原创 C++延遲delete對象方案:採用unique_ptr託管欲刪除的對象指針

在循環遍歷容器的時候,假如容器裏面存的是動態對象的指針,我們就不能簡單地移除掉此容器元素,還需要把此指針指向的對象 delete 掉。 但隨着業務的增長,循環中我們需要對次對象執行大量的操作,這種情形下,我們往往會延遲delete掉此對象。

原创 windows下的bash工具:win-bash

我比較熟悉bash腳本,而在windows下,默認是不能執行它的。 通過win-bash工具集,可以解決這個問題。它還提供了一些其他實用工具,比如sed 這裏可以下載 https://sourceforge.net/projects/win

原创 C++避坑:避免在循環遍歷容器時,在循環體內刪除、增加元素

隨着業務的增長,循環體可能會逐漸複雜起來。 我們通常遍歷一個容器,對其中的每一個元素執行方法,從而更新它們的狀態。隨着代碼逐漸複雜,我們在寫新的方法時,可能並沒有意識到this正處於循環遍歷當中。此時若對容器進行大小的修改,即增加元素或刪除

原创 C++獲取兩個值的差距比

今天寫一個小程序,得到兩個值的差距比。比如100和120之間差了0.2,120和100同樣差了0.2。 這是一個簡單的數學問題,通過數學公示能夠得到: min + min * diff_per = max; 從而 diff_per = (

原创 C++函數類型以及函數表實驗

C++的函數也有類型。比如: void func(int a); 上面的函數的類型是: void(int) 它可以作爲模板類型參數,如同普通的類型一樣: template<typename T> Foo; Foo<void(int)>