£¨1£©ÏûÏ¢ÕªÒª£º
ÏûÏ¢ÕªÒª£¨Message Digest£©ÓÖ³ÆÎªÊý×ÖÕªÒª(Digital Digest)¡£ËüÊÇÒ»¸öΨһ¶ÔÓ¦Ò»¸öÏûÏ¢»òÎı¾µÄ¹Ì¶¨³¤¶ÈµÄÖµ£¬ËüÓÉÒ»¸öµ¥ÏòHash¼ÓÃܺ¯Êý¶ÔÏûÏ¢½øÐÐ×÷Óöø²úÉú¡£Èç¹ûÏûÏ¢ÔÚ;ÖиıäÁË£¬Ôò½ÓÊÕÕßͨ¹ý¶ÔÊÕµ½ÏûÏ¢µÄвúÉúµÄÕªÒªÓëÔÕªÒª±È½Ï£¬¾Í¿ÉÖªµÀÏûÏ¢ÊÇ·ñ±»¸Ä±äÁË¡£Òò´ËÏûÏ¢ÕªÒª±£Ö¤ÁËÏûÏ¢µÄÍêÕûÐÔ¡£ ÏûÏ¢ÕªÒª²ÉÓõ¥ÏòHash º¯Êý½«Ðè¼ÓÃܵÄÃ÷ÎÄ"ÕªÒª"³ÉÒ»´®128bitµÄÃÜÎÄ£¬ÕâÒ»´®ÃÜÎÄÒà³ÆÎªÊý×ÖÖ¸ÎÆ(Finger Print)£¬ËüÓй̶¨µÄ³¤¶È£¬ÇÒ²»Í¬µÄÃ÷ÎÄÕªÒª³ÉÃÜÎÄ£¬Æä½á¹û×ÜÊDz»Í¬µÄ£¬¶øÍ¬ÑùµÄÃ÷ÎÄÆäÕªÒª±Ø¶¨Ò»Ö¡£ÕâÑùÕâ´®ÕªÒª±ã¿É³ÉΪÑéÖ¤Ã÷ÎÄÊÇ·ñÊÇ"ÕæÉí"µÄ"Ö¸ÎÆ"ÁË¡£
ÕâÊÇÒ»ÖÖÓëÏûÏ¢ÈÏÖ¤Âë½áºÏʹÓÃÒÔÈ·±£ÏûÏ¢ÍêÕûÐԵļ¼Êõ¡£Ö÷ҪʹÓõ¥ÏòÉ¢Áк¯ÊýËã·¨£¬¿ÉÓÃÓÚ¼ìÑéÏûÏ¢µÄÍêÕûÐÔ£¬ºÍͨ¹ýÉ¢ÁÐÃÜÂëÖ±½ÓÒÔÎı¾ÐÎʽ±£´æµÈ£¬Ä¿Ç°¹ã·ºÊ¹ÓõÄËã·¨ÓÐMD4¡¢MD5¡¢SHA-1£¬ÔÚjavaÖнøÐÐÏûÏ¢ÕªÒªºÜ¼òµ¥:ÏÂÃæ¾ÙÒ»¸ö¼òµ¥µÄÀý×Ó
/**
*MessageDigestTest.java
*/
import java.security.MessageDigest;
/**
*µ¥Ò»µÄÏûÏ¢ÕªÒªËã·¨£¬²»Ê¹ÓÃÃÜÂë.¿ÉÒÔÓÃÀ´¶ÔÃ÷ÎÄÏûÏ¢£¨È磺ÃÜÂ룩Òþ²Ø±£´æ
*/
public class MessageDigestTest{
¡¡p ......
1£¬¸ÅÊö£ºÏß³ÌµÄ¹ÒÆð²Ù×÷ʵÖÊÉϾÍÊÇʹÏ߳̽øÈë“·Ç¿ÉÖ´ÐД״̬Ï£¬ÔÚÕâ¸ö״̬ÏÂCPU²»»á·Ö¸øÏß³Ìʱ¼äƬ£¬½øÈëÕâ¸ö״̬¿ÉÒÔÓÃÀ´ÔÝÍ£Ò»¸öÏ̵߳ÄÔËÐУ»ÔÚÏß³Ì¹ÒÆðºó£¬¿ÉÒÔͨ¹ýÖØÐ»½ÐÑÏß³ÌÀ´Ê¹Ö®»Ö¸´ÔËÐС£µ±Ò»¸öÏ߳̽øÈë“·Ç¿ÉÖ´ÐД״̬£¬¼´¹ÒÆð״̬ʱ£¬±ØÈ»´æÔÚijÖÖÔÒòʹÆä²»ÄܼÌÐøÔËÐУ¬ÕâЩÔÒò¿ÉÄÜÊÇÈçϼ¸ÖÖÇé¿ö£º
£¨1£©Í¨¹ýµ÷ÓÃsleep()·½·¨Ê¹Ï߳̽øÈëÐÝÃß״̬£¬Ïß³ÌÔÚÖ¸¶¨Ê±¼äÄÚ²»»áÔËÐС£
£¨2£©Í¨¹ýµ÷ÓÃjoin()·½·¨Ê¹Ïß³Ì¹ÒÆð£¬Èç¹ûij¸öÏß³ÌÔÚÁíÒ»¸öÏß³ÌtÉϵ÷ÓÃt.join()£¬Õâ¸öÏ߳̽«±»¹ÒÆð£¬Ö±µ½Ïß³ÌtÖ´ÐÐÍê±ÏΪֹ¡£
£¨3£©Í¨¹ýµ÷ÓÃwait()·½·¨Ê¹Ïß³Ì¹ÒÆð£¬Ö±µ½Ï̵߳õ½ÁËnotify()ºÍnotifyAll()ÏûÏ¢£¬Ïß³Ì²Å»á½øÈë“¿ÉÖ´ÐД״̬¡£
2£¬sleep()·½·¨£ºÊÇÒ»¸öʹÏß³ÌÔÝʱֹͣһ¶ÎÖ´ÐÐʱ¼äµÄ·½·¨£¬¸Ãʱ¼äÓɸø¶¨µÄºÁÃëÊý¾ö¶¨¡£ÏÂÃæÑÝʾһ¸öʹÓÃsleep()·½·¨µÄÀý×Ó£¬ÈçÏ¡£
public void run()
{
int count=3;
while(true)
{
......
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class j5_13 extends Applet implements ActionListener
{
Panel p=new Panel();//н¨²¼¾Ö
Label welcome,la1,li1,la2,li2,lresult;//Ìáʾ±êÇ©,·ûºÅ±êÇ©ÒÔ¼°¼ÆËã½á¹ûµÄ±êÇ©
TextField ta,tb,tc,td;//³öÈëÊý¾Ý¿ò
CheckboxGroup select;//µ¥Å¥Ñ¡Ôñ
Checkbox ad,mi,mu,di;//·Ö±ð¶ÔÓ¦¼Ó¼õ³Ë³ý
Button be,br;//¶ÔÓ¦¼ÆËã°´Å¥ºÍÖØÖð´Å¥
public void init()
{
select=new CheckboxGroup();
add(welcome=new Label("ÇëÊäÈëÒª¼ÆËãµÄ¸´Êý:"));
add(ta=new TextField(4));
add(la1=new Label("+"));
add(tb=new TextField(4));
add(li1=new Label("i"));
add(ad=n ......
javaÖеÄÕýÔòλÓÚjava.util.regex°üÖУ¬Õâ¸ö°üÖÐÖ»ÓÐÒ»¸öMatchResult½Ó¿ÚºÍMatcher¡¢PatternÁ½¸öÀà¡£
ÕýÔòÖеÄÊýÁ¿´ÊÓÐGreedy (̰À·)¡¢Reluctant(ÀÁ¶è)ºÍPossessive(ǿռ)ÈýÖÖ
Greedy ÊýÁ¿´Ê
X?
X£¬Ò»´Î»òÒ»´ÎҲûÓÐ
X*
X£¬Áã´Î»ò¶à´Î
X+
X£¬Ò»´Î»ò¶à´Î
X{n}
X£¬Ç¡ºÃ n ´Î
X{n,}
X£¬ÖÁÉÙ n ´Î
X{n,m}
X£¬ÖÁÉÙ n ´Î£¬µ«ÊDz»³¬¹ý m ´Î
GreedyÊÇ×î³£Óõģ¬ËüµÄÆ¥Å䷽ʽÊÇÏȰÑÕû¸ö×Ö·û´®ÍÌÏ£¬È»ºóÆ¥ÅäÕû¸ö×Ö·û´®£¬Èç¹û²»Æ¥Å䣬¾Í´ÓÓÒ¶ËͳöÒ»¸ö×Ö·û£¬ÔÙ½øÐÐÆ¥Å䣬ֱµ½ÕÒµ½Æ¥Åä»ò°ÑÕû¸ö×Ö·û´®ÍÂÍêΪֹ¡£
Matcher m=Pattern.compile("a.*b")
.matcher("a====b=========b=====");
while(m.find()){
System.out.println(m.group());
}
Êä³ö£º
a====b=========b
ÒòΪ×ÜÊÇ´Ó×î´ó Æ¥Å俪ʼƥÅ䣬¹Ê³ÆÌ°À·¡£
Reluctant ÊýÁ¿´Ê
X??
X£¬Ò»´Î»òÒ»´ÎҲûÓÐ
X*?
X£¬Áã´Î»ò¶à´Î
X+?
X£¬Ò»´Î»ò¶à´Î
X{n}?
X£¬Ç¡ºÃ n ´Î
X{n,}?
X£¬ÖÁÉÙ n ´Î
X{n,m}?
X£¬ÖÁÉÙ n ´Î£¬µ«ÊDz»³¬¹ý m ´Î
ReluctantÕýºÃºÍGreedyÏà·´£¬ËüÏÈ´Ó×îСƥÅ俪ʼ£¬ÏÈ´Ó×ó¶ËÍÌÈëÒ»¸ö×Ö·û£¬È»ºó½øÐÐÆ ......
×î½üÒ»Ö±ÔÚʹÓÃJava£¬¸Ð¾õËüµÄÔ½½ç¼ì²é·Ç³£ÓÐЧ¡£ÕâÒ»µã¶ÔÓÚ³õѧÕßÀ´ËµÊǷdz£ÖØÒªµÄ£¨Ìá¸ß³ÌÐòµÄÑϽ÷ÐÔ£©£¬¶ÔÓÚÓоÑéµÄ³ÌÐòÔ±À´ËµÒ²ºÜÓаïÖú¡£JavaÖÐÓÐÒ»¸öºÜÓÐЧµÄArrayListÀà(¶ÁÕß¿ÉÒÔ½áºÏJava API
À´Ñ§Ï°Ëü)£¬¡£ËüºÍÒ»°ãµÄÊý×é²»Ò»Ñù£¬²»ÐèÒªÌáǰ·ÖÅä¹Ì¶¨µÄ¿Õ¼ä£¨Ê¹ÓñȽÏÁé»î£©£¬Ã¿´ÎʹÓõÄʱºò¿ÉÒÔÌí¼Ó½øÐµÄÔªËØ£¨¸Ð¾õ¾ÍÊDzÙ×÷¶ÔÓÚ³ÌÐòÔ±À´ËµÍ¸Ã÷»¯ÁË£¬ÓÐÐËȤµÄ¿ÉÒÔ×Ô¼º±àдÀ´ÊµÏÖÕâ¸öÀàµÄһЩ·½·¨£©¡£
1.±ÈÈçÄãÐèÒªÌí¼ÓStringÀàÐ͵ÄÊý×飺
ArrayList <String> s=new ArrayList<String>();//´´½¨ÁËsÀ´±£´æStringÊý×é
s.add("hello");//ÏòsÖÐÌí¼Óhello×Ö·û´®
s.add("arraylist");
for(int i=0;i<s.size();i++)//s.size()ÊÇArrayListµÄÒ»¸ö·½·¨£¬·µ»Ø½á¹ûÊÇsµÄ´óС,¾ÍÏñÊý×éµÄ³¤¶ÈÒ»Ñù
System.out.print(s.get(i)+“ ”);//s.get(i)ÊÇ»ñÈ¡sµÄµÚi¸öÔªËØÁË
ÕâÑùÔÚÖն˾ͻá´òÓ¡³öÈçϽá¹û£ºhello arraylist
2.µ±¶ÁÕßÐèÒª¶¨Òå×Ô¼ºÀ࣬²¢ÇÒÐèÒªÕë¶ÔËüÀ´´´½¨Êý×éµÄ»°£¬¿ÉÒÔÕâÑùʹÓã¨ÕâÀïÎÒÃǼÙÉ趨ÒåÒ»¸öѧÉúÐÅÏ¢£©£º
class Student//ÎÒÃDz»¶¨Òå·½ ......
AWTÊÇJavaÖÐÖ§³ÖͼÐλ¯Óû§½çÃæGUIÉè¼ÆµÄÒ»¸ö¹¤¾ß¼¯¡£AWTµÄAPIÊǶÀÁ¢ÓÚÆ½Ì¨µÄ£¬µ«Éè¼Æ³öÀ´µÄ½çÃæÔÚ¸÷ÖÖÆ½Ì¨µÄ·ç¸ñ²»Í¬£¬ÀûÓÃAPIÖи÷ÖÖÀàÔÚÌØ¶¨Æ½Ì¨ÏµĶԵÈ×é¼þpeersÌṩ¾ßÌåÆ½Ì¨ÏµÄʵÏÖ¡£
Óû½¨Á¢Ò»¸öGUIÊ×ÏÈÈ·¶¨ËùÓõÄ×é¼þ¼°Æä²¼¾Ö£¬È»ºóʵÏÖÆäʼþµÄÏìÓ¦¡£×é¼þµÄÀàÐÍÓжàÖÖ£¬Èç³£ÓõÄButton¡¢CheckBoxµÈ£¬¾ùΪComponent¸úMenuComponentÀàµÄ×ÓÀ࣬ÕâЩ×é¼þ²»ÄܶÀÁ¢Ê¹Ó㬱ØÐë·ÅÖÃÓÚij¸öÈÝÆ÷ÖС£
ÈÝÆ÷±¾ÉíÒ²ÊÇÒ»¸ö×é¼þ£¬¿ÉÒÔÈÝÄɶà¸ö×é¼þ£¬Ê¹ËüÃdzÉΪһ¸öÕûÌ壬ÈÝÆ÷Ö®¼ä¿ÉÒÔǶÌס£³£ÓõÄÈÝÆ÷ÓÐFrame¡¢Panel¡¢AppletµÈ¡£ÆäÖÐFrameÒ»°ã×÷Ϊ¶¥¼¶´°¿ÚʹÓ㬶øPanelÔò±ØÐë·ÅÔÚWindow»òÕßFrameÖС£
ΪÁËʹµÃ×é¼þÔÚÈÝÆ÷Öеİڷ𢲼¾ÖÓÐÐò£¬ÐëʹÓò¼¾Ö¹ÜÀíÆ÷£¬JavaÌṩÁËFlowLayout¡¢BorderLayout¡¢GridLayout¡¢CardLayout¡¢GridBagLayoutÕâÎåÖÖ²¼¾Ö¹ÜÀíÆ÷£¬ÒÔʵÏÖ²»Í¬·ç¸ñµÄ×é¼þ²¼¾Ö¡£ÆäÖÐFlowLayoutΪFrameºÍAppletÖÐĬÈϵIJ¼¾Ö¹ÜÀí£¬CardLayout¿ÉÒÔʹµÃ×é¼þÏñ¿¨Æ¬°ãµþ·Å£¬ÇÒ¿ÉÒÔ½øÐп¨Æ¬Çл»¡£ÓûʹÓÃijÖÖ²¼¾Ö¹ÜÀíÆ÷ʱ£¬ÐëÓÃsetLayoutÉèÖÃÈÝÆ÷µÄ²¼¾Ö¹ÜÀíÆ÷Ϊ¸ÃÀàÐÍ¡£
µ±½çÃæ×öºÃÖ®ºó£¬×é¼þµÄʼþÏìÓ¦²ÅÊÇGUIÉè¼ÆÓëʵÏֵĺËÐÄ¡£Æä¹ý³ÌΪ£ºµ±Óû§ÔÚ½çÃæÉÏ×÷³öijÖÖ¶¯×÷ʱ£¬¼à²âGU ......