object

generator object APIClient read from socket locals对象操作

▼魔方 西西 提交于 2020-01-27 06:55:46
今天学习python 编程控制docker 源代码 官方文档 https://docker-py.readthedocs.io/en/stable/containers.html#container-objects import script containerNAME = "tf2yolo3lite" mycontainer = script.get_container_by_name ( containerNAME ) code,result = mycontainer.exec_run ( "ls" ,workdir = "/" ,stream = True ) # print ( code,result ) 输出 连接到容器tf2yolo3lite None < generator object APIClient._read_from_socket. < locals > . < genexpr > at 0x00000214EB035308 > 很明显返回参数在 generator object 中,那我们应该怎样取到它呢 next ( generator object ) one_output = next ( result ) print ( str ( one_output, 'utf-8' )) 输出 连接到容器tf2yolo3lite a123

js call 和 apply

99封情书 提交于 2020-01-27 05:16:12
前言   call 和 apply 都是为了改变某个函数运行时的 context 即上下文而存在的,换句话说,就是为了 改变函数体内部 this 的指向 。   call 和 apply 二者的作用完全一样,只是接受参数的方式不太一样。 方法定义   apply   Function.apply(obj,args) 方法能接收两个参数:     obj: 这个对象将代替Function类里this对象   args: 这个是数组或类数组,apply方法把这个集合中的元素作为参数传递给被调用的函数。 call   call方法 与 apply方法 的第一个参数是一样的,只不过第二个参数是一个参数列表   在非严格模式下当我们第一个参数传递为null或undefined时,函数体内的this会指向默认的宿主对象,在浏览器中则是window var test = function(){ console.log(this===window); } test.apply(null);//true test.call(undefined);//true 用法   "劫持"别人的方法   此时 foo 中的 logName 方法将被bar引用 , this 指向了 bar var foo = { name:"mingming", logName:function(){ console.log

Java多线程

