这是我们研究Tomcat的第四篇文章,前三篇文章我们搭建了源码框架,了解了tomcat的大致的设计架构, 还写了一个简单的服务器。按照我们最初订的计划,今天,我们要开始研究t...
前言 嗯,我应该是有一段实现没有写过博客了,在写完了细说Spring——AOP详解(AOP概览)之后,我发现我不知道该怎么写AOP这一部分,所以就把写博客这件事给放下了,但是...
一、主从模式 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据。但是由于数据...
Java 在运行时识别对象和类的信息,主要有两种方式:一种是传统的RTTI(Run-Time Type Identification),它假定在编译时已经知道了所有的类型信息...
JPA概述 JPA是什么 JPA (Java Persistence API)Java持久化API。是一套Sun公司Java官方制定的ORM方案,是规范,是标准 ,sun公司...
1. 算法背景 状态复制(State Replication). 对于一组节点,如果所有节点均以相同的顺序执行一个(可能是无限的)命令序列c1, c2, c3, ..., 则...
我们这篇文章来了解一下synchronized和ReentrantLock两个同步锁的区别。 相似点:这两个同步方式有很多相似之处,他们都是加锁方式同步,而且都是阻塞式同步,...
字节码 我们知道C程序可以直接编译成为二进制文件交由硬件系统执行。而Java程序则不然,一个A.java文件经过编译以后生成的是A.class文件,而这个A.class并不是...
写在前面 当在10亿数据进行不到30次比较就能查找到目标时,不禁感叹编程之魅力!人类之伟大呀! —— 学红黑树有感。 终于,在学习了几天的红黑树相关的知识后,我想把我所学所想...
一 并发编程相关 引用了一些博客的资料,并非全部原创。 前言: 只要数据需要被跨线程共享,就需要进行恰当的同步。否则可能会访问到过期值。java允许将64位的读或写操作划分为...
晔哥太强了!!
初学JVM(1):初识JVM一、初识JVM 我们写好一份Java代码,要将其部署到线上的机器去运行,就要将其打包成.jar或.war后缀的包,再进行部署。其中关键的一步是“编译”,也就是要把.jav...
为了换取性能,JVM在内置锁上做了非常多的优化,膨胀式的锁分配策略就是其一。理解偏向锁、轻量级锁、重量级锁的要解决的基本问题,几种锁的分配和膨胀过程,有助于编写并优化基于锁的...