摘要: 1. Openresty相关文档 1)openrestry中文文档:http://openresty.org/cn/ 2)openrestry权威指南github地址:https://github.com/moonbingbing/openresty-best-practices 3)openres 阅读全文
posted @ 2020-03-26 23:00 HappyDeveloper 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 1)锁的概念 同步方式: 锁 原子变量 volatile 锁的性能优化 缩小锁的范围 减小锁的粒度 锁分段 锁的分类 公平锁:synchronized, ReentrantLock 非公平锁: ReentrantLock, CAS(自旋锁) 独享锁: synchronized, ReentrantL 阅读全文
posted @ 2020-03-26 22:56 HappyDeveloper 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 1. 缓存的读写模式和分类 1)缓存的读写模式 (1) 缓存有3种读写模式 Cache Aside(旁路缓存) Read/Write(读写穿透) Write Behind Caching(异步缓存写入) (2) Cache Aside 写过程:更新DB => 删除cache => DB驱动缓存数据更 阅读全文
posted @ 2020-03-26 22:54 HappyDeveloper 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 1. mysql数据库隔离级别与隔离性关系 参考:https://www.cnblogs.com/ghl666/p/11930683.html 2. 事务的特性 3. 优秀的TCC框架特点 持久化:多方式持久化 重试:可配置的重试策略 幂等性:接口要保持幂等性 1)TCC transaction: 阅读全文
posted @ 2020-03-26 22:50 HappyDeveloper 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 1. 分库分表解决方案 数据库中间件 Mycat shardingSphere 应用层中间件 当当网:sharding-jdbc 阿里:TDDL proxy中间件 社区:Mycat-cobar 数字:Atlas 百度:heinsberge youtube:vitess 金山:kingshard 商业 阅读全文
posted @ 2020-03-26 22:43 HappyDeveloper 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 1. 消息系统的技术生态全景 2. 常见消息队列资源推荐 1) RocketMQ RocketMQ 官方文档: https://rocketmq.apache.org/docs/quick-start/ RocketMQ中国开发者中心:http://rocketmq.cloud/zh-cn/ 2)k 阅读全文
posted @ 2020-03-26 22:36 HappyDeveloper 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 1)引用的整体组织架构 2)引用类型 强引用:对于强引用对象,即使出现OOM也不会进行回收; 软引用:内存够用就保存,不够用就回收; 弱引用:无论内存是否够用,都回收(WeakHashMap); 虚引用:不能单独使用也不能通过它访问对象,虚引用必须与引用队列(ReferenceQueue)联合使用, 阅读全文
posted @ 2020-03-26 22:25 HappyDeveloper 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 1. 分析思路 结合Linux和JDK命令一块分析 1)先用top命令查找cpu占用最高的进程; 2)ps -ef 或者jps进一步定位进程详情(具体什么程序); 3)定位到具体的线程或者代码: ps -mp 进程 -o THREAD,tid,time -m:显示所有的线程 -p:pid进程使用cp 阅读全文
posted @ 2020-03-26 22:23 HappyDeveloper 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 书籍名称 购买链接 《Python编程(第4版 套装上下册)》 https://item.jd.com/11598704.html 《Python 3网络爬虫开发实战》 https://item.jd.com/12333540.html#crumb-wrap Python Cookbook(第3版) 阅读全文
posted @ 2020-03-26 22:20 HappyDeveloper 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 1. 常用词含义 watch:会持续收到该项目的动态 fork:复制某个项目到自己的Github仓库中 star:可以理解为点赞 clone:将项目下载至本地 follow:关注你感兴趣的作者,会收到他们的动态 2. in关键词 公式 xxx关键词 in:name 或 description 或 r 阅读全文
posted @ 2020-03-26 22:17 HappyDeveloper 阅读(1961) 评论(0) 推荐(0) 编辑
摘要: 1. 锁 1) Lock与synchronized的区别 Lock是接口,而synchronized是java中的关键字; synchronized不会导致死锁现象发生,而Lock可能造成死锁现象; Lock可以让等待锁的线程响应中断,而synchronized却不行; 通过Lock可以知道有没有成 阅读全文
posted @ 2020-03-26 21:56 HappyDeveloper 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 1. OOM 1) 常见OOM异常类型 (1) StackOverFlowError 栈内存溢出,用于深度方法调用(循环递归); (2) OutOfMemoryError:Java heap space 用于变量申请的空间大于jvm的最大值; (3) OutOfMemoryError: GC ove 阅读全文
posted @ 2020-03-26 21:55 HappyDeveloper 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 1)JVM体系概述 JVM体系结构概览 JVM参数调优及相关参数 JVM的参数类型 标配参数:java-version; java -help X参数:-Xint 解释执行; -Xcomp 第一次使用就编译; -Xmixed 混合模式(先编译再执行) XX参数: Boolean类型:-XX:(+|- 阅读全文
posted @ 2020-03-26 17:29 HappyDeveloper 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 一、GO基础 1. GOPATH 2. GO 命令源码文件 1)命令源码文件定义: 命令源码文件是程序的运行入口,如果一个源码文件声明属于main包,并且包含一个无参数声明的main函数,那么它就是命令源码文件 2)命令源码文件接收参数的包: GO语言标准库中有一个代码包flag专门用于接收和解析程 阅读全文
posted @ 2020-03-26 17:10 HappyDeveloper 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 参考阿里云Redis设计规范 一、键值设计 1. key名设计 (1)【建议】: 可读性和可管理性 以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id (2)【建议】:简洁性 保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如: (3)【强制 阅读全文
posted @ 2020-03-26 16:27 HappyDeveloper 阅读(474) 评论(0) 推荐(0) 编辑