原创 IT牛們的bat面試心得與經驗總結

面試心得與總結 面試心得與總結—BAT、網易、蘑菇街 之前實習的時候就想着寫一篇面經,後來忙就給忘了,現在找完工作了,也是該靜下心總結一下走過的路程了,我全盤托出,奉上這篇 誠意之作,希望能給未來找工作的人一點指引和總結,

原创 死鎖小程序

//死鎖小程序,經常發生在同步中嵌套同步 public class DeadLock { public static void main(String[] args) { new Thread(new DeadLockThr

原创 cascade算法的java實現

import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import jav

原创 進程和線程的聯繫及區別

 1.定義 進程是具有一定獨立功能的程序關於某個數據集合上的一次運行活動,進程是系統進行資源分配和調度的一個獨立單位. 線程是進程的一個實體,是CPU調度和分派的基本單位,它是比進程更小的能獨立運行的基本單位.線程自己基本上不擁有系統

原创 HashMap實現原理

  哈希表(hash table)也叫散列表,是一種非常重要的數據結構,應用場景及其豐富,許多緩存技術(比如memcached)的核心其實就是在內存中維護一張大的哈希表,而HashMap的實現原理也常常出現在各類的面試題中,重要性

原创 java各版本新特性總結

Java5: 1、泛型 Generics:         引用泛型之後,允許指定集合裏元素的類型,免去了強制類型轉換,並且能在編譯時刻進行類型檢查的好處。         Parameterized Type作爲參數和返

原创 經典最大子序列和問題

//最大子序列和問題的四種算法 //注意以下算法只是求出最大的和,並沒有找出對應的子序列 public class MaxSubSum { public static void main(String[] args) { int[

原创 matplotlib基本作圖方法小結

matplotlib作爲python的基本繪圖包,用起來還是挺方便的,與matlab大同小異。個人覺得比matlab的圖稍微好看一些。科研中用的最多的還是折線圖,下面是其基本用法: import matplotlib.pyplot as

原创 排序算法總結

排序有內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。我們這裏說說八大排序就是內部排序。    當n較大,則應採用時間複雜度爲O(nlog2n)的

原创 排序算法之插入排序

package sort; import java.util.Arrays; public class InsertionSort { public static void main(String[] args) { in

原创 啓發式算法

什麼是啓發式算法 啓發式算法一般用於解決NP-hard問題,其中NP是指非確定性多項式。 啓發式算法(Heuristic Algorithm)有不同的定義:一種定義爲,一個基於直觀或經驗的構造的算法,對優化問題的實例能給出可接受的

原创 Spring Bean生命週期詳解

  在Spring中 Bean 可謂是一個核心的元素,當我們結合Spring進行編程的時候也離不開Bean,面對這樣重要的一個角色,瞭解其生命週期和該生命週期所涉及的環節對我們更加熟練靈活地使用Bean是很有Bean必要的,下面我們就

原创 BIO/NIO/同步/異步/阻塞/非阻塞

在高性能的IO體系設計中,有幾個名詞概念常常會使我們感到迷惑不解。具體如下:  序號 問題 1 什麼是同步? 2 什麼是異步? 3 什麼是阻塞? 4 什麼是非阻塞? 5 什麼是同步阻塞? 6 什麼是同步非阻塞? 7 什麼是異步阻

原创 正確建立索引以及最左前綴原則

索引建立的原則 用於索引的最好的備選數據列是那些出現在WHERE子句、join子句、ORDER BY或GROUP BY子句中的列。 僅僅出現在SELECT關鍵字後面的輸出數據列列表中的數據列不是很好的備選列SELECT col_a

原创 線程池原理

線程池的優點 1、線程是稀缺資源,使用線程池可以減少創建和銷燬線程的次數,每個工作線程都可以重複使用。 2、可以根據系統的承受能力,調整線程池中工作線程的數量,防止因爲消耗過多內存導致服務器崩潰。 線程池的創建 1 public T