java¶à線³ÌµÄ實Àý
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.event.*;
public class ThreadDemo extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public ThreadDemo() {
JButton btn = new JButton("Click me");
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Thread thread1 = new Thread(new Runnable() {
public void run() {
Graphics g = getGraphics();
for (int i = 10; i < 300; i += 10) {
try {
Thread.sleep(100);
g.drawOval(i, 100, 10, 10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
Thread thread2 = new Thread(new Runnable() {
public void run() {
Graphics g = getGraphics();
for (int i = 10; i < 300; i += 10) {
try {
Thread.sleep(500);
g.drawOval(i, 150, 15, 15);
g.draw3DRect(i, i, i, i, true);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
thread1.start();
thread2.start();
}
});
getContentPane().add(btn, BorderLayout.NORTH);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setSize(320, 200);
setVisible(true);
}
public static void main(String[] args) {
new ThreadDemo();
}
}
Ïà¹ØÎĵµ£º
ÔÚJava concurrent°üÖÐÓÐÕâôһ¸ö½Ó¿Ú£ºConcurrentMap¡£
ConcurrentMap¼Ì³Ð×ÔMap£¬²¢Ìí¼ÓÁ˼¸¸öеÄÔ×Ó·½·¨£º putIfAbsent¡¢remove¡¢replace
Æä·½·¨ÕªÒªÈçÏ£º
V
putIfAbsent(K key, V value)
Èç¹ûÖ¸¶¨¼üÒѾ²»ÔÙÓëij¸öÖµÏà¹ØÁª£¬Ôò½ ......
ÒòΪ¹¤×÷ÐèÒª£¬ÐèÒªÔÚͬһʱ¼äÖ´Ðжà´Îij¸ö²Ù×÷£¬¿´¿´ÊÇ·ñ»áÒýÆðÊý¾ÝµÄdeadlockÎļþ¡£
¶àÏ߳̾ßÌåÖ´ÐÐÀà
package com.ericyang.test.cmdline;
import java.util.List;
import java.text.SimpleDateFormat;
import java.text.DateFormat;
import java.util.Date;
class ThreadClass extends xxxTestBase implemen ......
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
public class CipherTest {
public static void main(String[] args) {
try {
byte[] keydata = { (byte) 0x00, (byte) 0x01, (byte) 0x02,
(byte) 0x03, (byte) 0x04, (byte) 0x05, (byte) 0x06,
......
Ò»Ö±ÒÔÀ´¶¼ÊÇ΢ÈíµÄËÀÖÒ£¬ÎÒÒ»Ö±¹ÌÖ´µÄʹÓÃ×Å΢ÈíµÄ²úÆ·¡£´Ó2001Äêµ½½ñÄê2010Ä꣬ÒѾ¶È¹ýÁË9ÄêµÄʱ¹â£¬¿´×ÅËüµÄ½ø²½£¬Ò²¿´µ½ÁËjava¶ÔËüµÄ²Ïʳ¡£´Ó×î³õ´ó¼Ò¶Ô΢ÈíÊÇ·ñÒ»Ö»¶À´ó£¬µ½ÏÖÔÚÎÒµ£ÐÄvsϵÁвúÆ·ÊÇ·ñ±»javaËùÍÌû¡£
Îҵĵ£ÐIJ»ÊÇûÓеÀÀí£¬ÉõÖÁÎÒΪÁ˼á³ÖÎÒµÄ΢Èí·Ïß¶ø·ÅÆúÁËÏÖÔڵŤ×÷¡£
ÔÚ×öСÐÍÏîÄ¿ºÍ×ÀÃæÐÍÏîÄ ......
package Sets;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
/**
* java¼¯ºÏ²Ù×÷
*
......