摘要: 1、Request对象 该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息。 当Request对象获取客户提交的汉字字符时,会出现乱码问题,必须进行特殊处理。首先,将获取的字符串用ISO-8859-1进行编码,并将编码存发岛一个字节数组中,然后 阅读全文
posted @ 2019-02-24 18:14 夏末之至 阅读(1713) 评论(0) 推荐(0) 编辑
摘要: 一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责 阅读全文
posted @ 2019-02-24 18:11 夏末之至 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 一、描述 BeanFactory: 是Spring里面最低层的接口,提供了最简单的容器的功能,只提供了实例化对象和拿对象的功能; ApplicationContext: 应用上下文,继承BeanFactory接口,它是Spring的一各更高级的容器,提供了更多的有用的功能; 1) 国际化(Messa 阅读全文
posted @ 2019-02-24 18:09 夏末之至 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 缓存穿透和缓存失效的预防和解决 缓存穿透: 认识 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透。 解决办法: 认识 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据 阅读全文
posted @ 2019-02-24 17:47 夏末之至 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 一、Redis为什么是单线程 注意:redis 单线程指的是网络请求模块使用了一个线程,即一个线程处理所有网络请求,其他模块仍用了多个线程。 因为CPU不是Redis的瓶颈。Redis的瓶颈最有可能是机器内存或者网络带宽,既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了。 阅读全文
posted @ 2019-02-24 17:46 夏末之至 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 一、需要了解的基础1、Redis实现数据持久化的两种实现方式: RDB:指定的时间间隔内保存数据快照 AOF:先把命令追加到操作日志的尾部,保存所有的历史操作 二、RDB 实现 Redis数据持久化(默认方式) 1、编辑 redis.conf注:使用whereis redis命令查看redis安装在 阅读全文
posted @ 2019-02-24 17:35 夏末之至 阅读(649) 评论(0) 推荐(0) 编辑
摘要: 一、redis启动时载入持久化文件的流程。 二、redis两种持久化机制 两种持久化机制是RDB和AOF机制,下面介绍下是什么和优缺点。 RDB持久化是指用数据集快照的方式记录redis数据库的所有键值对。 两个命令:SAVE命令会阻塞主进程来完成写文件,BGSAVE命令会创建子进程来完成写文件,主 阅读全文
posted @ 2019-02-24 17:28 夏末之至 阅读(140) 评论(0) 推荐(0) 编辑
摘要: Redis的内部结构如下图所示: 各功能模块说明如下: File Event: 处理文件事件(在多个客户端中实现多路复用,接受它们发来的命令请求(读事件),并将命令的执行结果返回给客户端(写事件)) Time Event: 时间事件(更新统计信息,清理过期数据,附属节点同步,定期持久化等) AOF: 阅读全文
posted @ 2019-02-24 17:23 夏末之至 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 1. string类型 string为最简单类型,一个key对应一个value 2. list类型 list是一个链表结构,主要功能是push、pop以及获取一个范围的所有值等。 使用list结构,可以轻松实现最新消息排行,另一个应用是消息队列,可以利用list的push操作,将任务存在list中, 阅读全文
posted @ 2019-02-24 17:14 夏末之至 阅读(1102) 评论(0) 推荐(0) 编辑
摘要: Volatile实现原则 有volatile变量修饰的共享变量进行写操作的时候,会多出一行以Lock为前缀的汇编代码, 这个前缀指令会在多核处理器下引发两件事情: 1.将当前处理器缓存行的数据写回到系统内存。 2.这个写回内存的操作会使在其他CPU里缓存了该内存地址的数据无效。 概括性解释 为了提高 阅读全文
posted @ 2019-02-24 17:10 夏末之至 阅读(299) 评论(0) 推荐(0) 编辑
摘要: InnoDB,是MySQL的数据库引擎之一,为MySQL AB发布binary的标准之一。InnoDB由Innobase Oy公司所开发,2006年五月时由甲骨文公司并购。与传统的ISAM与MyISAM相比,InnoDB的最大特色就是支持了ACID兼容的事务(Transaction)功能,类似于Po 阅读全文
posted @ 2019-02-24 16:59 夏末之至 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 数据库和操作系统一样,是一个多用户使用的共享资源。当多个用户并发地存取数据 时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并 发控制的一个非常重要的技术。在实际应用中经常会遇到的与锁相关的异常情况,当两个 阅读全文
posted @ 2019-02-24 16:50 夏末之至 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 1.创建必要的索引 在经常检索的字段上创建索引,创建索引会给检索带来巨大的性能提升,因此在发现检索速度过慢的时候应该首先想到就是创建索引。 2.使用预编译查询 程序通常根据用户输入动态执行SQL语句,这个时候应该尽量使用参数化SQL,这样不仅可以避免SQL注入漏洞攻击,最重要的事数据库会对这些参数化 阅读全文
posted @ 2019-02-24 16:49 夏末之至 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 一. 数据切分 关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。 数据库分布式核心 阅读全文
posted @ 2019-02-24 16:46 夏末之至 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 微服务的反模式和陷阱 阅读全文
posted @ 2019-02-24 16:41 夏末之至 阅读(552) 评论(0) 推荐(0) 编辑
摘要: 索引的优点 大大加快数据的查询速度 使用分组和排序进行数据查询时,可以显著减少查询时分组和排序的时间 创建唯一索引,能够保证数据库表中每一行数据的唯一性 在实现数据的参考完整性方面,可以加速表和表之间的连接 索引的缺点 创建索引和维护索引需要消耗时间,并且随着数据量的增加,时间也会增加 索引需要占据 阅读全文
posted @ 2019-02-24 16:01 夏末之至 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 两者区别: 1.首先synchronized是java内置关键字,在jvm层面,Lock是个java类; 2.synchronized无法判断是否获取锁的状态,Lock可以判断是否获取到锁; 3.synchronized会自动释放锁(a 线程执行完同步代码会释放锁 ;b 线程执行过程中发生异常会释放 阅读全文
posted @ 2019-02-24 15:53 夏末之至 阅读(230) 评论(0) 推荐(0) 编辑
摘要: synchronized的三种应用方式 synchronized的字节码指令 synchronized的锁的原理 Java对象头 Monitor synchronized锁的优化 自旋锁与自适应自旋 锁消除 锁粗化 偏向锁 轻量级锁 重量级锁 锁升级 wait和notify的原理 wait和noti 阅读全文
posted @ 2019-02-24 15:51 夏末之至 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。再比如Java里面的同步原语synchronized关键字的 阅读全文
posted @ 2019-02-24 15:38 夏末之至 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下下面这张较为经典的图: 上图中基本上囊括了Java中多线程各重要知识点。掌握了上图中的各知识点,Java中的多线程也就基本上掌握了。主要包括: Java线程具有五中基本状态 1、新建状态(New):当线程对象对创建后,即进入了 阅读全文
posted @ 2019-02-24 15:35 夏末之至 阅读(143) 评论(0) 推荐(0) 编辑