Time of Update: 2018-12-05
死結:多個線程同時被阻塞,它們中的一個或者全部都在等待某個資源被釋放。由於線程被無限期地阻塞,因此程式不能正常運行。簡單的說就是:線程死結時,第一個線程等待第二個線程釋放資源,而同時第二個線程又在等待第一個線程釋放資源。 導致死結的根源在於不適當地運用“synchronized”關鍵詞來管理線程對特定對象的訪問線程間通訊:就是多個線程線上程在操作同一個資源,但是操作的動作不同下面是兩個線程間的通訊的例子,如果不使用同步,則name和sex可能不同步:class Res {
Time of Update: 2018-12-05
多態靜態代碼塊 當類被載入是,靜態代碼塊優先於靜態方法被執行,且執行一次,靜態代碼塊經常用來做初始化。靜態代碼塊的工作順序例子class Person extends Object{static String name;int num; Person(){ name="yang"; num=22; System.out.println("產生Person類"); }static{System.out.println("Person類的靜態代碼塊開始執行");}
Time of Update: 2018-12-05
Java提供了兩類主要的異常:runtime exception和checked exception。checked 異常也就是我們經常遇到的IO異常,以及SQL異常都是這種異常。對於這種異常,JAVA編譯器強制要求我們必需對出現的這些異常進行catch。所以,面對這種異常不管我們是否願意,只能自己去寫一大堆catch塊去處理可能的異常。 但是另外一種異常:runtime
Time of Update: 2018-12-05
作者:李魯群作者簡介李魯群,男,副教授。主要從事JavaJ2EE與J2ME整合應用,空間Web Service 、Mobile GIS應用研究與教學工作。您可以通過liluqun@263.net和作者取得聯絡。本文一個完整的Java應用程式,通常至少要有一個應用程式的結束點。對於一般程式來說,系統開發人員根據需要和個人的偏好,會在程式結束位置,通過添加System.exit(0),或System.out(-1),來結束程式,或不加這些指令,讓程式自然運行到結束。如:下列典型代碼package
Time of Update: 2018-12-05
反射就是把Java類中的各個成分映射成一個個的java對象。利用反射技術,可以對一個類進行解剖,把各個組成部分映射成一個個對象。反射的最大用處是在架構的學習中。 如何得到某個class檔案對應的class對象:1)類名.class2)對象.getClass()3)Class.forName("類名") 這邊的類名要使用類的全限定名//類名.classClass c1 = String.class;//對象.getClass()Class c2 = new String().getClass(
Time of Update: 2018-12-05
我們要實現的具體功能是:利用Socket類和ServerSocket類編寫一個C/S程式,實現C/S通訊。用戶端向伺服器端發送Time命令,伺服器端接受到該字串後將伺服器端目前時間返回給用戶端;用戶端向伺服器端發送Exit命令,伺服器端向用戶端返回“Bye”後退出。題目比較簡單的,我們直接來看代碼吧:首先是伺服器端的實現: import java.net.ServerSocket;import java.net.Socket;import java.io.*;import
Time of Update: 2018-12-05
pager-taglib是一個用jsp標籤庫實現分頁的工具,在它的demo中有實現好的各種常見分頁方式,使用時只需pager-taglib.jar包即可,Pager會在給出的URL後面加上"?page.offset="來標識當前位移量,使用時在jsp頁面將pager-taglib的標籤庫引入: <%@ taglib prefix="pg" uri="http://jsptags.com/tags/navigation/pager" %> 標籤介紹<pg:pager>
Time of Update: 2018-12-05
1,異常處理jvm提供了記憶體回收機制,記憶體回收機制屬於java記憶體管理的一部分,它只是負責回收堆記憶體中分配出來的記憶體,至於程式中開啟的實體資源,如輸入/出流,記憶體回收機制是無能為力的,要正確關閉。通常結合finally塊當java程式執行try/catch時遇到return或者throw語句時,return或throw會導致該方法立即結束。系統執行完retrun語句之後(注意,finally中如果沒有return語句最終要返回的值是這裡的,並且已經儲存,不管finally中對資料是否
Time of Update: 2018-12-05
複製的API上的文檔,BigInteger對付一般的高精度沒有問題。java.math 類 BigIntegerjava.lang.Object java.lang.Number java.math.BigInteger所有已實現的介面: Serializable, Comparable<BigInteger> public class BigIntegerextends Numberimplements Comparable<BigInteger&
Time of Update: 2018-12-05
public class TestEnum { /*最普通的枚舉*/ public enum ColorSelect { red, green, yellow, blue; } /* 枚舉也可以象一般的類一樣添加方法和屬性,你可以為它添加靜態和非靜態屬性或方法,這一切都象你在一般的類中做的那樣. */ public enum Season { // 枚舉列表必須寫在最前面,否則編譯出錯 winter, spring,
Time of Update: 2018-12-05
第一次見到芳神用物件流程來儲存已經執行過的資訊,感覺這樣的操作真的很神奇,通過物件流程可以實現動態對象的儲存。例如 掃雷程式執行到了一半,你突然不想掃雷了,然後將此對象JPanel對象(既掃雷面板)用物件流程儲存到檔案後,然後你還可以用物件流程來進行讀入操作。在實現掃雷的過程中突然發現自己實現物件流程中讀取的操作後,然後面板就沒有響應了,考慮到要開發區域網路對戰的功能就打算把儲存進度這一模組給刪掉。但是實現的代碼就放到這裡了。import java.io.File;import java.io.
Time of Update: 2018-12-05
昨天晚上在科學松鼠會上看到一篇題為“電腦原來要晃一晃才好用”的文章,裡面提到了一種電腦處理數字訊號時常用的抖動技術,覺得蠻有意思的所以今天就用萬惡的JAVA寫了產生二直映像的小程式。:程式中使用的acm jtf包在http://jtf.acm.org/可以下到,推薦剛開始學java的同學去看Eric S. Roberts的《the art and Science of Java》(影印版),很好的入門教材,還可以順便提高英語閱讀能力。主程式碼:import java.awt.*;import
Time of Update: 2018-12-05
很久沒寫部落格了,都快忘記這裡有帳號了。好了,不羅嗦,跟大家分享下產生驗證碼圖片代碼import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.util.Random;import
Time of Update: 2018-12-05
國內Java論壇:www.chinajavaworld.com-論壇人很多,高手也多,不過好像都在潛水www.cn-java.com-也很不錯,文章很好,但是就是商業性濃了點。www.chinaitlab.com-非常有系統性,而且推出的java遠程教育是中國最全面的scjp遠程教育。www.huihoo.com-灰狐動力,有個jfox,而且很多關於企業級應用的東西www.matrix.org.cn-Matrix技術,不少java文章和資源,論壇牛人多,人氣略差。www.javastudy.or
Time of Update: 2018-12-05
相信看到這些美麗的煙花圖片,你會發現原來java也可以這麼美並且還是用awt做的,更是實屬不易,但在此聲明此程式並非出自本人之手只是個人覺得這麼美好的東西不應該被埋沒於時間中,應該讓更多人知道它的美在此特將我收藏的煙花程式的代碼貼出來與大家分享同時也非常感謝這位牛人把這麼好程式放到網上給人學習,讓你我受益 主程式:App.javaimport java.applet.Applet;import java.awt.Frame;import
Time of Update: 2018-12-05
public class TestEnum { /*最普通的枚舉*/ public enum ColorSelect { red, green, yellow, blue; } /* 枚舉也可以象一般的類一樣添加方法和屬性,你可以為它添加靜態和非靜態屬性或方法,這一切都象你在一般的類中做的那樣. */ public enum Season { // 枚舉列表必須寫在最前面,否則編譯出錯 winter, spring,
Time of Update: 2018-12-05
1、實用技巧Web篇(4)的Java實現 public static int getBytesLength(String s, String encode) { if (s == null) { return 0; } byte[] bytes; if (encode == null) { bytes = s.getBytes(); } else {
Time of Update: 2018-12-05
1、JSP網頁中的中文亂碼問題: 通常是把使用者的輸入通過request從一個網頁傳到另一個網頁時出現問題 如果request.getParameter()得到的中文字元不能正確顯示,如: String userName = request.getParameter("UserName"); 中username不能正確顯示,則加上下面一句: userName=new String(userName.getBytes("iso-8859-1"),"gb2312
Time of Update: 2018-12-05
啟用BLOG之後由於最近比較也沒寫什麼原創文章,現在趁閑的時候寫幾篇發上去。前段時間在研究JAVA與資料庫的串連,發一點經驗上去。 用JAVA串連資料庫主要有兩種方式,一是用JDBC-ODBC橋來串連,二是用相關廠商提供的相應驅動程式來串連,首先談談第一種串連。 JDBC-ODBC橋接器是用JdbcOdbc.Class和一個用於訪問ODBC驅動程式的本地庫實現的。對於WINDOWS平台,該本地庫是一個動態串連庫DLL(JDBCODBC.DLL)。
Time of Update: 2018-12-05
編程:編寫一個截取字串的函數,輸入為一個字串和位元組數,輸出為按位元組截取的字串。 但是要保證漢字不被截半個,如“我ABC”4,應該截為“我AB”,輸入“我ABC漢DEF”,6,應該輸出為“我ABC”而不是“我ABC+漢的半個”。package string;class SplitString { private String str; private int byteNum; public SplitString(){} public SplitString(String str,int