1. 前言 学习了一学期的Java课程,觉得是该总结自己的心得体会了。开始学习任何一门课(包括java),兴趣最重要。一直觉得自己在学计算机编程语言,学习了很多,但每门语言都停留在知识边缘地带,都没深入到它们的精华部分,对它们的精华部分知之甚少,于是趁学校开设这门课,并且有自己的老师讲解,还有了上机 ...
分类:
其他好文 时间:
2020-06-01 14:02:01
阅读次数:
62
排序算法 排序的分类: 1)内部排序: 指将需要处理的所有数据都加载到内部存储器中进行排序。 2)外部排序法: 数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。 常见的算法时间复杂度由小到大依次为: O(1)<O(log2n)<O(n)<O(nlog2n)<O(n2)<O(n3)< O( ...
分类:
编程语言 时间:
2020-05-31 21:24:52
阅读次数:
54
java的反射是我一直非常喜欢的地方,因为有了这个,可以让程序的灵活性大大的增加,同时通用性也提高了很多。反射原理什么的,我就不想做过大介绍了,网上一搜,就一大把。(下面我是只附录介绍下) Reflection 是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Refl ...
分类:
编程语言 时间:
2020-05-31 18:07:38
阅读次数:
61
by 豆豆 大家都知道当任务过多,任务量过大时如果想提高效率的一个最简单的方法就是用多线程去处理,比如爬取上万个网页中的特定数据,以及将爬取数据和清洗数据的工作交给不同的线程去处理,也就是生产者消费者模式,都是典型的多线程使用场景。 那是不是意味着线程数量越多,程序的执行效率就越快呢。 显然不是。线 ...
分类:
编程语言 时间:
2020-05-31 16:10:26
阅读次数:
63
使用pyinstaller打包.py文件时,会把很多已安装的无关库同时打包进去,导致打包生成的.exe文件体积过大。使用pipenv创建虚拟python环境,在虚拟环境中安装.py文件所用到的库(即py文件中import 的第三方库),然后在pipenv所创建的虚拟环境中使用pip安装打包所用到的p ...
分类:
其他好文 时间:
2020-05-30 22:02:35
阅读次数:
226
前言(为什么又要写一篇随想文) 上次我写了一个channel的文章,我寻思,这Golang控制三大巨头,channel,waitgroup,context,我得尽快都安排上,最近工作太忙,压力过大,但是Update Blog还是不能够停下来,所以继续补上,学习还是不能停,那么来吧。 WaitGrou ...
分类:
其他好文 时间:
2020-05-30 21:59:10
阅读次数:
72
微服务系统架构概述 单体应用架构 以电商平台为例,如图所示,在传统单体应用中,所有模块代码,都会写在一个应用下,然后我们一般开发完成后,打成一个war包放到tomcat中去运行。 随着用户流量的不断增长,业务复杂度的提升,这种单体应用架构的弊端也开始呈现出来。在高并发的场景下,因为请求量过大导致服务 ...
分类:
其他好文 时间:
2020-05-30 10:54:30
阅读次数:
109
一、应用场景: 订单超过 30 分钟未支付,则自动取消。 外卖商家超时未接单,则自动取消。 医生抢单电话点诊,超过 30 分钟未打电话,则自动退款。等等场景都可以用定时任务去轮询实现,但是当数据量过大的时候,高频轮询数据库会消耗大量的资源,此时用延迟队列来应对这类场景比较好。 二、需求 消息存储 过 ...
分类:
其他好文 时间:
2020-05-30 01:04:03
阅读次数:
86
java的垃圾回收是自动化的,偶时候会出现内存溢出的情况,内存溢出也是jvm分配的内存中对象过多,超出了最大可分配内存的大小。 提到java的垃圾回收机制就不得不提一个方法:? System.gc()用于调用垃圾收集器,在调用时,垃圾收集器将运行以回收未使用的内存空间。它将尝试释放被丢弃对象占用的内 ...
分类:
编程语言 时间:
2020-05-27 00:58:56
阅读次数:
80
CancelToken常用在封装的请求中,用来取消上一一面axios请求 在路由跳转时,若当前页面的数据量过大,而我们立即点击跳转下一页面,那么可能会出现,当前页面接口还在pending状态,页面已经跳到新页面,旧的请求依旧没有停止。 这将会十分损耗性能,这时我们应该先取消掉之前还没有获得相应的请求 ...
分类:
其他好文 时间:
2020-05-26 18:42:29
阅读次数:
282