原创 elasticsearch plane 踩的坑

問題背景:在使用ES內置的座標距離篩選功能時,出現了問題,有一部分理論上平面距離大於界定值的數據,並沒有被篩選掉   因爲百度和google找到的文獻,都只是提及了ES的plane算法的優勢劣勢,但對其具體實現都是沒有提及,所以我只能硬着

原创 &和|的功能

&和|跟雙與雙或的區別是在得到計算結果之前一定要計算兩個操作數的值

原创 ES的total_shards_per_node設置導致索引red

最近在給測試環境es升級並換容器後,寫索引red,根據heath API知有寫分片沒有分配出去。 動態setting項total_shards_per_node在es官方默認是-1(每個分片shard數量無限制),自己的寫數據job沒有用

原创 一次httpclient長連接高併發問題的解決歷程與研究總結

相關背景   一個基於es的搜索項目,生產環境中目前qps爲4w多,所有的業務請求通過soa落在搜索微服務集羣,微服務集羣中每臺機器底層通過httpclient請求SLB(service load balance),SLB核心爲Nginx

原创 redis緩存問題及解決方案

最近在學習redis的時候,看到許多相關問題和解決方案,下面記錄了項目日常比較常見的問題,及我理解後的解決方案。 1、緩存穿透 問題描述:     緩存穿透是指查詢一個一定不存在的數據,由於緩存是不命中時需要從數據庫查詢,查不到數據則不寫

原创 去除oracle時的一個問題解決歷程

問題模擬場景簡述:首先,以前的oracle中有以下兩張表:user_info,city_infouser_info: user_id, register_time, register_city(整型)city_info: id, name

原创 引用類型轉換

如圖,父類A,子類B,C子類向父類轉換:自動造型  如  父類向子類轉換:強制轉換  編譯器只會檢查轉換前後兩類是否有繼承關係,如果有就通過,如下:但運行時就會檢查它的真實類型,是則通過,否則拋出ClassCastException異常

原创 Mybatis - - No constructor found特殊

今天在Mybatis的resultMap標籤裏對應實體時,遇到了一個奇怪的問題,解決後記錄下來以前我使用resultMap對應實體的時候,因爲業務中不需要通過構造器實例化這個實體,所以實體裏沒寫構造函數,這種情況下,對應轉化是正常的,沒有

原创 java類變量和對象變量的初始化問題

static final值聲明時必須給定初值 // final的static變量在類加載的準備階段就被賦予了給定的值,而且不再發生改變了,位置在方法區 //因爲static代碼塊的執行是在類加載的初始化階段,所以也不能改變final st

原创 synchronized內部代碼是否保證有序性

package jvmtest4;public class Main { private static int temp; private static volatile boolean flag; public

原创 雙重檢測鎖定的單例模式講解

package SingletonPattern; //雙重檢查鎖機制的單例模式,在JDK1.5之後,雙重檢查鎖定才能夠正常達到單例效果 public class Demo5 { //volatile確保了instance的內存

原创 idea依賴包版本衝突踩的坑

idea的maven引入依賴機制較強,出現了引入版本衝突,會只引入最高版本的包,但eclipse和Linux環境,會把不同版本的都引入進來

原创 String對象反序列化踩的坑

直接上問題模擬和總結:import java.io.*; public class Main { public static void main(String[] args) { String a = "ab

原创 &和|的功能

&和|跟雙與雙或的區別是在得到計算結果之前一定要計算兩個操作數的值

原创 JVM運行時數據區

程序計數器(pc計數器)    線程私有,唯一一個沒有OutOfMemoryError。JVM的多線程是通過線程輪流切換並分配處理器執行時間來實現的,爲了線程切換後能恢復到正確的執行位置,每個線程都有一個獨立的pc計數器。    線程正執