Time of Update: 2017-01-18
首先來回顧一下synchronized的基本使用: synchronized代碼塊,被修飾的代碼成為同步語句塊,其作用的範圍是調用這個代碼塊的對象,我們在用synchronized關鍵字的時候,能縮小程式碼片段的範圍就盡量縮小,能在程式碼片段上加同步就不要再整個方法上加同步。這叫減小鎖的粒度,使代碼更大程度的並發。 synchronized方法,被修飾的方法成為同步方法,其作用範圍是整個方法,作用對象是調用這個方法的對象。
Time of Update: 2017-01-18
String str = "abcdeabcdeabcdeaaaaaadddddceeeeabcccccccacadaeec"; str = str.replaceAll(reg, ""); System.out.println(str); str = str.replaceAll("(?s)(.)(?=.*\\1)", ""); (?s)(.)(?=.*\1) (?s) 開啟單行模式 DOTALL 讓. 號匹配任一字元 (.) 任一字元 並捕獲在第一組 (?=.*\1) 這是斷言,
Time of Update: 2017-01-18
Java中除了二進位檔案和使用文字檔外還有基於Data的資料操作,這裡的Data指的是Java的基礎資料型別 (Elementary Data Type)和String。基礎資料型別 (Elementary Data Type)包括byte、int、char、long、float、double、boolean和short。 說到Java的基礎資料型別 (Elementary Data
Time of Update: 2017-01-18
限制線程優先順序和調度 Java 執行緒模式涉及可以動態更改的線程優先順序。本質上,線程的優先順序是從 1 到 10 之間的一個數字,數字越大表明任務越緊急。JVM 標準首先調用優先順序較高的線程,然後才調用優先順序較低的線程。但是,該標準對具有相同優先順序的線程的處理是隨機的。如何處理這些線程取決於基層的作業系統策略。在某些情況下,優先順序相同的線程分時運行;在另一些情況下,線程將一直運行到結束。請記住,Java 支援 10
Time of Update: 2017-01-18
最初java是不支援對文字檔的處理的,為了彌補這個缺憾而引入了Reader和Writer兩個類,這兩個類都是抽象類別,Writer中write(char[] ch,int off,int length),flush()和close()方法為抽象方法,Reader中read(char[] ch,int off,int length)和close()方法是抽象方法。子類應該分別實現他們。
Time of Update: 2017-01-18
通用 HTML 標籤區配正則 最近看網站日誌,發現有人在部落格上轉了我不知道幾年前寫的一個匹配 HTML 標籤的正則,剛好最近也在做一些相關的事情,頓時來了興趣。就拿回來改改,成了下面這樣,可能會有一些 case 遺漏,歡迎修改,已知在內嵌 <script> 複雜內容的處理能力較弱,不過對純 HTML 來說已經夠用,拿來做一些分析工具還是不錯滴。 複製代碼 代碼如下: <script type="text/javascript"> var str = "<br /&
Time of Update: 2017-01-18
一、在jdk1.2以後,類載入是通過委託來完成的,這意味著如果 ClassLoader 不能找到類,它會請求父代 ClassLoader 來執行此項任務,所有 ClassLoaders 的根是系統 ClassLoader,它會以預設方式裝入類 -- 即,從本地檔案系統。今天我們就來探討一下在jvm中這些機制是怎樣啟動並執行。讓我們假設有一個class位元組碼檔案(比如Hello.class檔案),那麼在應用程式中,他是如何被載入進來,並形成一個類對象的呢?我們這篇文章的目的就是為瞭解釋這個問題。
Time of Update: 2017-01-18
合成映像 您不必從檔案中讀取所有的映像 — 您可以建立自己的映像。要建立自己的映像,最靈活的方法是用一個 BufferedImage 對象,它是 Image 類的一個子類,它把映像資料存放區在一個可以被訪問的緩衝區中。它還支援各種儲存像素資料的方法:使用或不使用 Alpha 色板、不同種類的顏色模型以及顏色組件的各種精確度。ColorModel 類提供一種靈活的方法定義各種顏色模型,以和 BufferedImage
Time of Update: 2017-01-18
SWT(Standard Widget Toolkit)是IBM推出的“基於java”的圖形介面開發庫,我之所以說它是“基於java”的意思是程式員編寫代碼的時候是使用java語言,事實上SWT的底層實現是C語言完成的。但是這些對程式員是透明的。 我們使用SWT開發GUI程式的時候,直接用SWT
Time of Update: 2017-01-18
2004年Java世界發生了巨大變化,主要方面是誕生和發展了幾個新名詞:IOC 、AOP、SOA、MDA,當然,除了這些都是決定Java技術未來走向的革命性發展以外,還有很多細部和微觀的發展,我們先來談談這些重要的細節技術發展。 首先, Java的根基JDK已經跨越到了J2SE 1.5,或者稱為J2SE 5.0,不過,我更喜歡稱它為1.5,延續性是我們應用程式員更關心的,當然革命性是那些新技術發明者更陶醉的,所以他們曾經取名J2SE
Time of Update: 2017-01-18
先給大家簡單說下Docker的概念Docker 是一個開源的應用程式容器引擎,讓開發人員可以打包他們的應用以及依賴包到一個可移植的容器中,然後發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。1、先說如何在docker中部署tomcat第一步:root使用者登入在系統根目錄下建立檔案夾tomcat7,命令如:mkdir tomcat7,並且切換到該目錄下:cd tomcat7;第二步:建立Dockerfile,命令如:touch
Time of Update: 2017-01-18
一、AOP編程概覽 物件導向編程技術進入軟體開發的主流對軟體的開發方式產生了極大的影響,開發人員可以用一組實體以及這些實體之間的關係將系統形象地表示出來,這使得他們能夠設計出規模更大、更複雜的系統,開發週期也比以前更短。OO開發的唯一問題是,它本質上是靜態,需求的細微變化就可能對開發進度造成重大影響。 Aspect-Oriented
Time of Update: 2017-01-18
(1)、request.getRealPath("/");//不推薦使用擷取工程的根路徑 (2)、request.getRealPath(request.getRequestURI());//擷取jsp的路徑,這個方法比較好用,可以直接在servlet和jsp中使用 (3)、request.getSession().getServletContext().getRealPath("/");//擷取工程的根路徑,這個方法比較好用,可以直接在servlet和jsp中使用 (4)、
Time of Update: 2017-01-18
一、Mybatis介紹MyBatis是一款一流的支援自訂SQL、預存程序和進階映射的持久化架構。MyBatis幾乎消除了所有的JDBC代碼,也基本不需要手工去
Time of Update: 2017-01-18
做了N年的java開發從沒有自己寫過一個網站,最近亂忙活弄了一個企業家宣傳網站。 跟大家一樣遇到了中文字元集亂碼問題,為了大家能少走一些彎路,所以在此分享一下即簡單又實用的解決方案。 1. POST 資料傳遞 接收頁 複製代碼 代碼如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% request.setCharacterEncoding("UTF-8"); String zh_
Time of Update: 2017-01-18
複製代碼 代碼如下:public byte[] autoPrintPdf(byte[] pdf_byte) { ByteArrayOutputStream bos=null; try { PdfReader reader = new PdfReader(pdf_byte); bos = new
Time of Update: 2017-01-18
1、Hashtable是Dictionary的子類,複製代碼 代碼如下: public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io.Serializable HashMap:複製代碼 代碼如下:public class
Time of Update: 2017-01-18
昨天遇到一個小問題,需要批量處理一些使用者,而前台傳來的使用者格式如下,要提取括弧中間的內容(不帶括弧)教師10(0010)教師11(0011)教師9(009)教師12(0012)教師13(0013)教師14(0014) 本來想用java的String.split()和substring()來搞定,但是需要處理多次比較麻煩,就用Regex了。雖然文法忘得差不多了,但是印象中用斷言比較方便(關鍵希望結果不帶括弧)。開啟RegexBuddy試了下,輕鬆搞定:下邊是java實現代碼:複製代碼
Time of Update: 2017-01-18
老師決定期末考試採用access資料庫實現增刪改查,我認為現在的我已經沒有問題了,但是以前都是在JSP頁面中串連access資料庫,無論是以下的那種方式都進行了串連的練習,但是現在我想讓我的項目中的訪問access資料庫的java代碼,封裝到DAO中,在DAO中串連資料庫,沒有和Servlet
Time of Update: 2017-01-18
複製代碼 代碼如下:package me.xuzs.sso.test;import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.Enumeration;public class InternetTest { public static void main(String[] args) { &