原创 Java裏一個線程調用了Thread.interrupt()到底意味着什麼?

一個線程不應該由其他線程來強制中斷或停止,而是應該由線程自己自行停止。 所以,Thread.stop, Thread.suspend, Thread.resume 都已經被廢棄了。 而 Thread.interrupt 的作用其實也不

原创 Java併發編程:併發容器之CopyOnWriteArrayList(轉載

原文鏈接:   http://ifeve.com/java-copy-on-write/      Copy-On-Write簡稱COW,是一種用於程序設計中的優化策略。其基本思路是,從一開始大家都在共享同一個內容,當某個

原创 關於hive自定義JsonSerde處理json

Hive自身提供UDF函數對json數據格式解析的函數,即get_json_object(…)與json_tuple(…)支持json數據的操作,但是使用效果並不是非常理想。如果可以像普通hive建表指定字段映射到json中的key就太好

原创 This is usually caused by another repository pushing:refusing to merge unrelated histories

 事情是這樣的,我先是在一個git好了的目錄連接了一個倉庫創建了一個項目併發布到了那個倉庫上,然後我又在idea中創建了一個更完整的項目,又連接到了這個git倉庫中(倆項目名稱相同),然後就想發佈上去,結果add ,commit完成之後要

原创 爲什麼使用 SLF4J 而不是 Log4J 來做 Java 日誌

每個Java開發人員都知道日誌記錄對Java應用的重要性,尤其是對服務端應用,而且其中許多人都已經熟悉了各種記錄日誌的庫,比如java.util.logging,Apache的log4j,logback,然而如果你不知道SLF4J,

原创 淺學redis之Jedis

將redis-server變成後端運行 將修改redis.conf中的 daemonize後的no修改爲yes,運行時 ./redis-server ./redis.conf即可 daemonize yes 存儲數據 set key va

原创 Log4j使用相對路徑指定log文件及使用總結

原文地址:http://huanyue.iteye.com/blog/574598 Log4j在指定log文件位置時一般是使用絕對路徑,這樣在部署環境發生變化時顯得十分麻煩,在網上找了很多種方法,個人感覺以下方法比較適用: 由於

原创 Hbase安裝出現的錯誤

1、在執行hbase version時 <p>txr:hbase-0.98.6-cdh5.3.6 zj-db0236$ hbase version /Users/txr/Downloads/hbase-0.98.6-cdh5.3.6/bi

原创 併發編程實戰死鎖讀書筆記之吐槽

簡單順序死鎖 package com.txr.TransferMoneyDemo; /** * Created by txr on 2017/7/28. */ public class LeftRightDeadlock {

原创 TimeUnit

public enum TimeUnitextends Enum<TimeUnit>TimeUnit 表示給定單元粒度的時間段,它提供在這些單元中進行跨單元轉換和執行計時及延遲操作的實用工具方法。TimeUnit 不維護時間信息,但是有助

原创 log4j.xml詳解及log4j教程學習參考資料推薦

log4j.xml代碼 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "http://logging.apache.org/l

原创 好奇寶寶對於灰度瞭解的隨筆

 今天拿到需求做統計時第一次聽說灰度這一詞,於是抱着好奇的態度去百度一下,然後就做個小筆記 灰度發佈:是指在黑與白之間,能夠平滑過渡的一種發佈方式。ABtest就是一種灰度發佈方式,讓一部分用戶繼續用A,一部分用戶開始用B,如果用戶對B沒

原创 java 雙重檢查加鎖弊端

http://blog.csdn.net/axman/article/details/1089196 Java是在語言級提供對線程的支持,所以Java的內存模型分爲主存儲器和工作存儲器.[Main memory]主存儲器就是實例所在的

原创 虛擬機類初始化機制

類從被加載到虛擬機內存中開始,到卸載出內存爲止,它的整個生命週期包括:加載、驗證、準備、解析、初始化、使用和卸載7個階段。其中驗證、準備、解析3個部分統稱爲連接。 加載、驗證、準備、初始化和卸載這5個階段的順序是確定的,類的加載過程必須按

原创 深入瞭解java虛擬機之GC回收機制

用斷點機制來一步一步看虛擬機的變化 先來介紹每個參數的意義 -GC  參數 含義 S0C Survivor1總空間 S1C Survivor2總空間 S0U Survivor1已用空間 S1C Survivor2已用空間 EC Eden