摘要:
第一章: 创建和销毁对象 类可以通过静态工厂方法来提供客户端,而不是通过构造器 优点: 自定义工厂名称,提高可读性 可以工厂里搞单例 控制实例类是哪种子类 总之是更加灵活,可读性更高 缺点: 有可能会导致类无法子类化,因为一般搞工厂,就把构造器私有或受保护了 有心的使用者会困惑,总是想看看到底是咋实 阅读全文
摘要:
学习spring源码主框架,从源码角度开发学习Spring bean的生命周期。 spring创建bean方法 org.springframework.beans.factory.support.AbstractBeanFactory getBean(java.lang.String, java.l 阅读全文
摘要:
Redis持久化 RDB快照 在默认情况下,Redis将内存数据库快照保存到dump.rdb的二进制文件中。 可以对Redis进行设置,让它在“N秒内数据集至少有N个改动”, 这一条件被满足时,自动保存一次数据集。比如说:让Redis满足“60秒内至少有1000个键被改动”这一个条件时,自动保存一次 阅读全文
摘要:
Redis安装 Redis核心数据结构以及使用场景 String结构 字符串常用操作 原子加减 String应用场景 这个是微信公众号的文章阅读量数量的统计,可以通过redis的string数据结构来解决。使用incr原子操作命令,redis的key是article:readcount:{文章id} 阅读全文
摘要:
一、zookeeper概要、背景及作用 zookeeper产生背景: 项目从单体到分布式转变之后,将会产生多个节点之间协同的问题。如: 1. 每天的定时任务由谁哪个节点来执行? 2. RPC调用时的服务发现? 3. 如何保证并发请求的幂等 4. .... 这些问题可以统一归纳为多节点协调问题,如果靠 阅读全文
摘要:
尽可能让一切变得简单,用最简单的方式完成工作 能用最少的概念,最精简易懂的概念模型来抽象系统,多一个概念就多一份别人了解系统以及维护系统的复杂度,别人也会质疑多一个概念的意义所在,自己如果没想清楚就容易被diss。 特别是在类的设计中,会发现其实很多时候用一个类就可以表达要干的单一职责了,每个类职责 阅读全文
摘要:
实现的方式概述 注意以下的热部署方式在IDEA是默认没有打开自动编译的,手动编译需要快捷键(Ctrl+Shift+F9),自动编译的修改配置如下:(注意刷新不要太快,会有1 2秒延迟) File Settings Compiler Build Project automatically spring 阅读全文
摘要:
类记载过程 多个java文件经过编译打包生成可运行的jar包,最终由java命令运行某个主类的main函数启动程序,这里首先需要通过类加载器把主类加载到jvm。 主类在运行过程中如果使用到其他类,会逐步加载这些类。 注意,jar包里的类不是一次性全部加载的,是使用时才加载的。 从类加载到使用整个过程 阅读全文
摘要:
之前多篇文章从mysql的底层结构分析、sql语句的分析器以及sql从优化底层分析, 还有工作中常用的sql优化小知识点。面试各大互联网公司必问的mysql锁和事务隔离级别,这篇文章给你打神助攻,一飞冲天。 锁定义 锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中,除了传统的计算资源 阅读全文
摘要:
``` 示例表 CREATE TABLE ( int(11) NOT NULL AUTO_INCREMENT, varchar(24) NOT NULL DEFAULT '' COMMENT '姓名', int(20) NOT NULL DEFAULT '0' COMMENT '年龄', varch 阅读全文