Time of Update: 2017-01-18
java代理有jdk動態代理、cglib代理,這裡只說下jdk動態代理,jdk動態代理主要使用的是java反射機制(既java.lang.reflect包) 原理是(歌手、經紀人做例子): 建立一個公用的介面,比如:歌手public interface Singer; 用具體的類實現介面,比如:周杰倫,他是歌手所以實現Singer這個類,class MySinger implements Singer
Time of Update: 2017-01-18
Java Spring Controller 擷取請求參數的幾種方法 1、直接把表單的參數寫在Controller相應的方法的形參中,適用於get方式提交,不適用於post方式提交。若"Content-Type"="application/x-www-form-urlencoded",可用post提交
Time of Update: 2017-01-18
Java 覆蓋equals時總要覆蓋hashcode 最近學習java 的基礎知識,碰到Java 覆蓋equals時總要覆蓋hashcode時候有許多疑問,經過和同事直接討論及上網查詢的資料,這裡整理下,也好協助大家理解,代碼中有說明。具體實現代碼:package cn.xf.cp.ch02.item9;import java.util.HashMap;import
Time of Update: 2017-01-18
Java 8新特性內建函數式介面 在之前的一片博文 Lambda 運算式,提到過Java 8提供的函數式介面。在此文中,將介紹一下Java 8四個最基本的函數式介面 對於方法的引用,嚴格來講都需要定義一個介面。不管我們如何操作實際上有可能操作的介面只有四種。 Java 8 提供了函數式介面包java.util.function.*,在該包下有許多Java 8內建的函數式介面。不過基本上分為四種基本的:功能型介面 (Function)將 T 作為輸入,返回 R
Time of Update: 2017-01-18
針對JSON 返回String 類型 兩次格式化就行了,例如: Java代碼 複製代碼 代碼如下: String s = "2012-08-25"; SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年M月d日"); try { System.out.println(sdf2.format(sdf1.parse(s))); }
Time of Update: 2017-01-18
最近因為項目的國際化的需要,需要對整個項目的100來個外掛程式做國際化,這是一件痛苦的事情,因為純體力勞動。為了省點工作量,想著能不能寫個程式批處理了,減少點工作量,於是就有了下面的代碼。 1.讀取指定的(.java)檔案: 複製代碼 代碼如下: public static String readFile(String path) throws IOException { File f = new File(path); StringBuffer res = new StringBuffer()
Time of Update: 2017-01-18
近年來,二維碼的使用越來越風生水起,筆者最近手頭也遇到了一個需要使用二維碼掃碼登入網站的活,所以研究了一下這一套機制,並用代碼實現了整個流程,接下來就和大家聊聊二維碼登入及的那些事兒。二維碼原理二維碼是微信搞起來的,當年微信掃碼二維碼登入網頁微信的時候,感覺很神奇,然而,我們瞭解了它的原理,也就沒那麼神奇了。二維碼實際上就是通過黑白的點陣包含了一個url請求資訊。端上掃碼,請求url,做對應的操作。一般性掃碼操作的原理微信登入、支付寶掃碼支付都是這個原理:1.
Time of Update: 2017-01-18
java的動態代理在接java的api上有說明,這裡就不寫了。我理解的代理:對特定介面中特定方法的功能進行擴充,這就是代理。代理是通過代理執行個體關聯的調用處理常式對象調用方法。下面通過一個例子看一下:介面:public interface Num { void show(); int getNum(); int getProduct(int x);}實作類別:public class MyNum implements Num { @Override public int
Time of Update: 2017-01-18
今天一個偶然的機會我突然想看看JDK的動態代理,因為以前也知道一點,而且只是簡單的想測試一下使用,使用很快裡就寫好了這麼幾個介面和類:介面類:UserService.java複製代碼 代碼如下:package com.yixi.proxy;public interface UserService { public int save() ; public void update(int
Time of Update: 2017-01-18
相信大家對 String 和 StringBuffer 的區別也已經很瞭解了,但是估計還是會有很多同志對這兩個類的工作原理有些不清楚的地方,今天我在這裡重新把這個概念給大家複習一下,順便牽出 J2SE 5.0 裡面帶來的一個新的字元操作的類—— StringBuilder 。那麼這個 StringBuilder 和 StringBuffer 以及我們最早遇見的 String
Time of Update: 2017-01-18
本文執行個體為大家分享了java網上圖書商城Book模組代碼,供大家參考,具體內容如下小技巧一:分頁①PageBean<Book> findByCriteria(List<Expression> exprList, int pc) --- 通用的查詢方法(pc 當前頁碼)②PageBean封裝url;//請求路徑和參數 /BookServlet?method=findXXX&cid=1&bname=2 小技巧二:超連結有中文<%--
Time of Update: 2017-01-18
多線程細節問題sleep方法和wait方法的異同點?相同點:讓線程處於凍結狀態.不同點:sleep必須指定時間 wait可以指定時間也可以不指定時間sleep時間到,線程處於臨時阻塞狀態或者運行態 wait如果沒有時間,必須通過notify或者notifyAll喚醒sleep不一定非要定義在同步中 wait必須定義在同步中都定義在同步中時 sleep放執行權,不放鎖 wait放執行權,放鎖syschronized(obj) { wait();// 0 1 2 code... }
Time of Update: 2017-01-18
★ 編程思路: java.security包中的MessageDigest類提供了計算訊息摘要的方法, 首先產生對象,執行其update( )方法可以將未經處理資料傳遞給該對象,然後執行其digest( )方法即可得到訊息摘要。具體步驟如下: (1)產生MessageDigest對象 MessageDigest m=MessageDigest.getInstance("MD5");
Time of Update: 2017-01-18
前言通過本文你可以瞭解List的五種遍曆方式及各自效能和foreach及Iterator的實現,加深對ArrayList和LinkedList實現的瞭解。下面來一起看看吧。一、List的五種遍曆方式1、for each迴圈List<Integer> list = new ArrayList<Integer>();for (Integer j : list) { // use j}2、顯示調用集合迭代器List<Integer> list = new
Time of Update: 2017-01-18
java "equals"和"==”異同首先簡單說一下“equal”和“==”==操作對於基礎資料型別 (Elementary Data Type)比較的是兩個變數的值是否相等,對於引用型變數表示的是兩個變數在堆中儲存的地址是否相同,即棧中的內容是否相同equals動作表示的兩個變數是否是對同一個對象的引用,即堆中的內容是否相同。綜上,==比較的是2個對象的地址,而equals比較的是2個對象的內容。再簡單介紹一下String類String類 又稱作不可變字元序列String使用private
Time of Update: 2017-01-18
含有abstract修飾符的class即為抽象類別,abstract 類不能建立的執行個體對象。含有abstract方法的類必須定義為abstract class,abstract class類中的方法不必是抽象的。abstract class類中定義抽象方法必須在具體(Concrete)子類中實現,所以,不能有抽象構造方法或抽象靜態方法。如果的子類沒有實現抽象父類中的所有抽象方法,那麼子類也必須定義為abstract類型。
Time of Update: 2017-01-18
本文執行個體講述了Java Web實現的基本MVC。分享給大家供大家參考。具體如下:login.jsp——視圖部分的輸入檔案success.jsp——視圖部分的輸出檔案failure.jsp——視圖部分的輸出檔案LoginBean.java——模型部分LoginServlet.java——控制器部分web.xml——web應用的設定檔下面分別介紹:1、login.jsp該功能的輸入檔案,使用者首先訪問這個檔案。主要用於輸入使用者名稱和口令。代碼如下:<%@ page
Time of Update: 2017-01-18
概念enum的全稱為 enumeration, 是 JDK 1.5 中引入的新特性。在Java中,被 enum 關鍵字修飾的類型就是枚舉類型。形式如下:enum Color { RED, GREEN, BLUE }如果枚舉不添加任何方法,枚舉值預設為從0開始的有序數值。以 Color 枚舉類型舉例,它的枚舉常量依次為RED:0,GREEN:1,BLUE:2枚舉的好處:可以將常量組織起來,統一進行管理。枚舉的典型應用情境:錯誤碼、狀態機器等。枚舉類型的本質儘管enum 看起來像是一種新的資料類型,
Time of Update: 2017-01-18
本文執行個體為大家分享了java用arraycopy實現多擊事件的3種方法,供大家參考,具體內容如下1、雙擊事件的實現我們規定兩次點擊的事件間隔在500毫秒內為雙擊事件,這一值可以隨意限定。 bt_click.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if(startTime!=0){ long endTime =
Time of Update: 2017-01-18
Java Hibernate對象 由於最近學習Java Hibernate,這裡對Java Hibernate對象的幾種狀態進行了資料整理,