原创 ThreadLocal一篇將從底層到原理講清

ThreadLocal 1.是什麼 一個存儲結構,可以定義一個變量,每一個線程都可以擁有這個變量的副本,每個線程對於這個變量的修改,都只在本線程內有效,讓共享變量不會出現多線程問題 2.內部結構 底層由一個Entry數組構成,k

原创 布隆過濾器從底層原理到redis實戰一篇講清

布隆過濾器 1.爲什麼誕生 爲了高效的插入數據和查詢數據 現實場景:從上億數據中判斷一條數據是否存在,使用map,set等常規數據結構,導致內存急速膨脹,需要大量空間,需要一種更爲巧妙的方式,判斷數據是否存在,常見的緩存擊穿的問題

原创 ReentrantLock從結構底層到原理一篇講清

ReentrantLock 1.是什麼 Reetrantlock是一個可以重複獲得鎖的一個互斥鎖,它的加鎖與解鎖都是需要手動執行,也可以多次加鎖,同時它還可以指定是由公平鎖還是非公平鎖實現。 2.內部實現 構造方法: pub

原创 Java中關鍵字(abstract,static,final,this,super)

1,abstract:可以修飾類和方法。修飾後就變成了抽象方法,抽象類 (1)如果修飾類的話,此類必須被繼承使用,abstrcat最大程度的將子類的共性抽出來。abstract雖然不能生成對象,但可以聲明,作爲編譯時類型,final與ab

原创 elasticsearch看這一篇就夠了---入門(2)Elasticsearch檢索文檔,DSL語句查詢,複雜查詢,全文搜索

1.檢索文檔 (沒有數據的看上一篇就可以elasticsearch看這一篇就夠了—入門(1)Elasticsearch&Kibana概念詳解,下載安裝使用) 現在Elasticsearch中已經存儲了一些數據,我們可以根據業務需

原创 摺紙問題

摺紙,每次都是將紙從右向左對摺,凹痕爲 0,凸痕爲 1,求折 n 次的後,將紙展開所得摺痕組成的 01 序列。代碼如下:        public class zhezhiHeng { public static String s=""

原创 elasticsearch看這一篇就夠了---入門(1)Elasticsearch&Kibana概念詳解,下載安裝使用

1. 是什麼? (1)Elasticsearch是一個基於Apache Lucene™的開源搜索引擎。無論在開源還是專有領域,Lucene可以被認爲是迄今爲止最 先進、性能最好的、功能最全的搜索引擎庫 (2)Elasticsea

原创 面向對象三大特性和含義

(1)封裝:將客觀事物抽象封裝成類,並且對自己的數據實行訪問控制,並且可以對私有數據進行隱藏。(2)多態:允許將子類型的指針賦給父類類型的指針實現多態有兩個方式:a. 覆蓋:在子類中重寫父類中的方法,在子類的引用類調用此方發時,調用子類的

原创 fiverr官網地址:http://www.fiverr.com/s2/95d338afa8

fiverr官網地址:http://www.fiverr.com/s2/95d338afa8 可以賺錢的網站!

原创 Spring——Boot

1、快速搭建一個spring MVC項目 來開頭來個Hello World先吧,   第一步,上官網,進行項目原始jar 包的選取,官網在線搭建地址如下:https://start.spring.io/  看圖: 特別說明下:在

原创 java併發編程的藝術

1 java併發編程的藝術 2.1 volatile的應用 volatile是輕量級的synchronized,它在多處理器開發中保證了共享變量的“可見性”。可見性的意思是當一個線程修改一個共享變量時,另外一個線程能讀到這個修改的值。

原创 Mybatis總結

一,概述: 就是對jdbc數據庫操作進行封裝,使用戶開發者只用關注sql語句。通過xml或者註解的方式,將要執行的各種sql語句配置起來,並通過Java對象和statement中的sql語句映射生成最終的sql語句,最後由m

原创 StringBuffer和StringBuilder的區別

(1)在執行效率方面比較:stringbuilder > stringbuffer(2)在線程安全上,StringBuilder是線程不安全的,而StringBuffer是線程安全的。(3)使用方面來講:.單線程操作字符串 下操作大量數據

原创 線程的五種狀態

(1) 新建:新創建了一個線程對象。(2)可運行:線程對象創建後,其他線程(比如main線程)調用了該對象的start()方法。該狀態的線程位於可運行線程池中,等待被線程調度選中,獲取cpu 的使用權 。(3) 運行:可運行狀態(runn

原创 wait()和sleep()的區別

(1)wait()來自object類,sleep()來自Tread類(2)sleep()沒有釋放鎖,而Wait()方法釋放了鎖,使得其他線程可通過同步控制塊或者方法。(3)Sleep()可以在任何地方使用,而wait()只能在同步控制方法