当前位置: 首页 > news >正文

郑州龙华小学网站建设开发一款游戏软件需要多少钱

郑州龙华小学网站建设,开发一款游戏软件需要多少钱,网站建设合作,ps制作网页步骤synchronized和lock API的区别 区分点synchronizedlock api来源java内置关键字java.util.concurrent包获取锁时是否可以响应中断不能响应中断可以#xff0c;使用lock.lockInterruptibly()支持的锁类型非公平锁#xff0c;有锁升级的过程#xff08;无锁-偏向锁-轻…synchronized和lock API的区别 区分点synchronizedlock api来源java内置关键字java.util.concurrent包获取锁时是否可以响应中断不能响应中断可以使用lock.lockInterruptibly()支持的锁类型非公平锁有锁升级的过程无锁-偏向锁-轻量级锁-重量级锁支持非公平锁和公平锁ReentrantLock lock new ReentrantLock(boolean fair)加锁和释放自动释放锁手动释放锁在finally中释放锁信息获取不可获取锁信息可以通过lock.isLocked()查看是否获取到锁获取锁方式阻塞支持阻塞lock.lock()和非阻塞方式获取锁lock.tryLock()、lock.tryLock(timeout)实现方式对象头中的监视器AQS 注意synchronized和lock在获取锁之后都可以响应中断java的中断Thread.interrupt()方法只有在线程执行如Thread.sleep()、Thread.sleep(timeout)、Thread.join()、Thread.join(timeout)、Object.wait()、Object.wait(timeout)等阻塞时才会抛出InterruptedException异常其他情况下只会设置中断标志为true。 AQS原理 todo 补充aqs原理 java内存模型分为哪些区域哪些区域会发生GC哪些区域会发生OOM 区域是否发生GC是否发生OOM程序计数器否否堆是是虚拟机栈否是本地方法栈否是元空间是是直接内存否是 java垃圾收集器和工作原理 todo 补充具体工作流程 CMS 分代模型新生代老年代 工作流程 初始标记STW并发标记重新标记STW、并发清除 问题 使用标记-清除 回收算法产生内存碎片可能会触发fullgccpu敏感并发阶段占用cpu资源浮动垃圾无法处理标记后产生的新垃圾 G1: 分代模型新生代老年代 工作流程 初始标记STW并发标记重新标记STW、并发清除 问题 使用标记-清除 回收算法产生内存碎片可能会触发fullgccpu敏感并发阶段占用cpu资源浮动垃圾无法处理标记后产生的新垃圾 MySQL主从同步数据机制 主从同步流程 主库写操作写入binlogbinlog dump线程发送给从库从库I/O线程接收写入relay log中从库SQL线程重放 复制方式 异步复制 主库提交事务后立即返回客户端不等待从库确认。吞吐量高但主库故障数据可能丢失。半同步复制 主从提交事务后等待至少一个从库确认接收binlog才返回。降低了数据丢失风险吞吐量下降。全同步复制 主库事务需从库全执行完才返回成功。强一致性系统性能消耗明显。 binlog格式对比差异 格式定义优点缺点statement记录sql语句日志量小UUID随机函数、时区不一致导致主从数据不一致row记录每行数据变更原始值、新值主从数据一致日志量大mixed混合模式默认statement涉及到不确定操作时切换到row平衡性能和一致性- undolog、redolog分别是什么含义用来做什么 先进行一个总体比较 维度undologredolog含义用来做事务的回滚用来做事务的持久化和奔溃恢复日志类型逻辑日志物理日志记录物理页的修改写入时机事务修改数据前事务提交前生命周期异步清理purge线程固定大小循环覆盖 TODO 补充各自特性 Innodb一级索引和二级索引的区别 一级索引又称聚簇索引叶子节点存储的是数据列数据行按照主键顺序物理排列。 一级索引的生成如果显示定义了主键直接使用主键作为_row_id如果有唯一索引则使用唯一索引作为_row_id否则隐式生成_row_id作为一级索引。 二级索引又称非聚簇索引叶子节点存储的主键值。查询时如果使用二级索引需要回表获取具体的数据行。 Innodb和myisam主键索引的区别 innodb主键索引即数据文件物理存储按照主键顺序如果频繁插入无序主键会有页分裂和索引调整性能下降 myisam所有索引均为非聚簇索引主键索引和数据文件分开存储索引文件存储主键值和数据文件地址的偏移量主键索引需要两次IO索引-数据文件。无需维护主键顺序适合频繁插入无事务的场景。 相比于B树B树的优势 在innodb中索引和数据的存储单位都是页innodb中页大小为16K。对于主键索引非叶子节点存储的是主键值下层页的地址指针叶子节点存储的是数据行。 假设数据行大小为1K叶子节点一页16K能存储16行数据记录主键是bigint类型8字节页指针大小为6字节非叶子节点一页能存储 16*1024/86字节11702层能存储的数据行大小为 1170 * 16 187203层能存储的数据行大小为 1170 * 1170 * 16 21902400 2千万 也就是说3层的B树能存储千万的数据而层数相当于IO次数B树能有效减少IO次数。而且叶子节点使用双向链表范围查询高效。 在 InnoDB 的表空间文件中约定 page numbe r为 3 的代表主键索引的根页而在根页偏移量为 64 的地方存放了该 B 树的 page level。 间隙锁解决啥问题 间隙锁解决了可重复读事务隔离级别的幻读问题。如果只有行锁进行事务更新时锁定如下 假如只有 (id2,age‘1’) 这一行数据。 事务开始 1 select * from user where id 1 and id 4; 2 select * from user where id 1 and id 4; 事务结束 查询语句1返回了id2这条数据在执行语句2之前别的事务进行了插入 insert into user (id, age) values(3, ‘3’); 语句1和2的执行结果不一致出现了幻读。此时锁定id2和 1,2) 和2,4)这个范围让其他插入语句不能对此范围操作避免事务执行前后不一致。 Sql调优 调优步骤分析执行计划-优化索引-改写sql-参数调整 执行计划 全表扫描ALL需优化为 ref 或 rangerows预估扫描行数额外操作using filesort文件排序、using temporary临时表 排查思路 检查是否索引失效或者索引缺失驱动表选择不当多次回表索引使用函数或者隐式类型转化导致索引失效 优化思路 唯一性高的数据优先作为索引索引覆盖索引包含查询字段减少回表索引下推在索引中增加条件减少回表次数 SQL优化 避免使用select *减少内存和网络开销分页优化增加定位起始id避免深分页减少数据扫描在join前用条件减少数据量 架构优化 读写分离减少主库压力增加缓存减少数据库访问频率 监控手段 启用慢查询日志实时监控数据库QPS和连接数等指标 执行计划 执行计划中包含的字段 rows扫描行数用来判断是否全表扫描或者扫描行数过多possible keys可能命中的索引type如何查找表数据一般优化到range到ref就可以枚举如下 system查询系统表表中仅有一行数据比如查询information_schema 等系统表。 const通过主键或唯一索引精确匹配单行。 eq_ref多表关联时被驱动表通过主键/唯一索引等值匹配。 ref非唯一索引等值匹配可能返回多行。 ref_or_null类似 ref但包含 NULL 值过滤。 fulltext全文索引检索。 index_merge合并多个索引的结果OR 条件优化减少回表次数。 unique_subquery子查询返回唯一值主键/唯一索引等价于 eq_ref。 index_subquery子查询返回非唯一索引值。 range索引范围扫描BETWEEN、IN、LIKE ‘xxx%’。 index全索引扫描扫描整个二级索引若需回表则退化为 ALL。 all全表扫描逐行检查无索引的 WHERE 条件。 null表示不会访问到表数据从索引中就可以获取所需数据。如查询主键索引的主键字段。 keysql执行中真正用到的索引ref查询执行时通过哪些列或常量与索引进行匹配​​。 ​​核心价值​​ref 字段帮助开发者理解查询如何利用索引识别低效的索引使用场景如函数、未命中索引。 ​​优化方向​​ 确保 ref 显示为列名或常量而非 NULL。 多表连接时检查 ref 是否包含关联字段。 避免在索引列使用函数或隐式类型转换。 可能的取值为 const等值查询使用主键或唯一索引的常量值。如select * from user where id1仅匹配单行效率最高。 列名column​非唯一索引的等值查询或者范围查询。 多列col1col2复合索引的部分列匹配。 函数或表达式索引列参与函数计算可能导致索引失效。 NULL未使用索引条件如全表扫描或未命中索引的查询。 ref 与 key 的区别 key实际使用的索引名称如idx_age; ref索引匹配的具体列或常量如age、const。 extrasql执行过程中额外的细节常见的情况如下 需要优化的情况 Using filesort​使用了文件排序比如sql为select * from user where created_at ‘2024-01-01 00:00:00’ order by created_at, age; 但是created_at上有索引而age上没有此时如果过滤后的数据大小超过了sort_buffer_size就会创建一个临时文件进行排序。如果没有超过sort_buffer_size则会进行内存排序。需要注意的是这个参数是每个连接独享的设置得过大可能会浪费内存资源。 ​​Using temporary​需要创建临时表存储中间结果常见于GROUP BY/DISTINCT/JOIN。优化方案减少查询不必要的字段调大临时表内存参数强制直接使用磁盘临时表省掉内存临时表转换为磁盘临时表的过程 Using join buffer​连接操作使用缓存通常因关联字段无索引大表关联时未命中索引。 积极提示 Using index​覆盖索引查询字段全在索引中无需回表。 Using index condition (ICP)​索引条件下推MySQL 5.6部分条件在存储引擎层过滤WHERE 条件包含索引列的非等值过滤。 Using where​存储引擎返回数据后MySQL 需回表过滤可能涉及回表操作。索引未完全覆盖 WHERE 条件。 Select tables optimized away​优化器跳过表扫描如 COUNT(1) 直接通过索引统计。比如SELECT COUNT(id) FROM orders;id 为主键 Impossible WHERE​WHERE 条件永远不成立如 WHERE 10直接返回不查询。 Distinct​MySQL 自动去重优化 DISTINCT 查询。 数据库和缓存一致性 todo 待补充 缓存击穿如何解决 查询数据库中没有的数据加布隆过滤器提高误判率可以增加位图大小也可以修改hash函数减少hash冲突。 Redis持久化策略 AOF RDB AOFRDB Redis删除了一个key在物理上删除了吗用什么方式解决删除的key访问不到 Redis的io 模型 Kafkaack机制有哪几种情况 什么样的副本能进去isr 如何增加消费速度 Rebalance会重新分配分片中的数据吗
http://www.w-s-a.com/news/76064/

