- 浏览: 4068 次
- 性别:
- 来自: 天津
最新评论
文章列表
一.搭建启动
1.下载redis到/usr/local目录,这里我们使用的redis版本为4.0.9
cd /usr/local
wget http://download.redis.io/releases/redis-4.0.9.tar.gz
2.解压缩tar.gz到当前目录下
tar zxf redis-4.0.9.tar.gz
3.编译源码
cd redis- ...
请谨记类初始化的顺序
- 博客分类:
- java
写java有些年头了,脸上褶子是从无到有,脑袋上的头发是从有到无,现在想想真的是一如码界苦似海。
今天要说的是关于类初始化时的顺序,也就是大家常说的实例化操作,虽然在平常的工作中是很少会用到的,但对于反射还是很有帮助的。我和同事为了方便记下这个顺序,总结成为三句话。
先静态,再非静态
先父类,再子类
其他按照代码顺序依次执行
ps:以上均按照1至3的顺序执行
Redis场景设计-常规设计
- 博客分类:
- Redis
在我们使用缓存时,无非是两种情况:存和取。下面我们先说说取缓存时的流程。
下图是比较经典的取缓存场景:
通过上图我们可以知道整个流程需要如下几点:
1.用户访问【Web服务层】获取数据;
2.【Web服务层】向【缓存层】要数据;
3-1.如果【缓存层】有数据:直接将数据返回给【Web服务层】;
3-2.如果【缓存层】没有数据(一般情况是数据设置了时效,且已过期):【Web服务层】向【存储层】要数据,且将获取到的数据再写入进【缓存层】,接着【存储层】将数据返给【Web服务层】
获取数据的流程其实就是一个抄作业的过程,小w【Web服务层 ...
JAVA反射会降低你的程序性能吗
- 博客分类:
- 转载
早两天写了《从把三千行代码重构成15行代码谈起》这篇文章,看到评论中有一些同学的回复还是在质疑反射的性能,好像程序用上了反射,就像开上了拖拉机似的。本来我觉得这个话题没有什么好讨论的了,网上已经有太多太多的文章在说这个问题,有疑问的大可以到网上找相关的文章来查阅。但是,我想起来我刚编程的时候,也是遇到这种困惑到网上一查找,从各种角度阐述的都有,本质基本都说出来了,但是还是有很多人不理解,我这里就从我的角度再说一遍。反射肯定比直接调用慢这个毋庸置疑了,我这篇文章也不是证明反射有多高效的。现在的快递哥很火,那我们就举个快递的例子。如果快递员就在你住的小区,那么你报一个地址:xx栋xx号,那么快递 ...
定义:保证一个类有且仅有一个实例,并且自行实例化(无需手动new)向整个系统提供。
通过单例模式可以保证系统内只会存在该类的一个实例,从而方便了对实例数量的控制和系统资源的节约。如果希望在系统中,某个类的实例只存在一个,那单例模式是最好的解决方案。所谓一山不能容二虎,一夫不能有二妻,就是这个道理。
单例模式要素:
1.私有构造方法
2.私有静态引用指向自己实例
3.以自己实例为返回值的公有静态方法
使用场景:
1.要求生成唯一序列号的环境
2.在整个项目中需要一个共享访问点或共享数据,例如一个Web页面上的计数器,可以不用把每次 ...
java.util.List
- 博客分类:
- 每天一个类
地球人都知道java.util.List(以下称List)是java集合(俗成Collection)中的一部分,是一个继承了Collection接口的接口,它有诸多特性,所以使用的场景会很多。下面我们先简单了解下它都有哪些特性。
元素有序;
元素可重复;
每个元素都有自己的顺序索引。
List主要包含了3个子类,ArrayList、Vector、LinkedList。接下来我们用一张图来说明下List的结构。
从上图中我可可以看到完整的List的结构,且List中的子类都有自己的特性和不同的使用场景
首先,java.util.ArrayList大家众所周知,是一种数组集合,它的特点是有序、可重复、查询快、线程不安全。虽然优点很多,但是往往在多线程的场景中,其使用方法就要多考虑了,该加锁时就需要毫不犹豫的加上锁。
然而,除了ArrayList外,还有个集合类与其很像,那就是java.util.Vector。以下来说说他们的共同点与不同点。
相同点
都是数组结构;
都继承了AbstractList,实现了List<E>, RandomAccess, Cloneable, java.io.Serializable。
不同点
...