99封情书 提交于 2020-01-27 05:11:11
一、停止线程(interrupt)   停止线程意味着在线程处理玩任务之前停掉正在做的操作,Java之前的版本提供Thread.stop()方法,但这个方法是不安全的,已被废弃。 1、目前停止线程主要有两种方式:   1)使用退出标志   2)使用interrupt方法中断线程。此方式需要使用interrupt对要中断的线程进行标记,通过interrupted或isInterrupted方法结合相应逻辑(break等操作)实现线程中断。 2、interrupt、interrupted、isInterrupted区别   1)interrupt标记线程为中断状态   2)interrupted测试当前线程是否中断,并清除中断标记为false   3)isInterrupted测试线程是否中断 3、使用interrupt方法中断线程实例 public class InterruptThread extends Thread { @Override public void run() { for(int i = 0; i < 50000; i++) { System.out.println("i = " + i); //if(this.isInterrupted()) { if(Thread.interrupted()) { System.out.println("thread stop

013 C# Windows应用程序中的OOP

泄露秘密 提交于 2020-01-27 02:33:17
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace 控件类的实现 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { ((Button)sender).Text = "Clicked!"; Button newButton = new Button(); newButton.Text = "New1!"; newButton.Click += new EventHandler(newButton_Click); Controls.Add(newButton); } private void newButton_Click(object sender,System

性能优化之二:结构体类型的性能优化

时间秒杀一切 提交于 2020-01-26 22:18:47
C#里结构体是值类型,其局部变量的空间分配在栈上。很多同学喜欢用它,是因为它的存储密度高、分配和回收成本非常低。 但是前几天在查热点的时候,却碰到结构体的性能非常慢,甚至远低于把同样数据结构做成的引用类型。下文对这个问题做了些简化,方便大家理解。 代码分析 优化前的源代码示例: //结构体声明 public struct Point2D { public int X { get; set; } public int Y { get; set; } } var target = new Point2D() { X = 99, Y = 100 }; //热点语句,points 是一个有几百万元素的链表: foreach(var item in point2Ds) { if (item.Equals(target)) return target; } 优化方法很简单,就是在Point2D的结构体声明中,加一个手写的Equals方法: //优化后: public struct Point2D { public int X { get; set; } public int Y { get; set; } public bool Equals(Point2D obj) { return obj.X == this.X && obj.Y == this.Y; } } 性能测试

Java中的引用类型

五迷三道 提交于 2020-01-26 19:25:28
Java中引用类型 强引用 Persnon p = new Person(); 当指向Person对象的引用计数为0时,Person对象才能被垃圾回收器回收。 软引用 SoftReference sr = new SoftReference (new Person()); 获取软引用对象Person p = sr.get(); 当内存紧张的情况下,Person对象可能会被回收,即使它的引用计数为1 弱引用 WeakReference w = new WeakReference (new string()); 获取软引用对象String str = w.get(); 只要JVM中的垃圾回收器工作,就会被回收 虚引用 引用队列:当软引用或者是弱引用指向的对象被释放后,会将引用放在引用队列中(ReferenceQueue)。 虚引用是先将引用加入队列中再释放对象。 ReferenceQueue rq = new ReferenceQueue (); PhantomReference pr = new PhantomReference (new String(), rq); //pr.get() 为null rq.poll为pr 虚引用其实就是形同虚设,和没引用一样。其作用就是来检查对象是否将要被回收。并且没有get()方法来获取传入的对象。 注:以上的sr,w, rq都强引用

每日一题总结 2020.01.26-2020.02.04

谁说胖子不能爱 提交于 2020-01-26 18:12:56
“>>”(有符号)右移,如果为正,高位补”0“; ----------------------------- 如果为负,高位补”1“。 ”>>>“ 无符号右移/逻辑右移,无论正负都补"0" 。(不管原数的符号位,就是把32位数右移,最后高位补"0") 没有无符号左移。Java中int类型是4字节, 32位 ,所以左移时要注意。(不是看当前数字有几位)。负数是以补码形式存储的,所以负数的左移和右移要先看补码左右移的结果, 然后根据”补码的补码是原码“求得最终结果。 (要注意求反码时: 符号位不变 ,其他位取反。) 比如:-10<<2:(加粗的"1"是符号位) -10的原码是000…0(27个0) 1 1010 , ------------------------------------------------------ 反码是111…1(27个1) 1 0101, ----------------------------- ------------------------ 补码 是111…1(27个1) 1 0110, 将补码左移2位的结果是: --------------------------------------------------------------- 111…1(25个1) 1 011000 接下来需要对补码求补码得到最终结果: ----------------

深入响应式原理--Vue

天大地大妈咪最大 提交于 2020-01-26 14:53:59
Vue 最显著的特性之一便是不太引人注意的响应式系统(reactivity system)。模型层(model)只是普通 JavaScript 对象,修改它则更新视图(view)。这会让状态管理变得非常简单且直观,不过理解它的工作原理以避免一些常见的问题也是很重要的。在本节中,将开始深入挖掘 Vue 响应式系统的底层细节。 如何追踪变化 把一个普通 Javascript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。Object.defineProperty 是仅 ES5 支持,且无法 shim 的特性,这也就是为什么 Vue 不支持 IE8 以及更低版本浏览器 的原因。 用户看不到 getter/setter,但是在内部它们让 Vue 追踪依赖,在属性被访问和修改时通知变化。这里需要注意的问题是浏览器控制台在打印数据对象时 getter/setter 的格式化并不同,所以你可能需要安装 vue-devtools 来获取更加友好的检查接口。 每个组件实例都有相应的 watcher 实例对象,它会在组件渲染的过程中把属性记录为依赖,之后当依赖项的 setter 被调用时,会通知 watcher 重新计算,从而致使它关联的组件得以更新。 变化检测问题 受现代

面向对象深入部分

大城市里の小女人 提交于 2020-01-26 11:52:56
一:继承 子类继承了父类,拥有了父类的一切(但你未必全能用) 对象 instance of 类 override 三大原则: 1.方法名 参数列表相同 2.返回值类型和异常类型 子类要小于父类 3.返回权限 子类要大于父类 object类是所有类的父类,最核心基础的类,所有类都是object 打印一个对象其实是调对象的tostring方法,没实现tostring就用object的tostring。 == 判断值是否相同 对象则判断地址是否相同 equal判断对象是否相同 一般需要重写(比如人这个类 身份证相同就是同一个对象),没重写时 this == obj也是用等于判断 **String类型已经帮我们写了equal方法 ==判断是否是一个对象 equal判断字符串内容是否相同 * JDK给我们提供的一些类,大都重写了equal供我们调用 构造方法与静态初始化快的调用顺序都是先调用父类的 最后才调用自己的 来源: https://www.cnblogs.com/shuzi0806/p/12233851.html

Java 接口和内部类

﹥>﹥吖頭↗ 提交于 2020-01-26 06:14:12
接口的方法默认死public,接口的属性默认为public static final。 为什么要接口,而不是使用抽象类。一个对象只能继承一个类,却可以实现多个接口。 clone: Object的浅拷贝 Object类的默认拷贝机制是浅拷贝:对于拷贝对象的属性:基本类型属性,拷贝值,对象属性,拷贝引用。 Object将clone设为protected方法,无法在外部调用。如果要使用,必须在使用的类里,将它设置为public。如下: @Override public Person clone() throws CloneNotSupportedException { return (Person) super .clone(); } 关于CloneNotSupportedException: 当调用 Object 类中的 clone 方法克隆对象,但该对象的类无法实现 Cloneable 接口时,抛出该异常。 重写 clone 方法的应用程序也可能抛出此异常,指示不能或不应克隆一个对象。 所以,还要在类的声明中加入implements Cloneable。 上面说的都是调用Object的默认clone的限制,如果你自己写Clone方法,是不会抛出CloneNotSupportedException异常的。如: @Override public Person clone() {