自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 对于B+树的整理

卫星数据:索引元素所指向的数据记录(例如某一行)

2018-10-12 18:40:51 180

原创 简单解析一下适配器模式。

适配器模式就是用一个适配器的中间件,用于连接不匹配的两者。共有三个模式:类适配器模式,对象适配器模式,接口适配器模式。类适配器模式:public class Adapter(适配器) extends Usber(usb实现类) implements Ps2 (ps2接口){ 2 3 @Override4 public void isPs2() {5 ...

2018-10-06 14:31:34 236

原创 项目中是如何运用消息队列的?

一般发送短信,发送邮件等和主逻辑无关的功能安排消息队列处理,用来处理一些非常耗时的,阻塞通信的任务。消息的发送者把消息放进消息队列后可以立即返回。发送和接受双方不需要相互了解 发送和接受不需要同时在线 一次的发送可以多次消费 发送不用主动找接受,可以交给消息队列充当路由...

2018-10-06 14:24:55 1811

原创 一般有多少可以实现定时任务的方法?

1)Timer:例:Timer t = new Timer();t.scheduleAtFixedRate(new TimerTask() {     @Override     public void run() {        System.out.println("1111");}},0,1000); 2)ScheduledExecutorServ...

2018-10-06 14:20:05 172

原创 quarz是如何实现定时任务的?

quarz中一个.jar发布文件,里面有quarz所有的核心功能,主要是schedule接口,实现任务的调度。其中主要由几个类:SimpleTrigger:指定任务执行。CronTrigger:循环。包含的角色:job(要执行的作业),trigger(时间执行规则)一个job可以绑定多个trigger,但一个trigger对应一个job。存储的方式:RAM:jvm的内存...

2018-10-06 14:16:17 357

原创 为什么redis是单线程的,仍然那么快?

因为redis是在内存中工作的,cpu不是其瓶颈,所以单线程和多线程的效果差不多,另外单线程的问题比多线程少。而且redis采用的是多路复用选择器,避免了锁的使用,而且我们在启动多个Redis的实例来解决高并发。...

2018-10-06 14:06:01 1343

原创 redis和memcache的区别?

redis和memcache的区别 redis memcache 支持的数据类型 k/v,String,Hash,list,set,sorted set k/v 速度 较快 较慢 是否支持备份 支持 不支持 持久化到硬盘 AOF,RDB 无 value的大小限制 1G 1M ...

2018-10-06 13:58:04 451 1

原创 redis在项目中是如何应用的?

redis是单进程单线程的模式,串行执行命令,但是因为其在内存中执行的,所以串行和并行的速度差不多。在项目中可以用做什么?1.缓存2.nosql数据库3.用户登录session4.日志系统5.消息队列redis的特点:支持事务,操作都是原子性的,单个value最大为1G。Master-slave下,Master不要持久化,将持久化的工作交给slave,因为持久化...

2018-10-06 13:51:20 2080

原创 springmvc和struts2的区别

虽然现在struts2用的不多,但是面试的时候可能会问,故在此简单总结一下:    springmvc struts2 1 配置 无 比较多 2 基于什么开发 方法 类 3 入口 servlet filter 4 如何管理controller 默认单例,支持多例...

2018-10-06 10:45:45 142

原创 vachar和vachar2的区别

java中的char和vachar无论是字符还是汉字都占用两个字节。vachar括号中的数字即代表最大值,又代表着实际占用的空间。vachar2括号中的数字代表的是最大值,对应的数据有多少字节,实际占用空间就是多少。...

2018-09-27 23:13:37 1656

原创 索引的特点和应用场景

索引的好处:建立索引后,查询时不会扫描全表,而会查询索引表锁定结果。索引的缺点:在数据库进行DML操作的时候,除了维护数据表之外,还需要维护索引表,运维成本增加。应用场景:数据量比较大,查询字段较多的情况。索引规则:1.选用选择性高的字段作为索引,一般unique的选择性最高。2.复合索引:选择性越高的排在越前面。(左前缀原则)3.如果查询条件中两个条件都是选择...

2018-09-27 23:05:55 2815

原创 spring的rollbackfor是如何影响数据库实现回滚的?

因为spring的事务是基于数据库的事务的。spring在启动生成Bean之后,会为标注上@Transactional的类和方法生成代理,并将相关配置注入,这样就在代理中为我们把事务的操作处理了。(commit,roolbackfor等)真正的数据库层的事务提交和回滚是通过binlog或者redo log实现的。...

2018-09-27 22:52:30 823

原创 spring的事务隔离级别

1. ISOLATION_DEFAULT:这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别。另外四个与JDBC的隔离级别相对应。 2. ISOLATION_READ_UNCOMMITTED:这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据。这种隔离级别会产生脏读,不可重复读和幻读。 3. ISOL...

2018-09-24 13:42:10 308

原创 spring的事务传播机制

前言:Spring默认情况下会对运行期发生的异常(RunTimeException),即uncheck异常,进行事务回滚。如果遇到checked异常就不回滚。不过也可以自定义:1. 让checked也回滚:在整个方法前加上@Transactional(rollbackFor=Exception.class)2 .让unchecked不回滚:@Transactional(n...

2018-09-24 13:21:28 1945

原创 理解spring的生命周期

1.public DemoSpring(){        //实例化一个空对象 }2..public void setBeanProperties(String s) {        //将值和引用注入到Bean对应的属性中}3.实现BeanNameAware    @Override    public void setBeanName(St...

2018-09-24 11:57:27 560

原创 AOP是如何实现的?

Spring中的AOP代理还是离不开Spring的IOC容器,代理的生成,管理及其依赖关系都是由IOC容器负责;Spring默认使用JDK动态代理,在需要代理类而不是代理接口的时候,Spring会自动切换为使用CGLIB代理,不过现在的项目都是面向接口编程,所以JDK动态代理相对来说用的还是多一些。JDK动态代理(默认使用):代理类实现InvocationHandler接口,加上反射生...

2018-09-23 23:04:37 679

原创 IOC是如何实现的?

一.IOC如何实现:1)读取Resource(applicationcontext.xml)获取BeanDefinition 注册到(id,type,properties) Bean定义注册表中;2)第一次向容器getBean操作会触发Bean的创建过程(createBean),实列化一个Bean时 ,根据BeanDefinition中类信息等实列化Bean;3)将实列化的Bean...

2018-09-23 16:37:44 6838

原创 深入理解mybatis的二级缓存

mybatis分为一级缓存和二级缓存。mybatis默认开启一级缓存。如何解析:执行者:XmlConfiguraBuilder类 解析对象:mybatis所有的配置信息目标:Configuration(包含数据源、事务、mapper等的配置的对象)sqlSession是什么:mybatis的关键对象,也是一级缓存的作用域,相当于JDBC的Connection,底层封...

2018-09-23 15:55:49 455

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除