Mingo's Blog

「江湖未静 不得让位」

设计模式之桥接模式

模式介绍 比较冷门的模式, 见过比较少, 后续补充 代码实现 典型应用

Mysql InnoDB引擎的一些使用总结

InnoDB索引树 先上图, InnoDB索引树大概长这样: InnoDB的索引采用的是B+树数据结构, 聚集索引, 每个索引分别对应一颗索引树 其中主键索引树的叶子结点里存储的是每行数据 InnoDB的表必须要有主键; 如果没有主键, InnoDB会隐式指定一列做为主键, 不可见 非主键索引树的叶子节点存储的是主键索引的指针 聚集索引对非聚集索引的优势 参见这篇文章 ...

Mysql数据类型的大小及范围

本文列举了Mysql里常见的数据类型占用空间大小及表达的范围, 方便工作中查看 数字型 type size signed range unsigned range TINYINT 1 byte (-128, 127) (0, 255) ...

MySQL性能优化

本文总结一些常见的Mysql优化思路及具体手段 优化方向 软件方面 表创建时的考量 SQL优化的奇淫技巧 索引层面 分库分表 Mysql方面 升级 连接数 缓存 硬件方面 硬盘 内存 CPU ...

Java对象内存布局

首先直接抛出问题 Unsafe.getInt(obj, fieldOffset)中的fieldOffset是什么, 类似还有compareAndSwapX(obj, fieldOffset, oldValue, newValue)? 如何实现原子读, 原子写的 Java反射是怎么实现 Java synchronized锁是如何实现 要解答这些问题, 需要了解Java对...

Java Unsafe类使用说明

Unsafe类完整限定名是sun.misc.Unsafe, 从包名可以看出, Unsafe并不符合J2SE的规范, 只是一个sun公司的内部实现 在JDK1.8版本里, 共计有88个native类型的API Java并发包的实现都是基于Unsafe类, 其中使用最多的是以下几个API objectFieldOffset(field): 获取字段偏移量 getXXXVolati...

线上JAVA进程CPU高处理过程

前几日,收到线程服务器CPU超过50%的报警, 赶紧秒开VPN登上服务器 top 首先通过top命令, 查看服务器的各项指标, 比如CPU使用情况, 内存使用情况, 服务器的负载; 由于当时情况紧急,没空截图, 当时的情况是负载在7~10之间, CPU使用率在400~600%, 内存率正常 找到进程ID, 比如3233, 再找到进程内负载比较高的线程ID top -Hp 3...

Python学习(3) - 工具类

Json 通过json库我们可以把一个对象转为格式是json的字符串 也可以把格式是json的字符串转为对象 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import json person = {'name':'cm', 'age':18, 'like': ['programing', 'read', 'daze']} # type(per...

Python学习(2) - Http

Http概述 HTTP是一个客户端和服务器端请求和应答的标准 客户端是指发起请求的一方, 不仅限手机,浏览器等设置, 可以是服务器A请求服务器B 服务端是指收到请求并处理请求的一方 HttpRequest 请求包含请求头(Header), 请求体(Body) Header包含的重要信息 Content-Type: 页面内容的格式, appl...

Python学习(1) - 基本语法

基本介绍 Python以语法优雅, 入门容易, 出原型快著称; 在去年,浙江省信息技术新教材已经开始采用Python做为编程学习入门语言; 在国外很多大学的计算机相关专业第一门编程语言大多数采用Python 另外在编程行业流行很广的一句话, “人生苦短,我用Python” 也从侧面证明了大家对Python的认可 由于Python受到大量程序员的爱好, 大量的程序员给Python贡献了...