jsp数组入门教程

1、针对对象的操作码

实例化一个新对象需要通过new操作码来实现。

对象的创建

操作码
 操作数
 说明
 
new
 index
 在堆中创建一个新的对象,将其引用压入栈
 

new操作码后面紧跟一个无符号16位数,表示常量池中的一个索引。在特定偏移量位置处的常量池入口给出了新对象所属类的信息。如果还没有这些信息,那么虚拟机会解析这个常量池入口。它会为这个堆中的对象建立一个新的实例,用默认初始化对象实例变量,然后把新对象的引用压入栈。

存取实例变量

操作码
 操作数
 说明
 
putfield
 index
 设置对象字段(由index指定)的值,值value和对象引用objectref均从栈中获得
 
getfield
 index
 将对象字段(由index指定)压入栈,对象引用objectref栈中取得
 

存取类变量

操作码
 操作数
 说明
 
putstatic
 index
 设置静态字段(由index指定)的值,值value从栈中获得
 
getstatic
 index
 将静态字段(由index指定)压入栈
 

putfield和getfield这两个操作码只在字段是实例变量的情况下才执行,putstatic和getstatic对静态变量进行存取操作。操作数表示常量池的索引。这个索引所指向的常量池入口包含了该字段的所属类、名字和类型等信息。如果还没有这些信息,虚拟机会解析这个常量池入口。

例如下面代码:

public class testa {

int x;

int y;

}

public class testmain {

 

/**

* @param args

*/

public static void main(string[] args) {

// todo auto-generated method stub

testa testa = new testa();

testa.x = 3;

testa.y = 4;

}

 

}

用javap工具查看其字节码指令为:

compiled from "testmain.java"

public class testmain extends java.lang.object{

public testmain();

code:

0: aload_0

1: invokespecial #8; //method java/lang/object."<init>":()v

4: return

public static void main(java.lang.string[]);

code:

0: new #16; //class testa 新建 testa对象

3: dup //

4: invokespecial #18; //method testa."<init>":()v 调用构造方法

7: astore_1 //存入位置为1的局部变量

8: aload_1 //取出位置为1的局部变量压入栈

9: iconst_3 //常量3入栈

10: putfield #19; //field testa.x:i 赋值

13: aload_1

14: iconst_4

15: putfield #23; //field testa.y:i

18: return

}

 

时间: 2024-10-24 19:12:06

jsp数组入门教程的相关文章

JSP初级入门教程--JSP概述

js|教程|入门教程 JSP(IAVA SERVER PAGES)是由Sun 公司在java语言上开发出来的一种动态网页制作技术,其可使您可以将网页中的动态部分和静态的HTML相分离.您可以使用平常得心应手的工具并按照平常的方式来书写HTML语句.然后,将动态部分用特殊的标记嵌入即可,这些标记常常以"<%"开始并以"%>"结束.例如,这儿有一个JSP页面: <html> <head><title>jsp教程</t

C语言一维数组入门教程

一.一维数组 1.定义一个一维数组: (1)格式:存储类别   类型标识符  数组名标识符[常量表达式] (2)例子:static int a[10] (3)注意:定义数组时数组的元素必须是常量,不能是变量,例如int n=3;int a[n] 这是不对的. 2.对数组的引用: (1)引用形式:数组名[下标] 例如 a[2]  ( 2) 注意数组的下标是由0开始,如a[3] 表示有三个元素 分别是a[0],a[1] ,a[2] .如果你用a[3]访问第三个元素是错误的. (3)对数组的遍历:如果

js数组入门教程-js 定义数组

文章主要讲的是关于如何定义数组,以及对数据长度进行动态修改. js数组赋值 var myarray = []; myarray[myarray.length] = 'new element'; 修改js数组长度   var myarray = [1,2,3]; myarray.length // 3 myarray.length = 2; //delete the last element myarray.length = 20 // add 18 elements to the array;

PHP 数组入门教程小结_php基础

这么多的数组函数我们该怎么学习?其实我们只需要清楚,我们需要对数组做哪些操作,然后把这些操作归类,心中就有了大概的印象,然后随着你的实践,这些函数你就很清楚了,在这里提醒大家的是手册要常备!废话不多说,数组函数一般归为以下几类(看到英文别怕哦):Outputting arraysCreating arraysTesting for an arrayLocating array elementsTraversing arraysDetermining array size and element

php数组入门教程与数据相关操作函数

array()可以声明一个空数组: array[] = $value 在数组存在时,追加一个数据:在数组不存时,生成一个数组,并追加数据. array[$index] = $value 在数组存在时,追加或修改一个数据:在数组不存时,生成一个数组,并追加数据 range($n, $m); 指定值的范围.如range(2,4)生成数组 array(2,3,4). count($array); 取得数组的大小. array_pad($array, $length, $value); 返回一个长度$l

jsp session 入门教程

session 会话建立为每个用户的网络应用.当用户第一次访问什么网页内的应用,树脂认识到这一点未知用户,并创建一个新的session来代表他们.这Session对象将保持不变,该用户的时间使用它们的网络应用. 阿session代表的一类javax.servlet.http.HttpSession对象. 范围session session成立了第一次用户访问的一个组成部分的Web应用程序,它请求了session.树脂认为传入的请求从用户和检查,看它是否有一个session,该用户.如果没有,它创

jsp Hibernate入门教程第1/3页_JSP编程

例如: 复制代码 代码如下: HibernateTest.java import onlyfun.caterpillar.*; import net.sf.hibernate.*; import net.sf.hibernate.cfg.*; import java.util.*; public class HibernateTest { public static void main(String[] args) throws HibernateException { SessionFacto

从入门到精通 JSP全系列教程

js|教程 JSP的英文全称是Java Server Page,中文全称是Java服务器端语言.自JSP推出后,众多大公司都支持 JSP技术的服务器,如IBM.Oracle.Bea公司等,所以JSP迅速成为商业应用的服务器端语言.它有5大优势:(1)JSP方便与HTML混合:(2)JSP运行速度更快:(3)JSP技术有众多大软件公司支持:(4)JSP技术有众多开放性代码组织支持:(5)可以跨平台运行. 本站在以前已经给大家整理了一些基础教程: jsp Servlet基础入门学习教程 动态网页学习

入门教程:JSP标准模板库(上)

js|标准|教程|模板|入门教程 简介JSP标准模板库(JSTL)是SUN公司发布的一个针对JSP开发的新组件.JSTL允许你使用标签(tags)来进行JSP页面开发,而不是使用多数JSP程序员已经习惯了的scriptlet代码方式开发.JSTL几乎能够做到传统JSP scriptlet代码能做的任何事情.你可能会疑惑,为什么我们需要另一种这样的HTML生成语言呢? STL允许JSP程序员使用tags而不是JAVA代码来编程.为了展示为什么这个是更优越的,下面将给出示例.我们会检查一个非常简单的