原创 Java序列化與反序列化

1、Java序列化與反序列化(what) Java序列化是指把Java對象轉換爲字節序列的過程;而Java反序列化是指把字節序列恢復爲Java對象的過程。序列化是Java中實現持久化存儲的一種方法。 2、爲什麼需要序列化與反序列化(w

原创 akka介紹

1、概述 Akka是JAVA虛擬機JVM平臺上構建高併發、分佈式和容錯應用的工具包和運行時。Akka用Scala語言寫成,同時提供了Scala和JAVA的開發接口。 Akka處理併發的方法基於Actor模型。在Akka裏,Actor之間通

原创 Java虛擬機(七)——垃圾收集GC介紹

1、概述 本文的目的是用簡單的方式向你介紹GC。在學習GC前,應該知道一個技術名詞:“stop-the-world“。無論你選擇哪種GC算法,Stop-the-world都會發生。Stop-the-world意味着JVM停止應用程序,而去

原创 Spring框架中獲取連接池的四種方式

1、連接池概述   數據庫連接是一種關鍵的有限的昂貴的資源,這一點在多用戶的網頁應用程序中體現得尤爲突出。對數據庫連接的管理能顯著影響到整個應用程序的伸縮性和健壯性,影響到程序的性能指標。數據庫連接池正是針對這個問題提出來的。   

原创 spring-data-redis簡介

1、簡述 Redis是一種nosql數據庫,在開發中常用做緩存。Jedis是Redis在Java中的redis- client。spring把專門的數據操作獨立封裝在spring-data系列中,spring-data-redis自然是

原创 Java虛擬機(二)——Java堆內存劃分

1、堆內存介紹 對於大多數應用來說,Java堆(Java Heap)是Java 虛擬機所管理的內存中最大的一塊。此內存區域的唯一目的就是存在對象實例,幾乎所有的對象實例都在這裏分配內存。這個區域也是Java垃圾收集器管理的主要區域,因此

原创 存儲過程

1、存儲過程 存儲過程(Stored Procedure)是在大型數據庫系統中,一組爲了完成特定功能的SQL語句集,存儲在數據庫中,經過第一次編譯後再次調用不需要再次編譯,用戶通過指定存儲過程的名字並給出參數(如果該存儲過程帶有參數)來

原创 POI對Excel操作——java保存數據到Excel

1、常見的java操作Excel API介紹 1.1 Java Aspose Cells Java Aspose Cells是一種純粹的Java授權的Excel API,開發和供應商Aspose發佈。這個API的最新版本是8.1.2,

原创 Java虛擬機(五)——垃圾收集機制

1、垃圾回收介紹    Java虛擬機內存劃分講到了Java 內存運行時區域的各個部分,其中程序計數器,虛擬機棧,本地方法棧三個區域隨線程而生,隨線程而滅,棧中的棧幀隨着方法的進入和退出有條不紊地執行着出棧和入棧操作。每一個棧幀中分配多

原创 Jackson詳細介紹

Jackson是基於Java平臺的一套數據處理工具,被稱爲”最好的Java Json解析器”。它可以使我們高效、簡便的處理json字符串。 1、Jackson的版本以及maven依賴重點內容 <dependency> <group

原创 java解析excel文件爲txt文件

java解析excel文件,並將其以建鬆格式保存到txt文件中。 1、maven配置 <!-- poi--> <dependency> <groupId>org.apache.poi</groupId> <artifactI

原创 Java線程鎖(一)——wait(),notify(),synchnorized使用

1、synchronized關鍵字    JAVA的進程同步是通過synchronized()來實現的。需要說明的是,JAVA的synchronized()方法類似於操作系統概念中的互斥內存塊,在JAVA中的Object類型中,都是帶

原创 Java線程鎖(二)——循環打印ABC

1、經典例子   對Object.wait(),Object.notify()的應用最經典的例子,應該是三線程打印ABC的問題了吧,這是一道比較經典的面試題(網上關於本面試題很多),題目要求如下:   建立三個線程,A線程打印10次A

原创 Java虛擬機(六)——內存溢出和內存泄露分析

關於內存溢出和內存泄露在我以前的博文Java 內存溢出(java.lang.OutOfMemoryError)的常見情況和處理方式中做過大概介紹,此處在進行補充。 1、內存溢出 內存溢出:OOM(OutOfMemoryError)異常

原创 Java虛擬機(四)——對象的創建、存儲和定位

1、對象的創建   Java是一門面向對象的編程語言,Java 程序運行過程中無時無刻都有對象被創建出來,在語言層面上,創建對象(例如克隆,反序列化)通常僅僅是一個new關鍵字而已,例如下面的語句。 Object obj = new O