原创 HTTP1.0/1.1的區別

HTTP/1.0:非持久連接,一個tcp連接只傳輸一個Web對象HTTP/1.1:持久連接,不必爲每個Web對象的傳送建立一個新的連接,一個連接中可以傳輸多個對象HTTP/1.0:一個包含有許多圖像的網頁文件中並沒有包含真正的圖像數據內容

原创 求數值的整數次方

需要考慮的特殊情況:輸入的指數是0或負數底數是0一般的算法當指數爲32時,需要在循環中做31次乘法,換種思路,在平方基礎上求4次方,4次方基礎上求8次方,利用遞歸可以減少乘法運算次數package tao.leetcode; /** *

原创 數組旋轉

把一個數組最開始的若干個元素搬到數組的末尾,我們稱之爲數組的旋轉。輸入一個非遞減排序的數組的一個旋轉,輸出旋轉數組的最小元素。import java.

原创 進程與線程的區別

1.調度性:進程是資源擁有的基本單位,線程是獨立調度的基本單位。線程的切換不會造成進程的切換。2.併發性:進程之間可以併發執行,線程之間也可以併發執行3.擁有資源:線程不擁有資源,但可以訪問所在進程的資源4.系統開銷:線程的創建和銷燬所需

原创 死鎖相關

1.四個必要條件:互斥:一段時間內某資源只能被一個進程佔有不剝奪:進程獲得的資源在未使用完畢之前,不被其他進程強行奪走請求與保持:進程已擁有某一資源,又提出新的資源請求,而該資源被別的進程佔有,該請求進程阻塞且擁有的資源不釋放循環等待:存

原创 斐波那契數列

 /**輸出斐波那契數列第n項 --- 遞歸*/public class Solution{ public int Fibonacci(int n) { if (n == 0) { return 0

原创 進程通信IPC

1.管道(pipe):在內核中開闢緩衝區(管道)實現進程通信,一個讀端,一個寫端。半雙工,數據只向一個方向流動,一端讀一端寫只用於父子,兄弟進程:創建pipe時,兩個文件描述符指向管道兩端,fork子進程,繼承文件描述符是獨立的文件系統,

原创 求二進制中1的個數

可能引起死循環的解法package tao.leetcode; /** * Created by Tao on 2017/7/30. */ public class MyLeetcode { public static voi

原创 趨勢科技面經

解釋jvm棧溢出jvm棧除了存放臨時變量,還有什麼作用詳細解釋java文件的編譯和運行過程Linux調優,JVM調優如何實現多線程?synchronize底層是如何實現的可重入鎖問題,Lockfree問題網絡編程瞭解嗎?知道哪些java後

原创 Ubuntu修改賬號密碼-recovery模式

啓動Ubuntu時,長按shift進入grub選擇菜單 選擇高級選項-advantaged options 選擇root 回車 passwd account (account是待修改密碼的賬號名稱)

原创 Ubuntu網絡配置

1.ip地址的靜態、動態分配 sudo vim /etc/network/interfaces; 添加內容 動態獲取的配置方法: auto eth0 iface eth0 inet dhcp 靜態分配的配置方法: auto eth0 if

原创 運行Spark程序,java.lang.ClassNotFoundException的解決

IDEA中運行出現錯誤;打包成jar,submit命令提交正確執行 設置:SparkConf().setJars(List(pathtojar)) 其中pathtojar:jar包的絕對路徑

原创 Github上傳工程文件

在github上New repository,並複製該地址URL; 打開Git,cd到待上傳文件的目錄; git clone URL; cd 進入master; git add . git commit -m "first commit"

原创 HDFS上傳文件與Spark執行

根據並行度與文件大小設置Block大小,上傳腳本: hadoop dfs -D dfs.block.size=42724400 -D io.bytes.per.checksum=100 / -D dfs.namenode.fs-limi

原创 HDFS中NameNode和Secondary NameNode

NameNode(管理者):管理文件系統的命名空間,維護元數據鏡像文件fsimage(磁盤)和操作日誌文件edit logs。 問題: edits文件在集羣運行過程中不斷增加,佔用更過內存; NameNode重啓會進行edits文件的合併