变量

JS垃圾回收机制

主宰稳场 提交于 2020-02-18 03:08:28
原理:找出不再继续使用的变量,然后释放掉其占用的内存。 策略1:标记清除 当变量进入环境(可以理解为一个函数开始执行了)时,就将这个变量标记为“进入环境”,从逻辑上讲,不能释放掉进入环境的变量,而当变量离开环境的的时候,则将其标记为离开环境。 垃圾收集器在运行的时候会给存储在内存中的 所有变量都加上标记 。 去掉 环境中的变量以及被环境中的变量引用的变量 的标记。 此后 再被加上标记的变量 将被视为准备删除的变量,因为环境中的变量已经无法访问到这些变量了。 策略2:引用计数 跟踪记录每一个值的引用次数,当声明了一个变量并将一个引用类型值赋给该变量的时候,这个引用类型的引用次数就是1,如果同一个值又被赋值给另一个变量,这个值的引用次数加1.如果包含对这个值引用的变量又取得了另一个值,则这个值的引用次数减1,当这个值引用次数为0的时候,就可以将这个引用值所占的内存空间回收回来。 缺点: 如果存在循环引用的情况,那么这个引用值占的空间就永远不会被回收。 来源: https://www.cnblogs.com/GouKu/p/10544532.html

Java学习—Day03

我们两清 提交于 2020-02-18 02:12:45
自学Java-Day03 自学java第三天,今天学习static关键字和成员内部类 static关键字用于修饰类的成员,如成员变量、成员方法以及代码块。 注:static 不能 修饰局部变量 一、静态变量 定义:被static关键字修饰的成员变量。 静态变量能够被所有实例共享。 class Student { static String schoolName ; } public class Demo01 { public static void main ( String [ ] args ) { Student stu1 = new Student ( ) ; Student stu2 = new Student ( ) ; Student . schoolName = "XX中学" ; System . out . println ( "我的学校是" + stu1 . schoolName ) ; System . out . println ( "我的学校是" + stu2 . schoolName ) ; } } 说明:schoolName是静态变量,可直接使用Student.schoolName调用,也可以通过Student的实例对象调用也就是Student stu1=new Student(); 二、静态方法 使用静态方法可以实现在不创建对象的情况下调用某个方法。

01Java初识

风流意气都作罢 提交于 2020-02-17 23:55:46
Java第一天 1. 计算机基础 电脑的组成: CPU 内存 主板 显卡 硬盘 电源等 对于程序员: CPU 内存 计算机最小单元 作为开发者需要考虑的是: CPU使用率 内存的占有率 提升电脑速度: 换ssd 加内存 使用电脑建议: 安装软件不要安装到C盘 软件安装到自己可以找到的位置 软件安装路径不要出现中文 2. 计算机操作 2.1 操作方式 a)图形化界面 对于普通用户是用方便便捷,但是对于电脑来说浪费了其他资源,不能让电脑处理程序效率变高 b)命令行 对于普通用户,是非常不友好的!操作不方便,命令很麻烦 但是对于电脑资源使用时极高的,对于开发者操作效率也是非常高!!! DOS命令 了解,做一些基本操作 Linux命令【重点】 ls cd md rd rm cp chmod kill 2.2 DOS命令 首先打开命令提示符 windows + R 弹出运行 输入 cmd 命令学习: 1. dir 查看当前【工作目录】中的所有子文件和子文件夹 【工作目录】 当前cmd命令提示符,操作命令之前的路径 如果文件之前带有<DIR>标记代表这是一个文件夹 文件名称前的数字代表该文件所占的字节数 2. cd 【重点】 切换当前工作路径 路径问题: 相对路径 例子:我在1204A办公室,参照物是当前教师 绝对路径 例子:我在山东省济南市长清区大学科技园1204A办公室 展示目录中.和.

02运算符常量和变量

