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並發編程有界緩衝的實現1、有界緩衝的基類package cn.xf.cp.ch14;/** * *功能:有界緩衝實現基類 *時間:下午2:20:00 *檔案:BaseBoundedBuffer.java *@author Administrator * * @param <V> */public class BaseBoundedBuffer<V>{ private final V[] buf; private int tail; private
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
Java 8新特性方法引用 對於引用來說我們一般都是用在對象,而對象引用的特點是:不同的引用對象可以操作同一塊內容! Java 8的方法引用定義了四種格式: 引用靜態方法 ClassName :: staticMethodName 引用對象方法: Object:: methodName 引用特定類型方法: ClassName :: methodName 引用構造方法: ClassName ::
Time of Update: 2017-01-18
Java 擷取檔案大小今天寫代碼時需要實現擷取檔案大小的功能,目前有兩種實現方法,一種是使用File的length()方法;另外一種是使用FileInputStream的available()方法,當InputStream未進行read操作時,available()的大小應該是等於檔案大小的。但是在處理大檔案時,後者會發生問題。我們來看一下:在例子中,我使用了CentOS 6.5
Time of Update: 2017-01-18
java.util.concurrent包裡提供了關於多線程操作的類,平常用的比較多的是ExecutorService及其實作類別(如ThreadPoolExecutor等),Executor,Executors,Future,Callable等1. ExecutorService(繼承自Executor)介面:提供了一些非同步多線程操作方法,如execute(), submit(), shutdown(), shutdownNow()等2.
Time of Update: 2017-01-18
下面的例子主要討論兩個問題:問題1.線程池固定大小,假設為5.那麼向線程池放入10個線程,運行效果如何?其他線程的狀態?問題2.那麼如何從線程池中移除某一個線程,確切說是使某一個線程成為空白閑線程?例子:package com.dada.executorService; import java.util.concurrent.TimeUnit; public class JobThread extends Thread { // 為線程命名 public
Time of Update: 2017-01-18
今天在做項目時,需要刪除List和Set中的某些元素,當時使用邊遍曆,邊刪除的方法,卻報了以下異常:ConcurrentModificationException 為了以後不忘記,使用爛筆頭把它記錄如下:錯誤碼的寫法,也就是報出上面異常的寫法:Set<CheckWork> set = this.getUserDao().getAll(qf).get(0).getActionCheckWorks();for(CheckWork checkWork : set){
Time of Update: 2017-01-18
1.儲存對象到檔案中Java語言只能將實現了Serializable介面的類的對象儲存到檔案中,利用如下方法即可:public static void writeObjectToFile(Object obj) { File file =new File("test.dat"); FileOutputStream out; try { out = new FileOutputStream(file); ObjectOutputStream
Time of Update: 2017-01-18
代碼:測試類別public class MyTestTimer {public static Timer mTimer;public static void main(String[] args) {mTimer=new Timer();MyTimerTask testTimer=new MyTimerTask(10000);mTimer.schedule(testTimer, 10000);}}TimerTask任務類public class MyTimerTask extends
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
本文執行個體為大家分享了java網上圖書商城Category模組代碼,供大家參考,具體內容如下sqlCREATE TABLE `t_category` ( `cid` char(32) NOT NULL, `cname` varchar(50) DEFAULT NULL, `pid` char(32) DEFAULT NULL, `desc` varchar(100) DEFAULT NULL, `orderBy` int(11) NOT NULL AUTO_INCREMENT,
Time of Update: 2017-01-18
最近項目需要微信支付,然後看了下微信公眾號支付,,雖然不難,但是細節還是需要注意的,用了大半天時間寫了個demo,並且完整的測試了一下支付流程,下面分享一下微信公眾號支付的經驗。一、配置公眾號微信支付 需要我們配置微信公眾號支付地址和測試白名單。比如:支付JS頁面的地址為 http://www.xxx.com/shop/pay/那此處配置www.xxx.com/shop/pay/二、開發流程借用微信公眾號支付api(地址
Time of Update: 2017-01-18
本文執行個體為大家分享了java網上圖書商城user模組代碼,供大家參考,具體內容如下效果圖:regist.js$(function() { /* * 1. 得到所有的錯誤資訊,迴圈遍曆之。調用一個方法來確定是否顯示錯誤資訊! */ $(".errorClass").each(function() { showError($(this));//遍曆每個元素,使用每個元素來調用showError方法 }); /* * 2. 切換註冊按鈕的圖片 */ $("#submitBtn").hover(
Time of Update: 2017-01-18
本文為大家講解了商城項目使用者註冊模組,供大家參考,先看看效果圖:1.前台JS校正: 事件觸發: onsubmit=”checkForm()”2.使用AJAX完成非同步使用者名稱是否存在校正①事件觸發:onblur=”checkUserName()”②AJAXfunction checkUsername(){ var username = $("#username").val(); $("#span1").load("${pageContext.request.contextPath}
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
前言通過本文你可以瞭解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
遍曆刪除List或Map中的元素有很多種方法,當運用不當的時候就會產生問題。下面通過這篇文章來再學習學習吧。一、List遍曆過程中刪除元素使用索引下標遍曆的方式樣本:刪除列表中的2public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); list.add(1); list.add(2); list.add(2); list.add(3);