Time of Update: 2018-07-26
我們都知道,在JDK1.5之前,Java中要進行業務並發時,通常需要有程式員獨立完成代碼實現,而當針對高品質Java多線程並發程式設計時,為防止死蹦等現象的出現,比如使用java之前的wait()、notify()和synchronized等,每每需要考慮效能、死結、公平性、資源管理以及如何避免執行緒安全性方面帶來的危害等諸多因素,往往會採用一些較為複雜的安全性原則,加重了程式員的開發負擔.萬幸的是,在JDK1.5出現之後,Sun大神終於為我們這些可憐的小程式員推出了java.util.conc
Time of Update: 2018-07-26
這篇文章主要來談論一下DTO使用的場合及其帶來的好處。首先要理解DTO是什麼。 DTO就是資料轉送對象(Data Transfer Object)的縮寫。 DTO模式,是指將資料封裝成普通的JavaBeans,在J2EE多個層次之間傳輸。 DTO類似信使,是同步系統中的Message。 該JavaBeans可以是一個資料模型Model。
Time of Update: 2018-07-26
一、微博一定要登入才能抓取?目前,對於微博的爬蟲,大部分是基於類比微博帳號登入的方式實現的,這種方式如果真的運營起來,實際上是一件非常頭疼痛苦的事,你可能每天都過得提心弔膽,生怕新浪爸爸把你的那些帳號給封了,而且現在隨著實名制的落地,獲得帳號的渠道估計也會變得越來越少。
Time of Update: 2018-07-26
0x00 Hessian協議解析 Hessian是一個輕量級的Java還原序列化架構,和Java原生的序列化對比,hessian更加高效並且非常適合位元據傳輸。
Time of Update: 2018-07-26
引用:http://sunnylocus.iteye.com/blog/694666 最近有一個銀行資料漂白系統,要求操作人員在頁面調用遠端Linux伺服器的shell,並將shell輸出的資訊儲存到一個記錄檔,前台頁面要即時顯示記錄檔的內容.這個問題痛點在於如何判斷哪些資料是新增加的,通過查看JDK 的協助文檔, java.io.RandomAccessFile 可以解決這個問題.為了類比這個問題,編寫LogSvr和 LogView類,LogSvr不斷向mock.log記錄檔寫資料,而
Time of Update: 2018-07-26
前端時間有幸參與到Rasp技術相關的項目中,正好要告一段落,因此今天來科普下這種技術形式與具體應用。 (一)Java Instrumentation介紹 Java Instrumentation是從JavaSE 5開始提供的新特性,用於構建獨立於java應用的agent程式,主要目的是對JVM上的應用進行監控,比如效能最佳化監控等等。
Time of Update: 2018-07-26
import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; public class ExceptionDefaultHandler { private final static String
Time of Update: 2018-07-26
/**測試**/ @Test public void test() throws Exception{ String msg = "success"; try{ int[] is = null; System.out.println(is[10]); }catch (Exception e) { e.printStackTrace();
Time of Update: 2018-07-26
import java.util.Date; public class TimeSpan { public final static TimeSpan ZERO = new TimeSpan(0); private long _totalMilliSeconds = 0; public TimeSpan(long totalMilliSeconds) { _totalMilliSeconds = totalMilliSeconds; } public TimeSpan(Date
Time of Update: 2018-07-26
也許你學習了那麼久的Java了,但如果有人問你什麼是JavaEE。你會怎麼回答他呢。在此我來談談關於JavaEE的相關技術。(僅是個人見解) 在談JavaEE時,我們首先來瞭解一下Java平台。目前,Java平台有3個版本:適用於小型裝置和智慧卡的JavaME(Java Platform Micro
Time of Update: 2018-07-26
一、java基礎入門 1.環境變數的配置 變數名:Path 變數值:C:\Program Files\JAVA\jdk1.7.0_75\bin;這是我的配置。 2.命名的注意事項: (1)類名:類名的首字母要大寫,如果由多個單片語成,則每個單詞的首字母要大寫,只能包含數字字母和底線,開始只能以字母或底線開頭。
Time of Update: 2018-07-26
/** * 由於Java的簡單類型不能夠精確的對浮點數進行運算,這個工具類提供精 確的浮點數運算,包括加減乘除和四捨五入。 */package com.bwsk.common.utils;import java.math.BigDecimal;/** * 由於Java的簡單類型不能夠精確的對浮點數進行運算,這個工具類提供精 確的浮點數運算,包括加減乘除和四捨五入。 */public class ArithUtil {// 預設除法運算精度private static
Time of Update: 2018-07-26
轉載請註明出處:http://blog.csdn.net/mazhimazh/article/details/17730517 1、關於集合的兩道面試題 先來看幾道題目: 1、建立一個不可變的的集合: public static void main(String[] args) {Set<String> set = new
Time of Update: 2018-07-26
package mathDemo;import java.math.BigDecimal;/** * 目標:封裝加減乘除操作的自訂工具類 * 原因:float ,double 只能用來做科學計算或者工程計算,但在商業計算中要用java.math.BigDecimal * 建立人: 李林君 郵箱: * 建立日期: 2013-9-28 * <p> * * @version 1.0 * @since NC5.7 */public class ArithUtil {//
Time of Update: 2018-07-26
一般運行包含manifest的jar包,可以使用 java -jar <jar-file-name>.jar 如果jar裡沒有 manifest,則可以使用 java -cp foo.jar full.package.name.ClassName 當main類依賴多個jar時,可以把多個jar打包到一個目錄,然後用-Djava.ext.dirs指定該目錄,引用依賴的多個jar。 java
Time of Update: 2018-07-26
閑來無事試一下java的熱修複。主要的原理是通過動態載入class檔案的方式,參考文章為在 Java 中運用動態掛載實現 Bug 的熱修複和動態替換目標進程的Java類 兩篇文章分別在原理和實踐上給出了詳細的說明,這裡做一下執行個體的整理並對遇到的問題和兩篇文章中一些沒有提到的注意事項進行一下說明 被替換的類的準備 先寫一個要被替換掉的類libUtil,裡面只有一個靜態方法printString,列印一句話 public class
Time of Update: 2018-07-26
這個問題本來沒有太大意義,父類子類中定義同名變數不規範,但是面試筆試中容易問到,弄清這個問題也能協助理解繼承。 查了下資料,這個講的不錯,http://ayis.iteye.com/blog/221686 評論的解釋也很好。 這裡總結一下, 父類子類變數引用各自的對象:直接存取都是自己定義的變數。 子類父類自己的方法都是訪問自己的變數,這裡包括多態的情況,通過父類變數訪問子類方法。
Time of Update: 2018-07-26
無意中發現的這個有趣的問題。 觀察下列代碼, 父類和子類中都定義有 String name變數,那最終繼承之後是不是只剩下1個name?還是父類子類的name互相不相干。 通過賦值後,最後會輸出什麼。見如下 public class Son extends Parent{ String name; // 子類中的name void value(){ name ="a";
Time of Update: 2018-07-26
重寫和重載是針對方法的,子類的變數可以覆蓋父類的變數,但是不能改變父類的變數。 class Animals {int age = 10;void enjoy() {System.out.println("Animals enjoy!");}}class Dogg extends Animals {int age = 20;int weight;void enjoy() {System.out.println("Dog enjoy!");}}
Time of Update: 2018-07-26
以前將Struts中的ActionForm的屬性Copy到對應的Hibernate 實體類時,我用的是BeanUtils,覺得其功能還可以,前幾天學習cglib時發現它也有個bean copy的功能,所以想將他們兩的效能作個比較,就寫了一個較簡單的測試案例,不比不知道,一比嚇一跳,看來cglib的表現確實不凡呀 package com.redbeans.test; import java.lang.reflect.InvocationTargetException;