Time of Update: 2018-07-26
以下是筆者前面翻譯的記憶體回收相關文章 Hotspot GC概覽 Parallel Scavenge(並行回收) 本文我們將會描述並行記憶體回收(Parallel GC)是如何工作的。具體來說,這是一個在Eden空間運行Parallel Scavenge收集器、在老年代(Tenured generation)空間運行並行標記(Parallel Mark)和Sweep收集器的組合。你可以通過傳入參數’
Time of Update: 2018-07-26
本文是關於記憶體回收(GC)系列的第一篇文章。我希望通過這一系列的課程能夠覆蓋一些記憶體回收的原理和在hotspot虛擬機器中的一些主要的記憶體回收行程。本文僅僅只是描述什麼是記憶體回收和不同垃圾收集器的共同元素。 為什麼我們應該關心記憶體回收。
Time of Update: 2018-07-26
1.線程池主要作用: ①控制線程數量 ②重用線程 package day01;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * 線程池主要作用: * 1:控制線程數量 * 2:重用線程 * @author 愛吃木魚的貓 */public class Demo01 {public static void main(String[] args)
Time of Update: 2018-07-26
public class KeyStore extends Object 此類表示密鑰和認證的儲存設施。 KeyStore 管理不同類型的條目。每種類型的條目都實現 KeyStore.Entry 介面。提供了三種基本的 KeyStore.Entry 實現: KeyStore.PrivateKeyEntry 此類型的條目儲存一個加密的 PrivateKey,可以選擇用受保護格式儲存該私密金鑰,以防止未授權訪問。它還隨附一個相應公開金鑰的憑證鏈結。
Time of Update: 2018-07-26
//1.keytool工具產生keystore檔案 keytool -genkey -alias csdn -keypass 123456 -keyalg RSA -keysize 1024 -validity 3650 -keystore D:/csdn_server.keystore -storepass 888999 //講檔案複製到工程中 //程式碼片段 package com.demo.test;import
Time of Update: 2018-07-26
直接點來思路: 這兩種方式,原本就是一種方式,這裡我放兩種案例主要是針對不同的項目,所展現的形式不一樣 以下是兩種方式的核心思路: 1, 方法的參數 .p12認證,密碼,keyStore類型,演算法,協議;2, 將字串密碼轉換為字元數組;3, KeyStore擷取執行個體,getInstance(keystoreType);4, 其調用 load(keyStore,pwdChars);5, KeyManagerFactory擷取執行個體,
Time of Update: 2018-07-26
什麼是本地方法 在Java中,有些方法涉及到與作業系統互動,擷取和使用作業系統的硬體或軟體的資源,單純的用Java實現要麼實現很困難,或者不能實現,這時候就要使用本地方法,本地方法就是用其他語言寫的方法,然後在JVM中調用 本地方法的定義 本地方法在很多類中都有所見,比如Object類的clone方法 protected native Object clone() throws CloneNotSupportedException;
Time of Update: 2018-07-26
1、什麼是代理 代理模式的主要作用是為其他對象提供一種代理以控制對這個對象的訪問。在某些情況下,一個對象不想或者不能直接引用另一個對象,而代理對象可以在用戶端和目標對象之間起到中介的作用。 代理模式的思想是為了提供額外的處理或者不同的操作而在實際對象與調用者之間插入一個代理對象。這些額外的操作通常需要與實際對象進行通訊。 例如:假設有一組對象都實現同一個介面,實現同樣的方法,但這組對象中有一部分對象需要有單獨的方法,傳統的笨辦法是在每一個應用端都加上這個單獨的方法,但是代碼重用性低,
Time of Update: 2018-07-26
Errors occurred during the build. Errors running builder 'DeploymentBuilder' on project 'myf'. java.lang.NullPointerException 此問題一般發生在Myeclipse 儲存檔案並自動部署時候。 Errors occurred during the build. Errors running builder
Time of Update: 2018-07-26
一:擷取目前時間,一小時前,一小時後,一月前,一月後的時間 GregorianCalendar a = new GregorianCalendar(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("目前時間:"+format.format(a.getTime()));
Time of Update: 2018-07-26
背景介紹 最近再做一個RSS閱讀工具給自己用,其中一個環節是從伺服器端擷取一個包含了RSS源列表的json檔案,再根據這個json檔案下載、解析RSS內容。核心代碼如下: class PresenterImpl(val context: Context, val activity: MainActivity) : IPresenter { private val URL_API =
Time of Update: 2018-07-26
1、基本思想 歸併排序(Merge)是將兩個(或兩個以上)有序表合并成一個新的有序表,即把待排序序列分為若干個子序列,每個子序列是有序的。然後再把有序子序列合并為整體有序序列。 歸併排序是建立在歸併操作上的一種有效排序演算法。該演算法是採用分治法(Divide and Conquer)的一個非常典型的應用。 將已有序的子序列合并,得到完全有序的序列;即先使每個子序列有序,再使子序列段間有序。若將兩個有序表合并成一個有序表,稱為2-路歸併。 歸併排序的時間複雜度是O(N*lgN)。
Time of Update: 2018-07-26
1、基本思想 通過一趟排序將要排序的資料分割成獨立的兩部分,其中一部分的所有資料都比另外一部分的所有資料都要小,然後再按此方法對這兩部分資料分別進行快速排序,整個排序過程可以遞迴進行,以此達到整個資料變成有序序列。 2、演算法步驟 獲得待排序數組 選取合適的數字作為排序基準數字(一般情況下選取數組或者子數組的第一個數字)。 將待排序數組中比基準數字小的放在基準數位左邊得到sub1,比基準數字大的放在基準數位右邊得到sub2。
Time of Update: 2018-07-26
1.反射是什麼 首先看書要理解反射,很難完全理解,這關係到Java的語言特性,jvm的記憶體細節,當初我看反射,就像高票答案那樣,照著寫一遍,結果是你並沒有理解,你只是照貓畫虎,要想真正理解,我建議題主,不斷深入探究,當你踩得足夠深回過頭來,你會柳暗花明。 這裡我不打算像別的答案上來就上代碼,給你講怎麼用,是啥是啥,老實說那樣比較像培訓java程式員的感覺,一點對知識的好奇心都沒有,如果是想速成反射的,大家看別的答案吧。
Time of Update: 2018-07-26
準備工作 構建一個測試類別,通過測試類別先初始化一個資料來源,具體如下。 public class TestObject { private String name; private String sex; private int age; private String email; private boolean isMng; public TestObject() { } public TestObject(String
Time of Update: 2018-07-26
用keytool可以產生JSK類型的keystore,其中可以存放很多個Key(私密金鑰和對應的認證)。 import java.io.*;import java.security.*;import java.security.cert.*;import java.util.*;import java.math.*;import sun.security.x509.*;import javax.crypto.*;public static void Test1() throws
Time of Update: 2018-07-26
繼承Thread類: 在Java中,內建了對多線程技術的支援。繼承Thread,還有實現Runnable介面。先看一下Thread類的結果,如下: public class Thread implements Runnable 從上面的代碼中發現,Thread類實現了Runnable介面,它們之間具有多態關係。 這種方法的局限是不支援多繼承,因為Java是單繼承的,所以為了多繼承,完全可以實現Runnable介面的方法。
Time of Update: 2018-07-26
第一章 java 多線程技能 進程是作業系統的結構基礎;是一次程式的執行。線程可以看成進程的一個子任務。線程可以通過繼承Thread類或者實現runnable介面來實現。介面的實現優於繼承。 停止線程可以通過拋異常,return;或者暴力手段stop();stop停止線程過於暴力,容易造成資料缺失,所以不建議 暫停線程suspend()和resume方法的使用 安全執行緒 通過synchronized同步方法實現
Time of Update: 2018-07-26
轉載地址:http://my.oschina.net/cshuangxi/blog/223417 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream;
Time of Update: 2018-07-26
1.變數可能未初始化 錯誤提示:Abc.java:9: variable i might not have been initialized System.out.println(i); 中文說明:變數i可能沒有賦值就使用了。 例子說明: int i; System.out.println(i);