3A网络 3A网络
2年前
MySQL 临时表的原理以及优化手段
1临时表sortbuffer、内存临时表和joinbuffer,这三个数据结构都是用来存放语句执行过程中的中间数据,以辅助SQL语句的执行的。其中,在排序的时候用到了sortbuffer,在使用join语句的时候用到了joinbuffer。而使用临时表的时候,Explain的Extra字段中具有Usingtemporary标记。union、gro
Wesley13 Wesley13
3年前
java 面试知识点笔记(五)垃圾回收 中篇
StoptheWorldJVM由于要执行GC而停止了应用程序的执行(处于stoptheworld的状态时,除了GC的线程以外的所有线程都处于等待状态,知道GC完成)任何一种GC算法中都会发生多数GC优化通过减少stoptheworld发生的事件来提高程序性能,达到高吞吐低停顿的特点Safepoint:安全点
菜园前端 菜园前端
2年前
什么是JavaScript同步模式?
原文链接:什么是同步模式?大部分单线程任务都会排队执行任务,这就称为同步模式(Synchronous)。同步模式执行中,只涉及到调用栈(Callstack)。现实生活举例就像验核酸一样,我们要排队一个个去验(按顺序排队),当只有一条通道(也就是单线程)时,
Wesley13 Wesley13
3年前
JAVA对象的finalize()方法
finalize1.java的GC只负责内存相关的清理,所有其它资源的清理必须由程序员手工完成。要不然会引起资源泄露,有可能导致程序崩溃。2.调用GC并不保证GC实际执行。3.finalize抛出的未捕获异常只会导致该对象的finalize执行退出。4.用户可以自己调用对象的final
Stella981 Stella981
3年前
JS中!function(){}()的理解
这种写法,是一种立即执行函数的写法,即IIFE等设计模式。这种函数在函数定义的地方就直接执行了。理解IIFE设计模式的关键是要认识到,在ES6之前,JavaScript仅具有函数作用域(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fen.wikipedia.org%2Fwiki
Stella981 Stella981
3年前
Executor框架
任务是一组逻辑工作单元,而线程则是使任务异步执行的机制。线程池简化了线程的管理工作,并且java.util.concurrent提供了一种灵活的线程池实现作为Executor框架的一部分。在Java类库中,任务执行的主要抽象不是Thread,而是Executor,如下所示:publicinterfaceExecutor{void
Stella981 Stella981
3年前
Explain(MySQL高级知识四)
前言:explain(执行计划),使用explain关键字可以模拟优化器执行sql查询语句,从而知道MySQL是如何处理sql语句。explain主要用于分析查询语句或表结构的性能瓶颈。注:本系列随笔如无特殊说明都MySQL版本都为5.7.22。1.explain的作用通过explainsql语句可以知道如下内容:①表的读取顺序。(
Wesley13 Wesley13
3年前
Mysql 多种Count写法的区别
今天我们来看看count的不同实现方式count(\)的实现方式先来看一下coun(\)的实现,MyISAM和InnoDB的实现上是不同的MyISAM引擎把一个表的总行数存在了磁盘上,因此执行count(_)的时候会直接返回这个数,效率很高;而InnoDB引擎就麻烦了,它执行count(_)的时候,需要把数
Wesley13 Wesley13
3年前
2w 字 + 40 张图带你参透并发编程!
!(https://oscimg.oschina.net/oscnet/9b677bedad00400ebd9f631451822918.png)1并发历史在计算机最早期的时候,没有操作系统,执行程序只需要一种方式,那就是从头到尾依次执行。任何资源都会为这个程序服务,在计算机使用某些资源时,其他资源就会空闲,就
Stella981 Stella981
3年前
Linux updatedb命令详解
Linuxupdatedb命令updatedb命令用来创建或更新locate命令所必需的数据库文件。updatedb命令的执行过程较长,因为在执行时它会遍历整个系统的目录树,并将所有的文件信息写入locate数据库文件中。注意:slocate本身具有一个数据库,里面存放了系统中文件与目录的相关信息。用法