原创 jdk8 新特性 optional

Java 8 引入的一個很有趣的特性是 Optional  類。Optional 類主要解決的問題是臭名昭著的空指針異常(NullPointerException) —— 每個 Java 程序員都非常瞭解的異常。 本質上,這是一個包含有可

原创 面向百度編程之 手撕鏈表

那對於鏈表結構,我們在項目中用到的不如數組頻繁,但是面試是個重點,爲什麼面試官喜歡考我們鏈表呢?想必大家對這個問題很感興趣,因爲鏈表靈活、涉及到的邊界條件多,又加上很多細節點,對應聘者是一個考驗。今天就和大家一起來 手寫 一下 鏈表結構。

原创 Java學習基礎(二):JDK的安裝校驗

JDK是Java語言編譯運行的環境必備,點擊下面的鏈接進入官網下載相應的JDK,本文選擇JDK8下載。 JDK8官網下載 根據自己電腦系統,選擇相應版本的JDK,如下圖。通常是linux64位或者是win64位,linux一般爲開發或者環

原创 【面試】Java實現經典八大排序算法及複雜度、穩定性及代碼分析(一)

一、插入排序 1.1 直接插入排序 基本思想 將一個記錄插入到已排好序的序列中,從而得到一個新的有序序列(將序列的第一個數據看成是一個有序的子序列,然後從第二個記錄逐個向該有序的子序列進行有序的插入,直至整個序列有序) 重點:使用哨兵,用

原创 java紅黑樹詳解

紅黑樹性質 1、每個結點或是紅色的,或是黑色的 2、根節點是黑色的 3、每個葉結點(NIL)是黑色的 4、如果一個節點是紅色的,則它的兩個兒子都是黑色的。 5、對於每個結點,從該結點到其葉子結點構成的所有路徑上的黑結點個數相同。 和AVL

原创 線程池之ThreadPoolExecutor概述(二)使用篇

ThreadPoolExecutor提供了四個構造方法: ThreadPoolExecutor構造方法.png   我們以最後一個構造方法(參數最多的那個),對其參數進行解釋: public ThreadPoolExecutor(i

原创 線程池之ThreadPoolExecutor概述(一)

Java源碼裏面都有大量的註釋,認真讀懂這些註釋,就可以把握其七分工作機制了。關於ThreadPoolExecutor的解析,我們就從其類註釋開始。 現將註釋大致翻譯如下: ExecutorService(ThreadPoolExecu

原创 轉:logback的使用和logback.xml詳解

logback.xml:直接就被日誌框架識別了; logback-spring.xml:日誌框架就不直接加載日誌的配置項,由SpringBoot解析日誌配置,可以使用SpringBoot 的高級Profile功能 <?xml versio

原创 linux運維,創建普通用戶的坑

最近項目組申請了4臺機器,組長大佬叫我進行驗收並創建普通用戶給大夥使用,畢竟小組內部沒有正規的運維,服務器的日常維護靠開發,所以就屁顛屁顛的創建用戶。 此處省略一堆百度教程,在root用戶下使用瞭如下命令: useradd -d /h

原创 synchorized 幾種使用方法的比較(一)

1,併發場景不加鎖,代碼如下 package cn.womusic.bp.batch.test.synchorized; public class SynchronizedDemo implements Runnable { pr

原创 Java學習基礎(五):Java 註釋、關鍵字、標識符與運算符

1.1 程序註釋 通常我們需要在源代碼中添加文字用來對進行代碼解釋說明,但這些文字並不是Java代碼的語法,會導致編譯出錯。這時我們可以使用註釋來完成這一事項! 在編譯時,編譯器會忽略註釋的存在,就好像註釋內容不存在一樣。所以註釋並不會導

原创 Java學習基礎(四):變量和常量

1、程序概述 從今天開始進入Java語法的正式學習。首先先明白軟件是什麼? 軟件就是用來處理數據的程序。可以把軟件分爲兩個部分,一個部分是“數據”;另一個部分是“數據處理的邏輯”。 程序 = 數據 + 邏輯 什麼是數據?舉個簡單的例子,你

原创 Java學習基礎(三):Eclispe的簡單安裝及使用

Eclipse是功能強大Java集成開發工具。它可以極大地提升我們的開發效率。可以自動編譯,檢查錯誤。在公司中,較常用的Java開發工具就是Eclispe,還有一種工具叫Idea。本文小編着重帶大家來下載安裝Eclispe,以及簡單的使用

原创 Json序列化 與 反序列話 中的一些常用註解:@JsonIgnore和@JSONField、@JsonIgnoreProperties

今天工作時遇到一個場景,客戶A跟我們進行restful + json數據交互,我們(B,充當中間層的一個角色)將數據存儲,並將獲取的數據直接與客戶C進行restful交互,裏面涉及到一些javaBean屬性的大小寫映射以及某些字段的忽略,

原创 Java學習基礎(一):認識Java,開發環境的搭建

衆所周知Java是一門編程語言,編程語言就是用來編寫軟件的。那麼使用Java到底能用來編寫什麼軟件呢?你所熟知的很多軟件都可以用Java來編寫,例如:QQ、迅雷、淘寶、京東等等,那麼Java比較擅長什麼呢?也就是說我們將來從事Java開發