原创 Java的對象比較

原创 JDK1.8內存佈局

一、內存佈局圖70)PS:左邊的區域屬於是在JVM劃分的內存之中,而右邊的則是直接在內存中。 二、各部分詳解 對於每個線程來說,它都有程序計數器、Java虛擬機棧、本地方法棧,而這些都是線程私有的區域,不對外共享。 程序計數器:

原创 Java鏈表合併有序的兩個鏈表

自從上次推送了鏈表的基本操作後,現在就來試着寫一寫比較複雜的東西。 比如,合併兩個有序的鏈表: L1: 1 1 2 4 L2: 1 2 3 5 6 我們需要的鏈表是:1 1 1 2 2 3 4 5 6 思考一下,有兩種簡

原创 爬蟲項目(分析awesome-java項目流行趨勢)

項目詳情:https://github.com/BlackerGod/Crawler 成品展示:點擊訪問 (ps:我在服務器上設置了定時任務每天五點自動爬取數據,但git不穩定,很有可能爬不到數據,可能表格爲空) 一、項目需求 在

原创 C語言實現通訊錄(動態分配內存)

#define _CRT_SECURE_NO_WARNINGS //VS警告 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<assert.h>

原创 銀行家算法(詳解加代碼)

銀行家算法,能戳到這裏面的話,想必大家都有了解。 銀行家算法的基本思想是:分配資源之前,判斷系統是否是安全的;若是,才分配。它是最具有代表性的避免死鎖的算法。設進程 process 提出請求request[i],則銀行家算法按如下

原创 實現字符串函數(下)

衆所周知,下冊比上冊難 我們今天要實現的函數是: Strcmp();字符串比較函數 Memcpy();複製函數 memmove();可重疊複製函數 int Strcmp(const char* a, const char* b){

原创 服務器入門與基礎配置

一、什麼是服務器? 服務器是計算機的一種,它比普通計算機運行更快、負載更高、價格更貴。服務器在網絡中爲其它客戶機(如PC機、智能手機、ATM等終端甚至是火車系統等大型設備)提供計算或者應用服務。 常見的外形有:刀片式、塔式、機櫃式

原创 Java方法遞歸(含詳解)

方法遞歸 遞歸很熟悉了,我們再來談談遞歸。 定義: 一個方法在執行過程中調用自身, 就稱爲 “遞歸”. 遞歸,相當於數學上的 “數學歸納法”, 有一個起始條件, 然後有一個遞推公式. 例如, 我們求 N! 起始條件: N = 1

原创 GC回收機制及收集器

一、如何判斷是否可回收 1.引用計數法 給對象增加一個引用計數器,每當有一個地方引用它時,計數器就+1;當引用失效時,計數器就-1;任何時刻計數器爲0的對象就是不能再被使用的,即對象已"死"。 引用計數法實現簡單,判定效率也比較高

原创 動態規劃從入門到入土——入門篇

一、什麼是動態規劃? 要先理解動態規劃的話,我們要先知道什麼叫“分治”思想。 這就要提一下分治的祖師爺了——大禹 當面對波濤洶涌的洪水,人力顯得多麼的蒼白無力,然鵝,大佬站出來了,提出:我們把洪水不斷的分流,然後對每一條支流進行處

原创 Java文檔搜索引擎

項目詳情: https://github.com/BlackerGod/Java_search_api 成品展示: 點擊查看 (ps:受限於服務器帶寬和處理器,會導致這個有點慢。。。) 一、項目需求 當我們遇到Java內一些不熟悉

原创 TCP_IP

原创 七大主流排序

一、插入排序 算法思想: 從第二個數開始,往前找,如果前面的數比自己大,就交換,最終找到合適的位置就結束了。(這個交換可以理解爲向後移位,你玩撲克牌的時候,按大小排序,前面插一張,後面的就要往後挪一點) 時間複雜度: 最好:O(n

原创 C語言文件操作

文件:磁盤上的文件是文件。 在程序設計中,我們一般談的文件有兩種:程序文件、數據文件 1.程序文件: 包括源程序文件(後綴爲.c),目標文件(windows環境後綴爲.obj),可執行程序(windows環境後綴 爲.exe)。