原创 java基礎總結(六十)--i++與++i比較

含義不同 i++: 先讀取值,下一次讀取該值時纔會讀到新的值。 ++i:先加1然後再讀取到新的值。 效率比較 如果++i與i++執行效果是一樣的情況下(如在for循環中這種場景),java文件中的i++都會被編譯成++i如圖2與22。  

原创 java數據結構與算法總結(三)--漫畫:什麼是紅黑樹

本文來自   接下來先講一下什麼是左旋轉!通過動畫舉個例子吧!   人生像紅黑樹一樣,總是需要某種平衡 一邊是給予,一邊是接受 一邊是付出,一邊是得到 一邊是耕耘,一邊是

原创 java數據結構與算法總結(八)--隊列(Queue)用法

隊列是一種特殊的線性表,它只允許在表的前端進行刪除操作,而在表的後端進行插入操作。 LinkedList類實現了Queue接口,因此我們可以把LinkedList當成Queue來用。 以下實例演示了隊列(Queue)的用法: impor

原创 java基礎總結(七十七)--Java Instrument 功能使用及原理

0 介紹 利用 java.lang.instrument 做動態 Instrumentation 是 Java SE 5 的新特性,它把 Java 的 instrument 功能從本地代碼中解放出來,使之可以用 Java 代碼的方式解決問

原创 java架構模式與設計模式(二)--Request-Response網絡交互通用處理模型

一、綜述      java 客戶端與服務端交互過程中,採用NIO通訊是異步的,客戶端基本採用同一處理範式,來進行同異步的調用處理。      處理模型有以下幾個要素:          1. NIO發送消息後返回的Future    

原创 java數據結構與算法總結(四)--Java實現表達式計算(中綴表達式轉化爲後綴表達式/逆波蘭式)

在做一道算法題時遇到該問題,寫一個計算器其中有加減乘除和括號,用最快的算法算出來。後來根據答案想了下用下面的算法是複合答案的意思。 定義: 中綴表達式: 我們平時寫的數學表達式一般爲中綴表達式,如“5+2*(3*(3-1*2+1))”,直

原创 java架構模式與設計模式(一)--六邊形架構

本文來自 前言 注: 當我在學習DDD時,看到其中的六邊架構,在初步瞭解其架構思想之後,就深深地被吸引了,因爲它可以解決諸多我在項目中遇到的問題。 這裏將着重介紹六邊形架構的思想,以及其解決的問題,並不與其它架構做深入的對比。 六邊形架構

原创 java架構模式與設計模式(三)--事件風暴

本文來自 什麼是事件風暴 很多人在學習DDD的過程中,都會有一個疑問:DDD的概念看着挺多,聽起來也很有用。但具體怎麼落地實施到項目中? 事件風暴(Event Storming)於2013年首次被提出,2015年被ThoughtWork

原创 java基礎總結(七十九)--通過Java反射的獲取私有成員變量,調用私有方法

Java的反射工具很強大,有句著名的話:No reflection ,no frameworks. 納整理一個小工具類: /** * @Author 落葉飛翔的蝸牛 * @Date 2018/3/10 * @Description

原创 java基礎總結(七十八)--JAVA中斷言的使用

相信學過c,c++的朋友一定不會對斷言感到陌生。下面介紹一下斷言在JAVA中的使用,JAVA是從JDK1.4纔開始支持斷言的(添加了關鍵字assert),請注意老版的JRE不支持。 斷言概述   編寫代碼時,我們總是會做出一些假設,斷言就

原创 java基礎總結(七十六)--Java ManagementFactory解析

說明 ManagementFactory是一個爲我們提供各種獲取JVM信息的工廠類,使用ManagementFactory可以獲取大量的運行時JVM信息,比如JVM堆的使用情況,以及GC情況,線程信息等,通過這些數據項我們可以瞭解正在運行

原创 java數據結構與算法總結(二十一)--線段樹

一:爲什麼需要線段樹? 題目一: 10000個正整數,編號1到10000,用A[1],A[2],A[10000]表示。 修改:無 統計:1.編號從L到R的所有數之和爲多少? 其中1<= L <= R <= 10000. 方法一:對於

原创 java數據結構與算法總結(二十二)--樹狀數組

據說樹狀數組就是線段樹。線段樹參考鏈接 有一天,小明給了我三個問題(其實是我自己出的啦~)   (1)有一個機器,支持兩種操作,在區間[1,10000]上進行。 操作A:把位置x的值+k 操作B:詢問區間[l,r]所有數字之和 區間的初始

原创 java基礎總結(七十四)--揹包問題c詳解:01揹包、完全揹包、多重揹包

本文來自 只瞭解0-1揹包問題。可點擊該鏈接 想了解三種揹包問題之間的公式以及公式之間有什麼區別。請點擊該鏈接 若想了解沒種揹包問題具體java代碼怎麼寫。可點擊該鏈接 參考鏈接: http://www.cnblogs.com/fengt

原创 java基礎總結(七十五)--漫畫:什麼是紅黑樹

本文來自   接下來先講一下什麼是左旋轉!通過動畫舉個例子吧!   人生像紅黑樹一樣,總是需要某種平衡 一邊是給予,一邊是接受 一邊是付出,一邊是得到 一邊是耕耘,一邊是