`
文章列表
erlang中的任何类型的数据都叫一个term。 1、number(byte/short/int/long/float/double) erlang中只有两种数值类型,integer和float,integer长度都不受限制,而float的精度最长是15位;python有四种数值类型,plain integers(也叫integers),long integers,floating point numbers,imaginary numbers    1.1、erlang:    1.1.1、integer,可以直接用数值表示,也可以用$char和base#value表示;$char表示字符ch ...
1、下载最新版Eclipse,Java IDE就行 2、安装开发python的eclipse插件pydev,更新地址为http://pydev.org/updates 3、下载Python,不过有点杯具的是,python的官网可以访问,下载页面很可能访问不了,被伟大的GFW屏蔽了,而通过在线代理软件下载下来的安装文件可能被损坏了(起码我的是)。可以来这里下载 4、下载并安装django,安装及测试方法可以参考这里和这里。不过运行python django-admin.py startproject myproject命令的时候,必须在scripts或者bin目录下,不知道能不能直接在任意目录,目 ...
>> $ 以$开始的为变量,如$name = "Han Meimei";变量可以出现在字符串中,如"name is $name"; >> =赋值、==比较两个变量是否相等、=~用来连接正则表达式和待搜索的语句; >> m/···/中m代表正则表达式匹配,如$reply =~ m/^[0-9]+$/,读作$reply所含的文本能够匹配正则表达式^[0-9]+$; >> <STDIN> 标准输入,参见 >> chomp 删除字符串最后一个【仅一个】换行符,返回0或者1 >> p ...
1、虚拟盘     如果做java开发的时候,开发环境、产品jar包、产品代码有好几个G,目录也比较多的时候,似乎把整个环境虚拟成一个虚拟盘是个不错的选择。如下,把我一个project虚拟成了X盘(setX.bat): @echo off rem 如果存在X盘,则先删除 if exist X: subst /d X: rem 把E:\workspaces\workspace-java\food虚拟成X盘 subst X: E:\workspaces\workspace-java\food 虚拟成X盘之后,可以像操纵普通的盘区一样操作X盘了。在此刻看来只是简化了访问的路径,不过如果 ...
在bj上班已经2个月了,感觉一直没有进入状态,只有强迫自己进入了。为了不荒废之前学过的东西,计划从数据库开始继续深入了解。于是从某处拷了个3.xG的数据库文件,回来恢复,然后搞搞性能优化。 导入步骤: 1、建立(临时)表空间 CREATE TABLESPACE TS_A DATAFILE 'D:\oracle\product\10.2.0\oradata\orcl\XXX.dbf' size 2048M size 2048m autoextend ON next 256m maxsize 20480m EXTENT MANAGEMENT local; ...
osgi原理与最佳实践dictionary的例子,按照书上的文字一步步的建立了四个project,但是报名是自己写的,没有注意太多,DictQuery、LocalDictQuery、RemoteDictQuery的Activator包名、Service接口和Local、Remote的实现的包名都相同,启动后发现LocalDictQuery和RemoteDictQuery都是RESOLVED状态,start了下,竟然抛出一堆堆栈 org.osgi.framework.BundleException: Exception in com.kingdee.eas.Activator.start( ...

jdk编译接口

    博客分类:
  • java
javac命令对应的代码是com.sun.tools.javac.Main类(jdk lib下的tools.jar) 可以调用Main.compile编译源文件,但是这个java文件名好像必须是绝对路径,例如: Main.compile(new String[]{"-d","E:\\", "E:\\java_exercise\\src\\compile\\com\\kingdee\\TestCompile.java"}); 编译后的文件就放到了指定目录
有些无聊,只是为了从侧面说明“XXX”字符串被intern后之后,所有具有相同值的“XXX”都指向堆中同一个对象。 public class CPByStringTest { public static class Consumer extends Thread { @Override public void run() { long start = System.currentTimeMillis(); synchronized("lock"){ System.out.println("consumer g ...
每个方法调用都会产生一个新的栈帧,每个java栈帧存储三部分内容: 1、局部变量区,主要是存储方法参数和方法内部声明局部变量。jvm编译成的class文件中,Code属性的max_locals指出一共有多少个局部变量。局部变量的详细信息都在code属性的local attribute table有列出。 2、操作数栈,压栈出栈就是操作的这个栈。一般情况下,这个栈的最大深度都不是很大,可以随便找个class文件看看code属性的max_stack的值。可能受到参数个数的影响,其它也不知道了。 3、帧数据区,主要是有到常量池的引用、帮助方法调用返回时恢复发起调用的栈帧、到异常表的引用。 局部变量区 ...
Inside The JVM(2nd edition)实在是有点老了,java5和java6对class file format已经有了不少改动。 java6的class file format资料ClassFile-Java6可以从这里下载,比起5主要是介绍了stack map table 和type checking的一些信息。目前java6对inside jvm相关内容的改动的资料,只知道这么多了。sun这个网页上的资料,好像没找到相关的,连ClassFile-Java6都没得下,我搜了好几把才搜到的。 java5的相关资料在sun的网站却是有一些的。class file新增和不少attr ...
自定义了个ClassLoader,用socket从一个server上获取class文件内容,然后创建一个类。tcp server是用erlang写的,只负责从硬盘读数据,然后传到自定义ClassLoader。特别注意的是,要想erlang socket跟java socket通信,gen_tcp:listen(Port,[binary,{packet,0}]),这里packet一定要为0,这个是erlang数据包的包头,通信的时候客户端跟服务端加的额外数据,跟java通信,是不能加的,否则会出现error msgsize这类的错误。 -module(class_file_server). ...
首先要了解,java里边,String是以char数组的形式存储的,而char字符是16 bits的Unicode字符。 1、当执行new String("i am a 字符ゅ").getBytes()的时候,是把内存中的char数组,转化成Charset.defaultCharset()这种字符集的字符数组,而这种字符集是提取的系统属性里边"file.encoding"属性的值,参见Charset的源代码: public static Charset defaultCharset() { if (defaultCharset == ...
Global site tag (gtag.js) - Google Analytics