五迷三道 提交于 2020-02-17 23:52:51
运算符、常量和变量 </ hr> 1.数据存储【了解】 1.1数据存储单位 计算机中最小的存储单位是byte 字节。 100m 比特率 bit/s 8bit位 == 1字节 相当于12.5m/s 生活中常用的数据单位: 1024Byte = 1 KB 1024KB = 1 MB 1024MB = 1GB 1024GB = 1TB 1024TB = 1PB 1024PB = 1EB 红楼梦 10w字占用1.44MB 1PB = 745,654,044,44444 本红楼梦 1.1常见进制【了解】 进制单位 基数范围 规则 十进制 0~9 逢十进一 二进制 0,1 逢二进一 八进制 0~7 逢八进一 十六进制 0~9 A~F 逢G进一 十进制和二进制之间的关系 115(10) = 111 0011 【辗转相除法】 115%2 = 1 【余数倒叙】 57%2 = 1 28%2 = 0 14%2 = 0 7%2 = 1 3%2 = 1 1%2 = 1 1 1011 1101(2) = 2^0 + 2^2 + 2^3 + 2^4 + 2^5 + 2^7 = 189 涉及到进制转换,使用计算器完成。 八进制数展示方式 要求0开头,有一些特殊情况下可以不使用0开头 例如: 0123 0777 十六进制数展示方式 要求0x或者0X开头。而且在十六进制展示中,不区分大小写 例如:0x1234

前端模块化

女生的网名这么多〃 提交于 2020-02-17 19:48:10
前端模块化 为什么要用模块化,因为可以解决两个问题 变量命名冲突 代码复用 ES6中的导出export和导入import export导出的三种用法 直接定义变量/函数/类的时候前面就加exprot 使用对象类型导出export export {变量名1,变量名2} 如果导入的时候我想自己命名,就可以用default方法导入。 导入时自定义命名时不用加大括号 同一模块中default只能存在1个 //导出default export default function(){} //export default {} 导出对象 //导入 import myFun from './xxx.js' import导入 默认导入方法 import{变量名1,变量名2} from './xxx.js' 全部以对象的方式导入 import * as 自定义对象名 from './xxx.js' 使用的时候以对象的方式使用 如 obj.name commonJS中的导入和导出 导出 module.exports = {变量名1,变量名2} 导入 const {变量名1,变量名2} = require('./xxx.js') const obj = require('./xxx.js') el和template区别 真实开发中,不会频繁更改index.html中的代码,而是通过template的方式。

activiti 源码笔记之startProcess

强颜欢笑 提交于 2020-02-17 19:12:40
rumtimeService.startProcessInstanceByXX方法将启动流程的任务委派给StartProcessInstanceCmd,此时会根据rumtimeService.startProcessInstanceByXX的XX来用不同的变量构造StartProcessInstanceCmd实例然后执行execute方法,StartProcessInstanceCmd的构造器如下. (1) processDefinitionKey 在bpmn20.xml中定义流程元素的id < process id = "loanReuqest" name = "Process to handle a loan request" > (2)processDefinitionId 对应流程数据库中act_re_procdef中的主键 (3)businessKey 关联的业务主键,用于自定义扩展,引擎本身没有用到. (4)variables 流程变量 execute的执行逻辑如下 (1) 根据processDefinitionKey或proceeDefinitionId在已发布的流程定义中查找,它是先查找缓冲中的流程定义然后再去数据库中查找以便提高效率,如果找不到或找到的流程定义被挂起将抛出运行时异常ActivitiException. deploymentCache

