Categories
Java
- JVM发生OOM的几种原因
- 序列化
- 内存泄露与内存溢出
- 日志打印
- Java使用JavaScript调用谷歌翻译
- Unsafe
- 深入理解Java中SPI机制
- JGit
- 使用xhtmlrenderer将html转成图片
- Java动态代理机制详解
- Java8新特性
- 再谈引用
- IO模型
- HashMap与Hashtable
- Java中&与&&和|与||运算符
- String与StringBuilder与StringBuffer
- ArrayList与LinkedList
- ConcurrentHashMap
- HashMap
Linux
MyBatis
MySQL
- LeetCode数据库之分数排名
- 深入理解MySQL的Explain
- MySQL索引原理
- MySQL查询优化
- MySQL复制
- MySQL日志
- MySQL之binlog的应用场景与原理深度剖析
- MVCC多版本并发控制
- InnoDB存储引擎中的锁
- 理解事务的4种隔离级别
- MySQL事务的实现
- MySQL三范式与反模式
- MySQL开发技巧
JavaScript
Svn
Git
藏经阁
Nginx
Zookeeper
FastDFS
Tomcat
Spring
Maven
NodeJs
开发工具
Solr
Diamond
并发编程
- 死磕Java并发之线程池
- 死磕Java并发之CountDownLatch与CyclicBarrier、Semaphore
- 死磕Java并发之LockSupport与Condition
- 死磕Java并发之AQS
- 死磕Java并发之阻塞队列
- 死磕Java并发之ThreadLocal
- 死磕Java并发之Volatile
- 死磕Java并发之Synchronized
- 死磕Java并发之CAS
- Java中的锁
Java虚拟机
SpringMVC
HTML
Algorithm
- 指定目录,找出前N个最大文件,并输出文件全路径
- LeetCode之验证回文串
- LeetCode之验证回文串
- 剑指offer之链表中环的入口结点
- 剑指offer之表示数值的字符串
- 剑指offer之字符流中第一个不重复的字符
- 剑指offer之从尾到头打印链表
- 剑指offer之正则表达匹配
- 剑指offer之构建乘积数组
- 剑指offer之替换空格
- 剑指offer之数组中重复的数字
- 剑指offer之二维数组的查找
- LeetCode之二叉树最小深度
- LeetCode之二叉树最大深度
- LeetCode之二叉树的层次遍历
- LeetCode之平衡二叉树
- LeetCode之对称二叉树
Java性能优化
Redis
- Redis高可用集群搭建
- 如何解决Redis主从数据不一致问题
- Redis和Memcached的区别
- Redis分布式锁
- Redis配置文件详解
- Redis常用数据结构
- Redis缓存淘汰机制
- Redis为什么设计成单线程
- Redis持久化
- Redis主从同步
- Redis简单动态字符串
- 跳跃表
数据结构
系统设计
网络编程
架构设计
消息队列
分布式事务
缓存之道
Xhtmlrenderer
Jira
JGit
Selenium
设计模式
Druid
分布式锁
Memcached
中间件
消息中间件
MongoDB
MyBatis
MySQL
- LeetCode数据库之分数排名
- 深入理解MySQL的Explain
- MySQL索引原理
- MySQL查询优化
- MySQL复制
- MySQL日志
- MySQL之binlog的应用场景与原理深度剖析
- MVCC多版本并发控制
- InnoDB存储引擎中的锁
- 理解事务的4种隔离级别
- MySQL事务的实现
- MySQL三范式与反模式
- MySQL开发技巧
JavaScript
Svn
Git
藏经阁
Nginx
Zookeeper
FastDFS
Tomcat
Spring
Maven
NodeJs
开发工具
Solr
Diamond
并发编程
- 死磕Java并发之线程池
- 死磕Java并发之CountDownLatch与CyclicBarrier、Semaphore
- 死磕Java并发之LockSupport与Condition
- 死磕Java并发之AQS
- 死磕Java并发之阻塞队列
- 死磕Java并发之ThreadLocal
- 死磕Java并发之Volatile
- 死磕Java并发之Synchronized
- 死磕Java并发之CAS
- Java中的锁
Java虚拟机
SpringMVC
HTML
Algorithm
- 指定目录,找出前N个最大文件,并输出文件全路径
- LeetCode之验证回文串
- LeetCode之验证回文串
- 剑指offer之链表中环的入口结点
- 剑指offer之表示数值的字符串
- 剑指offer之字符流中第一个不重复的字符
- 剑指offer之从尾到头打印链表
- 剑指offer之正则表达匹配
- 剑指offer之构建乘积数组
- 剑指offer之替换空格
- 剑指offer之数组中重复的数字
- 剑指offer之二维数组的查找
- LeetCode之二叉树最小深度
- LeetCode之二叉树最大深度
- LeetCode之二叉树的层次遍历
- LeetCode之平衡二叉树
- LeetCode之对称二叉树
Java性能优化
Redis
- Redis高可用集群搭建
- 如何解决Redis主从数据不一致问题
- Redis和Memcached的区别
- Redis分布式锁
- Redis配置文件详解
- Redis常用数据结构
- Redis缓存淘汰机制
- Redis为什么设计成单线程
- Redis持久化
- Redis主从同步
- Redis简单动态字符串
- 跳跃表
数据结构
系统设计
网络编程
架构设计
消息队列
分布式事务
缓存之道
Xhtmlrenderer
Jira
JGit
Selenium
设计模式
Druid
分布式锁
Memcached
中间件
消息中间件
MongoDB
- LeetCode数据库之分数排名
- 深入理解MySQL的Explain
- MySQL索引原理
- MySQL查询优化
- MySQL复制
- MySQL日志
- MySQL之binlog的应用场景与原理深度剖析
- MVCC多版本并发控制
- InnoDB存储引擎中的锁
- 理解事务的4种隔离级别
- MySQL事务的实现
- MySQL三范式与反模式
- MySQL开发技巧