¸Õ´ÓÍøÉÏ¿´µ½cºÍjava»ì±àµÄÎÄÕ£¬¾Íؽ²»¿É´ýµÄ³¢ÊÔÁËһϡ£ºÇºÇ£¬Ð§¹û»¹ÊǺܺõġ£ÏÂÃæ½«×Ô¼º³É¹ûÕ³Ìù³öÀ´
£¨×ªÔØÓÚhttp://www.zxbc.cn/html/20070518/19986.html£©¡£ÊµÑéÖ®ºó¿ÉÒÔͨ¹ý¡£
1javaÖе÷ÓÃcÓïÑÔ
Ê×ÏȱàдMain.java
public class Main
{
public native static int getStrNum(byte str[], int strLen);
}
ÔÚÃüÁîÐÐÖУ¬Ê¹ÓÃÈçÏÂÃüÁî±àÒ룺
javac Main.java
ÏÂÃæµÄÃüÁÉú³ÉMain.hÍ·Îļþ
javah Main
´ò¿ªvs2008£¬ н¨¹¤³ÌMakeDll£¨win32 console application£©£¬ÉèÖÃÏîÄ¿ÊôÐÔÈçÏ£º
ÔÚproject-¡·MakeDll Properties-¡·ÔÚGeneralÑ¡ÏÉÏ£¬Ñ¡ÔñÉú³ÉdllÎļþ¡£
ͬʱÐèÒªÔÚÏîÄ¿µÄc++ÏÂgeneralϵÄAdditional include directoryϼÓÔØjdk°²×°Ä¿Â¼ÏµÄincludeÎļþ¼ÐºÍ¸ÃÎļþ¼ÐϵÄwin32
×ÓĿ¼¡£
½«µÚÒ»²½Éú³ÉµÄMain.hÎļþ¼ÙÈçµ½¹¤³ÌÖУ¬Í¬Ê±Ð½¨Ò»¸ömain.cppÎļþ£¬ÔÚÆäÖмÙÈçÈçÏ´úÂ룺
#include "Main.h"
#include <string.h>
JNIEXPORT jint JNICALL Java_Main_getStrNum (JNIEnv *env, jclass cls, jbyteArray str, jint strLen)
{
jbyte *buffer = (*env).GetByteA ......
¸Õ´ÓÍøÉÏ¿´µ½cºÍjava»ì±àµÄÎÄÕ£¬¾Íؽ²»¿É´ýµÄ³¢ÊÔÁËһϡ£ºÇºÇ£¬Ð§¹û»¹ÊǺܺõġ£ÏÂÃæ½«×Ô¼º³É¹ûÕ³Ìù³öÀ´
£¨×ªÔØÓÚhttp://www.zxbc.cn/html/20070518/19986.html£©¡£ÊµÑéÖ®ºó¿ÉÒÔͨ¹ý¡£
1javaÖе÷ÓÃcÓïÑÔ
Ê×ÏȱàдMain.java
public class Main
{
public native static int getStrNum(byte str[], int strLen);
}
ÔÚÃüÁîÐÐÖУ¬Ê¹ÓÃÈçÏÂÃüÁî±àÒ룺
javac Main.java
ÏÂÃæµÄÃüÁÉú³ÉMain.hÍ·Îļþ
javah Main
´ò¿ªvs2008£¬ н¨¹¤³ÌMakeDll£¨win32 console application£©£¬ÉèÖÃÏîÄ¿ÊôÐÔÈçÏ£º
ÔÚproject-¡·MakeDll Properties-¡·ÔÚGeneralÑ¡ÏÉÏ£¬Ñ¡ÔñÉú³ÉdllÎļþ¡£
ͬʱÐèÒªÔÚÏîÄ¿µÄc++ÏÂgeneralϵÄAdditional include directoryϼÓÔØjdk°²×°Ä¿Â¼ÏµÄincludeÎļþ¼ÐºÍ¸ÃÎļþ¼ÐϵÄwin32
×ÓĿ¼¡£
½«µÚÒ»²½Éú³ÉµÄMain.hÎļþ¼ÙÈçµ½¹¤³ÌÖУ¬Í¬Ê±Ð½¨Ò»¸ömain.cppÎļþ£¬ÔÚÆäÖмÙÈçÈçÏ´úÂ룺
#include "Main.h"
#include <string.h>
JNIEXPORT jint JNICALL Java_Main_getStrNum (JNIEnv *env, jclass cls, jbyteArray str, jint strLen)
{
jbyte *buffer = (*env).GetByteA ......
Õâ¸öÊǼÓͼƬˮӡµÄ!
package com.pic;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.awt.image.*;
import org.w3c.dom.*;
import com.sun.image.codec.jpeg.*;
import javax.imageio.*;
public class ImgBean_i{
public void ImgBean_i(){
}
public void ImgYin(String Imagename_biao,String ImgName){
try{
File _file = new File(ImgName);
Image src = ImageIO.read(_file);
int wideth=src.getWidth(null);
int height=src.getHeight(null);
BufferedImage image=new BufferedImage(wideth,height,BufferedImage.TYPE_INT_RGB);
Graphics g=image.createGraphics();
g.drawImage(src,0,0,wideth,height,null);
//ˮӡÎļþ
File _filebiao = new File(Imagename_biao);
Image src_biao = ImageIO.read(_filebiao);
int wideth_biao=src_biao.getWidth(null);
int height_biao=src_biao.getHeight(null);
g.drawImage(src_biao,wideth-110,height-30,wideth_biao,height_biao,null);
///
g.dispose();
FileOutputStream out=new FileOutputStream(ImgName);
JPEGImageEncode ......
Õâ¸öÊǼÓͼƬˮӡµÄ!
package com.pic;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.awt.image.*;
import org.w3c.dom.*;
import com.sun.image.codec.jpeg.*;
import javax.imageio.*;
public class ImgBean_i{
public void ImgBean_i(){
}
public void ImgYin(String Imagename_biao,String ImgName){
try{
File _file = new File(ImgName);
Image src = ImageIO.read(_file);
int wideth=src.getWidth(null);
int height=src.getHeight(null);
BufferedImage image=new BufferedImage(wideth,height,BufferedImage.TYPE_INT_RGB);
Graphics g=image.createGraphics();
g.drawImage(src,0,0,wideth,height,null);
//ˮӡÎļþ
File _filebiao = new File(Imagename_biao);
Image src_biao = ImageIO.read(_filebiao);
int wideth_biao=src_biao.getWidth(null);
int height_biao=src_biao.getHeight(null);
g.drawImage(src_biao,wideth-110,height-30,wideth_biao,height_biao,null);
///
g.dispose();
FileOutputStream out=new FileOutputStream(ImgName);
JPEGImageEncode ......
×¢Ê͵ÄÔÔò
1¡¢ ×¢ÊÍÐÎʽͳһ
ÔÚÕû¸öÓ¦ÓóÌÐòÖУ¬Ê¹ÓþßÓÐÒ»ÖµıêµãºÍ½á¹¹µÄÑùʽÀ´¹¹Ôì×¢ÊÍ¡£Èç¹ûÔÚÆäËûÏîÄ¿×é·¢ÏÖËûÃǵÄ×¢Ê͹淶ÓëÕâ·ÝÎĵµ²»Í¬£¬°´ÕÕËûÃǵĹ淶д´úÂ룬²»ÒªÊÔͼÔڼȳɵĹ淶ϵͳÖÐÒýÈëеĹ淶¡£
2¡¢ ×¢Ê͵ļò½à
ÄÚÈÝÒª¼òµ¥¡¢Ã÷ÁË¡¢º¬Òå׼ȷ£¬·ÀÖ¹×¢Ê͵ĶàÒåÐÔ£¬´íÎóµÄ×¢ÊͲ»µ«ÎÞÒæ·´¶øÓк¦¡£
3¡¢ ×¢Ê͵ÄÒ»ÖÂÐÔ
ÔÚд´úÂë֮ǰ»òÕß±ßд´úÂë±ßдעÊÍ£¬ÒòΪÒÔºóºÜ¿ÉÄÜûÓÐʱ¼äÀ´ÕâÑù×ö¡£ÁíÍ⣬Èç¹ûÓлú»á¸´²éÒѱàдµÄ´úÂ룬ÔÚ½ñÌì¿´À´ºÜÃ÷ÏԵĶ«Î÷ÁùÖÜÒÔºó»òÐí¾Í²»Ã÷ÏÔÁË¡£Í¨³£ÃèÊöÐÔ×¢ÊÍÏÈÓÚ´úÂë´´½¨£¬½âÊÍÐÔ×¢ÊÍÔÚ¿ª·¢¹ý³ÌÖд´½¨£¬ÌáʾÐÔ×¢ÊÍÔÚ´úÂëÍê³ÉÖ®ºó´´½¨¡£Ð޸ĴúÂëµÄͬʱÐÞ¸ÄÏàÓ¦µÄ×¢ÊÍ£¬ÒÔ±£Ö¤´úÂëÓë×¢Ê͵Äͬ²½¡£
4¡¢ ×¢Ê͵ÄλÖÃ
±£Ö¤×¢ÊÍÓëÆäÃèÊöµÄ´úÂëÏàÁÚ£¬¼´×¢Ê͵ľͽüÔÔò¡£¶Ô´úÂëµÄ×¢ÊÍÓ¦·ÅÔÚÆäÉÏ·½ÏàÁÚ»òÓÒ·½µÄλÖ㬲»¿É·ÅÔÚÏ·½¡£±ÜÃâÔÚ´úÂëÐеÄĩβÌí¼Ó×¢ÊÍ£»ÐÐβעÊÍʹ´úÂë¸üÄÑÔĶÁ¡£²»¹ýÔÚÅú×¢±äÁ¿ÉùÃ÷ʱ£¬ÐÐβעÊÍÊǺÏÊʵģ»ÔÚÕâÖÖÇé¿öÏ£¬½«ËùÓÐÐÐβעÊÍÒª¶ÔÆë¡£
5¡¢ ×¢Ê͵ÄÊýÁ¿
×¢Êͱز»¿ÉÉÙ£¬µ«Ò²²»Ó¦¹ý¶à£¬ÔÚʵ¼ÊµÄ´úÂë¹æ·¶ÖУ¬ÒªÇó×¢ÊÍÕ¼³ÌÐò´úÂëµÄ±ÈÀý´ïµ½20%×óÓÒ¡£×¢ÊÍÊǶԴúÂëµÄ“ÌáÊ ......
ʵÏÖ²½Ö裺
1.×Ô¶¨ÒåÒ»¸öJavaÀ࣬¸ÃJavaÀàÖж¨ÒåÒ»¸ö·½·¨À´°üº¬ÐèÒª±»ÔËÐеĴúÂë¡£
2.¶¯Ì¬±àÒë¸Õ¸ÕÉú³ÉµÄJavaÔ´Â룬²»ÔÚ´ÅÅÌÉÏÉú³ÉÔ´Â룬¶øÊÇÖ±½Ó±àÒëÄÚ´æÖеÄJavaÔ´Âë¡£
3.¶¯Ì¬¼ÓÔØ¸Õ¸Õ´´½¨±àÒëµÄJava¶þ½øÖÆÂ룬±àÒëºÃµÄJava¶þ½øÖÆÂë²»ÊÇÔÚ´ÅÅÌÉÏ£¬¶øÊÇ·ÅÔÚÄÚ´æÖУ¬²¢¶¨Òå×Ô¼ºµÄÀà¼ÓÔØÆ÷£¬¸ºÔð¼ÓÔØÄÚ´æÖеÄclassÎļþ¡£
4.ͨ¹ý·´ÉäÔËÐÐǰһ²½¼ÓÔØµÄÀà¡£
import java.util.Arrays;
import javax.tools.SimpleJavaFileObject;
import javax.tools.JavaFileObject;
import javax.tools.JavaCompiler;
import javax.tools.ToolProvider;
import javax.tools.DiagnosticCollector;
import java.net.URI;
/**
* Description:
* <br/>ÍøÕ¾: <a href="http://www.crazyit.org" mce_href="http://www.crazyit.org">·è¿ñJavaÁªÃË</a>
* <br/>Copyright (C), 2001-2010, Leeyohn
* <br/>This program is protected by copyright laws.
* <br/>Program Name:
* <br/>Date:
* @author Leeyohn leeyohn@hotmail.com
* @version 1.0
*/
public class MyClassLoader
extends ClassLoader
{
@Override ......
ʵÏÖ²½Ö裺
1.×Ô¶¨ÒåÒ»¸öJavaÀ࣬¸ÃJavaÀàÖж¨ÒåÒ»¸ö·½·¨À´°üº¬ÐèÒª±»ÔËÐеĴúÂë¡£
2.¶¯Ì¬±àÒë¸Õ¸ÕÉú³ÉµÄJavaÔ´Â룬²»ÔÚ´ÅÅÌÉÏÉú³ÉÔ´Â룬¶øÊÇÖ±½Ó±àÒëÄÚ´æÖеÄJavaÔ´Âë¡£
3.¶¯Ì¬¼ÓÔØ¸Õ¸Õ´´½¨±àÒëµÄJava¶þ½øÖÆÂ룬±àÒëºÃµÄJava¶þ½øÖÆÂë²»ÊÇÔÚ´ÅÅÌÉÏ£¬¶øÊÇ·ÅÔÚÄÚ´æÖУ¬²¢¶¨Òå×Ô¼ºµÄÀà¼ÓÔØÆ÷£¬¸ºÔð¼ÓÔØÄÚ´æÖеÄclassÎļþ¡£
4.ͨ¹ý·´ÉäÔËÐÐǰһ²½¼ÓÔØµÄÀà¡£
import java.util.Arrays;
import javax.tools.SimpleJavaFileObject;
import javax.tools.JavaFileObject;
import javax.tools.JavaCompiler;
import javax.tools.ToolProvider;
import javax.tools.DiagnosticCollector;
import java.net.URI;
/**
* Description:
* <br/>ÍøÕ¾: <a href="http://www.crazyit.org" mce_href="http://www.crazyit.org">·è¿ñJavaÁªÃË</a>
* <br/>Copyright (C), 2001-2010, Leeyohn
* <br/>This program is protected by copyright laws.
* <br/>Program Name:
* <br/>Date:
* @author Leeyohn leeyohn@hotmail.com
* @version 1.0
*/
public class MyClassLoader
extends ClassLoader
{
@Override ......
ÔÚJavaÖУ¬µ±Ò»¸ö¶ÔÏó±»´´½¨Ê±£¬³ÉÔ±±äÁ¿µÄ³õʼ»¯¼°¹¹Ôì·½·¨µÄµ÷ÓÃ×ñÑÒÔÏÂ˳Ðò£º
1. ½«·ÖÅ䏸¶ÔÏóµÄ´æ´¢¿Õ¼ä³õʼ»¯³É¶þ½øÖƵÄÁã¡£
2. µ÷ÓÃËùÓлùÀàµÄ¹¹Ôì·½·¨¡£Õâ¸ö²½Öè»á²»¶ÏµØ·´¸´µÝ¹éÏÂÈ¥£¬Ê×ÏÈÊǹ¹ÔìÕâÖÖ²ã´Î½á¹¹µÄ¸ù£¬È»ºóÊÇÏÂÒ»²ã×ÓÀ࣬µÈµÈ£¬Ö±µ½×îµ×²ãµÄ×ÓÀà¡£
3. °´ÕÕÉùÃ÷µÄ˳Ðòµ÷ÓóÉÔ±µÄ³õʼ»¯·½·¨¡£
4. µ÷ÓÃ×ÓÀàµÄ¹¹Ôì·½·¨Ö÷Ìå¡£
ÏÂÃæ¾ÙÀý˵Ã÷¡£
class Glyph {
Glyph(){
System.out.println("Glyph() before draw()");
draw();
System.out.println("Glyph() after draw()");
}
void draw(){
System.out.println("Glyph.draw()");
}
}
class RoundGlyph extends Glyph {
private int radius = 1;
RoundGlyph(int r){
radius = r;
& ......
1 SimpleDateFormatµ£µ±ÖØÈÎ,ÔõÑù¸ñʽ»¯¶¼ÐÐ
import java.util.Date;
import java.text.SimpleDateFormat;
public class Demo
{
public static void main(String[] args)
{
Date now=new Date();
SimpleDateFormat f=newSimpleDateFormat("½ñÌìÊÇ"+"yyyyÄêMMÔÂddÈÕ E kkµãmm·Ö");
System.out.println(f.format(now));
f=new SimpleDateFormat("a hhµãmm·ÖssÃë");
System.out.println(f.format(now));
}
}
2 ´Ó×Ö·û´®µ½ÈÕÆÚÀàÐ͵Äת»»£º
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import java.text.*;
publicclass Demo
{
public static void main(String[] args)
{
String strDate="2005Äê04ÔÂ22ÈÕ";
//×¢Ò⣺SimpleDateFormat¹¹Ô캯ÊýµÄÑùʽÓëstrDateµÄÑùʽ±ØÐëÏà·û
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyyÄêMMÔÂddÈÕ");
//±ØÐë²¶»ñÒì³£
try
{
Date date=simpleDateFormat.parse(strDate);
System.out.println(date);
}
catch(ParseException px)
{
px.printStackTrace();
}
}
}
3 ½«ºÁ ......