jpythonµ÷ÓÃjavaÀàµÄÄ£°å
ʹÓÃJPypeÄ£¿éÈÃPythonµ÷ÓÃJAVAµÄÀà
Python idea! 2009-03-24 19:44 ÔĶÁ267 ÆÀÂÛ0
×ֺţº ´ó´ó ÖÐÖРСС
¿´¿´Àý×Ó¾ÍÖªµÀÀ²£¬ÕæÊÇΪPython£¨²»ÊÇJython£¬¶øÊÇCPython£©ÌṩÁËÇ¿´óÁ¦Á¿£¡
Ê×ÏÈÔÚjavaϽ¨Á¢Ò»¸öÔÙÒ²¼òµ¥²»¹ýµÄ°ü£º
package org.wg3i.test;
class Test {
private String msg;
public Test() {
}
public void speak(String msg) {
System.out.println(msg);
}
public void setString(String s) {
msg = s;
}
public String getString() {
return msg;
}
}
ÔÚPythonÏÂʹÓÃJPypeÄ£¿éÀ´µ÷ÓÃÎÒÃǸոÕÉú³ÉµÄjava°ü£º
import jpype
import os.path
jarpath = os.path.join(os.path.abspath('.'), 'build/jar')
jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.ext.dirs=%s" % jarpath)
Test = jpype.JClass('org.wg3i.test.Test') # È¡µÃ°üorg.wg3i.testÖеÄÀàTest
t = Test() # ´´½¨TestʵÀý
t.speak("This is a test message") # ³¢ÊÔµ÷ÓÃÀàµÄÒ»¸ö·½·¨
t.setString("Hello, World") #¸ø¶¨String
s = t.getString() # »ñÈ¡String
print s
jpype.shutdownJVM()
ÏÂÃæÀ´½éÉÜÏÂÈçºÎµ÷Óðü¶ø²»ÊǾßÌåµÄÒ»¸öÀࣺ
import jpype
import os.path
classpath = os.path.join(os.path.abspath('.'), 'build/classes')
jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.class.path=%s" % classpath)
testPkg = jpype.JPackage('org').wg3i.test # È¡µÃ°ü
Test = testPkg.Test # È¡µÃÀà
t = Test() # ´´½¨TestʵÀý
t.speak("This is a test message") # ³¢ÊÔµ÷ÓÃÀàµÄÒ»¸ö·½·¨
t.setString("Hello, World") &nbs
Ïà¹ØÎĵµ£º
ϵͳÊôÐÔÊÇÖ¸ÓëÓû§³ÌÐòÏà¹ØµÄ²Ù×÷ϵͳÅäÖÃÐÅÏ¢ÒÔ¼°Èí¼þÐÅÏ¢¡£Í¨³£ÓëÓû§³ÌÐòÏà¹ØµÄÊôÐԹؼü×Ö°üÀ¨£º
¡¡¡¡¡ñfile.separator:Îļþ·Ö¸ô·û£¬Windows»·¾³ÏÂΪ“"£¬Unix»·¾³ÏÂΪ“/”£»
¡¡¡¡¡ñuser.home£ºÓû§Ö÷Ŀ¼£»
¡¡¡¡¡ñjava.home£ºJavaʵʱÔËÐл·¾³µÄ°²×°Ä¿Â¼£»
¡¡¡¡¡ñjava.ext.dirs£ºJDKµÄ°²×°Ä¿ ......
×öÁËÒ»¸öºÜ¼òµ¥µÄ½çÃæ³ÌÐò,Ò²ÊÇÎÒµÚÒ»¸ö½çÃæ³ÌÐò.Ö÷Òª¹¦ÄܾÍÊÇÊäÈëÁ½¸öÊý×Ö,¼ÆËãÕâÁ½¸öÊý×ֵĺÍ,ºÜ¼òµ¥µÄ¹¦ÄÜ,ÎÒÈ´»¨Á˺ܾÃ,¶ÔjavaÌ«²»ÊìϤÁË,Á¬µÃµ½textField1ÖÐÓû§ÊäÈëµÄÖµÔõô»ñµÃ,¶¼²»ÖªµÀ,ºóÀ´baidu²ÅÖªµÀ,
Óà textField1.getText()»ñµÃÊäÈëµÄÖµ;,
  ......
ÒòΪÔÚ×öÁ´½ÓÀ´Ô´Í³¼ÆµÄʱºòÐèÒª°Ñ http://www.baidu.com/baidu?word= ... B%F7&tn=myie2dg ÕâÀàµÄURL±àÂ뻹ԳÉÃ÷ÎÄ×Ö´®£¬Ò»°ã´ó²¿·ÖµÄÍøÕ¾¶¼ÊÇÓÃÆÕͨµÄURL±àÂëÐÎʽ£¬ÈçÉÏÃæÁ´½ÓÖеÄbadu£¬ÕâÖַdz£ÈÝÒ×ת»»ºÍ»¹Ô£¬Java°üÀïÌṩÁËÁ½¸öÀàµÄ²»Í¬·½·¨URLEncode.encode()ºÍURLDecode.decode()Äܷdz£·½±ãʵÏÖ£¬µ ......
Class.forName(xxx.xx.xx) ·µ»ØµÄÊÇÒ»¸öÀà
Ê×ÏÈÄãÒªÃ÷°×ÔÚjavaÀïÃæÈκÎclass¶¼Òª×°ÔØÔÚÐéÄâ»úÉϲÅÄÜÔËÐС£Õâ¾ä»°¾ÍÊÇ×°ÔØÀàÓõÄ(ºÍnew ²»Ò»Ñù£¬Òª·ÖÇå³þ)¡£
ÖÁÓÚʲôʱºòÓã¬Äã¿ÉÒÔ¿¼ÂÇÒ»ÏÂÕâ¸öÎÊÌ⣬¸øÄãÒ»¸ö×Ö·û´®±äÁ¿£¬Ëü´ú±íÒ»¸öÀàµÄ°üÃûºÍÀàÃû£¬ÄãÔõôʵÀý»¯Ëü£¿Ö»ÓÐÄãÌáµ½µÄÕâ¸ö·½·¨ÁË£¬²»¹ýÒªÔÙ¼ÓÒ»µã¡£
A a = ......
¹ØÓÚJavaÒç³ö·ÖÀ࣬ÎÒ¾³£Åöµ½µÄÊÇÁ½ÀࣺһÀàÊÇjava.lang.OutOfMemoryError: Java heap space£¬Ò»ÀàÊÇjava.lang.OutOfMemoryError: PermGen space¡£
ÔÚÕâÁ½ÀàÖУ¬Ç°ÕßÅö¼ûµÄ´ÎÊý±È½ÏƵ·±¡£ÒòΪµ¼ÖÂJava heap spaceµÄÇé¿ö£¬ÓÐʱºò²¢²»ÊÇÄÚ´æ²»¹»£¬ËüÒ²»áÅ×´Ë´íÎóÐÅÏ¢¡£ÀýÈçÎÒ¾ÍÅöµ½¹ýÕâÑùµÄÇé¿ö£¬ÎÒµ±Ê±Í¨¹ýGCÈÕÖ¾·¢ÏÖ£¬ÄÚ´ ......