object

SVG display difference between <img> and <object>

你。 提交于 2020-01-22 02:26:10
问题 What's the difference between displaying a SVG image in an <img> or <object> tag? I was facing some problems using SVG images in a <img> tag on Android 3.1: The shape in the upper example is an <img> tag and the lowest example is the exact same image but display in an <object> . Why is this displayed a different way? And is an <object> cached like an <img> ? What do you guys suggest? 回答1: Differences when SVG is used as an image (html <img> SVG <image> or CSS background images) no scripting

05------JS面向对象高级

拟墨画扇 提交于 2020-01-22 02:02:47
对象创建模式 1.Object构造函数模式 方法:先创建空Object对象,再动态添加属性/方法 适用场景:起始时不确定对象内部数据 问题:语句太多 // 一个学生 var s = new Object ( ) s = { } //内部数据不确定 //动态添加属性和方法 s . name = 'alice' s . score = 90 s . setScore = function ( score ) { this . score = score } console . log ( s . name . s . score ) s . setScore ( 95 ) console . log ( s . name , s . score ) 2.对象字面量模式 方法:使用{}创建对象,同时指定属性/方法 适用场景:起始时对象内部数据是确定的 问题:如果创建多个对象,有重复代码 var s = { name : 'alice' , score : 90 , setScore : function ( score ) { this . score = score } } console . log ( s . name . s . score ) s . setScore ( 98 ) console . log ( s . name , s . score ) 3.工厂模式 方法

用大白话告诉你ArrayList的底层原理

夙愿已清 提交于 2020-01-22 01:04:58
【部分代码参考自leesf的博客内容】 一、ArrayList的数据结构 ArrayList的底层数据结构就是一个数组,数组元素的类型为Object类型,对ArrayList的所有操作底层都是基于数组的。 二、ArrayList的线程安全性 对ArrayList进行添加元素的操作的时候是分两个步骤进行的,即第一步先在object[size]的位置上存放需要添加的元素;第二步将size的值增加1。由于这个过程在多线程的环境下是不能保证具有原子性的,因此ArrayList在多线程的环境下是线程不安全的。 具体举例说明:在单线程运行的情况下,如果Size = 0,添加一个元素后,此元素在位置 0,而且Size=1;而如果是在多线程情况下,比如有两个线程,线程 A 先将元素存放在位置0。但是此时 CPU 调度线程A暂停,线程 B 得到运行的机会。线程B也向此ArrayList 添加元素,因为此时 Size 仍然等于 0 (注意哦,我们假设的是添加一个元素是要两个步骤哦,而线程A仅仅完成了步骤1),所以线程B也将元素存放在位置0。然后线程A和线程B都继续运行,都增 加 Size 的值。 那好,现在我们来看看 ArrayList 的情况,元素实际上只有一个,存放在位置 0,而Size却等于 2。这就是“线程不安全”了。 如果非要在多线程的环境下使用 ArrayList,就需要保证它的线程安全性

ArrayList实现原理分析