shell中环境变量的用法总结

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-17 17:25:27
shell中环境变量的用法总结 1. 环境变量的概念 2. 创建环境变量 3. 查看环境变量 4. 取消环境变量 5. 定义全局变量 6. 环境变量知识小结 1. 环境变量的概念 环境变量也称为全局变量,可以在创建他们的shell及其派生出来的任意子进程shell中使用 环境变量可以分为自定义环境变量和bash内置的环境变量 环境变量可以在命令行中设置和创建,用户退出命令行时这些变量值就会丢失, 想要永久保存环境变量,可以写在文件中 2. 创建环境变量 1)export 变量名=value export NAME = hello echo $NAME 2)declare -x 变量名=value declare -x HH = haha echo $HH 3)变量名=value;export 变量名 XX = xixi ; export XX echo $XX 3. 查看环境变量 我们通常在工作中要查看一下环境变量中都配置了什么,需要做什么更改,所以我们就有了ehco或printf命令来打印查看环境变量。 echo $HOME #用户登录时进入的目录 echo $UID #当前用户的uid (也就是用户的标识,相当于人的身份证)相当于id -u echo $PWD #当前工作目录的绝对路径 echo $SHELL #当前使用的是哪个shell echo $USER #当前用户是哪个

ThinkPHP中foreach和volist的区别

馋奶兔 提交于 2020-02-17 17:10:46
1.foreach标签 foreach标签用于循环输出: foreach(name,item,key) name(必须):要输出的数据模板变量 item(必须):循环单原变量 key(可选):循环的key变量,默认值为key 示例: <foreach name='list' item='vo'> {$vo.id} {$vo.name} </foreach> foreach标签相对于volist标签简洁,没有volist标签那么多功能。优势是可以对对象进行遍历输出,而volist标签通常是用于输出数组。 2.volist标签 volist标签主要用于在模板中循环输出数据集或者多维数组 volist(name,id,offset,length,key,mod,empty) name(必须):要输出的数据模型变量 id(必须):循环变量 offset(可选):要输出数据的offset length(可选):输出数据的长度 key(可选):循环的key变量,默认值为i mod(可选):对key值取模,默认为2(用于偶数行查询等) empty(可选):如果数据为空显示的字符串 通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。 在Action中首先对模板赋值: $user=M('User'); $list=$user->select(); $this-

C++中类成员变量的初始化问题

ⅰ亾dé卋堺 提交于 2020-02-17 16:37:38
C++11之后允许对非静态成员变量进行初始化(in-class initialization),不过对于 非fundamental(非基本数据) 类型需要采用的是initializer_list来实现的 所以如下代码是错误的: class A{ public: int x=1; string s="qweqetfqw"; vector<int>p(1,0);//这句错了,vector不是基本数据类型,必须用大括号初始化 }; 改成下面这样就正确了: class A{ public: int x=1; string s="qweqetfqw"; vector<int> p{0};//用大括号直接初始化 }; 或者: class A{ public: int x=1; string s="qweqetfqw"; vector<int> p={0};//用复制拷贝函数初始化 }; 来源: https://www.cnblogs.com/FdWzy/p/12322161.html

JSTL Core标签库

六月ゝ 毕业季﹏ 提交于 2020-02-17 16:00:06
Core标签库 Core标签库主要包括了一般用途的标签、条件标签、迭代标签和URL相关的标签。在JSP页面使用Core标签,要使用taglig指令,指定引用的标签库,如下: < %@ taglib uri =”http://java.sun.com/jsp/jstl/core” prefix =”c” % > 一般用途的标签有 <c:out> 、 <c:set> 、 <c:remove> 、 <c:cath> 1.<c:out> 用于计算一个表达式并将结果输出。类似于JSP 中<%=%>表达式,或者是EL中$ ${el-expression}。 2.<c:set> 用于设置范围变量的值或者javabean对象的属性。 看个实际例子: < c:set var =”username” value =”lisi” scope =”session”/> 这样就相当于设置了session。 3.<c:remove> 相对<c:set>其作用是移除范围变量。比如 < c:remove var =”nusername” scope =”session”/> 4.<c:catch> 用于捕获在其中嵌套的操作所抛出的异常对象,并将异常信息保存到变量中。 我们将有可能抛出异常的代码放置到开始标签:<c:catch>和结束标签:</c:catch>之间。如果其中代码出现异常,异常对象将被捕获