相关文章:

  • 电商网站设计图片素材p2p网站建设石家庄
  • 莲塘网站建设如何文字推广一个婚恋网站
  • 医院网站建设工作汇报WordPress不发邮件了
  • 怎么做外语网站个人网页设计作品ps
  • 网站原型怎么做vps如何建两个网站
  • 商城网站建设源码嘉兴seo计费管理
  • 城乡建设网站证件查询系统wordpress 时间代码
  • php网站建设 关键技术做网站哪家正规
  • 网站开发用什么写得比较好谷歌的英文网站
  • 青岛网站建设公司在哪vivo手机商城
  • 兼职刷客在哪个网站做哪个网站做淘宝客
  • 眼科医院网站开发网络营销特点是什么
  • 提交网站给百度增加wordpress插件
  • 网站建设企业官网体验版是什么Wordpress哪个模板最快
  • 美丽说网站模板湖北可以做网站方案的公司
  • 北京西站进站最新规定建设网站的提成是多少
  • wordpress站点如何加速网站建设描述怎么写
  • 如何免费建造网站免费vi模板网站
  • 商丘做网站多少钱扬州大发网站建设
  • 网站建设哪家性价比高自己做项目的网站
  • 成立一个网站济宁营销型网站建设
  • 南通购物网站建设设计类平台网站
  • 专业网站建设咨询thinkphp网站源码下载
  • 怎么制作一个国外网站网站推广找哪家公司好
  • 免费做网站怎么做网站想在网上卖东西怎么注册
  • 淘宝网站建设的策划书网投怎么做网站
  • 如何免费做公司网站视频网站开发视频
  • 网站后台是怎么更新wordpress 大于2m的xm
  • 制作网页设计软件列表案例营销网站优化seo
  • 住房和建设建设局网站报告长官夫人在捉鬼