原创 編程基礎 之 位運算專題

一 原碼、反碼和補碼 1.1原碼 原碼就是將10進制數,轉化爲2進制碼,比如: 8:00001000 -8: 10001000 最高位表示符號位。   1.2 反碼 反碼:如果是正數,即最高位是0,則反碼是原碼自己;如果是負數,即最高位符

原创 Java虛擬機專題對象內存定位

一  對象在內存中的佈局 1.1對象的創建過程 對象的創建過程可以如下圖所示: 1.2 什麼是符號引用和直接引用,爲什麼需要在常量池定位到符號的引號? 在類的解析階段,把虛擬機常量池內的符號引號替換爲直接引用。 1.2.1 符號引用

原创 Shell腳本基礎語法

一、       編寫shell的格式 1 第一行決定使用哪一種shell Bash:#! /bin/bash Python: #! /usr/bin/python 不知道解釋器的完整路徑,可使用whereis 解釋器名稱(bash) 2

原创 Linux之內核調試sysrq

# 立即重新啓動計算機 echo "b" > /proc/sysrq-trigger   # 立即關閉計算機 echo "o" > /proc/sysrq-trigger   # 導出內存分配的信息 (可以用/var/log/messa

原创 window 環境下搭建多個git項目

很多時候,我們在開始用git的時候,就使用全局的配置文件設置了用戶名和郵件地址,導致每次切換項目提交代碼都需要修改用戶名和地址。這種情況主要是開始對git不熟,網上找的例子。另外確保自己本地已經安裝git 和 git-bash,並且安裝路

原创 Log4J 1.x 配置詳解

一 Log4J有三個主要的組件 1.1 Loggers(記錄類型) Log4j劃分了5個級別:DEBUG,INFO,WARN,ERROR,FATAL。 這5個level是有優先級順序的,DEBUG<INFO<WARN<ERROR<FATA

原创 Java虛擬機專題之類加載機制(讀書筆記)

一 類的加載階段 類加載具體做的是什麼 # 根據類的權限定名,獲取此類的二進制流(文件或者網絡等) # 將這個字節流所代表的靜態存儲結構轉化爲方法區的運行時數據 # 在內存創建一個代表這個Class的對象,然後作爲數據的訪問入口    

原创 Java虛擬機專題之內存分配(讀書筆記)

一 虛擬機內存分配策略 1.1 對象優先在Eden區域分配 1.2 大對象直接進入老年代 1.3 長期存活的對象進入老年代 1.4 空間分配擔保 1.5 動態對象年齡判定   二 對象優先在Eden區域分配 假設構建4M大小的數組,通過打

原创 Java 多線程總結

第一章 原子性 可見性 有序性 1.1 原子性 即某個正在執行的操作不能中斷,不能被分割,要麼就不執行,要麼就執行完畢。 正如我們所知道的synchronized代碼塊,這塊裏面的東西要麼就是被執行完畢,要麼就不執行。 還有就是我們所熟知

原创 Java虛擬機專題之字節碼指令(讀書筆記)

一 字節碼與數據類型 大部分的指令都包含了其操作所對應的數據類型信息。 比如iload指令用於從局部變量表中加載int類型的數據到操作棧中,而fload指令加載的則是float數據類型的數據。   二 加載與存儲指令 主要用於將數據在棧幀

原创 Linux之磁盤配額

磁盤配額:限定用戶或組對磁盤空間的使用 一 查看是否安裝quota的包 rpm -qa|grep quota 如果沒有則安裝 yum install quota   二 啓用quota磁盤配額功能 mkfs.ext4 /dev/sdb3

原创 Linux下 sshd服務不能啓動

今天遇到CentOS 7 下遠程連不上,懷疑服務沒有啓動,先檢查了端口和服務是否啓動: ps -A| grep sshd 發現沒有 netstat -nultp|grep 22 也沒有發現22端口 檢查防火牆是不是會影響,關閉了防火牆,

原创 Vim查找替換 & 正則表達式

查找替換語法: => :[range]s/{pattern}/{string}/[flags] :1,10s/from/to/ 表示在第1到第10行(包含第1,第10行)之間搜索替換 :10s/from/to/ 表示只在第10行搜索替換

原创 Linux之rsync

一 rsync介紹   我們經常需要在不同主機或者相同主機的不同目錄做文件同步和更新,Linux提供了很多內置命令可以使用比如scp,cp等等,但是rsync命令是一個更加強大的遠程同步工具,可以通過LAN/WAN快速同步多臺主機間的文件

原创 Java虛擬機專題之class文件結構(讀書筆記)

我們知道一個Class文件對應着一個接口或者註解的類,但是他們並不一定定義在文件裏,也可以直接由類加載器生成。   Java虛擬機定義了專門的數據類型來表示class文件的內容,他們包括u1,u2,u4表示1,2,4個無符號數   一 C