原创 commons-io之LineIterator

BufferedReader 通常在只有讀到空格或者換行符時纔會結束讀取,攻擊者很容易構內存攻擊導致系統癱瘓,出於安全考慮這裏推薦使用io包的LineIterator,並且其在性能上也優於普通流。小面附上小demo LineIterato

原创 redis:01入門指南以及在springboot中使用redis

https://redis.io/download step1:參考官網的安裝很簡單 wget http://download.redis.io/releases/redis-5.0.6.tar.gz tar xzf redis-5.0

原创 effective java之Buileder模式創建對象

相比工廠模式,更容易擴展類。適用於構建參數比較多的對象 缺點:構建繁瑣 下面給出 effective java中的例子:package buileder; public class Instructions { private fin

原创 java多線程-(無鎖)CAS算法基礎

通過cas算法來控制併發級別,這種無鎖的實現相比阻塞等待效率要高出很多,CAS算法的過程大致如下: CAS(V,E,N)包含這樣的三個參數,V表示要更新的值,N表示新值,E表示預期值,只有當N=E時纔會將值更新位N,如果N!=E則說明有其

原创 java多線程-原子性,有序性,可見性

1:原子性 是指一個操作是不可中斷的。即使是多個線程一起執行的時候,一個操作一旦開始,就不會被其他線程干擾。原子操作一定是線程安全的。(32位機器讀取64位的數據類型也不是原子操作) 2:有序性 併發程序,在執行的時候有可能會亂序,操作系

原创 maven 光速入門攻略01

不喜歡花哨的格式,喜歡最簡單的描述,it`s my style 1:安裝maven :http://maven.apache.org/download.cgi   下載apache-maven-3.3.9-bin.zip文件,解壓到指定目

原创 maven 光速入門攻略02

初識maven:maven項目的核心是pom.xml(project object model) 下面給出一個pom.xml  中的基本元素 <project xmlns="http://maven.apache.org/POM/4.0.

原创 java多線程-(happen-before原則)

  happen-before(生效可見於,並非字面的先行執行) 程序順序規則:一個線程中的每個操作,happens-before於該線程中的任意後續操作。 監視器鎖規則:解鎖happens-before於加鎖。 volatile變量規則

原创 《1》數據結構、簡明概念

今天第一次寫博客好開心、希望能把自己的一些心得分享給真正喜愛計算機的人 此博客欄目主要是對《大話數據結構》這本書的讀後總結,個人認爲這本書還是比較適合初學者入門的,特別是像我這樣的~~ 首先搞清楚數據對象、數據元素、數據項之間的關係,這對

原创 java多線程-線程的同步

在java中要實現多線程之間的同步操作主要有如下兩種方式:synchronized關鍵字和對象的wait()和notify()/notifyAll(); 首先來看一下synchronized關鍵的字的使用 作用範圍: 給指定對象加鎖,在進

原创 快速搭建svnserve服務指南

step1:在linux環境下進行安裝:yum -y install svnserve step2:創建倉庫的根目錄:mkdir -p /application/svndata(數據目錄),mkdir -p /application/sv

原创 java多線程-基本的操作及狀態分析

1,如何創建線程 ​ ​ public static void main(String[] args) { Thread thread1 = new Thread(){ @Override

原创 java多線程-基礎知識

爲了很好的利用多核處理器的性能,並行開發的收益也隨之越來越高,爲此針對多線程作了一些總結 1,臨界區: 臨界區指的是一個訪問共用資源(例如:共用設備或是共用存儲器)的程序片段,而這些共用資源又無法同時被多個線程訪問的特性。當有線程進入臨界

原创 java多線程-Thread類的一些基本API

1 @Deprecated(since="1.2")Thread.stop() 該方法被聲明爲廢棄方法,不推薦使用,該方法過於暴力,強制結束。該方法會釋放它所有的監視器鎖,可能會導致數據不一致的問題,舉個簡單的例子比如i++操作,在一個線