原创 HIVE數據傾斜總結

在做Shuffle階段的優化過程中,遇到了數據傾斜的問題,造成了對一些情況下優化效果不明顯。主要是因爲在Job完成後的所得到的Counters是整個Job的總和,優化是基於這些Counters得出的平均值,而由於數據傾斜的原因造成map處理

原创 Java面試題必考50道(含答案)

        以下的內容是對網上原有的Java面試題集及答案進行了全面修訂之後給出的負責任的題目和答案,原來的題目中有很多重複題目和無價值的題目,還有不少的參考答案也是錯誤的,修改後的Java面試題集參照了JDK最新版本,去掉了EJB 2

原创 JVM總結

區域簡介 JVM運行時區域有些隨着虛擬機進程的啓動而存在,有些依賴於用戶線程的啓動和結束而建立和銷燬,大致分爲以下幾類:方法區,虛擬機棧,本地方法棧,堆,程序計數器,概念圖如下(源於《深入理解JAVA虛擬機-JVM高級特性》): 程序

原创 linux常用命令

Linux發行版本:CentOS(應用最廣) redhat  ubuntu CentOS 6.4(64bit位) 發行版本:內核,發行文檔等 Linux下是一切皆文件。目錄也是文件 1、Xshell連接Linux系統:ssh root@ip

原创 深入Mybatis

前言 緩存的相關接口 一級緩存的實現過程 二級緩存的實現過程 如何保證緩存的線程安全 緩存的裝飾器 前言 在使用諸如 Mybatis 這種 ORM 框架的時候,一般都會提供緩存功能,用來緩存從數據庫查詢到的結果,當下一次查詢條件相同的時候

原创 HashMap的詳細介紹(源碼解析)和使用實例

目錄: 第1部分 HashMap介紹 第2部分 HashMap數據結構 第3部分 HashMap源碼解析(基於JDK1.6.0_45)     第3.1部分 HashMap的“拉鍊法”相關內容     第3.2部分 HashMap的構造函

原创 常見的Java基礎的面試題

1 用過jdk8嗎?瞭解函數式編程嗎?NIO瞭解嗎? 2 CopyOnWrite應用場景? 3 如何java實現互斥鎖?zk實現分佈式隊列? 4 數據庫優化方式? 數據庫索引有哪些,區別。 5 如何保證一個類是線程安全的?servlet是線

原创 用按位異或運算符交換兩個數,不引入第三個變量

用按位異或運算符交換兩個數,不引入第三個變量 void swap(int &a , int &b) {    a = a^b;    b = a^b;    a = a^b; } 解這個函數,只需要知道抑或運算的一些特性: 1. 異或運算

原创 Spring框架中的設計模式(二)

Spring框架中的設計模式(二) 原創: 瑞查德-Jack  在 上一篇 中我們在Spring中所談到的設計模式涉及到了創建模式三劍客和1個行爲模式(解釋器模式)。這次我們會將眼光更多地關注在具有結構性和行爲性的設計模式上。 在這篇文

原创 Spring框架中的設計模式(五)

 Spring框架中的設計模式(五) 通過以前的4篇文章,我們看到Spring採用了大量的關於創建和結構方面的設計模式。本文將描述屬於行爲方面的兩種設計模式:命令和訪問者。 前傳: Spring框架中的設計模式(一) Spring

原创 SQL練習題

表架構 Student(S#,Sname,Sage,Ssex) 學生表  Course(C#,Cname,T#) 課程表  SC(S#,C#,score) 成績表  Teacher(T#,Tname) 教師表 建表語句    CREATE

原创 Yarn的原理與資源調度

        本節,主要介紹yarn的基本原理以及資源調度。在hadoop1.0不能滿足多系統集成的背景下孕育了yarn的產生。由於多分佈式系統可以很好的集成,因此yarn的出現使得整個集羣的運維成本大大降低。同時,yarn可以很好的利用

原创 Spring框架中的設計模式(一)

設計模式有助於遵循良好的編程實踐。作爲最流行的Web框架之一的Spring框架也使用其中的一些。 本文將介紹Spring Framework中使用的設計模式。這是5篇專題文章的第一部分。這次我們將發現Spring框架中使用的4種設計模式:解

原创 內存溢出和內存泄漏的區別,產生原因以及解決方案

一、概念與區別 內存溢出 out of memory,是指程序在申請內存時,沒有足夠的內存空間供其使用,出現out of memory;比如申請 了一個integer,但給它存了long才能存下的數,那就是內存溢出 內存泄露 memory

原创 深入研究kafka原理

一、爲什麼需要消息系統 1.解耦:允許你獨立的擴展或修改兩邊的處理過程,只要確保它們遵守同樣的接口約束。 2.冗餘: 消息隊列把數據進行持久化直到它們已經被完全處理,通過這一方式規避了數據丟失風險。許多消息隊列所採用的"插入-獲取-刪除"