原创 KMP算法詳解 (轉載)

最近在刷題的時候遇到了KMP 算法的一些題目,回想起來自己關於數據結構和算法的知識內容都已經忘了。於是打算重新複習一遍。就從KMP算法開始吧。因爲自己水平還不夠,也講不清楚。於是就從網上轉載了兩篇博文。原文鏈接 https://blog.

原创 使用java實現一個簡單的抓取安居客租房信息的爬蟲

 最近,實驗室的師兄馬上就要畢業,要在工作的附近租個房子。於是自己就抱着玩一下的心態去安居客上爬取租房信息。首先我是用的是Jsoup來分析html網頁,從中獲得我們所需要的數據。在得到這些數據之後,再將這些數據導入到我們本地的excel表

原创 Java通過反射獲取方法的參數名 idea的設置

之前阿里面試的時候,面試官問我Java通過反射可以獲取到一個方法的形參名稱嗎? 聽到這個問題我是懵逼的,之前只知道通過反射可以獲取方法名,形參的類型,但是從來沒有注意可不可以獲取方法形參的名稱。在網上查了一些資料之後,知道在jdk1.7之

原创 深入剖析ThreadLocal

Java併發編程:深入剖析ThreadLocal 轉載於海子 原文鏈接 http://www.cnblogs.com/dolphin0520/p/3920407.html   想必很多朋友對ThreadLocal並不陌生,今天我們就來一起

原创 找出有環單鏈表的入口節點

    這個題比較經典 ,使用兩個指針去解決。一個快指針,一個慢指針。快指針每次走兩步,慢指針每次走一步。如果兩個指針相遇,那麼這個鏈表是有環的。但是關鍵問題是鏈表環的入口節點在哪裏呢?       數學證明貼上來:設置整個鏈表的節點個數

原创 排序算法之--快速排序

    快速排序是一種分治的排序算法,它將一個數組分爲兩個子數組,將兩部分獨立的進行排序。快速排序和歸併排序是互補的,歸併排序將數組分成兩個子數組分別排序,並將有序的子數組歸併以將整個數組排序;而快速排序將數組排序的方式是當兩個子數組都有

原创 排序算法之--插入排序

    插入排序和選擇排序一樣,當前索引左邊的元素都是有序的。但是它們最終的位置還是不確定。爲了給最小元素空出位置,它們可能會被移動。但是當前索引到達最右邊的時候,整個排序就完成了。     和選擇排序不一樣的是,插入排序取決於輸入中元素

原创 解決使用idea中數據庫中文亂碼

首先我們在idea中寫入一個sql文件,創建我們的數據庫,注意在創建完表結構後,一定要設置表的編碼格式爲UTF-8,CREATE DATABASE IF NOT EXISTS widen;DROP TABLE IF EXISTS `pho

原创 類加載過程

一  加載  在加載階段,虛擬機完成以下幾件事:首先通過一個類的全限定名獲取此類的二進制流  將這個字節流所代表的的靜態存儲結構轉換成方法區的運行時數據結構  在內存中生成一個代表該類的java.lang.Class對象,作爲方法區這個類

原创 windows 下配置redis 讓其他主機訪問本機的redis數據

在做一個分佈式項目的時候,redis不使用 ip 127.0.0.1 啓動的時候一直報錯。即使使用本機的地址也會報錯。然後自己去網上找了一些資料都沒有解決。網上一些資料又說改配置文件 把 redis-windows-conf 裏面的 pr

原创 HttpClient 4.5.2版本設置連接超時時間-CloseableHttpClient設置Timeout

HttpClient  4.5版本設置連接超時時間-CloseableHttpClient設置Timeout(區別於4.3.2) HttpClient升級到4.5版本後,API有很多變化,HttpClient 4之後,API一直沒有太穩定

原创 windows下 的 jvisualvm,jstack參數查看運行程序的線程狀況。

今天在複習多線程的時候寫了一個死鎖,突然看到網上有人用jstack的命令參數可以查看程序中每個線程的運行情況,於是就嘗試着自己動手操作了一下。在cmd下運行jstack -h  看到圖中有一個jstack中所有的命令後面都要接上一個pi

原创 String/StringBuffer/StringBuilder 心得

1 String  (1) String的創建機理 由於String在Java世界中創建的過於頻繁,Java爲了避免在一個系統中產生大量的String對象,引入了字符串常量池。其運行機制是:創建一個字符串式,首先檢查池中是否有值相同的字符

原创 redis 源碼分析

Redis源碼剖析--quicklist 2018年07月027日 10:16:47 轉載於 https://blog.csdn.net/harleylau/article/details/80534159 quicklist概述 上一節

原创 int和Integer之間的區別

int和Integer之間的區別 1 Integer是int的包裝類,int則是Java的一種基本數據類型 2 Integer變量必須實例化之後纔可以使用,而int變量不需要 3 Integer實際是對象的引用,當new一個Integer