- 博客(17)
- 收藏
- 关注
原创 Spring 常见面试题
spring是一个轻量级的,以控制反转(IOC)和面向切面(AOP)为核心的框架1优点:1.开源的框架(容器)2.轻量级,非入侵式3.面向切面.控制反转4.支持事务一、IOC 控制反转控制反转是一种设计思想,DI依赖注入是实现IOC的一种方式,也有人认为,DI只是IOC的另一种说法.没有IOC的程序中,我们使用面向对象编程,对象的创建与对象之间的依赖关系完全是硬编码在程序中的,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,控制反转就是把创建对象的方式反转了.根
2021-10-15 11:31:28 143
原创 Redis的缓存穿透和缓存雪崩
缓存穿透:(查不到导致的)用户想要查询一个数据,发现redis内存数据库中没有,也就是没有命中缓存,于是向持久层数据库查询,发现也没有,于是本次查询失败,当用户量大的会后,缓存都没有命中,于是全请求持久层数据库.这就给数据库造成了巨大的压力,这时候就相当于出现了缓存穿透.解决方法:布隆过滤器:是一种数据结构,对所有都可能查询的参数以hash形式存储,在控制层先进行校验,不符合则丢弃,从而避免了对底层存储系统的查询压力;缓存空对象:当存储层不命中的时候,返回一个空对象,缓存起来,同
2021-08-27 17:34:42 112
原创 Redis的主从复制
概念:主从复制是指,将一台redis服务器的数据,复制到其他的redis的服务器,前者被称为主节点(master/leader),后者称为从节点(slave/follower);数据的服务都是单向的,只能由主节点到从节点,Master以写为主,slave以读为主.默认情况下,每台redis服务器都是主节点;且一个主节点可以有多个从节点或者没有,但一个从节点只能有一个主节点.主从复制的作用主要包括:1.数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式.2.故障恢复:
2021-08-27 16:50:01 130 1
原创 Redis.conf(初识)
单位,unit对大小写不敏感,includes 包含:可以将多个配置文件引入进来NETWORK 网络 :绑定的IP bind:端口号:protected-mode yes 是否受保护GENERAL 通用:以守护进程的方式运行,默认是no我们要打开为yes如果以后台方式运行,我们需要指定一个pid的文件日志级别日志文件名默认数据库的数量SNAPSHOTTING快照:持久化,在规定的时间内,执行了多少次操作,则会持久...
2021-08-26 11:23:06 104
原创 Redis的持久化:
redis是内存数据库,数据都是存储在内存之中,如果不将数据写入磁盘,当进程退出后数据将不复存在.所以,redis支持持久化操作RDB:(Redis DataBase)在指定时间间隔内将内存中的数据写入到磁盘中.也就是常说的快照,他恢复时是将快照中的文件直接读到内存中.实现原理是单独开一个fork子进程来做持久化,会将数据写入到一个临时文件,持久化过程结束后,将临时文件替换成上次持久化的文件.整个过程中,主进程不做任何的io操作,这样就能确保极高的效率.如果要进行大规模的数据恢复,而且对数据恢复
2021-08-26 11:21:15 89
原创 Redis的事务和锁
redis事务的本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程中,会按照顺序执行!一次性,顺序性,排他性!redis事务没有隔离级别的概念!也就是不存在Spring那种读已提交,读未提交的设置.所有的命令在事务中,并没有直接被执行,只有发起执行命令的时候才会执行 Exceredis单条命令是保证原子性的,但是事务不保证原子性redis事务流程:开启事务(multi)命令入列(........)执行事务(exec)如:放弃一个命令的...
2021-08-25 14:15:42 125
原创 Redis常用命令
String类型相关set : 存入一个键值对,set key valueget : 取出一个值 get keyexists: 查看key是否存在 exists key 存在返回 1keys * :查看所有的keyappend: 给字符串追加一个字符串, append key value,key 如果不存在,就相当于set一个新的strlen: 获取字符串的长度 strlen keyincr: 在原有的基础上加1, incr key(相当于java的i+=1)dicr:...
2021-08-24 15:24:11 124
原创 热点复习题
提示:这里简述项目相关背景:例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)问题描述:提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obtainMessage(READ_DATA, bytes, -1, b..
2021-08-10 06:31:04 151
原创 Linux 操作命令行
Linux 操作命令行开关机命令:1、 sync 将数据由内存同步到硬盘中2、 shutdown 关机指令3、 shutdown -h 10 计算机将在十分钟后关机4、 shutdown -h now 立马关机5、 shutdown -h 20:25 系统将在今天20:25关机6、 shutdown -h +10 十分钟后关机7 、shutdown -r now 系统立马重启8、 shutdown -r +10 系统十分钟后重启9、 reboot 就是重启,等同
2021-07-08 09:34:54 264
原创 安装linux虚拟机并配置nat模式的网络
虚拟机中安装CentOS一、下载安装VMware?1.下载可以从官网下载,但是比较慢,可以随便找一个网站或者用360管家直接安装.下载后是这样的示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswar
2021-06-23 22:15:09 203
原创 GC常用算法
GC常用算法提示:java垃圾回收机制常用的算法引用计数法:原理:利用计数器,将有引用的对象进行标记,被标记次数为0的将会被回收缺点: 计数器本身也是一种消耗复制算法:原理:Eden区和from区的幸存的对象会复制到to区,然后from和to两个区互相交换,当复制15次后,将依然存活的对象复制到老年区.优点:没有内存碎片缺点:浪费空间,有一半的空间永远是空的(to区),交涉对象的存活率是百分之百,from复制到to的时候,to区直接就满了.所以复制算法适用于对象存货率低的场景,也就
2021-06-21 08:51:58 131
原创 HTTP和HTTPS的区别
HTTP和HTTPS的区别1.HTTPS协议需要到CA申请证书,一般免费的证书比较少,因此通常情况用https是需要费用的2.二者是两种完全不同的连接方式,两者的端口号也不相同,http用的是80端口,https用的是443端口。3.http是超文本传输协议,信息是明文传输,https是具有安全性的ssl加密传输协议。4.http的连接很简单,是无状态的Https协议是由ssl+http协议构建的可进行加密的传输身份认证的网络协议,比http协议更安全。无状态的意思是其数据包的发送、传输和接收都是互
2021-03-30 21:28:12 106 1
原创 AOP面向切面
什么是Aop?Aop的全称是面向切面编程,本质上,不通过改源码的方式,添加新的功能,如登陆时的权限判断。1.面向切面编程,利用的是aop可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各个部分质检的耦合度降低,提高程序的可用性,同事提高了开发的效率。2.通俗描述,不通过修改源代码的方式,在主干功能里面添加新功能。3.使用登陆例子说明aop。...
2021-03-30 08:29:43 406 2
原创 线程题---什么是线程池?
线程题—什么是线程池?概念性的知识,上来就是整,读个三五遍熟悉一下,然后就背下来,简单、粗暴、有效。在面向对象编程中,创建和销毁对象是非常浪费时间的,因为创建一个对象要获取内存资源或者其他更多的资源。在java中更是如此,因为虚拟机将试图跟踪每一个对象,以便于当对象销毁时,进行垃圾回收,所以尽量少的创建和回收垃圾,是提高服务程序效率的一个重要手段,特别是一些很消耗资源的对象的创建和销毁,这就“池化技术”诞生的原因。线程池,顾名思义就是实现创建出很多个可执行线程的池子(容器),需要的时候从池子中获取线程
2021-03-23 08:26:37 99
原创 线程题---java线程中sleep()和wait()的区别?
线程题—java线程中sleep()和wait()的区别?闲言少叙,有些题不理解的也要先背下来,总有一天会明白的。sleep():sleep()是线程类Thread的方法;作用是导致此线程暂停执行指定时间,把执行机会给其他线程, 但是监控状态依然保持,到时会自动恢复;调用sleep()不会释放对象锁wait():wait是object类的方法;对此对象调用wait方法导致本线程放弃对象锁,进入等待次对象的等待锁定池。只有针对此对象发出notify方法(或者notifyAll)后本线程
2021-03-22 23:01:08 654
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人