对于集合,我们并不陌生,用的很多,也会不知不觉中忽略其中的一些细节,比如细节问题,当在大数据情况下的效率问题等。 我主要是针对list和set使用lamada来对集合进行处理的效率比较,同时还对同步和并发进行了验证 代码如下: 1 //根据数字的大小,有不同的结果 2 private static ...
分类:
其他好文 时间:
2020-02-04 10:45:12
阅读次数:
59
楔子 我们知道python的执行效率不是很高,而且由于GIL的原因,导致python不能充分利用多核CPU。一般的解决方式是使用多进程,但是多进程开销比较大,而且进程之间的通信也会比较麻烦。因此在解决效率问题上,我们会把那些比较耗时的模块使用C或者C++编写,然后编译成动态链接库,Windows上面 ...
分类:
编程语言 时间:
2020-01-30 18:49:47
阅读次数:
90
楔子 我们知道python的执行效率不是很高,而且由于GIL的原因,导致python不能充分利用多核CPU。一般的解决方式是使用多进程,但是多进程开销比较大,而且进程之间的通信也会比较麻烦。因此在解决效率问题上,我们会把那些比较耗时的模块使用C或者C++编写,然后编译成动态链接库,Windows上面 ...
分类:
编程语言 时间:
2020-01-28 14:16:14
阅读次数:
133
先看第一个问题:能不能使用 join? 如果可以使用 Index Nested-Loop Join 算法,也就是说可以用上被驱动表上的索引, 其实是没问题的; 如果使用 Block Nested-Loop Join 算法,扫描行数就会过多。尤其是在大表上的 join 操作,这样可能要扫描被驱动表很多 ...
分类:
其他好文 时间:
2020-01-11 16:59:37
阅读次数:
106
说起mysql查询效率问题,就无法绕开索引问题,而innodb索引是mysql存储引擎中的重中之重,innodb索引包括“主键索引(聚集索引)”也就是实际数据和主键数据存储在一起的索引。innodb除了主键索引以外就是二级索引,二级索引叶子结点的数据区存储的是主键,mysql每个数据页面有16k大小 ...
分类:
数据库 时间:
2020-01-08 10:20:42
阅读次数:
112
一、标记 清除算法(Mark Sweep) 这种算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。 Mark Sweep 算法是最基础的收集算法,几乎所有的收集算法都是基于这种思路并对其不足进行改进而得到。它的不足之处主要有两个: 效率问题。标记 ...
分类:
编程语言 时间:
2019-12-15 16:37:54
阅读次数:
61
垃圾收集算法 1、标记 清除算法 首先标记出所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象。缺点: 效率问题,标记和清除过程的效率都不高; 标记清除之后会产生大量不连续的内存碎片; 2、复制算法 将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块的内存用完了,就将还存活 ...
分类:
编程语言 时间:
2019-12-10 13:17:11
阅读次数:
93
Redis 1.1 缓存策略 1.1.1 策略说明 使用缓存,主要目的为了降低服务器访问物理资源的访问频次.提高了用户获取数据的时间. 注意事项: 缓存中的数据必须和数据库中的数据一致. 1.1.2 缓存设计的思路 缓存中如何保存数据? K-V结构,并且key不能重复. 使用C语言开发. 缓存的运行 ...
分类:
其他好文 时间:
2019-12-10 11:36:54
阅读次数:
123
NoahV是一个致力于解决中后台前端效率问题的前端框架,立足于运维和监控的应用场景,使用当前前端最新的技术栈并结合团队在项目开发中的最佳实践从而推出的前端开发框架。 NoahV提供的功能覆盖了从开发到线上运行各个阶段: 开发阶段提供了组件、模版、研发工具,最佳实践、解决方案,从多个维度帮助开发者提升 ...
分类:
其他好文 时间:
2019-11-23 21:49:22
阅读次数:
69
一、前后端分离优缺点 优点: 1、由于pc、app、pad多端适应 2、SPA开发模式开始流行 3、前后端开发职责不清 4、开发效率问题,前后端相互等待 5、前端一直配合后端,能力有限 6、后台开发语言和模板高度耦合 缺点: 1、前后端学习门槛增加 2、数据依赖,导致文档的重要性增加 3、前端工作量 ...
分类:
其他好文 时间:
2019-11-17 18:02:00
阅读次数:
91