一,引用计数 python 中的垃圾回收机制主要采用引用计数的方式来跟踪和回收垃圾; 优点:1. 简单 2. 实时性 缺点:1. 维护引用计数消耗资源 2. 循环引用 二, 标记 - 清除 光使用引用技术解决不了容器对象可能产生的循环引用问题. 例如: 所以,python 在引用计数的基础上,使用标 ...
分类:
编程语言 时间:
2019-10-26 20:50:46
阅读次数:
99
面向过程 面向过程性能比面向对象性能好。 因为类的实例化比较消耗资源。当性能是设计中非常重要的因素时,一般采用面向过程开发。 最主要的性能区别在 于:拿Java来说,在运行时先在Java平台编译为体系结构中立的字节码格式(.class文件),因此才可以实现跨平台。然后解释器再对字节码进行解释执行。并 ...
分类:
其他好文 时间:
2019-10-25 18:03:25
阅读次数:
82
一般分为两类问题:1 是如何合理地使用有限的劳动力,设备,资金等资源,获得最大的利润。2 为了达到某一个目标,应该如何组织生产,或者安排生产工艺流程,使得消耗资源最小。线性规划的条件:决策变量,目标函数,约束条件。 min z = Σcx(j个变量) s.t Σax(j)=b x(j) >=0 其中 ...
分类:
其他好文 时间:
2019-10-21 20:42:12
阅读次数:
107
应用场景是产品中需要有一个批量执行的任务,很多店铺同时执行,并且需要执行之后的结果进行业务处理,然后在全部执行完毕之后通知处理完毕 用Future和Callable虽然可以阻塞获取结果,但是因为处理起来有些繁琐,比较消耗资源,而CompletableFuture可以满足这个需求,让异步编程变的更加轻 ...
分类:
编程语言 时间:
2019-10-10 15:21:10
阅读次数:
323
GIL是什么 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可执行代码。有名的编译器例如GCC,INTEL C++,Visual C++等。Python也一样,同 ...
分类:
编程语言 时间:
2019-10-04 13:00:16
阅读次数:
92
为什么有人会说面向过程性能比面向对象高?面向对象的语言易维护、易复用、易扩展。以java为例, 由于Java有封装、继承、多态性的特性,所以可以设计出低耦合的系统,使系统更加灵活、更加易于维护。但是Java在类调用时需要实例化,所以开销比较大,比较消耗资源。 以上并不是根本原因,面向的过程的也需要分 ...
分类:
其他好文 时间:
2019-10-02 16:26:46
阅读次数:
152
JavaSE阶段性测试1:手写线程池需求需求背景:由于频繁的自行创建和销毁线程非常的消耗资 源,并且难以控制线程的并发数量,所以项目组急需编写 一个线程池功能,能够自行管理线程的生命周期,并且根 据繁忙线程池程度对池中线程进行动态扩容。现在项目经理抽象出线程池对象中包含有几个主要特性 1. 可以根据 ...
分类:
编程语言 时间:
2019-09-24 23:03:24
阅读次数:
180
Task是.NET Framework3.0出现的,线程是基于线程池的,然后提供丰富的api,Thread方法很多很强大,但是太过强大,没有限制。 DoSomethingLong方法如下: /// <summary> /// 一个比较耗时耗资源的私有方法 /// </summary> /// <pa ...
分类:
编程语言 时间:
2019-09-20 23:17:38
阅读次数:
86
原文:Threads(异步和多线程) Task是.NET Framework3.0出现的,线程是基于线程池的,然后提供丰富的api,Thread方法很多很强大,但是太过强大,没有限制。 DoSomethingLong方法如下: /// /// 一个比较耗时耗资源的私有方法 /// /// priva... ...
分类:
编程语言 时间:
2019-09-20 22:57:00
阅读次数:
111
在 Java 多线程中如何保证线程的安全性?那我们可以使用 Synchronized 同步锁来给需要多个线程访问的代码块加锁以保证线程安全性。使用 synchronized 虽然可以解决多线程安全问题,但弊端也很明显:加锁后多个线程需要判断锁,较为消耗资源。所以就引出我们今天的主角——volatil ...
分类:
编程语言 时间:
2019-09-19 14:17:04
阅读次数:
91