- 浏览: 67925 次
- 性别:
- 来自: 上海
最新评论
-
kabike:
感觉需要dup是因为构造方法没有返回值
java字节码构造对象为什么需要dup命令 -
wensiqun:
snowing0427 写道博主 能告知 这篇文章来自哪本书 ...
深入JVM---JVM命令---invokespecial -
snowing0427:
博主 能告知 这篇文章来自哪本书吗?
深入JVM---JVM命令---invokespecial -
jiabo121:
对于:http://www.webxml.com.cn/zh_ ...
关于cxf 连.net 的webservice生成客户端异常( undefined element declaration 's:schema') -
floydd:
哦,可以了。。只要用soap对应的getxxxxString的 ...
关于cxf 连.net 的webservice生成客户端异常( undefined element declaration 's:schema')
文章列表
1.简介
ClassGrep是一个java运行时查找工具。使用这个工具,可以查找出如下一些内容:
给定一个注解,查找使用了该注解的类,字段,方法
给定一个方法,查找哪些方法调用了给定的方法
给定一个类,查找出该类的所有子类
2.原理
当使用classgrep的时候,它会搜索当前classpath下面的所有的class,如果是jar或者war包也会提取class,然后使用asm获取class的信息。
3.资源
trunk
实例
源码jar
Maven坐标:
<dependency>
<groupId>com.googlec ...
在上一篇文章中我们介绍了如何生成接口,这次我们将编写如何生成一个Class,首先我们先看下面的代码:
public class CreateClassExample {
private static String staticGlobalVariable = "I'm a static global variable at class";
public int globalVariable;
public CreateClassExample(int intVal) {
this.globalVariable = ...
ASMSupport系列教程实例下载
- 博客分类:
- ASMSupport
ASMSupport系列教程实例下载地址 http://www.wensiqun.com/download/118/
KindEditor默认是没有setHeight()方法的。通过一下方式添加setHeight方法
KindEditor.EditorClass.prototype.setHeight = function(height){
var self = this;
var tbar = $(self.container.children()[0]);
var statusbar = $(self.container.children()[2]);
var editHei = height - tbar.height() - st ...
ASMSupport是基于ASM实现的一套框架。 ASMSupport通过将ASM字节码操作抽象成对象记作Operator,然后将字节码操作所需要的信息封装到Operator中,并将Operator添加到执行队列Queue中,当方法所需要的所有操作都创建完毕则使用ASM框架将队列中的所有Operator执行。下面列举一个HelloWorld?例子:
public static void main(String[] args){
System.out.println("Hello World!");
}
ASMSupport代码:
public ...
基于ASM的封装的框架
当使用ASM编写的时候 很多情况下需要了解JVM底层的指令的, 并且需要对栈和本地变量显式的进行操作, 如果直接用ASM进行开发势必会付出更多的学习成本和时间成本,并且不易后期的维护。
此框架正好缓解了上述问题。是程序员编写字节码的时候更易于理解和开发,屏蔽了JVM指令以及栈和本地变量的操作,开发的时候更趋近与直接编写java程序
当前版本不支持注解,泛型,内部类
框架使用说明正在完善 现在只有一些例子
框架有不完善的地方 或者存在bug欢迎在http://code.google.com/p/amssupport/issues/list上提出
现在代码托管在goog ...
Maven打包到指定目录
- 博客分类:
- Maven
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<outputDirectory>D:/appserver/deploy</outputDirec ...
java.lang.VerifyError:...Call to wrong initialization method:可能是在调用构造函数即"<init>"的时候传入了错误的owner
java.lang.VerifyError:...Incompatible object argument for function call同样是方法调用的时候出现的错误。看时候有参数设置错误了
java.lang.VerifyError:... Stack size too large:设置的最大栈空间大小不够
java.lang.VerifyError:... Ill ...
java字节码构造对象为什么需要dup命令
- 博客分类:
- JVM
package jvm.study;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
Test t = new Test();
}
}
这段代码所产生的字节码如下
// Compiled from Test.java (version 1.6 : 50.0, super bit)
public class jvm.study.Test {
// Method descriptor #6 ()V
...
tomcat下部署activemq
- 博客分类:
- activemq
tomcat下部署activemq
activemq可以单独部署和执行,比如类似ActiveMQ的最简单应用中提到的安装和执行方式。但是有时候需要作为一个web应用部署在servlet容器中,这样利于和其他web应用的配合。
官方文档上有一个针对这种需求的文档:
http://activemq.apache.org/web-console.html
根据文档,使用tomcat 6.0.20,activemq 5.2.0。实现了上述需求。首先需要下载:
activemq-web-console
activemq-all
前者直接复制到tomcat的webapps ...
19.3 指令invokespecial
Invokespecial和invokeirtual的主要区别在于: invokespcial通常(只有一个例子) 根据引用的类型选择方法,而不是根据对象的类来选择,换句话说。它使用静态绑定而不是动态绑定。在下列使用invokespecial的三种情况中,动态绑定并不会产生所预期的效果。
19.3.1 指令invokespecial和<init>()方法
<init>() 方法(或者实例初始化方法)是编译器为构造方法和实例变量初始化方法放置代码的地方,类不会为源文件中的每个构造方法提供一个<init>()方法。如果没有 ...
今天在使用CXF的wsdl2java.bat 根据wsdl文件生成客户端调用时出现以下错误:
WSDLToJava Error: Thrown by JAXB: undefined element declaration 's:schema' at line 49 column 19 of schema file:/D:/workspace/webservice/weather/wsdl/weather.wsdl
因为也是临时接触CXF,所以一时不知是什么问题,在网上搜了半天,都是说要替换什么内容之类的,但也没说为什么,而且基本都是转载国外某人的一个文章,只知其然不知其所以然就失去了做技术工 ...
IOC初始化
最近再看Spring技术内幕。发现里面写的挺不错,就是个人觉得有点乱。这里按照程序执行顺序重新整理一遍,方便理解。
再次声明:仅是个人意见!!!
Figure1
Figure2
Figure3
Figure4
Figure5
以FileSystemXmlApplicationContext为例,初始化的三个部分:
1. 配置文件资源(Resource interface)的定位
2. 配置文件资源的载入(载入Document对象并且解析成BeanDefinition的格式)
3. BeanDefinition在IOC容器中的注册(这一部分包括将BeanDef ...