File f=new File("DerectoryName");
String []results=f.list();
import java.io.*;
¡¡¡¡public class listFile
¡¡¡¡{
¡¡¡¡public static void main (String[] args)
¡¡¡¡{
¡¡¡¡String s="";
¡¡¡¡InputStreamReader ir=new InputStreamReader(System.in);
¡¡¡¡BufferedReader in = new BufferedReader(ir);
¡¡¡¡try {
¡¡¡¡s = in.readLine();
¡¡¡¡File f=new File(s);
¡¡¡¡File[] files=f.listFiles();
¡¡¡¡for(int i=0;i
¡¡¡¡{
¡¡¡¡if(files[i].isFile())
¡¡¡¡{
¡¡¡¡System.out. ......
×î¼Ñ´ð°¸
1. ±àд·¶ÀýÎĵµ
public class TestNative
{
private native static int Max(int a,int b);
public static void main(String[] args)
{
System.out.println(Max(4,5));
}
static
{
System.loadLibrary("VCdll");
}
}
ÆäÖÐ
LoadLibraryÖеÄDLLÎļþÃû³Æ¿ÉÒÔËæ±ã¶¨.Ö»Òª×öºÃµÄ¶¯Ì¬Á´½Ó¿â¸ÄÃû³ÉÕâ¸ö×Ö·û´®¾Í¿ÉÒÔÁË.¶ønativeº¯ÊýµÄÀ´Ô´¾ÍÊǸö¯Ì¬Á´½Ó¿â.
2. ×öºÃ¸Ã²½×¼±¸ÒÔºó,ÓÃjavac TestNative.javaÉú³ÉTestNative.class. ¼ìÑéÓï·¨.
3. Óï·¨¼ì²éͨ¹ýÒÔºó,ÓÃjavah TestNativeÉú³ÉTestNative.hµÄC++Í·Îļþ.
4. ÓÃVC++6.0´´½¨dllÎļþ:
<1>msdev->new->project->win32 Dynamic-Link Library
<2>Enter project name (e.g. VCdll)
<3>choose "An empty DLL project"->finish
<4>½«3Éú³ÉµÄTestNative.hºÍjdkϵÄjni.hºÍjni_md.h¼ÓÈëµ½¹¤³ÌÖÐÈ¥
<5>Create a c++ file, implements the native method. as follows:
//TestNative.cpp
#include "TestNative.h"
JNIEXPORT jint JNICALL Java_TestNative_Max
(JNIEnv * a, jclass b, jint x, ji ......
¼øÓÚÅÀ³æ¿ª·¢ÐèÒªÒ»¸öͼƬ½âÎö¹¦Äܵĺ¯Êý£¬µ½ÍøÂçÉϲéÕÒÁËһЩjni·½ÃæµÄÄÚÈÝ£¬²¢×öÁË×Ô¼ºµÄһЩÐ޸쬾ßÌåÈçÏ£º
ĿǰjavaÓëdll½»»¥µÄ¼¼ÊõÖ÷ÒªÓÐ3ÖÖ£ºjni£¬jawinºÍjacob¡£Jni£¨Java Native Interface£©ÊÇsunÌṩµÄjavaÓëϵͳÖеÄÔÉú·½·¨½»»¥µÄ¼¼Êõ£¨ÔÚwindows\linuxϵͳÖУ¬ÊµÏÖjavaÓënative method»¥µ÷£©¡£Ä¿Ç°Ö»ÄÜÓÉc/c++ʵÏÖ¡£ºóÁ½¸ö¶¼ÊÇsourceforgeÉϵĿªÔ´ÏîÄ¿£¬Í¬Ê±Ò²¶¼ÊÇ»ùÓÚjni¼¼ÊõµÄwindowsϵͳÉϵÄÒ»¸öÓ¦Óÿ⡣Jacob£¨Java-Com Bridge£©ÌṩÁËjava³ÌÐòµ÷ÓÃmicrosoftµÄcom¶ÔÏóÖеķ½·¨µÄÄÜÁ¦¡£¶ø³ýÁËcom¶ÔÏóÍ⣬jawin£¨Java/Win32 integration project£©»¹¿ÉÒÔwin32-dll¶¯Ì¬Á´½Ó¿âÖеķ½·¨¡£¾Í¹¦ÄܶøÑÔ£ºjni >> jawin>jacob£¬Æä´óÖµĽṹÈçÏÂͼ£º
jni¼¼ÊõÌåϵ¹¦Äܽṹͼ
¾ÍÒ×ÓÃÐÔ¶øÑÔ£¬ÕýºÃÏà·´£ºjacob>jawin>>jni¡£
Jvm·â×°Á˸÷ÖÖ²Ù×÷ϵͳʵ¼ÊµÄ²îÒìÐÔµÄͬʱ£¬ÌṩÁËjni¼¼Êõ£¬Ê¹µÃ¿ª·¢Õß¿ÉÒÔͨ¹ýjava³ÌÐò£¨´úÂ룩µ÷Óõ½²Ù×÷ϵͳÏà¹ØµÄ¼¼ÊõʵÏֵĿ⺯Êý£¬´Ó¶øÓëÆäËû¼¼ÊõºÍϵͳ½»»¥£¬Ê¹ÓÃÆäËû¼¼ÊõʵÏÖµÄϵͳµÄ¹¦ÄÜ£»Í¬Ê±ÆäËû¼¼ÊõºÍϵͳҲ¿ÉÒÔͨ¹ýjniÌṩµÄÏàÓ¦ÔÉú½Ó¿Ú¿ªµ÷ÓÃjavaÓ¦ÓÃϵͳÄÚ²¿ÊµÏֵŦÄÜ¡£
ÔÚwindowsϵͳÉÏ£¬Ò» ......
Observer
Intent
Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
How to
Subject
knows its observers. Any number of Observer objects may observe a subject.
provides an interface for attaching and detaching Observer objects.
Observer
defines an updating interface for objects that should be notified of changes in a subject.
Known cases
Listener
MVC
Publish-Subscribe
UML
´úÂëÑùÀý£º
package org.haha.DesignPatterns.observer;
import java.util.ArrayList;
import java.util.List;
public class Observable {
private List<Observer> observers;
public Observable() {
observers = new ArrayList<Observer>();
}
public void register(Observer obs) {
observers.add(obs);
}
public void unregister(Observer obs) {
observers.remove(obs);
}
public void remind() {
for (Observer obs : observers) {
obs ......
Java¶ÔÏóXMLÐòÁл¯¿ò¼Ü£Simple2.0
SimpleÊÇÒ»¸öXMLÐòÁл¯¿ò¼Ü£¬Ò»¸öJava
°æ±¾¿íÈݵÄÐòÁл¯¿ò¼Ü£¬Äܹ»¿ìËÙÔÚJava
ƽ̨ÉÏ¿ª·¢XML¡£Ö§³Öͨ¹ýannotationsÍêÈ«ÅäÖû¯µÄXML½á¹¹£»Ìṩ°æ±¾¹ÜÀí¿ò¼ÜÔÊÐíÏòǰºÍÏòºó¼æÈÝÐòÁл¯£»¸üºÃµÄÐÔÄÜ£¬Ê¹ÓÃÇáÁ¿¼¶StAXÌáÉýXML·´ÐòÁл¯
½ø³Ì£¬±ÈXStreamºÍJAXB¸ü¿ì£»Í¨¹ýnamespace annotationsÌṩÍêÈ«µÄÃüÃû¿Õ¼äÖ§³Ö£»°üÀ¨XMLÄ£°åϵͳ
Ŀǰ×îа汾Ϊ 2.0.1. ¹ÙÍøµØÖ·:http://simple.sourceforge.net/home.php
×¢£º²»¹ý±ÊÕßÈÏΪ£¬Èç¹ûÄãʹÓÃJavaSE 6.0£¬Ôò½¨ÒéʹÓÃÆä×Ô´øµÄJAXB
(Java Architecture for XML Binding).ÆäʹÓ÷dz£¼òµ¥£¬Ö§³Öͨ¹ýannotationsÍêÈ«ÅäÖû¯µÄXML½á¹¹¡£¶øÇÒÆäÒ²ÊÇJavaÖеÄÒ»¸ö¹æ·¶ÊµÏÖ£¬ JAX-RS¹æ·¶
¾ÍʹÓÃJAXBÀ´ÊµÏÖ¶ÔÏóµÄÐòÁл¯¹¦ÄÜ¡£
ÏÂÃæÊÇÒ»¸ö¼òµ¥Ê¾Àý:
Ïȶ¨ÒåÒ»¸öExample¶ÔÏó£¬ ÎÒÃÇÖ»ÐèÒª¼òµ¥µÄ¼ÓÉÏAnnoationºó£¬¾Í¿ÉÒÔ½øÐжÔÏóÓëXMLÖ®¼äµÄת»»¡£
@Root
public
class
Example {
@Element
private
String text;
@Attribute
private
int
index;
&nb ......
´ó¼ÒÖªµÀ£¬ÔÚ1991Ä꣬¼¸ºõÓëLinuxͬʱ£¬SUN·¢²¼ÁËJava±à³ÌÓïÑÔ¡£²»¾Ã£¬ÎҵĴóѧͬѧ£¨±ÈÎÒµÍÁ½Ä꣩Íõ¿Ëºê½ÌÊÚ£¨Ç廪²©Ê¿µ¼Ê¦£©ÓëSUNºÏ×÷³ÉÁ¢ÁËÖйú×îÔçµÄ“JavaÑо¿ÖÐÐÄ”£¬²¢ÇÒµ£ÈθÃÖÐÐÄÖ÷ÈΡ£´Ó´Ë£¬ÎÒ¿ªÊ¼×¢ÒâJava¼¼ÊõµÄ·¢Õ¹¶¯Ì¬¡£ÎÒ¼ÒÖеĴæÊ飬ÒÔJavaÊé¼®×î¶à£¨µ±È»£¬³ýÁËÊýѧÊé¼®Ö®Í⣩¡£
1998Äêǰºó£¬ºìñ6.2°æ±¾°üº¬ÁËEnhydraÖмä¼þ£¬ÎÒ´óÊܹÄÎ裬×éÖ¯ÈËÁ¦£¬¿ªÊ¼ÁË»ùÓÚLinuxƽ̨µÄWeb±à³ÌºÍÓ¦Óᣴó¸ÅÔÚ1999Äê12Ôµף¬ÎҼǵã¬ÄÇÊÇÒ»¸ö´óÑ©·×·ÉµÄÈÕ×Ó£¬¡¶µÚÒ»½ì¹ú¼ÊÈí¼þÕ¹ÀÀ»á¡·ÔÚ±±¾©Õ¹ÀÀ¹Ý¾ÙÐУ¬ÎÒ×éÖ¯Á¦Á¿£¬Ôڻ᳡ÉÏչʾÁËÓÉ22̨PC×é³ÉµÄLinux¾ÖÓòÍø£¬ÅÜ»ùÓÚEnhydraµÄWebÓ¦Óá£ÕâЩÍùÊÂÖÁ½ñÄÑÒÔÍüÈ´¡£
ÔÚ2000Ä꣬Java¼°ÆäÓ¦ÓÃÊÇÎÒµÄ×î°®¡£ÄÇÄ꣬ÎÞÎýÓÀÖУ¨Evermore£©³ÉÁ¢£¬ÎÒÊdzÉÁ¢´ó»áµÄ¼ûÖ¤ÈËÖ®Ò»¡£µ±Ê±£¬ÎÞÎýÓÀÖÐ×ܲòܲÎÏëÓÃJavaÓïÑÔ±àдһÖÖ“¼¯³É”°ì¹«Ì×¼þ£¬ÎÒºÜÓÐÐËȤ¡£µ«ÊÇ£¬µ½Á˺óÀ´£¬»ùÓÚJavaµÄÓÀÖа칫Ì×¼þ¿ª·¢³öÀ´ÁË£¬ÎÒûÓÐÈ¥×£ºØ£¬ÒòΪ£¬ÕâÌײúÆ·ÊÇÉÌÒµÈí¼þ¡£Ì¹°×µØËµ£¬ÎÒ¶ÔÉÌÒµÈí¼þÊÇ£¨·Ç³££©µÖ´¥µ ......