element

《深入理解Java虚拟机》读书笔记九

前提是你 提交于 2020-10-28 16:49:22
第十章 早期(编译期)优化 1、Javac的源码与调试 编译期的分类: 前端编译期:把*.java文件转换为*.class文件的过程。例如sun的javac、eclipseJDT中的增量编译器。 JIT编译期:后端运行期编译器,把字节码转换成机器骂的过程。例如 HotSpot VM的C1、C2编译器。 AOT编译器:静态提前编译器,直接拔Java文件编译成本地机器代码的过程,例如GCJ。 Javac的编译过程: 解析与填充符号表的过程。 插入式注解处理器的注解过程。 分析与字节码生成的过程。 Javac编译动作的入口是com.sun.tools.javac.main.JavaCompiler类,上述3个过程的代码逻辑集中在这个类的compile()和compile2()方法中,其中主体代码如图所示,整个编译最关键的处理就由图中标注的8个方法来完成,下面我们具体看一下这8个方法实现了什么功能。 解析与填充符号表的过程: 词法分析,是将源代码的字符流转变为标记(Token)集合,单个字符是程序编写过程的最小元素,而标记则是编译过程的最小元素,关键字、变量名、字面量、运算符都可以成为标记。 语法分析,是根据Token序列构造抽象语法树的过程,抽象语法树(Abstract Syntax Tree,AST)是一种用来描述程序代码语法结构的树形表示方式

Java基础--集合解析-ArrayList

