原创 內存模型以及分區

Java內存模型(即Java Memory Model,簡稱JMM)本身是一種抽象的概念。java內存模型中分爲主內存和工作內存。主內存裏面存儲着所有變量,主內存是共享內存區域,所有線程都可以訪問。每一個線程都私有一個工作內存,工作內存裏

原创 泛型之二非泛型如何改造成泛型

package fft.generics; //照理說,可以使用任何類型的object //使用泛型可以使錯誤在編譯時被探測到,從而增加程序的健壯性

原创 volatile實現可見性的原理解釋

在java併發編程中,一定繞不開volatile、synchronized和lock幾個關鍵字,其中volatile關鍵字是用來解決共享變量(類成員變量、類的靜態成員變量等)的可見性問題的,非共享變量(方法的局部變量)是分配在JVM虛擬機

原创 ATS功能介紹

識點 功能 1.Traffic Server緩存 ATS 緩存包含一個高速的對象數據庫,數據庫根據 URL 和相關頭部來索引對象,對於同一對象可以緩存不同版本(如不同的編碼、語言)。 當緩存空間滿後,TS 會移除過期的數據。 當磁盤出錯時

原创 泛型之三 支持多個方法重載

package fft.generics; import java.util.Arrays; //泛型支持多個數據類型,可以對方法重載public

原创 java.util.concurrent和工具類

一、java.util.concurrent體系的主要大板塊包含內容 說到JUC其實就是說java的多線程等和鎖及一些狀態轉換,中斷等,它還涉及到一些tools工具的東東,見下圖: Tools也包含了5個部分的知識:Executors、S

原创 多線程current包

編寫多線程的程序一直都是一件比較麻煩的事情,要考慮很多事情,處理不好還會出很多意想不到的麻煩。加上現在很多開發者接觸到的項目都是打着企業級旗號的B/S項目,大多數人都很少涉及多線程,這又爲本文的主角增加了一份神祕感。   講到Java多線

原创 Eclipse下Maven插件安裝的幾種方法

IDE Plugins的方法有很多。一種是在線安裝,通過Help-->Install New Software的方式,輸入HTTP地址來安裝,簡單易操作,但是也優缺點,就是下載速度慢,或者有的時候乾脆搜索不到要安裝的插件。下面介紹mav

原创 瞭解squid服務以及安裝部署

squid作爲一款應用層的代理服務軟件,它主要提供了緩存加速、應用層過濾的功能。 squid代理服務器的工作機制: 當我們客戶機通過squid代理去訪問web頁面時,指定的代理服務器會先檢查自己的緩存,若是緩存中有我們客戶機需要的頁面

原创 (nginx,Varnish,Squid,Apache TrafficServer)之 nigix與narnish的區別和比較

Varnish 高性能、開源的反向代理服務器和內存緩存服務器。 優點: 1. 高性能; 2. 多核支持; 3. 支持0-60秒的精確緩存時間。 缺點: 1. 不具備自動容錯和恢復功能,重啓後數據丟失; 2. 在線擴容比較難。 3. 32位

原创 如何初始化(新建)一個方法 ,如何方法逆向調用對象

package fft.property.copy; import java.lang.reflect.InvocationTargetExcept

原创 (nginx,Varnish,Squid,Apache TrafficServer)之 nigix與narnish的區別和比較二

在前面的文章中,我們曾對HAProxy、Varnish的性能、配置做過詳細介紹。今天給各位帶來的是這三款開源代理服務器軟件的區別,以及什麼樣的場景使用哪款軟件。 哪個軟件能夠支撐高可用,高併發,還要好維護,運維和網絡管理員如何從這些方案中

原创 Java泛型系類之一 爲什麼要使用泛型

package fft.generics; public class Box {          private Object object;  

原创 ThreadLocal考驗求職者

什麼是ThreadLocal ThreadLocal是一個本地線程副本變量工具類,各個線程都擁有一份線程私有的數據,線程之間的變量互不干擾,在高併發場景下,可以實現無狀態的調用。 ThreadLocal提供了線程安全的另一種思路,我們平常

原创 大數據-大數據學習過程

本文旨在爲普通程序員(Java程序員最佳)提供一個入門級別的大數據技術學習路徑,不適用於大數據工程師的進階學習,也不適用於零編程基礎的同學。 前言: 一、背景介紹 二、大數據介紹 正文: 一、大數據相關的工作介紹 二、大數據工程師的技能要