原创 Java 避免使用Finalizer和Cleaner機制

避免使用Finalizer和Cleaner機制 finalize機制本身就是存在問題的。 finalize機制可能會導致性能問題,死鎖和線程掛起。 finalize中的錯誤可能導致內存泄漏;如果不在需要時,也沒有辦法取消垃圾回收;並且沒有指

原创 Java Connection集合分析之List

Java Connection集合家庭分析 Java集合大致可以分爲Set、List、Queue和Map四種體系,其中Set代表無序、不可重複的集合;List代表有序、重複的集合;而Map則代表具有映射關係的集合,Java 5 又增加了Q

原创 Spark學習記錄(二)Spark集羣搭建

Hadoop  Spark集羣搭建,以及IDEA遠程調試 環境:Hadoop-2.7.2  jdk-1.8   scala-2-11-12  spark-2.1.0 spark2.0.0開始,只支持Java8版本了,並且Java8版本最好

原创 Java ThreadLocal的內存泄漏問題

ThreadLocal提供了線程獨有的局部變量,可以在整個線程存活的過程中隨時取用,極大地方便了一些邏輯的實現。常見的ThreadLocal用法有: - 存儲單個線程上下文信息。比如存儲id等; - 使變量線程安全。變量既然成爲了每個線程內

原创 Java的方法參數傳遞是值傳遞還是引用傳遞

Java的方法參數傳遞是值傳遞還是引用傳遞?對於基本類型和對象來說,都會發生什麼情況? 答案是Java只有值傳遞,因爲Java只有值傳遞,因此在改變形參的值的時候,實參是不會因此而改變的。這一點從下面這個小程序可以很明顯的看出來。

原创 Java 中int和Integer有什麼區別

面對上面的問題,你該怎麼回答? 典型回答 int 是我們常說的整形數字,是 Java 的 8 個原始數據類型(Primitive Types,boolean、byte、short、char、int、float、double、long)之一

原创 Java 動態代理的實現

在Java中可以實現動態代理的方式有很多種:JDK方式、ASM字節碼操控框架、開源的分析、編輯和創建Java字節碼的類庫Javassist、基於ASM框架實現的CGLIB JDK方式:通過Java反射的方式生成動態代理類。 缺點:JDK中提

原创 邏輯迴歸、決策樹和支持向量機

摘要:分類問題是商業業務中遇到的主要問題之一。本文對三種主要技術展開討論,邏輯迴歸(Logistic Regression)、決策樹(Decision Trees)和支持向量機(Support Vector Machine,SVM)。 分類

原创 Java 深入分析HashMap

內部實現 搞清楚HashMap,首先需要知道HashMap是什麼,即它的存儲結構-字段;其次弄明白它能幹什麼,即它的功能實現-方法。下面我們針對這兩個方面詳細展開講解。 存儲結構-字段 從結構實現來講,HashMap是數組+鏈表+紅黑樹

原创 Spark採坑系列(三)Spark操作Hive的坑

跟着教學試着用Idea編程,實現Spark查詢Hive中的表。結果上來就涼了。 搗鼓好久都不行,在網上查有說將hive-site.xml放到resource目錄就行,還有什麼hadoop針對windows用戶的權限問題,結果都是扯淡。 其

原创 Spark 採坑系列(一) 集羣環境讀取本地文件的坑

Spark 採坑系列 今天在網上看了一個例子,Spark啓動後讀取文件並計算的例子,自己在按照網上方法使用的時候意外菜了坑。 首先,我將3臺虛擬機的Spark集羣以及Hadoop集羣啓動。 然後我在其中一個服務器上編輯了一個文本,命名spa

原创 Java 內部類與匿名內部類

問:什麼JDK8之前內部類中如果有訪問外部類的成員時,必須要加上final?爲什麼JDK8不用了? 答:我們先不說JDK版本,就說說爲什麼要加final。 我先給出問題的答案:用final修飾實際上就是爲了保護數據的一致性。 這裏所說的數據

原创 決策樹和隨機森林

一、前述 決策樹是一種非線性有監督分類模型,隨機森林是一種非線性有監督分類模型。線性分類模型比如說邏輯迴歸,可能會存在不可分問題,但是非線性分類就不存在。 二、具體原理 ID3算法 1、相關術語 根節點:最頂層的分類條件 葉節點:代表每一

原创 Java Connection集合分析之Set

Java Connection集合家庭分析 Java集合大致可以分爲Set、List、Queue和Map四種體系,其中Set代表無序、不可重複的集合;List代表有序、重複的集合;而Map則代表具有映射關係的集合,Java 5 又增加了Q

原创 java HashMap hash方法分析

下面分別分析下,JDK1.7 與 JDK1.8 中 hash方法的運算過程,並且左後結合JDK1.8 中 hash方法來進行詳細說明。   JDK1.7 中HashMap 中hash table 定位算法:  int hash = hash