object

消除过期的对象引用

点点圈 提交于 2020-03-24 06:30:24
消除过期的对象引用 考虑以下简单的栈实现: ​ x public class Stack { private Object[] elements; private int size = 0; private static final int DEFAULT_INITIAL_CAPACITY = 16; public Stack() { elements = new Object[DEFAULT_INITIAL_CAPACITY]; } p ublic void push(Object e) { ensureCapacity(); elements[size++] = e; } p ublic Object pop() { if (size == 0) throw new EmptyStackException(); return elements[--size]; } / ** * Ensure space for at least one more element, roughly * doubling the capacity each time the array needs to grow. */ private void ensureCapacity() { if (elements.length == size) elements = Arrays.copyOf

四,k8s集群资源清单定义入门

旧时模样 提交于 2020-03-24 06:04:31
目录 资源对象 创建资源的方法 清单帮助命令 创建测试清单 资源的三种创建方式 资源对象 workload:Pod, ReplicaSet, Deployment, StatefulSet, DaemonSet, Job, Cronjob 服务发现及均衡:Service, Ingress 配置与存储:Volume,CSI,ConfigMap,Secret,DownwardAPI 集群级资源:Namespace,Node,Role,ClusterRole,RoleBinding,ClusterRoleBinding 元数据型资源:HPA,PodTemplate,LimitRange 创建资源的方法 apiserver:仅接受JSON格式的资源定义; 使用yaml格式提供配置清单,apiserver可自动将其转为JSON格式,而后再进行执行; 大部分资源的配置清单: apiVersion: group/version $ kubectl api-versions kind 资源类别(pod,service,deployment等) metadata: 元数据 name 同一个namespace下name必须是唯一的 namespace 命名空间 labels 标签,每一种资源都可以有标签 annotations 资源注解 3.spec: 用户期望的目标状态,disired state

vue中检测对象和数组值变化的问题

▼魔方 西西 提交于 2020-03-23 21:31:34
今天工作中遇到改变vue data中某个对象的值,却无法触发视图更新的问题。看了看官方文档,怎么解决的呢? 1、检测对象的变化 受现代 JavaScript 的限制(以及废弃 Object.observe ), Vue 不能检测到对象属性的添加或删除 。由于 Vue 会在初始化实例时对属性执行 getter/setter 转化过程,所以属性必须在 data 对象上存在才能让 Vue 转换它,这样才能让它是响应的。 使用Object.assign() 或 _.extend() 方法来添加属性 // 代替 `Object.assign(this.someObject, { a: 1, b: 2 })` this.someObject = Object.assign({}, this.someObject, { a: 1, b: 2 }) 2. 检测数组的变化 由于 JavaScript 的限制, Vue 不能检测以下变动的数组: (1)、当你利用索引直接设置一个项时,例如: vm.items[indexOfItem] = newValue (2)、当你修改数组的长度时,例如: vm.items.length = newLength 如何解决上述问题呢? 方法1: // Vue.set Vue.set(example1.items, indexOfItem, newValue) 方法2:

编写可维护的javascript

你。 提交于 2020-03-23 19:22:30
为什么要编写可维护的javascript? 软件生命周期80%的成本消耗在了维护上。 几乎所有的软件维护者都不是它的最初作者。 编码规范提高了软件的可读性,它让工程师能够快速且充分地理解新的代码。 第一部分:编程风格 程序是写给人读的,只是偶尔让计算机执行以下。 ——高德纳 一、基本的格式化 1、缩进层级 如何处理缩进是几乎所有语言首先讨论的,缩进甚至关系到软件工程师的价值观! 第一种缩进: 使用制表符进行缩进。例如:jQuery核心风格,Dojo编程风格。 第二种缩进: 使用空格符进行缩进。例如:Goolge的javascript规定使用两个空格缩进。 推荐: 4个空格字符为一个缩进层级,可以在编辑器中配置Tab键插入4个空格。 2、语句结尾 你加没加分号代码可能都会正常运行,没看到这里之前,你可能不知道这是分析器的自动分号插入机制(ASI)在偷偷的帮你干活。常言道:常在河边走,哪有不湿鞋?看看下面的代码。 function getData() { return { text: '看看不加分号的后果!' } } ASI会解析成下面的样子: function getData() { return ; { text: '看看不加分号的后果!' }; } 所以如果调用上面的getData的方法,返回的就是 undefined 。但是这样不能全怪分号,谁让你把花括号写到下面一行的?

深度clone和浅clone

廉价感情. 提交于 2020-03-23 18:29:48
首先等你有空的时候可以看这篇,要用可以看我这篇 https://www.cnblogs.com/echolun/p/7889848.html 1.有一点需要明确的是 深拷贝只是针对引用数据类型来说的,基本数据类型都是深拷贝 基本数据类型有哪些,number,string,boolean,null,undefined,symbol六类。 引用数据类型(Object类)有常规名值对的无序对象{a:1},数组[1,2,3],以及函数 2.基本数据类型的浅拷贝就是一般赋值, var a = 'jack' var b b = a console.log(b) //jack b = '你好' console.log(b)//你好 console.log(a) //jack a并不会因为b的改变而改变,但是这是浅拷贝,不是深拷贝 3.接下来是引用数据类型深拷贝和浅拷贝 浅拷贝的作用: 主要是赋值,并且复制后的对象改变之前的对象也会改变 a. es6的Object.assign(obj)浅拷贝 var obj = { name: 'jack', age: 18 } var data = Object.assign(obj) console.log(data) //{name: 'jack',age: 18} data.name = '花花' console.log(data)//{name:

《深入浅出WPF》笔记——绑定篇(二)

*爱你&永不变心* 提交于 2020-03-23 09:24:59
一、Binding对数据的校验与转化   在上一篇中有提到过绑定像是一座桥梁,在桥梁两端要有源和目标以及在桥梁上面我们可以设立关卡对数据进行验证,除此之外,源提供的数据有时不一定是目标想要的类型,但是可以通过转化成为目标需要的类型。 1.1Binding的数据验证   在软件设计过程中,数据的验证是经常要实现的。要实现Binding的数据验证,主要通过Binding的ValidationRoles属性来实现。下面让我们认识一下ValidationRoles(验证条件):可以看到ValidationRoles是复数形式,应该可以想到他是一个Collection<ValidationRole>类型的的属性,而ValidationRole是一个抽象类,所以我们要向验证条件集合里面添加的应该是继承自ValidationRole的一个实例,既然要继承抽象类,那么就要实现Validate方法,其形式为public abstract ValidationResult Validate(object value, CultureInfo cultureInfo),其中Value是要验证的值,cultureInfo暂不用理会,方法的返回值为ValidationResult类型的,Validate具有两个形参(一个是否通过验证,一个是错误信息)。为什么验证条件要用集合类型的呢

Unexpected result when filtering one object array against two other object arrays

匆匆过客 提交于 2020-03-23 08:50:09
问题 I'm trying to filter out objects from array "a" that match with objects in array "b" and "c". here is a link to jsfiddle to test the code. Here is what I currently have: const a = [{ "name": "sondre", "uq_id": "abc1" }, { "name": "sofie", "uq_id": "abc2" }, { "name": "casper", "uq_id": "abc3" }, { "name": "odin", "uq_id": "abc4" }]; const b = [{ "name": "sondre", "uq_id": "abc1" }, { "name": "odin", "uq_id": "abc4" }]; const c = [{ "name": "casper", "uq_id": "abc3" }]; function sort(a, b, c)

The type or namespace name 'Json' does not exist in the namespace 'System' (are you missing an assembly reference?)

不想你离开。 提交于 2020-03-23 08:41:46
问题 I am using .NET Framework 4.5 and I'm having this issue. The type or namespace 'Json' does not exist in the namespace 'System' So, I tried to Install-Package System.Json -Version 4.0.20126.16343 but I had this issue afterwards. The type 'System.Uri' is defined in an assembly that is not referenced. You must add a reference to assembly 'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' Source: https://www.nuget.org/packages/System.Json Any ideas would be really

JavaScript中的基本数据类型

主宰稳场 提交于 2020-03-23 07:15:54
阅读目录 1.1前言 2.1 javascript中的变量 3.1 简单数据类型 3.1.1. typeof 操作符 3.1.2. Undefined 类型 3.1.3. Null 类型 3.1.4. Boolean 类型 3.1.5. Number 类型 3.1.6. String类型 3.1.7. Object 类型 4.结束语 5.参考文档 前言 大家经常可以见到javascript中的一些数据类型,比如“undefined”、“boolean”、“string”等等,但是ECMAScipt中的变量又是 松散 类型的,所谓松散类型就是可以用来保存任何类型的数据。所以javascript中用var关键字来定义变量,所以无法确定变量一定会存储什么值,也就不知道变量到底会是什么类型,因为可以随时改变变量的类型。今天这篇文章就和大家一起来学习javascript中的类型,这个问题虽然简单,但是还是有很多童鞋在很多时候没办法真正掌握它,其中不正确的地方请大家指出来,共同学习,共同进步。 javascript 中的变量 javascript中的变量只是一个占位符,前言已经说过了,因为松散类型的缘故。 定义变量: var name; 上述代码定义了一个名为name的变量,该变量可以用来保存任何值(像这样未经过初始化的变量,会保存一个特殊的值--undefined),也可以初始化变量的值,

java的反射

白昼怎懂夜的黑 提交于 2020-03-22 23:09:48
反射 是框架设计的灵魂 (使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码)) 一、 反射 的概述 JAVA 反射 机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 java 语言的 反射 机制。 要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象. 以上的总结就是什么是 反射 反射 就是把 java 类中的各种成分映射成一个个的 Java 对象 例如:一个类有:成员变量、方法、构造方法、包等等信息,利用 反射 技术可以对一个类进行解剖,把个个组成部分映射成一个个对象。 (其实:一个类中这些成员方法、构造方法、在加入类中都有一个类来描述) 如图是类的正常加载过程: 反射 的原理在与class对象。 熟悉一下加载的时候:Class对象的由来是将class文件读入内存,并为之创建一个Class对象。 其中这个Class对象很特殊。我们先了解一下这个Class类 二、查看Class类在 java 中的api详解(1.7的API) 如何阅读 java 中的api详见 java 基础之——String字符串处理 Class