摘要:
JVM可以使用的内存分外2种:堆内存和堆外内存. 堆内存完全由JVM负责分配和释放,如果程序没有缺陷代码导致内存泄露,那么就不会遇到java.lang.OutOfMemoryError这个错误。 使用堆外内存,就是为了能直接分配和释放内存,提高效率。JDK5.0之后,代码中能直接操作本地内存的方式有 阅读全文
摘要:
数据库的读写分离简单的说是把对数据库的读和写操作分开对应不同的数据库服务器,这样能有效地减轻数据库压力,也能减轻io压力。 主(master)数据库提供写操作,从(slave)数据库提供读操作,其实在很多系统中,主要是读的操作。当主(master)数据库进行写操作时,数据要同步到从(slave)的数... 阅读全文
摘要:
Oracle11g 增加了虚拟列的新特性,具体说明如下:1、只能在堆组织表(普通表)上创建虚拟列,不能在索引组织表、外部表、临时表上创建虚拟列;2、虚拟列不能是LOB或者RAW类型;3、虚拟列的值并不是真实存在的,只有用到时,才根据表达式计算出虚拟列的值,磁盘上并不存放。虚拟列的值由ORACLE根据... 阅读全文
摘要:
事务 redis的事务是一组命令的集合。事务同命令一样都是redis的最小执行单元,一个事务中的命令要么执行要么都不执行。 首先需要multi命令来开始事务,用exec命令来执行事务。 127.0.0.1:6379> multi OK 127.0.0.1:6379> hset user:1 name 阅读全文
摘要:
面试过一些应聘者,当我问到为什么换工作的时候,他们都会告诉我,现在的工作没有挑战,无聊,所以想换一个有挑战的工作。于是我问了一下他的工作情况,发现那些有挑战的东西他还没有搞懂。我总是为有这样的认识的朋友感到惋惜,因为我总是认为有挑战的东西无处不在啊,不能因为工作上没有,自己就放纵了自己。比如,面试... 阅读全文
摘要:
一、懒汉式Singleton1234567891011// version 1.0 public class Singleton { private static Singleton singleton = null;比较懒,在类加载时,不创建实例,因此类加载速度快,但运行时获取对象的速度慢 pr... 阅读全文
摘要:
分布式领域CAP理论具体如下:Consistency(一致性):数据一致更新,所有数据变动都是同步的;Availability(可用性):好的响应性能;Partition tolerance(分区容错性):可靠性;定理:任何分布式系统只可同时满足二点,没法三者兼顾。忠告:架构师不要将精力浪费在如何设... 阅读全文
摘要:
gradle这几年发展迅猛,github越来越多的项目都开始采用gradle来构建了,但是并不是所有人都对gradle很熟悉,下面的方法可以把gradle转成maven项目,前提gradle项目目录结构保持跟maven一样的约定,即/src/main/java这一套。 一、gradle --> ma 阅读全文
摘要:
在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个人见解,千万级规模的网站感觉数量级是非常大的,对这个数量级我们战略上 要重视它,战术上又要藐视它。先举个例子感受一下千万级到底是什么数量级?现在很流行的优步(Uber),从媒体公布的信息看,它每天接单量平均在百万左右, 假如每天有10个小... 阅读全文
摘要:
当客户端提交请求至服务端时,Struts2的FileterDispatcher(核心控制器)会负责拦截,并且内置拦截器会负责对请求中的参数做一系列的预处理工作(包含:解析参数、类型转换、DTO封装等)。然后提交给具体的Action(业务控制器)调用业务实现直至返回处理结果,最后Action根据处理... 阅读全文