实例变量

【转】GDB调试精粹及使用实例

▼魔方 西西 提交于 2019-11-27 11:21:06
一:列文件清单 1. List (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符(<和>)和外壳通配符(*、?、[、])在内。 如果你使用不带参数的run命令,gdb就再次使用你给予前一条run命令的参数,这是很有用的。 利用set args 命令就可以修改发送给程序的参数,而使用show args 命令就可以查看其缺省参数的列表。 (gdb)set args –b –x (gdb) show args backtrace命令为堆栈提供向后跟踪功能。 Backtrace 命令产生一张列表,包含着从最近的过程开始的所以有效过程和调用这些过程的参数。 三:显示数据 利用print 命令可以检查各个变量的值。 (gdb) print p (p为变量名) whatis 命令可以显示某个变量的类型 (gdb) whatis p type = int * print 是gdb的一个功能很强的命令,利用它可以显示被调试的语言中任何有效的表达式。表达式除了包含你程序中的变量外,还可以包含以下内容: l 对程序中函数的调用 (gdb) print find_entry(1,0) l 数据结构和其他复杂对象 (gdb) print *table_start $8={e

JavaScript

时光总嘲笑我的痴心妄想 提交于 2019-11-27 10:56:02
1.JavaScript:对事件作出反应 --- onclick 事件 <button type="button" onclick="alert('Welcome!')">点击这里</button> alert() 函数在 JavaScript 中并不常用,但它对于代码测试非常方便。 onclick 事件是众多事件之一。 2.JavaScript:改变 HTML 内容 使用 JavaScript 来处理 HTML 内容是非常强大的功能。 x=document.getElementById("demo") //查找元素 x.innerHTML="Hello JavaScript"; //改变内容 您会经常看到 document.getElementByID(" some id ")。这个方法是 HTML DOM 中定义的。 DOM(文档对象模型)是用以访问 HTML 元素的正式 W3C 标准。 示例代码:(改变图片 改变样式用法类似) <!DOCTYPE html> <html> <body> <h1>我的第一段 JavaScript</h1> <p id="demo"> JavaScript 能改变 HTML 元素的内容。 </p> <script> function myFunction() { x=document.getElementById("demo"); // 找到元素

JVM类生命周期概述:加载时机与加载过程

自作多情 提交于 2019-11-27 10:31:19
  一个.java文件在编译后会形成相应的一个或多个Class文件,这些Class文件中描述了类的各种信息,并且它们最终都需要被加载到虚拟机中才能被运行和使用。事实上,虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型的过程就是虚拟机的类加载机制。本文概述了JVM加载类的时机和生命周期,并结合典型案例重点介绍了类的初始化过程,进而了解JVM类加载机制。 一、类加载机制概述   我们知道,一个.java文件在编译后会形成相应的一个或多个Class文件(若一个类中含有内部类,则编译后会产生多个Class文件),但这些Class文件中描述的各种信息,最终都需要加载到虚拟机中之后才能被运行和使用。事实上,虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型的过程就是虚拟机的 类加载机制。     与那些在编译时需要进行连接工作的语言不同,在Java语言里面,类型的加载和连接都是在程序运行期间完成,这样会在类加载时稍微增加一些性能开销,但是却能为Java应用程序提供高度的灵活性,Java中天生可以动态扩展的语言特性多态就是依赖运行期动态加载和动态链接这个特点实现的。例如,如果编写一个使用接口的应用程序,可以等到运行时再指定其实际的实现

java学习(第二篇)语法学习

你说的曾经没有我的故事 提交于 2019-11-27 10:18:50
1.java标识符 类名、变量名以及方法名都被称为标识符。 关于 Java 标识符,有以下几点需要注意: 所有的标识符都应该 以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始 首字符之后 可以是 字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字 的任何字符组合 关键字不能用作标识符 标识符是大小写敏感的 2.java修饰符 访问控制修饰符 : default(默认), public(公共) , protected(受保护), private(私有) 非访问控制修饰符 : final(最终), abstract(抽象), static(静态), 访问控制修饰符 default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。 private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类) public : 对所有类可见。使用对象:类、接口、变量、方法 protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类) 。 (1)default使用 默认访问修饰符 声明的变量和方法,对 同一个包内的类 是可见的。 (2)private私有访问修饰符是 最严格的访问级别 ,所以被声明为 private 的 方法、变量和构造方法 只能被所属类访问,并且

Java 运算符

