Time of Update: 2018-12-04
故事的背景: 筆者最近在做一個類SNS的項目,其中使用了MongoDB進行Feed資訊儲存,並使用定時器刪除到期資訊。 定時器的時間變數為60天,設定 Java代碼 private long msgInvalidDue = 60 * 24 * 3600 * 1000; 之所以這麼寫常量,完全是為了代碼的易讀易維護。 故事的發生:
Time of Update: 2018-12-04
我們有時候將一個java對象變成位元組流的形式傳出去或者從一個位元組流中恢複成一個java對象,例如,要將javaObject Storage Service到硬碟或者傳送給網路上的其他電腦,這個過程我們可以自己寫代碼去把一個java對象變成某個格式的位元組流再傳輸,但是,jre本身就提供了這種支援,我們可以調用OutputStream的writeObject方法來做,如果要讓java
Time of Update: 2018-12-04
1概述虛擬機器把描述類的資料從Class檔案載入到虛擬機器,並對資料進行校正、轉換解析和初始化,最終形成可以被虛擬機器直接使用的java類型,這就是虛擬機器的類載入機制。與那些在編譯時間需要串連的語言不同,在Java語言裡面,類的載入和串連過程都在程式運行期間完成的,這樣會在類的載入稍微增加一些效能開銷,但是卻能為java應用程式提供高度的靈活性,java中天生就可以動態擴充的語言特性就是依賴運行動態載入和動態連結這個特點實現的。2類載入的時機類從載入到虛擬機器記憶體中開始,到卸載出記憶體為止,
Time of Update: 2018-12-04
1概述基本就是C和C++程式編寫需要維護沒一個對象生命開始到終結。Java把記憶體控制權利交給了JAVA 虛擬機器,但是有時卻會出現記憶體溢出等問題。2運行時資料區域Java虛擬機器在執行Java程式的過程中會把他所管理的記憶體換分為若干不同的記憶體地區。===運行時資料區====方法區(Method Area) 虛擬機器棧(VM Stack) 本地方法棧(Native Method Stack)堆(Heap) 程式計算機(Program Counter
Time of Update: 2018-12-04
無關性的基石位元組碼(ByteCode)是構成平台無關性的基石。實現語言無關性的基礎仍然是虛擬機器和位元組碼儲存格式,使用Java編譯器可以把Java代碼編譯為儲存位元組碼的Class檔案,使用JRuby等其他語言的編譯器一樣可以把程式碼編譯成Class檔案,虛擬機器並不關心Class的來源是什麼語言,只要他符合Class檔案應用的結構就可以在Java虛擬機器中運行。Class類檔案的結構Class檔案是一組以八位位元組為基礎的單位的二進位流,各個資料項目嚴格按照順序緊湊的排列在Class檔案中
Time of Update: 2018-12-04
首先Spring中整合了RMI:http://blog.csdn.net/partner4java/article/details/7285055然後,我們單獨寫個helloworld,分為幾步1、介面定義,需要實現Remote2、實現3、註冊開啟4、調用具體使用可查看jdk文檔package com.partner4java.demo.rmi;import java.rmi.Remote;import java.rmi.RemoteException;/** * 首先定義一個介面<br/
Time of Update: 2018-12-04
記憶體回收行程(Garbage Collection,GC)。三件事:哪些記憶體需要回收?什麼時候回收?如何回收?程式計數器、虛擬機器棧、本地方法棧三個地區隨線程而生,隨線程而滅;棧中的棧幀隨著方法的進入和退出而有條不紊的執行著出棧和入棧操作。堆中幾乎存放著Java世界中所有對象執行個體,垃圾收集器在對堆進行回收前,第一件事情就是要確定這些對象有哪些還“存活”著,哪些已經“死去”。1、引用計數演算法基本演算法是這樣的:給對象添加一個引用計數器,每當有一個地方引用他時,計數器就加1;當引用失效時,
Time of Update: 2018-12-04
計算程式所需線程總數:線程數 =
Time of Update: 2018-12-04
public interface SomeClass { public abstract void someMethod(); public abstract void someOtherMethod(final String text);} public class SomeClassImpl implements SomeClass{ private String userName; public SomeClassImpl(final String
Time of Update: 2018-12-04
第一,談談final, finally, finalize的區別。 final 用於聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。finally是異常處理語句結構的一部分,表示總是執行。finalize是Object類的一個方法,在垃圾收集器執行的時候會調用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關閉檔案等。 第二,Anonymous Inner Class (匿名內部類)
Time of Update: 2018-12-04
一切都亂了。 北京來的所謂的“高參”,叫囂:Java比DotNet好,Windows是最爛的作業系統、未來互連網的網速會達到200MB/S、大城市的網吧未來都會直接接入一把光纖(原話如此),所以網速超快。旁邊的我們的老總,一臉虔誠,一邊聽一邊不停記錄,老總沒聽清於是問是多少光纖啊,“高參”答:一把。最後老總完全失去方向,恨不能公司所有軟體全部轉向Linux平台,全部用JAVA實現。
Time of Update: 2018-12-04
搭建Eclipse+MyEclipse開發環境摘自:天極網一、安裝JDK 首先下載JDK 5.0(JDK 5.0的下載頁面為:http://java.sun.com/j2se/1.5.0/download.jsp); 然後運行JDK 5.0安裝程式jdk-1_5_0_06-windows-i586-p.exe,安裝過程中所有選項保持預設;最後配置JDK的環境變數:在“我的電腦”上點右鍵—>“屬性”—>“進階”—> “環境變數(N)”。 建立系統變數JAVA_HOME:C:/
Time of Update: 2018-12-04
用cygwin運行nutch 1.2爬取提示IOException:$ bin/nutch crawl urls -dir crawl -depth 3 -topN 10crawl started in: crawlrootUrlDir = urlsthreads = 10depth = 3indexer=lucenetopN = 10Injector: starting at 2011-10-10 15:19:26Injector: crawlDb:
Time of Update: 2018-12-04
導讀:據最近的報道,針對Java的襲擊數量一直在穩步上升。在這篇文章,我們將談到為什麼Java容易成為攻擊者的目標,以及企業應該如何建立Java安全架構,從而成功抵禦基於Java的漏洞攻擊。雖然蠕蟲、Zeus殭屍網路和極光行動是去年的頭條新聞,但是據Krebs On Security的Brian Krebs和微軟的Holly
Time of Update: 2018-12-04
import java.io.File;import java.util.LinkedList;public class FileSystem { public static int num; public static void main(String[] args) { long a = System.currentTimeMillis(); //String path="c:"; num=0;
Time of Update: 2018-12-04
什麼是Servlet 在Web伺服器端載入並啟動並執行Java應用程式具體運行在Servlet引擎管理的JVM上。Servlet容器負責Servlet和使用者的通訊以及調用Servlet的方法。Servlet和使用者的通訊採用請求/響應模式。用於以動態響應客戶機請求形式擴充Web伺服器(Web Container)的功能。Servlet是程式開發伺服器端應用程式的一個很好選擇, Servlet與JSP結合使用,能提供更強大的伺服器端功能。 三種基本的Servlet引擎
Time of Update: 2018-12-04
歸併的思想就是分治.Java代碼 public class Test1 { public static void main(String[] args) { int[] arr1 = { 4,23,234,3,41,311,3,5 ,56,5,46}; int[] arr2 = { 4,23,234,3,41,311,3,5 ,56,5,46}; Test1 test1 = new Test1();
Time of Update: 2018-12-04
在Java中,不同的類都有自己單獨的Cache機制,實現的方法也可能有所不同,文章列舉了Java中常見的各類Cache機制的實現方法,同時進行了綜合的比較。OSCacheOSCache是個一個廣泛採用的高效能的Java EE緩衝架構,OSCache能用於任何Java應用程式的普通的緩衝解決方案。OSCache有以下特點:緩衝任何對象,你可以不受限制的緩衝部分jsp頁面或HTTP請求,任何java對象都可以緩衝。擁有全面的API--OSCache
Time of Update: 2018-12-04
1.下載http://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe 2.設定3個環境變數如果是Windows2000或XP系統,使用滑鼠右擊“我的電腦”->屬性->進階->環境變數 系統變數->建立->變數名:JAVA_HOME 變數值:c:/jdk1.6.0_21/ 系統變數->建立-&
Time of Update: 2018-12-04
生產者,消費者,固定長度緩衝區,此外外部可以中斷線程 import java.util.Arrays;import java.util.Date;import java.util.LinkedList;import javax.swing.*;public class ProducerConsumer { public static JFrame inst; public static void main(String[] args) { BufferLock buffer = new