原创 InputStreamReader和OutputStreamWriter的用法

首先說明下字節流和字符流: FileReader,FileWriter 是讀字符的,1個字符是2個字節,16位 OutputStream ,InputStream是讀字節的,1個字節是8位 如果要讀漢字,一個漢字是2個字節,用Inp

原创 Java開發中的23種設計模式總結

一、設計模式的分類 總體來說設計模式分爲三大類: 創建型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。 結構型模式,共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式

原创 [高併發Java 四] 無鎖

1 無鎖類的原理詳解 1.1 CAS CAS算法的過程是這樣:它包含3個參數CAS(V,E,N)。V表示要更新的變量,E表示預期值,N表示新值。僅當V 值等於E值時,纔會將V的值設爲N,如果V值和E值不同,則說明已經有其他

原创 [Java]讀取文件方法大全

1、按字節讀取文件內容2、按字符讀取文件內容3、按行讀取文件內容 4、隨機讀取文件內容  public class ReadFromFile {     /**      * 以字節爲單位讀取文件,常用於讀二進制文件,如圖片、聲音、影

原创 讀取Java文件到byte數組的三種方式

package zs;      import java.io.BufferedInputStream;   import java.io.ByteArrayOutputStream;   import java.io.File;  

原创 Java追加文件內容的三種方法

import java.io.BufferedWriter;   import java.io.File;   import java.io.FileOutputStream;   import java.io.FileWriter;

原创 Kafka之入門

一、入門 1.    簡介 Kafka is a distributed, partitioned, replicated commit log service。它提供了類似於JMS的特性,但是在設計實現上完全不同,此外它並不是JMS規

原创 [高併發Java 二] 多線程基礎

1. 什麼是線程 線程是進程內的執行單元 某個進程當中都有若干個線程。 線程是進程內的執行單元。 使用線程的原因是,進程的切換是非常重量級的操作,非常消耗資源。如果使用多進程,那麼併發數相對來說不會很高。而線程是更細小的調度單元,更加輕

原创 Java讀文件寫文件操作

這裏,Java的讀文件和寫文件都是基於字符流的,主要用到下面的幾個類:1、FileReader----讀取字符流 2、FileWriter----寫入字符流 3、BufferedReader----緩衝指定文件的輸入該類的方法有: vo

原创 Kafka安裝配置(集羣模式)

kafka下載:https://www.apache.org/dyn/closer.cgi?path=/kafka/0.8.1/kafka_2.10-0.8.1.tgz 分別在三臺服務器上安裝kafka: tar zxvf kafk

原创 [高併發Java 三] Java內存模型和線程安全

網上很多資料在描述Java內存模型的時候,都會介紹有一個主存,然後每個工作線程有自己的工作內存。數據在主存中會有一份,在工作內存中也有一份。工作內存和主存之間會有各種原子操作去進行同步。 下圖來源於這篇Blog 但是由於Java版本的不

原创 maven詳解之生命週期與插件(一)

Maven是一個優秀的項目管理工具,它能夠幫你管理編譯、報告、文檔等。 Maven的生命週期: maven的生命週期是抽象的,它本身並不做任何的工作。實際的工作都交由"插件"來完成。 maven的每個構建步驟都可以綁定一個或多

原创 Java中的IO流知識總結(轉)

總結一: Java IO的一般使用原則: 一、按數據來源(去向)分類: 1、是文件: FileInputStream, FileOutputStream, FileReader, FileWriter 2、是byte[]:B

原创 Java 中InputStream與Reader的區別

java.io下面有兩個抽象類:InputStream和ReaderInputStream是表示字節輸入流的所有類的超類Reader是用於讀取字符流的抽象類InputStream提供的是字節流的讀取,而非文本讀取,這是和Reader類的根