Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

javaÏ̳߳Ø

          Ï̳߳ØÖ÷ÒªÊÇÓÃÀ´ ´¦Àí¶à¸öÇëÇóʱ£¬¼õÉÙ×ÊÔ´ÏûºÄ£¬Ìá¸ßÓ¦ÓÃÐÔÄÜ¡£
        ÏÂÃæµÄ´úÂëÊÇÀ´×ÔÓÚ ËïÎÀÇÙ£º<<JavaÍøÂç±à³Ì¾«½â>> ÖÐÏ̳߳ØÊµÏÖÔ´Âë, ´úÂë½á¹¹¼òµ¥ÇåÎú£¬¶ÔÓÚÀí½âÏ̳߳أ¬wait(),notify()·½·¨¶¼ÓÐÓкܺõİïÖú.
        import java.util.LinkedList;
public class ThreadPool extends ThreadGroup {
private boolean isClosed = false; // Ï̳߳ØÊÇ·ñ¹Ø±Õ
private LinkedList<Runnable> workQueue; // ±íʾ¹¤×÷¶ÓÁÐ
private static int threadPoolID; // ±íʾÏ̳߳ØID
private int threadID; // ±íʾ¹¤×÷Ïß³ÌID
public ThreadPool(int poolSize) { // poolSizeÖ¸¶¨Ï̳߳ØÖеŤ×÷Ïß³ÌÊýÄ¿
super("ThreadPool-" + (threadPoolID++));
setDaemon(true);
workQueue = new LinkedList<Runnable>(); // ´´½¨¹¤×÷¶ÓÁÐ
for (int i = 0; i < poolSize; i++)
new WorkThread().start(); // ´´½¨²¢Æô¶¯¹¤×÷Ïß³Ì
}
/** Ïò¹¤×÷¶ÓÁÐÖмÓÈëÒ»¸öÐÂÈÎÎñ£¬Óɹ¤×÷Ïß³ÌÈ¥Ö´ÐиÃÈÎÎñ */
public synchronized void execute(Runnable task) {
if (isClosed) { // Ï̳߳ر»¹ØÔòÅ׳öIllegalStateExceptionÒì³£
throw new IllegalStateException();
}
if (task != null) {
workQueue.add(task);
notify(); // »½ÐÑÕýÔÚgetTask()·½·¨ÖеȴýÈÎÎñµÄ¹¤×÷Ïß³Ì
}
}
/** ´Ó¹¤×÷¶ÓÁÐÖÐÈ¡³öÒ»¸öÈÎÎñ£¬¹¤×÷Ï̻߳áµ÷Óô˷½·¨ */
protected synchronized Runnable getTask() throws InterruptedException {
while (workQueue.size() == 0) {
if (isClosed) {
return null;
}
wait(); // Èç¹û¹¤×÷¶ÓÁÐÖÐûÓÐÈÎÎñ£¬¾ÍµÈ´ýÈÎÎñ
}
return workQueue.removeFirst();
}
/** ¹Ø±ÕÏß³Ì³Ø */
public synchronized void close() {
if (!isClosed) {
isClosed = true;
workQueue.clear();
interrupt();
}
}
/** µÈ´ý¹¤×÷Ḭ̈߳ÑËùÓÐÈÎÎñÖ´ÐÐÍê */
public void join() {
synchronized (this) {
isClosed = true;
notifyAll(); // »½ÐÑ»¹ÔÚgetTask()·½·¨ÖеȴýÈÎÎñµÄ¹¤×÷Ïß³Ì
}
Thread[] threads = new Thread[activeCount()];
// enumerate()·½·¨¼Ì³Ð×ÔThreadGroupÀ࣬»ñµÃÏß


Ïà¹ØÎĵµ£º

Java NIO APIÏê½â

 
Java NIO APIÏê½â
ÔÚJDK
1.4ÒÔǰ£¬JavaµÄIO²Ù×÷¼¯ÖÐÔÚjava.ioÕâ¸ö°üÖУ¬ÊÇ»ùÓÚÁ÷µÄ×èÈû£¨blocking£©API¡£¶ÔÓÚ´ó¶àÊýÓ¦ÓÃÀ´Ëµ£¬ÕâÑùµÄAPIʹÓúܷ½
±ã£¬È»¶ø£¬Ò»Ð©¶ÔÐÔÄÜÒªÇó½Ï¸ßµÄÓ¦Óã¬ÓÈÆäÊÇ·þÎñ¶ËÓ¦Óã¬ÍùÍùÐèÒªÒ»¸ö¸üΪÓÐЧµÄ·½Ê½À´´¦ÀíIO¡£´ÓJDK 1.4Æð£¬NIO
API×÷Ϊһ¸ö»ùÓÚ»º³åÇø£¬²¢ÄÜÌṩ·Ç×èÈû(non-blo ......

Java 5.0 ·ºÐÍÖ® Java·ºÐÍ·½·¨

package Demo;
// Java·ºÐÍ·½·¨
class Demo26 {
public <T> T fun(T t) { // ¿ÉÒÔ½ÓÊÕÈÎÒâÀàÐ͵ÄÊý¾Ý
return t; // Ö±½Ó°Ñ²ÎÊý·µ»Ø
}
}
public class GenericsDemo26 {
public static void main(String args[]) {
Demo26 d = new Demo26(); // ʵÀý»¯Demo¶ÔÏó
String str = d.fun("it"); // ´«µÝ× ......

java×ö¼ÆËãÆ÷×¢ÒâµÄÎÊÌâ

ÀàÐÍת»» Îı¾¿òStringתΪdouble  Double·â×°Àà
Òì³£´¦Àí
ÏÔʾ¸ñʽ
ÕûÊý½á¹ûĩβȥ.0              
Ê×λ²»ÄÜΪ0  
+/- ÎÊÌâ  Êý´óÓÐbug
Á¬¼ÓÁ¬¼õÎÊÌâ
»ØÍË
³ý0±¨´í
²»ÄܳöÏÖ¶à¸öµã °´ÁËÒ»¸öµãÔÙ°´Ã»ÓÐ
×Ö·û´®ÊDz ......

Java¹Ø¼ü×Ö½éÉÜÖ®final

×Ü½á¹Ø¼ü×ÖfinalµÄÓ÷¨¡£
author: ZJ 07-3-16
Blog: [url]http://zhangjunhd.blog.51cto.com/[/url]
ÔÚJavaÖÐÉùÃ÷ÊôÐÔ¡¢·½·¨ºÍÀàʱ£¬¿ÉʹÓùؼü×ÖfinalÀ´ÐÞÊΡ£final±äÁ¿¼´Îª³£Á¿£¬Ö»Äܸ³ÖµÒ»´Î£»final·½·¨²»Äܱ»×ÓÀàÖØÐ´£»finalÀ಻Äܱ»¼Ì³Ð¡£
1£®final³ÉÔ±
ÉùÃ÷ final ×Ö¶ÎÓÐÖúÓÚÓÅ»¯Æ÷×÷³ö¸üºÃµÄÓÅ»¯¾ö¶¨£¬ÒòΪÈç¹û ......

Hibernate,java,sqlÀàÐ͵ĶÔÓ¦¹ØÏµ


JavaÊý¾ÝÀàÐÍ
HibernateÊý¾ÝÀàÐÍ
±ê×¼SQLÊý¾ÝÀàÐÍ
byte
byte
TINYINT
short
short
SMALLINT
int
integer
INGEGER
long
long
BIGINT
float
float
FLOAT
double
double
DOUBLE
java.math.BigDecimal
big_decimal
NUMERIC
char, java.lang.Character
character
CHAR(1)
boolean, java.lang.Boole ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