原创 Java流NIO

什麼是NIO Java NIO(NEW IO)是從Java1.4開始引入的新版IO,用來替代標準的Java IO API NIO於原來的IO有相同的功能,但是他們之間的使用方式是完全不同的,NIO是面向緩衝區,面向通道的的IO操作

原创 Java單例模式實現

概述 當我們的項目中有這樣一個需求,整個項目運行的週期內,有一個類只存在一個實例對象,那麼我們可以採用單例設計模式。 單例設計模式有兩種形式的,一種是懶漢式,一種是餓漢式的。 我認爲單例設計模式可以幫助我們更好的管理項目中的某些資

原创 Java8特性lambda表達式和方法引用

lambda表達式簡介 lambda表達式是一個傳遞的代碼塊,可以在以後執行一次或者多次。這個特性是JDK1.8之後的特性。 lambda表達式使用場景 在jdk中有一個Arrays.sort()方法用來對數組進行排序,在沒有用l

原创 JDK1.8新特性函數式接口

概述 對於只有一個抽象方法的接口,需要這種接口的對象,就可以提供一個lambda表達式。這種接口稱爲函數式接口(functional interface)。 在定義函數式接口的時候可以加入@FunctionalInterface註

原创 jdk1.8新特性Stream流

概述 Stream流完全不是I/O流,按照流水線處理方式來考慮代碼中的思想。 JDK1.8 之後,我們擁有了Lambda表達式,讓代碼的中心偏向解決實際問題,直到重點,可以提高效率。 Stream流中使用了大量Lambda表達式,

原创 Java註解Annotation

概述 Java語言中的類、方法、變量、參數和包等都可以被標註。和Javadoc不同,Java標註可以通過反射獲取標註內容。在編譯生成類文件時,標註可以被嵌入到字節碼中。Java虛擬機可以保留標註內容,在運行時可以獲取到標註內容。

原创 Centos7配置alibab的yum源

進入到yum源配置文件目錄 cd /etc/yum.repos.d/ 拉取阿里雲yum源 wget http://mirrors.aliyun.com/repo/Centos-7.repo 如果wget 不生效,可以執行 yu

原创 Java內部類 inner class

爲什麼使用內部類 內部類(inner class)是定義在另外一個類中的類。爲什麼需要使用內部類呢?主要有一下三點: 內部類方法可以訪問該類定義所在的作用域中的數據,包括私有數據。 內部類可以對同一個包的其他類隱藏起來。 當像要

原创 Java多線程管理類CountDownLath

概述 多線程的管理是一個讓人頭疼的事情,然而在Java中提供了很多對多線程管理的工具類,這裏簡單介紹一下CountDownLath。 作用 可以用來調整線程的執行順序 方法介紹 long getCount()返回當前管理類中存在

原创 Java基礎反射reflect

概述 能夠分析類能力的程序成爲反射reflective。反射機制的功能及其強大,再下面可以看到,反射機制可以用來: 在運行時分析類的能力 在運行時查看對象,例如,編寫一個toString()方法供所有類使用。 實現通用的數組操作

原创 Java多線程線程池

概述 線程池就是定義管理幾個有限的線程資源,進行循環利用。我們生活中有沒有這種例子呢?當然是有的,比如我們銀行窗口就是一個有限的資源,在我們處理完事情之後,將資源重新歸還,然後重新分配下一個人員處理事情,這中模型就是線程池的模型。

原创 插入排序和希爾排序

概述 Java中排序算法是非常重要的一部分,這裏簡單分析下插入排序和希爾排序的實現思路及其代碼實現。 常見排序算法時間複雜度表 排序算法 平均時間複雜度 最差情形 穩定度 額外空間 備註 冒泡排序 O(n^2) O(

原创 Java條件判斷和循環

Java是目前很流行的web端開發語言,而條件判斷和循環結構是Java一個很重要的部分,下面簡單介紹Java常用的條件判斷和循環結構。 條件判斷語句 if判斷語句 public class Demo { public stati