♀尐吖头ヾ 提交于 2019-11-27 09:44:53
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组: 算术运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 其他运算符 算术运算符 算术运算符用在数学表达式中,它们的作用和在数学中的作用一样。下表列出了所有的算术运算符。 表格中的实例假设整数变量A的值为10,变量B的值为20: 操作符 描述 例子 + 加法 - 相加运算符两侧的值 A + B 等于 30 - 减法 - 左操作数减去右操作数 A – B 等于 -10 * 乘法 - 相乘操作符两侧的值 A * B等于200 / 除法 - 左操作数除以右操作数 B / A等于2 % 取余 - 左操作数除以右操作数的余数 B%A等于0 ++ 自增: 操作数的值增加1 B++ 或 ++B 等于 21(区别详见下文) -- 自减: 操作数的值减少1 B-- 或 --B 等于 19(区别详见下文) 实例 public class Test { public static void main(String[] args) { int a = 10; int b = 20; int c = 25; int d = 25; System.out.println("a + b = " + (a + b) ); System.out.println("a - b = "

Java 变量类型

主宰稳场 提交于 2019-11-27 09:39:14
在Java语言中,所有的变量在使用前必须声明。声明变量的基本格式如下: type identifier [ = value ] [ , identifier [ = value ] ... ] ; 格式说明:type为Java数据类型。identifier是变量名。可以使用逗号隔开来声明多个同类型变量。 以下列出了一些变量的声明实例。注意有些包含了初始化过程。 int a, b, c; // 声明三个int型整数:a、 b、c int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值 byte z = 22; // 声明并初始化 z String s = "runoob"; // 声明并初始化字符串 s double pi = 3.14159; // 声明了双精度浮点型变量 pi char x = 'x'; // 声明变量 x 的值是字符 'x'。 Java语言支持的变量类型有: 类变量:独立于方法之外的变量,用 static 修饰。 实例变量:独立于方法之外的变量,不过没有 static 修饰。 局部变量:类的方法中的变量。 实例 public class Variable{ static int allClicks=0; // 类变量 String str="hello world"; // 实例变量 public void method(){ int i

Java 基础语法

[亡魂溺海] 提交于 2019-11-27 09:28:16
Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。 对象 :对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。 类 :类是一个模板,它描述一类对象的行为和状态。 方法 :方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。 实例变量 :每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。 第一个Java程序 下面看一个简单的 Java 程序,它将打印字符串 Hello World 实例 public class HelloWorld { /* 第一个Java程序 * 它将打印字符串 Hello World */ public static void main ( String [ ] args ) { System . out . println ( " Hello World " ) ; // 打印 Hello World } } 下面将逐步介绍如何保存、编译以及运行这个程序: 打开代码编辑器,把上面的代码添加进去; 把文件名保存为:HelloWorld.java; 打开 cmd 命令窗口,进入目标文件所在的位置,假设是 C:\ 在命令行窗口输入 javac

Python中下划线

旧时模样 提交于 2019-11-27 09:27:46
Python中下划线---完全解读 Python 用下划线作为变量前缀和后缀指定特殊变量 _xxx 不能用’from module import *’导入 __xxx__ 系统定义名字 __xxx 类中的私有变量名 核心风格:避免用下划线作为变量名的开始。 因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始。一般来讲,变量名_xxx被看作是“私有 的”,在模块或类外不可以使用。当变量是私有的时候,用_xxx 来表示变量是很好的习惯。因为变量名__xxx__对Python 来说有特殊含义,对于普通的变量应当避免这种命名风格。 “单下划线” 开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量; “双下划线” 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。 以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如 __init__()代表类的构造函数。 现在我们来总结下所有的系统定义属性和方法, 先来看下保留属性: >>> Class1.__doc__ # 类型帮助信息

Java学习资料-Servlet单例多线程

与世无争的帅哥 提交于 2019-11-27 06:35:33
Servlet 单例多线程 Servlet如何处理多个请求访问? Servlet容器默认是采用单实例多线程的方式处理多个请求的: 1.当web服务器启动的时候(或客户端发送请求到服务器时),Servlet就被加载并实例化(只存在一个Servlet实例); 2.容器初始化化Servlet主要就是读取配置文件(例如tomcat,可以通过servlet.xml的<Connector>设置线程池中线程数目,初始化线程池通过web.xml,初始化每个参数值等等。 3.当请求到达时,Servlet容器通过调度线程(Dispatchaer Thread) 调度它管理下线程池中等待执行的线程(Worker Thread)给请求者; 4.线程执行Servlet的service方法; 5.请求结束,放回线程池,等待被调用; (注意:避免使用实例变量(成员变量),因为如果存在成员变量,可能发生多线程同时访问该资源时,都来操作它,照成数据的不一致,因此产生线程安全问题) 从上面可以看出: 第一:Servlet单实例,减少了产生servlet的开销; 第二:通过线程池来响应多个请求,提高了请求的响应时间; 第三:Servlet容器并不关心到达的Servlet请求访问的是否是同一个Servlet还是另一个Servlet,直接分配给它一个新的线程;如果是同一个Servlet的多个请求

activiti05

拥有回忆 提交于 2019-11-27 05:08:56
什么是流程实例 参与者 (可以是用户也可以是程序)按照流程定义内容发起一个流程,这就是一个流程实例。是 动 态 的。 流程定义部署在 activiti 后,就可以在系统中通过 activiti 去管理该流程的执行,执行流程表示流 程的一次执行。 多个用户可同时执行该流程,每个执行互不影响,每个执行是单独的流程实例 流程实例的部署与启动 1 /** 2 * 流程变量的测试---新的请假流程定义的部署 3 * 1.得到ProcessEngine 4 * 2.得到ReposuitoryService对象 5 * 3.实现部署 6 * 7 */ 8 9 public static void main(String[] args) { 10 /* ProcessEngine ProcessEngine = ProcessEngines.getDefaultProcessEngine(); 11 RepositoryService repositoryService = ProcessEngine.getRepositoryService(); 12 Deployment deployment = repositoryService.createDeployment() 13 .addClasspathResource("diagram/holiday4.bpmn") 14