Time of Update: 2018-07-27
解決轉換空格 String fileName = StringUtils.trim(file.getName()); String formatFileName = encodingFileName(name);//在後面定義方法encodingFileName(String fileName); response.setHeader("Content-Disposition",
Time of Update: 2018-07-27
1. 並發編程概念 原子性 一個操作不能被再拆分了;即一個操作或者多個操作 要麼全部執行並且執行的過程不會被任何因素打斷,要麼就都不執行。一個很經典的例子就是銀行賬戶轉賬問題。 增量操作符++,不是原子的操作,它是先讀取舊值,然後寫回新值,包含2個操作 可見度 可見度是指當多個線程訪問同一個變數時,一個線程修改了這個變數的值,其他線程能夠立即看得到修改的值。 有序性 即程式執行的順序按照代碼的先後順序執行。但是指令重排序會影響到線程並發執行的正確性 總結
Time of Update: 2018-07-27
list的實作類別是ArrayList;具體代碼: list <泛型> 集合名稱; //建立一個list集合構造方法:public 類名(){類名 a1= 集合名稱.ArrayList<泛型>();} import java.util.ArrayList;import java.util.Arrays;import java.util.Iterator;import java.util.List;/* * 存放備選課程類 */public class
Time of Update: 2018-07-27
String的轉換 首先介紹一下String類型的轉換,一般遇到的情況可能會有以下幾種:Strng轉int,String轉long,String轉byte數組,String轉float,下面主要介紹這四種情況。 String轉int 把String類型轉換為int類型,常用的有以下三種方法: 1 2 3
Time of Update: 2018-07-27
廢話不多說,直接上代碼: import java.io.File; /* * 遞迴演算法遍曆檔案夾,列印出所有exe檔案的檔案名稱 */ public class TraverseFolder {
Time of Update: 2018-07-27
在Java中,有兩種初始化塊:靜態初始化塊和非靜態初始化塊. 靜態初始化塊:使用static定義,當類裝載到系統時執行一次.若在靜態初始化塊中想初始設定變數,那僅能初始化類變數,即static修飾的資料成員.非靜態初始化塊:在每個對象產生時都會被執行一次,可以初始化類的執行個體變數. 非靜態初始化塊會在建構函式執行時,且在建構函式主體代碼執行之前被運行. 1 package
Time of Update: 2018-07-27
private void setHeader(HttpServletResponse response,HttpServletRequest request, String filename)throws UnsupportedEncodingException {response.reset();// 設定為下載application/x-downloadresponse.setContentType("application/x-download
Time of Update: 2018-07-27
ConcurrentHashMap
Time of Update: 2018-07-27
1、 對象的初始化(1) 非靜態對象的初始化 在建立對象時,對象所在類的所有資料成員會首先進行初始化。 基本類型:int型,初始化為0。 如果為對象:這些對象會按順序初始化。 ※在所有類成員初始化完成之後,才調用本類的構造方法建立對象。 構造方法的作用就是初始化。 (2) 靜態對象的初始化 程式中主類的靜態變數會在main方法執行前初始化。 不僅第一次建立對象時,類中的所有靜態變數都初始化,並且第一次訪問某類(注意此時
Time of Update: 2018-07-27
在java程式中,對象可以被顯式地或者隱式地建立.下面說說四種顯式的建立對象的方式: ● 用new語句建立對象 ● 運用反射手段,調用java.lang.Class 或者 java.lang.reflect.Constructor 類的newInstance()執行個體方法 ●
Time of Update: 2018-07-27
1. Serial收集器 Serial收集器是一個單線程的收集器,但它的“單線程”的意義並不僅僅是說明它只會使用一個CPU或一條收集線程去完成垃圾收集工作,更重要的是在它進行垃圾收集時,必須暫停其他所有的背景工作執行緒,直到它收集結束。
Time of Update: 2018-07-27
定時調度:每當一段時間,程式會自動執行,稱為定時調度。 如果要使用定時調度,則必須保證程式始終運行著才可以,也就是說是相當於定時調度是在程式之外又啟動了一個新的線程。 Timer 和 TimerTask 兩個定時調度。 、 如果現在一個Timer 類要想發送器的話,則需要使用TimerTask 的子類。 就依照些概念,完成一個定時調度的程式,每隔 2 秒列印一次時間 。
Time of Update: 2018-07-27
1、Java無繼承情況下的初始化順序: class Sample { Sample(String s) { System.out.println(s); } Sample()
Time of Update: 2018-07-27
下載了文檔自己截圖存留 8種排序之間的關係: 1, 直接插入排序 (1)基本思想:在要排序的一組數中,假設前面(n-1)[n>=2] 個數已經是排 好順序的,現在要把第n個數插到前面的有序數中,使得這n個數 也是排好順序的。如此反覆迴圈,直到全部排好順序。 (2)執行個體 (3)用java實現 package com.njue; public class insertSort {
Time of Update: 2018-07-27
instanceof運算子的前一個運算元通常是一個參考型別變數,後一個運算元通常是一個類(也可以是介面,可以把介面理解成一種特殊的類),它用於判斷前面的對象是否是後面的類,或者其子類、實作類別的執行個體。如果是,則返回true,否則返回false。 在使用instanceof運算子時需要注意:instanceof運算子前面運算元的編譯時間類型要麼與後面的類相同,要麼與後面的類具有父子繼承關係,否則會引起編譯錯誤。 class BaseClass{}class SubClass
Time of Update: 2018-07-27
1.假定Tester 類有如下test方法: public int test(int p1, Integer p2) 以下哪段代碼能正確地動態調用一個Tester 對象的test方法。(單選) A. Class classType=Tester.class; Object tester=classType.newInstance(); Method addMethod=classType.getMethod("test",new
Time of Update: 2018-07-27
出現次錯誤,本人歸集有: 1、確實沒有該欄位 2、用了集合儲存,而直接用集合調用,即:(集合.欄位名) 3、用標籤時,沒寫標籤,直接上集合名,調用 以上幾種情況可能是可能出現的比較普遍的情況,也是出現這個錯誤最可能的情況; 不過我本人遇到的這種錯誤是另外一種情況,之前一直是其他方面的問題,最後才發現是我用到了多層的標籤遍曆,
Time of Update: 2018-07-27
一、基本介紹 XPath 是一門在 XML 文檔中尋找資訊的語言, 可用來在 XML 文檔中對元素和屬性進行遍曆。XPath 是 W3C XSLT 標準的主要元素,並且 XQuery 和 XPointer 同時被構建於 XPath 表達之上。因此,對 XPath 的理解是很多進階 XML 應用的基礎。XPath非常類似對資料庫操作的SQL語言,或者說JQuery,它可以方便開發人員抓起文檔中需要的東西。(dom4j也支援xpath) 二、節點類型
Time of Update: 2018-07-27
一個C++的同事讓我幫寫個Regex:驗證某個值是否為數字。我就簡單用Java代碼寫了一個。 public class Test {public static boolean checkNumber(double value){String str = String.valueOf(value);String regex =
Time of Update: 2018-07-27
之前寫C#的項目,去重合并List很方便,使用list1.Union(list2).ToList()即可(Enumerable.Union)。並且,如果想要從list1裡移除list2的item,也很方便,list2.Except(list1).ToList() 現在寫Java的項目,它沒有此類原生方法可以直接調用,操作起來,稍微多點步驟。 public static void main(String[] args){ List<String>