JAVAµÄÉè¼ÆÔÔò
1. ½Ó¿Ú¸ôÀëÔÔò£¨ISP£ºInterface Segregation Principle£©
¶¨Ò壺ʹÓöà¸öרÃŵıÈʹÓõ¥Ò»µÄ×ܽӿÚÒªºÃ¡£Ò²¿ÉÒÔ˵£º½¨Á¢µ¥Ò»½Ó¿Ú£¬²»Òª½¨Á¢Ó·Ö×ÅÓ´óµÄ½Ó¿Ú¡£
ISPµÄÁ½ÖÖ¶¨Ò壺
¡ó “Clients should not be forced to depend upon interfaces that they don't use”
¿Í»§¶Ë²»Ó¦¸ÃÒÀÀµËü²»ÐèÓõĽӿڡ£
¡ó “The dependency of one class to another one should depend on the smallest possible interface”
Ò»¸öÀà¶ÔÁíÍâÒ»¸öÀàµÄÒÀÀµÐÔÓ¦µ±Êǽ¨Á¢ÔÚ×îСµÄ½Ó¿ÚÉϵġ££¨´Ó¿Í»§¶Ë£©
½Ó¿ÚÓë½ÇÉ«£º½«½Ó¿ÚÀí½âΪһ¸öÀàËùÌṩµÄËùÓз½·¨µÄÌØÕ÷¼¯ºÏ¡£Èç´Ë£¬½Ó¿ÚµÄ»®·Ö£¬¾Í´øÀ´ÁËÀàÐ͵Ļ®·Ö¡£ËùÒÔÒ»¸ö½Ó¿ÚÓ¦¸ÃÖ»±íʾһÖÖ½ÇÉ«£¬¶ø²»Êǵ£Èζà¸ö½ÇÉ«¡£
½Ó¿ÚÎÛȾ£¨Interface Contamination£©£ºËùν½Ó¿ÚÎÛȾ¾ÍÊÇΪ½Ó¿ÚÌí¼ÓÁ˲»±ØÒªµÄÖ°Ôð¡£½Ó¿ÚÎÛȾ»á´øÀ´Î¬»¤ºÍÖØÓ÷½ÃæµÄÎÊÌ⣬×î³£¼ûµÄÎÊÌâÊÇÎÒÃÇΪÁËÖØÓñ»ÎÛȾµÄ½Ó¿Ú£¬±»ÆÈʵÏÖ²¢Î¬»¤²»±ØÒªµÄ·½·¨¡£Òò´Ë£¬ÎÒÃDZØÐë·ÖÀë¿Í»§³ÌÐò£¬·ÖÀë¿Í»§³ÌÐò¾ÍÊÇ·ÖÀë½Ó¿Ú¡£
·ÖÀë½Ó¿ÚµÄʵÏÖ·½·¨£º
·ÖÀë½Ó¿ÚµÄ·½Ê½Ò»°ã·ÖΪÁ½ÖÖ£º
1) ʹÓÃίÍзÖÀë½Ó¿Ú¡ ......
ǰ¶Îʱ¼äÑо¿ÁËÒ»ÏÂÔÚWindows²Ù×÷ϵͳÏÂÓÃjava½øÐд®¿Ú²Ù×÷¡£ºÜ¹Ø¼üµÄÒ»µã¾ÍÊÇ»·¾³ÅäÖá£ÎÒ·¢ÏÖÍøÉϵÄÎÄÕÂǧƪһÂÉ¡£¶¼ÐèÒª½«¼¸¸öÎļþcopyµ½JDK°²×°Ä¿Â¼ÏµÄij¸öĿ¼ÖС£°´ÕÕÍøÉϽéÉܵķ½·¨½øÐÐÅäÖõϰ£¬Ò²Äܽ«¿ª·¢»·¾³ÅäÖÃÆðÀ´¡£µ«ÊÇ£¬ÓÉÓÚ³ÌÐòÔËÐбØÐëµÄjarºÍdllÎÞ·¨´ò°ü£¬¶ø²úÉú²»Äܳɹ¦²¿ÊðµÄÎÊÌâ¡£±ÈÈ磬ÎÒÔÚij¸öÂÛ̳ÉϾͿ´µ½£¬ÓиöÍøÓÑÓÃApplet´Ó¿Í»§¶Ë¶Á´®¿ÚµÄÊý¾Ý£¬AppletÔÚËû×Ô¼ºµÄ»úÆ÷ÉÏÔËÐÐûÓÐÎÊÌ⣨µ±È»Ã»ÓÐÎÊÌ⣬jarʲôµÄ¶¼copyµ½jdkĿ¼ÖÐÁË£¬³ÉΪjdkµÄÒ»²¿·ÖÁË£©£¬µ«ÊÇ´Ó±ðµÄ»úÆ÷·ÃÎʵÄʱºò£¬Applet¾Í²»ÄÜÕý³£ÔËÐÐÁË¡£ÎÊÌâºÜÃ÷ÏÔ£¬±ØÐëµÄjarºÍdllÎļþûÓб»loadµ½¿Í»§¶ËÈ¥¡£±¾Îĸù¾Ý×Ô¼ºµÄÇÐÉíÌåÑ飬×ܽá³öÒ»Ì×»·¾³ÅäÖõķ½·¨¡£Ï£Íû¶ÔÍøÓÑÓÐËù°ïÖú¡£
Ò».ÐèÒªµÄ¹¤¾ßºÍÎļþ
1.eclipse °æ±¾£º3.0ÒÔÉϼ´¿É¡£
2.rxtx-2.1-7-bins-r2 .zip ³ö´¦£ºhttp://users.frii.com/jarvi/rxtx/download.html¡£
3.JDK °æ±¾£ºÎÒÓõÄÊÇ1.5°æ£¬µ«ÊÇÎÒÈÏΪ¸üµÍµÄ°æ±¾Ò²Ã»ÓÐÎÊÌâ¡£
¶þ.»·¾³´î½¨µÄ²½Öè
step1.ÔÚeclipseÖÐн¨Ò»¸ö¹¤³Ì(¸ù¾ÝÄã×Ô¼ºµÄÐèÒª£¬Applet£¬tomcat£¬java¹¤³ÌµÈ¾ù¿É)¡£
step2.ÔÚ¹¤³ÌϽ¨Ò»¸ölibÎļþ¼Ð¡£
step3.½«rxtx-2.1-7-bins-r2 .zip½âѹËõ£¬µÃ ......
from Rxtx
This page is for general content regarding the use of rxtx. Feel free to add your own content.
Using RXTX In Eclipse
Deploying JAVA with RXTX
I wrote an app several months ago using javax.comm on windows. Sun has left me high and dry. rxtx help!
download ftp://ftp.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip
unzip it
copy rxtxSerial.dll into your c:\program files\java\jre-version\bin dir
copy RXTXcomm.jar into your c:\program files\java\jre-version\lib\ext dir
change all references from 'javax.comm' to 'gnu.io'
recompile
test
Dido Sun left me Hi and dry. After 30+ hours wasting my life on
javax.comm it is the RXTXcomm 2.1.7 that really worked the first
time
REMEMBER !! for the newbies
Change the all occurences of the import javax.comm.*; in
MyApps.java
TO import gnu.io.*;
I did not even have to recompile as suggested the rxtxSerial.dll
a job well done for the rxtx.org team.
Even afte ......
1¡¢ http://java.sun.com/ ;;(Ó¢ÎÄ)
SunµÄJavaÍøÕ¾£¬ÊÇÒ»¸öÓ¦¸Ã¾³£È¥¿´µÄµØ·½¡£²»Óöà˵¡£
2¡¢ http://www-900.ibm.com/developerWorks/cn/ ;;
IBMµÄdeveloperWorksÍøÕ¾£¬Ó¢ÓïºÃµÄÖ±½ÓÈ¥Ó¢ÎÄÖ÷Õ¾µã¿´¡£ÕâÀï²»µ«ÊÇÒ»¸ö¼«ºÃµÄÃæÏò¶ÔÏóµÄ·ÖÎöÉè¼ÆÍøÕ¾£¬Ò²ÊÇWeb Services£¬Java£¬Linux¼«ºÃµÄÍøÕ¾¡£Ç¿ÁÒÍÆ¼ö£¡£¡£¡
3¡¢ http://www.java-cn.com/ ;;(ÖÐÎÄ)
JAVAÖÐÎÄÕ¾£¬Ä¿Ç°¹úÄÚ×ÊÁÏ×îÈ«¡¢»áÔ±×î¶àµÄJAVA¼¼ÊõÍøÕ¾£¬ÈËÆø¼«¸ß¡£ÓС¶JAVAµç×ÓÊé¿â¡·¡¢¡¶JAVAÊÓÆµ¿â¡·(¹úÄÚΨһ)¡¢¡¶JAVA¼¼ÊõÎÄÕª¿â¡·¡¢¡¶JAVAÔ´´úÂë¿â¡·¡¢¡¶JAVA¹¤¾ß¿â¡·¡¢¡¶ÕÐÆ¸ÇóÖ°¹ã³¡¡·µÈÖ÷ÒªÀ¸Ä¿£¬»¹ÓÐһЩר¼ÒÀ¸Ä¿¡£Ä¿Ç°»áÔ±ÓÐ10Íò¶à£¬VIP»áÔ±½ü1000ÈË¡£ÎÞÂÛÊDzËÄñ»¹ÊÇÀÏÄñ£¬¶¼ÄÜÔÚ´ËÍøÕ¾ÖÐÕÒµ½×Ô¼ºËùÐèÒªµÄ¶«¶«£¡£¡ ×îÇ¿ÁÒÍÆ¼ö£¡£¡£¡£¡£¡£¡
4¡¢ http://www.javaworld.com/ ;;(Ó¢ÎÄ)
¹ØÓÚJavaºÜ¶àм¼ÊõµÄÌÖÂÛºÍÐÂÎÅ¡£Ïë¶àÁ˽âJavaµÄ·½·½ÃæÃæµÄÓ¦Óã¬ÕâÀï±È½ÏºÃ¡£
5¡¢ http://dev2dev.bea.com.cn/index.jsp ;;
BEAµÄ¿ª·¢ÕßÔ°µØ£¬BEA×÷Ϊ×îÖØÒªµÄApp Server³§ÉÌ£¬Óкܶà¶Àµ½µÄ¼¼Êõ£¬ÔÚWeblogicÉÏ×ö¿ª·¢µÄÅóÓѲ»ÈÝ´í¹ý¡£
6¡¢ http://www.huihoo.com/ ;;
»Òºü¶¯Á¦ÍøÕ¾£¬Ò»¸öרҵµÄÖмä¼þÍøÕ¾£ ......
import java.util.Properties;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class javaMail {
String host="";
String user="";
String password="";
public void setHost(String host)
{
this.host=host;
}
public void setAccount(String user,String password)
{
this.user=user;
this.password=password;
}
public void send(String from,String to,String subject,String content)
{
Properties props = new Properties();
props.put("mail.smtp.host", host);//Ö¸¶¨SMTP·þÎñÆ÷
props.put("mail.smtp.auth", "true");//Ö¸¶¨ÊÇ·ñÐèÒªSMTPÑéÖ¤
try
{
Session mailSession = Session.getDefaultInstance(props);
mailSession.setDebug(true);//ÊÇ·ñÔÚ¿ØÖÆÌ¨ÏÔʾdebu ......
Java Thread ÓÃÆðÀ´²¢²»ÄÑ£¬µ«ÍùÍù»¹ÊÇÈÝÒ׳ö´í¡£
ÎÒÃÇÖªµÀ synchronized ¹Ø¼ü×ÖÖ÷ÒªÊÇ·ÀÖ¹¶àÏ̷߳ÃÎʹ²Ïí×ÊÔ´¡£
ÏÂÃæÊǸö¼òµ¥µÄ²âÊÔ£¬¹ØÓÚsynchronized ʹÓá£
/**
* @author gaofeng
* @date 2009-12-18
*/
public class SynDemo {
public SynDemo() {
}
public static void main(String[] args) {
final Message message = new Message();
Thread t1 = new Thread() {
@Override
public void run() {
message.printA();
}
};
Thread t2 = new Thread() {
@Override
public void run() {
message.printA();
}
};
t1.start();
t2.start();
}
}
class Message {
private int value = 1;
public void printA() {
while (true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out
.println("" + Thread.currentThread() + " valueA:" + value);
}
}
}
2¸öÏ̷߳ÃÎÊprintA·½·¨£¬Õâ¸ö´òÓ¡½á¹ûÊÇ£º
Thread[Thread-0, ......