JNI_Z_03_类中的字段和方法的签名

1、

Java类型  相应的签名                                       例子
boolean     Z
byte        B
char        C
short       S
int         I
long        L
float       F
double      D
void        V
Object      L用"/"分割的完整类名;                          Ljava/lang/String;
Array       [签名                                        [I   [Ljava/lang/String;
Method      (参数1类型签名参数2类型签名...)返回值类型签名

ZC: 我的分类:
ZC: (A)、类型签名
ZC: (A.1)、单个 类型签名
ZC:   (1)、boolean ~ void 类型的签名 一目了然
ZC:   (2)、Object的签名,分三个部分:用"/"分割的完整类名,前面加上字母"L",后面加上分号";"
ZC: (A.2)、数组 类型签名
ZC:   (3)、Array的签名,分两个部分: "[" 加上 单个类型签名
ZC: (B)、Method签名:
ZC:  (1)、"(" 和 ")" 和 类型签名 的组合
ZC:  (2)、各个 参数的类型签名 的 字符串之间是连接在一起的,中间没有任何字符
ZC: 例子:
ZC:  ①、函数声明:   void Func01(int i, double d);
ZC:    Method签名: (ID)V
ZC:  ②、函数声明:   short Func02(Object o, String str, int[] arr);
ZC:    Method签名: (Ljava/lang/Object;Ljava/lang/String;[I)S

2、

多维数组 怎么弄?

我记得 在哪里 貌似见过 [[ 的写法

3、

不知道怎么翻译的话,可以用命令来查看:

3.1、java的代码是这样的:

package jniZ;

import java.util.Date;

public class JNIjw02
{
    public int propertyZ;

    public int FunctionZ(int _foo, Date _date, int[] _arr)
    {}

    public native void TestZ();

    public static void main(String[] args)
    {}
}

3.2、来到 JNIjw01.java 对应的class文件的目录,执行命令:

ZC: 上面的签名依次为 :
ZC:  (1)、属性propertyZ 的签名
ZC:  (2)、默认/无参构造函数JNIjw02() 的签名
ZC:  (3)、函数FunctionZ(...) 的签名
ZC:  (4)、函数TestZ() 的签名
ZC:  (5)、函数main(...) 的签名

4、

5、

时间: 2024-10-10 16:59:42

JNI_Z_03_类中的字段和方法的签名的相关文章

增加、删除类文件或者在一个类中增加、删除方法时,是不能够热部署到服务上的。这时候需要停止服务器重新部署后再启动,就不会出现上面的提示了。

Hot Code Replace Failed 2010-11-05 10:11listquiry | 浏览 14226 次 Some code changes cannot be hot swapped into a running virtual machine, such as changing method names or introducing errors into running code.The current target virtual machine {jboss4Ser

php面向对象类中常用的魔术方法

php面向对象类中常用的魔术方法 1.__construct():构造方法,当类被实例化new $class时被自动调用的方法,在类的继承中可以继承与覆盖该方法,例: //__construct() class construct{ public function __construct(){ $this->var = "this is var"; } } class con2 extends construct{ public function __construct(){ $

【Android进阶】为什么要创建Activity基类以及Activity基类中一般有哪些方法

现在也算是刚刚基本完成了自己的第一个商业项目,在开发的过程中,参考了不少人的代码风格,然而随着工作经验的积累,终于开始慢慢的了解到抽象思想在面向对象编程中的重要性,这一篇简单的介绍一下我的一点收获. 首先,在现在的项目中使用的主要是afinal框架,而且这个框架确实比较不错,省去了不少工作量,在编写Activity的过程中,基本都是直接继承自FinalActivity类,这样可以使用这个类给我们封装好的不少的方法,但是随着项目慢慢推进,这种直接继承框架类的一些缺点也开始慢慢的显现出来.最主要的就

org.apache.commons.lang3.StringUtils类中isBlank和isEmpty方法的区别

相信很多java程序员在写代码的时候遇到判断某字符串是否为空的时候会用到StringUtils类中isBlank和isEmpty方法,这两个方法到底有什么区别呢?我们用一段代码来阐述这个区别吧: 1 @Test 2 public void blankEmpty() { 3 String str = " "; 4 System.out.println("Is empty ? " + StringUtils.isEmpty(str)); 5 System.out.pri

在类中使用Response.Redirect()方法

Insus.NET稍作演示,能正常运作.可以往下慢慢看来.首先是user类: 然后,我们在一个网页,如Default.aspx.cs实例化上面的User类. 可以看看实时操作演示: 在类中使用Response.Redirect()方法

UnSafe类中的一些重要方法

UnSafe类中的一些重要方法 JDK中的rt.jar保重Unsafe类中提供了硬件级别的原子性操作,Unsafe类中的方法都是navtice方法,他们使用JNI的方式访问C++实现库,下面我们来了解一下Unsafe提供的几个主要方法以及编程时如何使用Unsafe类做一些事情. long objectFieldOffset(Field field)方法:返回指定变量所属类中的内存偏移量,该偏移量仅在使用该Unsafe函数中访问指定字节时使用.如下代码使用Unsafe获取变量value在Atomi

Python 之面向对象:类和对象调用类中的变量和方法

面向对象的核心是对象,用对象来操控类里面的方法和变量,加上类还具有继承.封装.多态三大特性,提高了代码的复用性和规范性. 一.对象 调用类中的变量和方法 二 .类  调用类中的变量和方法 原文地址:https://www.cnblogs.com/tianpin/p/11283032.html

C#反射类中所有字段,属性,方法(转)

可能大家都知道在C#中如何创建一个类,但对于类的结构可能大家不一定了解的很清楚,对于我来说,我之前也搞的不是很明白,今天,当我没事研究反射的时候突然发现了着一点. 我们来看类的结构到底是什么 public class People //类名 { private static string name; //字段 private string sex;//字段 public string Sex //属性 { get { return sex; } set { sex = value; } } pu

java类中获取ServletContext的方法

起因是我想要获取一个相对路径,需要用到servletContext的getRealPath()方法,于是上网搜索,找到两种方法来获取ServletContext. 第一种方法是这样的: ServletActionContext.getServletContext(): 后来发现这种方法只有在从浏览器打开的时候才能获取到ServletContext,否则在普通的java类中会报空指针错误(找不到ServletContext),猜测可能是因为ServletActionContext是struts2封