不是启动越多的线程,程序就能最大限度地并发执行。并发编程通常会受到上下文切换、死锁、硬件和软件资源等问题的影响。 上下文切换 单核cpu通过为每个线程分配cpu时间片来实现多线程,时间片时长通常为几十毫秒。 上下文切换会影响到多线程的执行速度。 问题: 并发执行的代码是不是肯定比串行执行的快? ...
MySQL02| 从SQL更新语句看MySQL日志系统
MySQL 可以恢复到半个月内任意一秒的状态,这是为什么? MySQL的更新语句与查询语句大体相同,但多了两个日志模块即redo log(重做日志)和binlog(归档日志) 一、redo log和binlog1、redo log模块(存储引擎层日志) WAL技术(Write-Ahead Log ...
MySQL01| 从SQL语句执行过程看MySQL架构
MySQL的框架有几个组件, 各是什么作用? 连接器:和客户端建立连接、获取权限、维持和管理连接 查询缓存:查看历史记录中是否存在本次查询结果,有的话直接返回结果,否则继续向下执行。由于查询失效频繁,所以不推荐使用查询缓存(MySQL8中已删除查询缓存模块)。 分析器:进行词法分析和语法分析,前者 ...
MySQL34| Join用法记录
如果可以使用被驱动表的索引,join要优于单表查询 ; 不能使用被驱动表的索引,只能用Block Nested-Loop join算法,这样的SQL语句应当弃用; 在使用join时,应当让运行中数据量小的表作为驱动表。
翻译| Github: Authorizing OAuth Apps
tips:本文为github-API关于授权账号登录其他网站开发文档的个人中文翻译,官网文档对应:Authorizing OAuth Apps 授权OAuth应用程序你可以授权github账号登录其他网站 Github的授权实现支持标准授权码授权类型。你可以用下面描述的web应用流程去 ...
03| 计算机网络相关知识
知识点汇总 1. 4/7层网络模型(♥♥♥)[^1] OSI七层 TCP/IP四层 网络协议 应用层(Application) 应用层 HTTP、TFTP, FTP, NFS, WAIS、SMTP 表示层(Presentation) 应用层 T ...
继承Thread类和实现Runnable接口法的异同
导语:在java中实现多线程的方法有两种:继承Thread类和实现Runnable接口。在使用这两种方法创建多线程类时有什么不同呢?下面作简要分析。 一、继承Thread类法1.1. 这里先给出一个小demo,实现代码如下: class MyThread extends Thread { ...
02| 操作系统相关知识
知识点汇总 操作系统部分知识有助于对服务问题进行排查定位,主要考察了解和应用,在面试中所占比较小。 1. 进程与线程(♥♥♥)1.1 进程与线程之间的区别与联系? 进程,是系统资源分配的最小单位,使用独立的数据空间 线程,是程序执行的最小单位,共享进程的数据 ...
01| 职业未来发展
1. 职业晋升通道这里用图1表示JAVA从业者的职位晋升过程。 从图1可以看出在经历1~3年从工程师晋升到高级工程师后,有两个方向可以选择;一个是走技术方向,另一个是走管理方向,先分别讨论如下。 1.1 技术方向 重点培养自己以下3种能力:(1) 技术攻坚能力(2) 架构设计(3) 专业知识需要 ...