原创 BigDecimal.ROUND_HALF_EVEN (銀行家算法)

四捨六入,五看前一位是偶數舍,奇數進位 BigDecimal a = new BigDecimal(5.54); System.out.println(a.setScale(1, BigDecimal.ROUND_HALF_EVE

原创 微信公衆號開發(java實現)

網上看的這篇文章介紹的還是比較詳細的:微信公衆號開發基本流程 微信開發者文檔 微信公衆平臺 微信開放平臺 下面主要介紹一下接入公衆號開發,前面賬號申請,後臺配置就不說了 創建公衆號菜單 1、獲取access_token: http

原创 SpringBoot整合RabbitMQ學習記錄

SpringBoot整合RabbitMQ學習記錄RabbitMQ簡介交換機類型介紹Direct Exchange:Topic:Fanout:Headers:show you codeDirect ExchangeTopic Exc

原创 微信授權登錄(java實現)

微信公衆平臺開發文檔 微信授權登錄獲取用戶信息有2種方式: 1.靜默授權獲取用戶信息、 2.非靜默授權彈出授權界面,用戶確認之後獲取用戶信息(這種方法能夠獲取到更多信息)。 開發前準備: 1.獲取到AppID 2.AppSecr

原创 對象鎖和類鎖的區別

對象鎖和類鎖的區別synchronized 關鍵字對象鎖1、鎖住 this 對象2、 鎖住實體裏的非靜態變量3、直接鎖非靜態方法對象鎖代碼測試類鎖1、鎖住 xxx.class2、鎖住類中的靜態變量3、直接在靜態方法上加 synch

原创 List中文排序&對象多屬性排序

根據姓名首字母升序 引入maven依賴 <dependency> <groupId>org.clojars.cbilson</groupId> <artifactId>pinyin4j</artifactId>

原创 微信模板消息推送(java實現)

1、獲取Access_token-微信開發文檔 2、模板消息接口-微信開發文檔 首先需要在微信公衆號後臺模板消息中申請模板id,申請好以後可以在模板消息–>我的模板–>模板詳情中查看到具體模板id和模板樣式 例如: 下面就可以開

原创 List集合循環remove/add時報錯ConcurrentModificationException

其實關於這個問題,在阿里巴巴Java開發手冊中有規定: WHY ? 查看源碼之後才知道是因爲 那麼modCount和expectedModCount是什麼呢? modCount是ArrayList中的一個成員變量。它表示該

原创 order by case when 使用方法

假設現在項目(project)狀態分爲以下幾種: /** 草稿 / DRAFT(1), /* 已發佈 / RELEASED(2), /* 已下架 / REMOVED(3), /* 已刪除 */ DELETED(4); 現在想要

原创 創藍閃驗一鍵登錄(Java實現)

閃驗業務流程 官網提供了demo下載(有簽名工具類,發送http請求工具類,加解密工具類): 下面貼出核心業務代碼: package com.pica.cloud.account.account.server.model; i

原创 蘋果登錄的後臺驗證token(JAVA)sign with apple

蘋果登錄後臺token校驗分爲2種方式: 1、jwt校驗 2、授權碼校驗 我這裏記錄一下第一種方式 流程大致如下: 添加maven依賴: <dependency> <groupId>io.jsonwebtoken</group

原创 Redis的集中序列化器

對redis的value使用以下序列化方式進行序列化操作: 1:JdkSerializationRedisSerializer: 2:GenericJackson2JsonRedisSerializer 3:StringRedis

原创 synchronized與Lock的區別比較

synchronized與Lock的區別比較 1、synchronized 是Java內置的關鍵字,使用後會自動釋放鎖, Lock是java.util.concurrent.Locks 包下的一個接口,必須要手動釋放。特別是在發生

原创 syncronized底層實現原理及相關優化

syncronized底層實現原理及相關優化實現原理Java對象頭、monitorJava對象頭monitor鎖優化自旋鎖適應自旋鎖鎖消除鎖粗化輕量級鎖釋放鎖偏向鎖重量級鎖 記得剛剛開始學習Java的時候,一遇到多線程情況就是sy

原创 Java中的CAS理解

Java中的CAS理解CAS是什麼?CAS能做什麼?CAS在java中的應用CAS有沒有什麼不好的隱患呢?1、首先就是經典的ABA問題2、長時間自旋非常消耗資源3、只能保證一個共享變量的原子操作。 在JDK 5之前Java語言是靠