- 博客(14)
- 资源 (17)
- 收藏
- 关注
转载 你是怎么对Java服务进行优化的?
来源:http://t.cn/AiCTERJzJava 应用性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢、接口超时,服务器负载高、并发数低,数据库频繁死锁等。...
2019-08-28 08:00:00 994
转载 MySQL服务器参数配置
本文是笔者整理了慕课网的《全面讲解MySQL架构设计》的第二章内容,提取出来的博客,方便在实际生产用按照属性条目,一条条进行配置和调优。课程链接:https://coding.imooc.com/class/chapter/49.html#AnchorMySQL服务器参数介绍mysql参数介绍(客户端中执行),尽量只修改session级别的参数。全局参数(新连接的session才会...
2019-08-23 13:01:29 2442
原创 explain的属性详解与提速百倍的优化示例
在MySQL中,可以通过EXPLAIN命令获取MySQL如何执行SELECT语句的信息,包括在SELECT语句执行过程中表如何连接和连接的顺序。EXPLAIN命令虽然没有提供任何优化建议,但它能够提供重要的信息有助于调优决策。EXPLAIN只能解释SELECT操作,其他操作要重写为SELECT后查看执行计划。使用方法在要查询的SQL语句前加上explain,然后执行...
2019-08-19 08:00:00 2642 1
转载 MySQL索引原理及慢查询优化[转]
背景MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最...
2019-08-18 13:11:49 527
转载 常见性能优化策略的总结
本文要感谢我职级评定过程中的一位评委,他建议把之前所做的各种性能优化的案例和方案加以提炼、总结,以文档的形式沉淀下来,并在内部进行分享。力求达到如下效果:1. 形成可实践...
2019-08-18 08:00:00 111
转载 漫画:什么是插入排序?
————— 第二天 —————————————————人们如何进行扑克牌的排序呢?举个例子,比如我手中有红桃6,7,9,10这四张牌,已经处于升序排列:这时候,我又抓...
2019-08-17 08:00:00 81
原创 彻底搞懂MySQL的索引
前言MyISAM和InnoDB是MySQL最常用的两个存储引擎,本文将进行详尽的介绍和对比。对于MySQL其余几种存储引擎,请读者自行搜索学习。本文会图解两种引擎的索引结构区别,然后讲解索引的原理,理解本文内容,就能够理解索引优化的各种原则的背后原因。限于篇幅,本篇没有介绍的知识,会在后续博客将逐一讲解。例如:MySQL引擎的锁机制、多列索引的生效规则、索引优化等主题。下面SQL在...
2019-08-12 08:00:00 3096 1
原创 彻底搞懂java程序的初始化顺序
使用场景在java程序中,当实例化对象时,对象的所在类的所有成员变量首先要进行初始化,只有当所有类成员完成初始化后,才会调用对象所在类的构造函数创建对象。原则 变量优先于块、静态优先于非静态。 父类优先于派生类初始化。 按照成员变量定义的顺序来进行初始化,即使变量定义散布于方法定义之中,它们仍然在任何方法(包括构造器)被调用前初始化。 初始化顺序父类...
2019-08-09 08:00:00 3005
转载 Mina的WebSocket问题排查
笔者上个项目经历过的一个bug。项目使用mina进行收发包,收发包的代码是直接从Apache讨论组那边拷贝过来的。在后来的开发过程中,就出现了不必现的网络包读取失败,导致websocket连接中断。过程和下面转载的文章提到的差不多,结论是一样的,所以记录下来,方便mina使用者跳过这个坑。转载请注明文章出处:https://tlanyan.me/resolve-mina-websocke...
2019-08-07 10:01:01 980
原创 彻底搞懂Java的等待-通知(wait-notify)机制
线程的生命周期转换 新建状态(New):新建一个线程对象。 就绪/可运行状态(Runnable):线程对象创建后,其他线程调用了该对象的start方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。 运行状态(Running):就绪状态的线程获得CPU并执行程序代码。 阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用...
2019-08-06 08:00:00 12755 6
原创 彻底搞懂Reactor模型和Proactor模型
在高性能的I/O设计中,有两个著名的模型:Reactor模型和Proactor模型,其中Reactor模型用于同步I/O,而Proactor模型运用于异步I/O操作。想要了解两种模型,需要了解一些IO、同步异步的基础知识,点击查看服务端的线程模型无论是Reactor模型还是Proactor模型,对于支持多连接的服务器,一般可以总结为2种fd和3种事件,如下图:2种fd l...
2019-08-05 08:00:00 3842
原创 彻底搞懂Redis的线程模型
为了接下来一篇博客,能使读者更加完整地学习线程模型,所以本文对Redis的线程模型进行必要的讲解。由于《Redis设计与实现》对于Redis的讲解简练优雅,所以本文大部分内容节选自本书,也欢迎对Redis有更多底层了解需求的读者,自行购买学习。文件事件处理器Redis基于Reactor模式开发了网络事件处理器,这个处理器被称为文件事件处理器。它的组成结构为4部分:多个套接字、IO多...
2019-08-03 08:00:00 25944 6
原创 彻底搞懂Java的网络IO
IO是Input/Output的缩写。Unix网络编程中有五种IO模型: blocking IO(阻塞IO) nonblocking IO(非阻塞IO) IO multiplexing(多路复用IO) signal driven IO(信号驱动IO) asynchronous IO(异步IO) 背景 java.io包基于流模型实现,提供Fil...
2019-08-02 08:00:00 3955 1
原创 彻底搞懂Netty高性能之零拷贝
作为Java网络编程学习者,不仅要知道NIO,还一定要学习Mina和Netty这两个优秀的网络框架。作为上一篇NIO效率高的原理之零拷贝与直接内存映射的补充,本文将针对Netty的零拷贝特性进行详细分析。Netty高性能的原因Netty作为异步事件驱动的网络框架,高性能主要来自于其I/O模型和线程处理模型,前者决定如何收发数据,后者决定如何处理数据。Netty高性能的原因总结,智者见智...
2019-08-01 08:00:00 5599
世界地理(大陆和港澳台同级关系版).sql
2020-10-09
世界地理(大陆和港澳台层级关系版).sql
2020-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人