Bug1024

Bugs are eveyrwhere

Java Http客户端之OkHttp

OkHttp

HTTP客户端 java.net 包中提供了一些基本的方法,使用过 http 协议来访问网络资源,但是操作起来比较繁琐不够灵活,因此诞生了一些优秀的HTTP客户端工具,包括 Apache HttpClient、OkHttp,在笔者接触过的项目里又以 OkHttp 使用更加广泛,所以本次重点介绍 OkHttp OkHttp 关于 OkHttp 这里直接贴官网介绍(https://square...

Netty学习笔记

Netty权威指南学习笔记

UNIX网络编程IO模型分类 阻塞IO 非阻塞IO IO复用(select/poll/epoll) 信号驱动 异步IO poll相比select优势 FD数目不受限制 IO效率不随着FD数目增加而线性下降 使用mmap加速内核与用户空间的消息传递 API更为简单 套接字read接口阻塞场景 有数据可读 可用数据已经读取完毕 发送空...

2017年总结

不是总结的总结

转眼又一年,北漂的第一年。与往年类似,又到了年终总结的日子。 过去一年达成的目标 成功转型Java,参与了亿级流量的业务系统重构,对于分布式服务的有了更全面的认识 开始学习PHP内核,初步掌握了开发简单扩展的能力 系统地重新学习了MySQL与Redis,对于数据持久化和缓存应用有了更深的了解 GitHub连击200天达成,最长记录从1月1日持续到8月5日,累计217天 ...

PHP7

PHP7性能

新特性 标量类型声明 字符串(string), 整数 (int), 浮点数 (float), 以及布尔值 (bool)。它们扩充了PHP5中引入的其他类型:类名,接口,数组和 回调类型 返回值类型声明 类似于参数类型声明,返回类型声明指明了函数返回值的类型 null合并运算符 考虑到日常使用到大量三元表达式和isset()的情况,添加了null合并运算符??这个语法糖。如果变量...

MySQL调优

MySQL常用调优策略

硬件层相关优化 修改服务器BIOS设置 选择DAPC(Performance Per Wait Optimized)模式,发挥CPU最大性能 Memory Frequency(内存频率)选择Maximum Performance(最佳性能) 内存设置菜单中,启用Node Interleaving,避免NUMA问题 磁盘I/O相关 使用SSD盘 如果是磁盘阵列存储,...

Raid级别

Raid级别结构

RAID(Redundent Array of Inexpensive Disks),廉价冗余磁盘阵列,后来RAID中的I被改作了Independent,就成了“独立冗余磁盘阵列”,但这只是名称的变化,实质性的内容并没有改变。可以把RAID理解成一种使用磁盘驱动器的方法,它将一组磁盘驱动器用某种逻辑方式联系起来,作为逻辑上的一个磁盘驱动器来使用。 RAID0 无冗余无校验的磁盘阵列...

分库分表

分库分表的意义

众所周知,当业务量达到一定程度时,单库单表已经无法hold住压力,这个时候往往需要根据业务进行分库分表。 分表类型 垂直拆分 即大表拆小表,将不经常使用或者长度较大的字段拆分出去放到“副表”中 水平拆分 即横向分表,将表中不同的数据行按照一定规律分布到不同的数据库表中 分表规则 通常根据主键或者业务id等字段进行hash和取模,得到相应的db和table,当然也可以将id和库...

技术成长

写业务代码如何成长

工作3年多了,自己也算得上是一个合格的crud工程师。身边总是会听到类似的话语,写业务代码没有什么技术含量。不过确实也是如此,业务代码无非就是为了实现产品功能,写多了对自身水平提升帮助不大。 因此作为一个业务开发为主的工程师,在日常开发之余更应该去思考如何提高技术水平。借鉴了一些别人分享的人生经验,结合我自己的经历和理解,做了一个微小的的整理工作。 Learning 看书、google、看...

Java基础知识点

Java基础

基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie 和 Session的区别 fail-fast 与 fail-safe 机制有什么区别 get 和 post请求的区别 Interface 与 abst...

MySQL数据类型

MySQL系列一

前言 框架用的多了,已经不会写野生的SQL语句了,于是决定系统地阅读一下MySQL的官方文档。 常用类型比较 类型 范围 存储空间 备注 BIT(M) [1, 64]越界后默认值为1 (M+7)/8 bytes   ...