99封情书 提交于 2020-10-28 12:02:30
1.ArrayList中添加,获取,删除元素; 2.ArrayList中是否包含某个元素; 3.ArrayList中根据索引将元素数值改变(替换); 4.ArrayList中查看(判断)元素的索引;    5.根据元素索引位置进行的判断; 6.利用ArrayList中索引位置重新生成一个新的ArrayList(截取集合); 7.对比两个ArrayList中的所有元素; 8.判断ArrayList是否为空; 9.返回Iterator集合对象; 10.将集合转换为字符串; 11.将集合转换为数组; 12.集合类型转换; 13.去重复; 完整代码 package com.java.section10; /** * <p>Title: ArrayListDemo.java</p> * @author daxiang * @version 1.0 创建时间:2018年5月8日 下午9:21:22 */ import java.util.ArrayList; import java.util.List; public class ArrayListDemo { public static void main(String[] args) { // list中添加,获取,删除元素 List<String> person = new ArrayList<>(); person.add(

如何将元素移动到另一个元素?

佐手、 提交于 2020-10-28 02:43:30
问题: I would like to move one DIV element inside another. 我想将一个DIV元素移到另一个元素中。 For example, I want to move this (including all children): 例如,我想移动它(包括所有孩子): <div id="source"> ... </div> into this: 进入这个: <div id="destination"> ... </div> so that I have this: 所以我有这个: <div id="destination"> <div id="source"> ... </div> </div> 解决方案: 参考一: https://stackoom.com/question/5MyT/如何将元素移动到另一个元素 参考二: https://oldbug.net/q/5MyT/How-to-move-an-element-into-another-element 来源: oschina 链接: https://my.oschina.net/u/4432649/blog/4476664

Appium自动化(15)

喜欢而已 提交于 2020-10-27 08:24:45
如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html webview 简介 WebView是android中一个非常重要的控件 它的作用是用来展示一个web页面,它使用的内核是 webkit 引擎,Android 4.4版本之后,直接使用 Chrome 作为内置网页浏览器 简单理解: 就是App 中内嵌了一个浏览器 类比:Web 浏览器里面的 iframe 做 webview 自动化测试前的准备 需要让开发在app中添加 webview 调试代码,yinw protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); WebView myWebView = (WebView) findViewById(R.id.jcywebview); # 添加这一行 myWebView.setWebContentsDebuggingEnabled( true ); }; 注意: 从应用市场下载的app不具备此条件哦 跟开发说一声:帮我开启 webview debug 模式就可以啦~ 查看 webview 里面的网页元素 第一种情况:被测试应用webview不依赖app

C++-copy constructor、copy-assignment operator、destructor

↘锁芯ラ 提交于 2020-10-27 03:25:39
对于一个类来说,我们把copy constructor、copy-assignment operator、move constructor、move-assignment operator、destructor统称为copy control。 今天我们先来聊聊其中的copy constructor、copy-assignment operator的destructor这三个。 copy constructor copy constructor:一个constructor如果他的第一个参数是对类的引用,且其他的参数都有缺省值(default values)则,这是一个copy constructor。 1,第一个参数必须是引用类型,因为当我们把一个object当做参数传递给一个方法的非引用变量的时候会自动调用copy constructor方法,如果copy constructor自身的参数就是非引用类型的话,这个方法就会引起无限递归调用,然后你的程序就boomshakalaka~~。 2,一般我们会把第一个参数设成const,因为一般情况下不会对其进行修改,除非你另有打算。 3,因为copy constructor在很多情况下是默认调用的,如以下情况,所以一般不会把copy constructor设成explicit。 1 std::string s; 2 std::string

element-ui 表单校验 Rules 配置 常用黑科技

旧时模样 提交于 2020-10-26 23:36:04
type 指示type要使用的验证器。可识别的类型值为: string :类型必须为 string 。 type 默认是 string // 校验 string: [ {type: 'string', message: `请输入字符串`, trigger: 'blur'} ] <el-form-item label="测试字段" prop="string"> <el-input v-model.number="form.string" placeholder="请输入"></el-input> </el-form-item> number :类型必须为 number 。 // 校验 number: [ {type: 'number', message: `请输入数字`, trigger: 'blur'} ] <el-form-item label="测试字段" prop="number"> <el-input v-model="form.number" placeholder="请输入"></el-input> </el-form-item> boolean :类型必须为 boolean 。 // 校验 boolean: [ {type: 'boolean', message: `请输入数字`, trigger: 'change'} ] <el-form-item label=

开发一个大型后台管理系统,应该用前后端分离的技术方案吗?

我只是一个虾纸丫 提交于 2020-10-26 06:27:06
话说这天,我们团队开会讨论了一个问题,不,与其说“讨论”,不如说“争吵”更合适。 背景是这样的: 我们要开发一个 xxx 后台管理系统,这个系统业务复杂、功能又多,大家的争吵集中在“这个系统是否应该用前后端分离的方案”。 这次争吵的问题比较典型,于是我就写了这篇文章。为了大家好理解,把“xxx 后台管理系统”泛化一下,变成: 开发一个大型后台管理系统,应该用前后端分离的技术方案吗? 先说一下,本文中的观点肯定有人不认同,再加上我对前端技术掌握有限,所以大家批判的看吧。 1. 先审题,冷静的分析一下 前后端分离的优点多多,这不需要多说,大家人人都清楚。 来,讨论之前,我们先一起好好审审题。 结合“ 开发一个大型后台管理系统 ”这个约束条件,冷静的分析一下: • 什么是后台管理系统:首先后台管理系统这个称呼,意味着这是一个 B 端系统 。可以小到部门级应用(客户投诉登记系统、办公设备台账系统),大一点可以是大集团级核心系统(500 强保险公司客服、呼叫中心),可以是 ERP、CRM、OA(SAP、用友、泛微协同),可以是一个 B2C 电商的商城后台、支付网关管理控制台,可以是 Saas 的管理后台(Salesforce、Teambition、Jira),可以大到阿里云控制台…… • 什么是大型:我理解大型系统是指功能模块多、交互复杂,而不是访问量、TPS、数据量大。所以 CMS、OA

redis源码学习02:跳跃表插入结点

假装没事ソ 提交于 2020-10-26 04:08:40
本文是本人在学习redis源码时的笔记,本文主要是对跳跃表插入结点代码的中文注释,如有错误欢迎指正。 有关跳跃表的原理可以上网搜材料,有很多。 首先看下redis源码里有关跳跃表的相关结构体: typedef struct zskiplistNode { // 跳跃表节点 sds ele; // zset元素 double score; // zset分值 struct zskiplistNode *backward; // 单前level的后一个node struct zskiplistLevel { // 创建节点的函数里会根据level数量申请相应的内存空间,放在结构体后面的作用是只需要一次内存申请操作,而且是连续的内存空间 struct zskiplistNode *forward; unsigned long span; // 该结点在某一层与下一个结点之间的元素个数 } level[]; } zskiplistNode; typedef struct zskiplist { // 跳跃表 struct zskiplistNode *header, *tail; // 头结点和尾结点,创建跳跃表时,tail为null unsigned long length; // level1所有元素个数 int level; // 总层级数 } zskiplist; 创建一个结点:

自关闭脚本元素为何不起作用?

丶灬走出姿态 提交于 2020-10-26 03:57:03
问题: What is the reason browsers do not correctly recognize: 浏览器无法正确识别的原因是什么: <script src="foobar.js" /> <!-- self-closing script element --> Only this is recognized: 只有这是公认的: <script src="foobar.js"></script> Does this break the concept of XHTML support? 这是否打破了XHTML支持的概念? Note: This statement is correct at least for all IE (6-8 beta 2). 注意:此声明至少对所有IE(6-8 beta 2)都是正确的。 解决方案: 参考一: https://stackoom.com/question/IBd/自关闭脚本元素为何不起作用 参考二: https://oldbug.net/q/IBd/Why-don-t-self-closing-script-elements-work 来源: oschina 链接: https://my.oschina.net/u/4438370/blog/4306952

开发一个大型后台管理系统,应该用前后端分离的技术方案吗?

烈酒焚心 提交于 2020-10-26 02:33:43
话说这天,我们团队开会讨论了一个问题,不,与其说“讨论”,不如说“争吵”更合适。 背景是这样的: 我们要开发一个 xxx 后台管理系统,这个系统业务复杂、功能又多,大家的争吵集中在“这个系统是否应该用前后端分离的方案”。 这次争吵的问题比较典型,于是我就写了这篇文章。为了大家好理解,把“xxx 后台管理系统”泛化一下,变成: 开发一个大型后台管理系统,应该用前后端分离的技术方案吗? 先说一下,本文中的观点肯定有人不认同,再加上我对前端技术掌握有限,所以大家批判的看吧。 1. 先审题,冷静的分析一下 前后端分离的优点多多,这不需要多说,大家人人都清楚。 来,讨论之前,我们先一起好好审审题。 结合“ 开发一个大型后台管理系统 ”这个约束条件,冷静的分析一下: • 什么是后台管理系统:首先后台管理系统这个称呼,意味着这是一个 B 端系统 。可以小到部门级应用(客户投诉登记系统、办公设备台账系统),大一点可以是大集团级核心系统(500 强保险公司客服、呼叫中心),可以是 ERP、CRM、OA(SAP、用友、泛微协同),可以是一个 B2C 电商的商城后台、支付网关管理控制台,可以是 Saas 的管理后台(Salesforce、Teambition、Jira),可以大到阿里云控制台…… • 什么是大型:我理解大型系统是指功能模块多、交互复杂,而不是访问量、TPS、数据量大。所以 CMS、OA