摘要:
本文是学习 Spring Boot 的一些准备知识. Spring Web MVC Spring Web MVC 的两个Context 如下图所示, 基于 Servlet 的 Spring Web MVC 启动时会创建两个上下文, 即 和 . 前者是 引导创建的, 后者由 创建, 包含服务,数据库操 阅读全文
摘要:
来自小马哥公开课 创建线程 如何创建? 归根到底 并调用 是java创建并运行线程的唯一方式. ,`Callable Thread`, 还有lamda表达式等类似代码其实都是线程的使用方式. 相比较而言, 创建 进程 的Java方式是使用 方法实现. 如何销毁? Java正在执行的线程只有在执行完毕 阅读全文
摘要:
分库分表是为了应对业务系统在高并发,大数据量背景下而对数据存储进行的优化. 关于分表, 本人使用过SQLSERVER数据库有分区表, 表分区比起人为按一定策略分表有一定优势, 而且生产环境中表分区也一直运行良好. sqlserver2000有分区视图的概念, 而分区视图实际就是建立在分表基础上的, 阅读全文
摘要:
nginx偏运维, 不过作为开发应该了解它能做什么事情, 其作为技术架构的一部分必不可少 正向代理和反向代理 正向代理是代理的客户端, 反向代理是代理的服务端. nginx就是一款可以作反向代理的web服务器. 常见的Web服务器 Apache, Nginx,Tomcat,WebLogic, iis 阅读全文
摘要:
持久化 Redis 支持持久化, 其持久化数据有两种方式. 两种可以同时使用. 如果同时使用, Reids 在重启时将使用 AOF 方式来还原数据. RDB 按照一定策略定时同步内存的数据到磁盘.文件名 snapshot: 快照复制. Redis在指定情况下触发快照: (1) 按配置的规则;(2) 阅读全文
摘要:
分布式锁 数据库 数据库是使用唯一索引不允许重复的特性(或自定义实现如乐观锁). 但持有锁的进程如果释放锁时异常则容易导致死锁. zookeeper 使用临时节点, watcher可以获得节点被删除的通知, 当客户端连接失效后, 临时节点清除, 所以这种情况下不会有死锁发生. redis setNX 阅读全文
摘要:
redis是一个开源的, 内存数据结构存储, 一般用来作为数据库,缓存和消息代理. Redis的优势 多种数据结构 1. 字符类型String 2. 散列类型Hash 3. 列表类型List 4. 集合类型Set 5. 有序集合类型SortedSet 功能丰富 1. 超时时间设置 2. 可以通过列表 阅读全文
摘要:
分布式系列九: kafka概念 官网上的介绍是kafka是apache的一种分布式流处理平台. 最初由Linkedin开发, 使用Scala编写. 具有高性能,高吞吐量的特定. 包含三个关键能力: 发布/订阅, 类似于消息队列或企业消息系统; 容错容忍 即时处理流记录 适合的应用场景 因为其高性能, 阅读全文
摘要:
这是从网上看到的一套java面试题, 答案只是一个大概, 另外题目质量参差不齐, 斟酌参考(JVM的部分暂时没有答案) 一、Java 基础 1. JDK 和 JRE 有什么区别? 答: JDK(Java Development Kit)是java开发工具包, 是针对开发人员提供的一套开发环境, 其中 阅读全文
摘要:
分布式系列七: 分布式事务理论 事务是将一组操作作为一个整体执行, 这组操作要么成功,要么失败, 不存在部分成功的情况, 分布式事务是为了解决在分布式环境下各节点之间的数据一致性问题. 数据库本地事务 事务四大特性: 原子性(Atomicity): 事务的一组操作要么全部执行成功, 要么其中有失败后 阅读全文