牧云@^-^@ 提交于 2020-01-22 00:15:17
ArrayList使用的存储的数据结构 ArrayList的初始化 ArrayList是如何动态增长 ArrayList如何实现元素的移除 ArrayList小结 ArrayList是我们经常使用的一个数据结构,我们通常把其用作一个可变长度的动态数组使用,大部分时候,可以替代数组的作用,我们不用事先设定ArrayList的长度,只需要往里不断添加元素即可,ArrayList会动态增加容量。ArrayList是作为List接口的一个实现。 那么ArrayList背后使用的数据结构是什么呢? ArrayList是如何保证动态增加容量,使得能够正确添加元素的呢? 要回答上面的问题,我们就需要对ArrayList的源码进行一番分析,深入了解其实现原理的话,我们就自然能够解答上述问题。 需要说明的是,本文所分析的源码引用自JDK 8版本 ArrayList使用的存储的数据结构 从源码中我们可以发现,ArrayList使用的存储的数据结构是Object的对象数组。 其实这也不能想象,我们知道ArrayList是支持随机存取的类似于数组,所以自然不可能是链表结构。 /** * The array buffer into which the elements of the ArrayList are stored. * The capacity of the ArrayList is the

JVM的内存管理 Ⅰ

…衆ロ難τιáo~ 提交于 2020-01-21 22:06:42
最近在看Java优化这方面的书,那必然会涉及到内存管理,我想和大家共同提高,于是写出来,如果有问题,希望能提出来,共同进步嘛!呵呵,不说这些了,好,现在开始你的知识之旅吧! 在做Java开发的时候常用的JVM内存管理有两种,一种是堆内存,一种是栈内存。堆内存主要用来存储程序在运行时创建或实例化的对象与变量,例如:我们通过new MyClass()创建的类MyClass的对象。而栈内存则是用来存储程序代码中声明为静态(或非静态)的方法。下面我给大家举个例子: 代码 1 public class Test{ 2 static Vector list = new Vector(); 3 static void makeThings(){ 4 Object object = new Object(); 5 list.add(object); 6 } 7 public static void main(){ 8 makeThings(); 9 }10 } 就拿上面的例子来说,放在栈内存中的有:main,makeThings,放在堆内存中有:Test,list,object。 JVM中对象的生命周期大致可以分为7个阶段:创建阶段、应用阶段、不可视阶段、不可到达阶段、可收集阶段、终结阶段与释放阶段。 1.创建阶段: (1)为对象分配存储空间。 (2)开始构造对象。 (3)递归调用其超类的构造方法

WeakReference(弱引用)

白昼怎懂夜的黑 提交于 2020-01-21 20:44:46
我们平常用的都是对象的强引用,如果有强引用存在,GC是不会回收对象的。我们能不能同时保持对对象的引用,而又可以让GC需要的时候回收这个对象呢?.NET中提供了WeakReference来实现。 弱引用可以让您保持对对象的引用,同时允许GC在必要时释放对象,回收内存。对于那些创建便宜但耗费大量内存的对象,即希望保持该对象,又要在应用程序需要时使用,同时希望GC必要时回收时,可以考虑使用弱引用。 弱引用使用起来很简单,看下面的代码: Object obj = new Object(); WeakReference wref = new WeakReference( obj ); obj = null; 第一行代码新建了一个新的对象,这里叫它对象A,obj是对对象A的强引用。接着第二行代码新建了一个弱引用对象,参数就是对象A的强引用,第三行代码释放掉对对象A的强引用。这时如果GC进行回收,对象A就会被回收。 怎样在取得对象A的强引用呢?很简单,请看代码2: Object obj2 = wref.Target; if( obj2 != null ) { // 做你想做的事吧。 } else { // 对象已经被回收,如果要用必须新建一个。 } 只要显示的将弱引用的Target属性附值就会得到弱引用所代表对象的一个强引用。不过在使用对象之前要对其可用性进行检查,因为它可能已经被回收了。如

《你不知道的javascript·上》笔记

匆匆过客 提交于 2020-01-21 19:03:51
作用域是什么 编译原理 分词/词法分析 这个过程会将由字符组成的字符串分解成(对编程语言来说)有意义的代码块,这些代码块被称为词法单元 解析/语法分析 词法单元流(数组)转换成一个由元素逐级嵌套所组成的代表了程序语法结构的树(抽象语法树AST) 代码生成 将AST转换为可执行代码的过程称被称为代码生成 理解作用域 处理成员 引擎——负责代码编译和执行 编译器——词法-语法-代码生成 作用域——根据名称查找变量的一套规则 引擎查询(代码执行前) 一个赋值操作的LHS(左侧)和RHS(右侧)查询 var a = 0 LHS-a,RHS-0 console.log(a) LHS-无,RHS-log和a 如果查找的目的是对变量进行赋值,就会使用LHS查询 如果查找的目的是获取变量的值,就会使用RHS查询 词法作用域 词法阶段 定义在词法阶段的作用域,由你在写代码时将变量和块作用域写在哪里来决定的,执行时不变,因此该词法作用域属于静态作用域(相对于动态作用域) 无论函数在哪里被调用,也无论它如何被调用,它的词法作用域都只由函数被创建时所处的位置决定 词法作用域是在写代码或者说定义时确定的,而动态作用域是在运行时确定的(javascript的this也是) 词法作用域关注函数在何处声明,而动态作用域关注函数从何处调用 欺骗词法 eval——修改词法 with——创建词法 性能

02.手动实现yolov1

孤街醉人 提交于 2020-01-21 18:49:22
https://blog.csdn.net/u014380165/article/details/72616238 https://blog.csdn.net/m0_37192554/article/details/81092514 PennFudanPed数据集 文章目录 网络结构 算法流程解析 loss 计算 需要注意的 代码实现 数据集 模型 后续改进 网络结构 Yolov1 流程图 假设输入图像 [1,3,448,448]–>backbone Net–>[1,2048,7,7]–>[1,B(1+4)+C,7,7] 则有 S=7, 取B=2,以PASCAL VOC数据为例有20个类别,则C=20 [[1,B(1+4)+C,7,7]]=[1,30,7,7] 这30列的具体意义,如下图所示 方式一 也可以按这种方式解析,只需保证训练与推理时使用同一种解析方式 方式二 算法流程解析 算法首先把输入图像划分成 S*S 的格子,然后对每个格子都预测B个bounding boxes,每个bounding box都包含5个预测值:x,y,w,h和confidence。x,y就是ground truth的中心坐标,与grid cell左上角的偏差 / 格网大小使得范围变成0到1;w和h进行归一化(分别除以图像的w和h,这样最后的w和h就在0到1范围)。 输入图像大小 h=448,w=448

【你不知道的javaScript 中卷 笔记1】javaScript中的类型与值

与世无争的帅哥 提交于 2020-01-21 17:47:29
一、类型与值 1.0 javaScript 七种内置类型: 空值(null) 未定义(undefined) 布尔值( boolean) 数字(number) 字符串(string) 对象(object) 符号(symbol,ES6 中新增) 1.1 typeof 运算符查看值的类型 typeof 对 null 的处理显示“object”,并非显示“null”, typeof null === "object"; // true 这是 javaScript 语言的一个 bug ,需要使用复合条件来检测 null 值的类型 var a = null; (!a && typeof a === "object"); // true function 不是 JavaScript 的一个内置类型,它是 object 的一个“子类型”,但是 typeof 处理函数显示 "function" typeof function a(){ /* .. */ } === "function"; // true 对于数组类型,也是 object 的一个“子类型” typeof [1,2,3] === "object"; // true 1.2 undefined 和 undeclared var a; typeof a; // "undefined" typeof b; // "undefined" b 是

Java class by default, it will implicitly extend java.lang.Object [duplicate]

社会主义新天地 提交于 2020-01-21 08:40:07
问题 This question already has answers here : Java doesn't support multiple inheritance but implicitly every class in java extends Object and allows one more [duplicate] (8 answers) Closed 4 years ago . In this tutorial (http://www.studytonight.com/java/object-and-classes) I read that a java class may optionally extend one parent class. By default, it will extend java.lang.Object. Note: important statement that i was read that Java enums extend the java.lang.Enum class implicitly, so your enum