笔记
Lisa_stone
这个作者很懒,什么都没留下…
展开
-
2020-09-23
浅谈JVM内存模型众所周知,Java虚拟机管理的内存分为五大区域,分别是:虚拟机栈、本地方法栈、程序计数器、方法区和堆。如下图所示:下面我们分别来看下这五大内存区域的作用。程序计数器:我们都知道,CPU在某一时刻只会执行一个线程中的一条指令,当时间片用完后当前线程就要让出CPU给其他线程执行,当CPU切换回当前线程时就需要恢复到之前执行到的正确的位置,PC寄存器用来存储指向下一条指令的地址,也就是将要执行的指令代码,每个线程都需要有独立的一个程序计数器,不同线程之间的程序计数器互不影响,独立存储,因原创 2020-09-23 10:22:32 · 84 阅读 · 0 评论 -
2020-09-21
SQL性能优化总结1、优先考虑使用等号(=)操作。其次考虑使用大于等于(>=),小于等于(<=)操作。然后再考虑大于(>),小于(<)操作2、谨慎使用排序(ORDER BY)和分组(GROUP BY)3、减少使用LIKE操作,并避免使用不等于(<>)操作。4、如果有order by的场景,请注意利用索引的有序性。order by 最后的字段是组合索引的一部分,并且放在索引组合顺序的最后,避免出现file_sort的情况,影响查询性能。5、使用LIKE的时候,应该原创 2020-09-21 12:55:27 · 214 阅读 · 1 评论 -
2020-09-19
Flink是如何保证高吞吐和低延迟的? Apache Flink在高吞吐、低延迟等方面都有着非常优秀的表现,是当前分布式实时处理领域一颗冉冉升起的新星,在高吞吐方面的优秀表现,力败称霸多年的Storm,虽然目前还不够成熟,但前景一片大好。那么Flink是如何保证高吞吐和低延迟的呢? 在探讨这个问题之前,我们需要先了解下流处理模型与批处理模型。 流处理标准模型:当一条数据被处理完毕后,先序列化到缓存中,然后立即传输到下一个节点,由下一个节点继续处理。 批处理标准模型:当一条数据被处理完毕后,序列化到原创 2020-09-19 21:03:34 · 204 阅读 · 0 评论 -
2020-09-19
面向对象的思维一直在思考究竟什么是面向对象,如何用面向对象的思维来思考问题,来设计我们的系统?我们在做设计时,很多时候往往很自然的想到的就是,第一步做什么、第二步做什么、……,注意到了没,这其实是一种流程化的思维,也就是面向过程的思维。这时我们看到的往往只是某个特定场景下的特定问题的解决步骤,顺着这样的思路,我们去设计我们的代码,最终很可能就是按照流程一步步地实现每个步骤的逻辑,然后再通过函数调用的方式将每个步骤串联起来,最终实现业务功能。当然这种方式,我们是完全可以开发出满足需求的、可运行的系统的。原创 2020-09-19 01:31:15 · 86 阅读 · 0 评论