自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java实现对栈的操作

Java实现对栈的操作

2022-03-18 14:20:46 302

转载 Java实现对链表进行增删改查的操作

Java对链表的增删改查

2022-03-16 22:07:43 1622

转载 java 常见的集合有哪些?

java 常见的集合有哪些?答:Map接口和Collection接口是所有集合框架的父接口Collection接口的子接口包括:Set接口和List接口。Set中不能包含重复的元素。List是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式。Map接口的实现类主要有:HashMap、Hashtable、ConcurrentHashMap以及TreeMap等。Map不能包含重复的key,但是可以包含相同的value。根据键得到值,对map集合遍历时先得到键的set集合,对set集合进行遍历,

2021-05-09 22:28:13 197

原创 spring大厂常见问题(一)

1、Spring Bean的作用域作用域描述singleton在spring IoC容器仅存在一个Bean实例,Bean以单例方式存在,bean作用域范围的默认值。prototype每次从容器中调用Bean时,都返回一个新的实例,即每次调用getBean()时,相当于执行newXxxBean()。request每次HTTP请求都会创建一个新的Bean,该作用域仅适用于web的Spring WebApplicationContext环境。session同一个HT

2021-05-09 22:22:40 155

原创 mysql索引

一、索引MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度二、索引类型Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。1. FULLTEXT即为全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。全文索引并不是和MyISAM一起诞生的,它的出现是为了解决WHER

2021-04-30 12:40:29 92

原创 事务

1、首先什么是事务?事务(Transaction)是并发控制单位,是用户定义的一个操作序列,这些操作要么都做,要么都不做,是一个不可分割的工作单位。事务通常以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。2、事务的 ACID又是什么?事务中的所有操作要么全部执行,要么都不执行; 如果事务没有原子性的保证,那么在发生系统 故障的情况下,数据库就有可能处于不一致状态。 因而,事务的原子性与一致性是密切相关的。如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四

2021-04-26 22:20:37 76

原创 java对文件夹监听,有新增文件,将其上传到服务器上

参考https://blog.youkuaiyun.com/guanmao4322/article/details/82730404

2021-04-23 17:58:15 417

原创 hashMap

1:HashMap 的数据结构?A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过 8 时,链表转换为红黑树。transient Node<K,V>[] table;2:HashMap 的工作原理?HashMap 底层是 hash 数组和单向链表实现,数组中的每个元素都是链表,由 Node 内部类(实现 Map.Entry<K,V>接口)实现,HashMap 通过 put & get 方法存储和获取。存储对象时,将 K/V 键值传给 p

2021-04-22 08:57:34 118

原创 redis缓存穿透和雪崩

什么是缓存穿透?如何避免?什么是缓存雪崩?何如避免?缓存穿透一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。一些恶意的请求会故意查询不存在的key,请求量很大,就会对后端系统造成很大的压力。这就叫做缓存穿透。如何避免?1:对查询结果为空的情况也进行缓存,缓存时间设置短一点,或者该key对应的数据insert了之后清理缓存。2:对一定不存在的key进行过滤。可以把所有的可能存在的key放到一个大的Bitmap中,查询时通过该bitmap过滤。缓存

2021-04-20 17:01:09 51

原创 spring基础知识

一、spring bean 容器的生命周期是什么样的?spring bean 容器的生命周期流程如下:1、Spring 容器根据配置中的bean 定义中实例化bean。2、Spring 使用依赖注入填充所有属性,如bean 中所定义的配置。3、如果bean 实现BeanNameAware 接口,则工厂通过传递bean 的ID 来调用setBeanName()。4、如果bean 实现BeanFactoryAware 接口,工厂通过传递自身的实例来调用setBeanFactory()。5、如果存在与

2021-04-19 23:22:11 55

转载 synchronized与lock的区别

一.synchronized的缺陷  synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢?在上面一篇文章中,我们了解到如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并执行该代码块时,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取锁的线程释放锁只会有两种情况:1)获取锁的线程执行完了该代码块,然后线程释放对锁的占有;2)线程执行发生异常,此时JVM会让线程自动释放锁。那么如果这个获取锁的线程由于要等待

2021-04-19 22:47:44 124

转载 缓存和数据库如何保持一致

【简介】  对于热点数据(经常被查询,但不经常被修改的数据),我们可以将其放入redis缓存中,以增加查询效率,但需要保证从redis中读取的数据与数据库中存储的数据最终是一致的。本文基于“孤独烟”与“58沈剑”两位的文章,针对一致性的问题进行了汇总总结,两位的原文链接见文末。【前言】  客户端对数据库中的数据主要有两类操作,读(select)与写(DML)。针对放入redis中缓存的热点数据,当客户端想读取的数据在缓存中就直接返回数据,即命中缓存(cache hit),当读取的数据不在缓存内,就需要

2021-04-12 16:02:04 269

原创 redis常见问题

缓存穿透缓存穿透。产生这个问题的原因可能是外部的恶意攻击,例如,对用户信息进行了缓存,但恶意攻击者使用不存在的用户id频繁请求接口,导致查询缓存不命中,然后穿透 DB 查询依然不命中。这时会有大量请求穿透缓存访问到 DB。解决的办法如下。对不存在的用户,在缓存中保存一个空对象进行标记,防止相同 ID 再次访问 DB。不过有时这个方法并不能很好解决问题,可能导致缓存中存储大量无用数据。使用 BloomFilter 过滤器,BloomFilter 的特点是存在性检测,如果 BloomFilter 中不存

2021-04-07 10:51:26 112

原创 如何保证数据库和缓存的一致性

第一种方法:简单的场景:直接使用1. 使用Cache Aside pattern    读取的时候,先读取缓存中是否有数据,缓存中没有数据,再去数据库中进行查询,查询出来以后,然后再存入到缓存中 更新的时候,先删除缓存库,然后再更新数据库.2、先更新数据库,再更新缓存3、先更新缓存,再更新数据库4、先更新数据库,再删除缓存...

2021-04-06 22:51:25 107

原创 redis问题整理

1、redis过期时间如何设置redis在set值得时候有个参数,是专门设置过期时间的setRedis(Key,value,time + Math.random() * 10000);2、如何设置永久有效set(key,value)Redis 在默认情况下会采用 noeviction 回收策略,即不淘汰任何键值对,当内存己满时只能提供读操作,不能提供写操作3、如何实现延时队列...

2021-03-28 14:07:56 110

原创 redis常见面试题(六)

31、Redis 回收进程如何工作的?答: 一个客户端运行了新的命令,添加了新的数据。Redi 检查内存使用情况,如果大于maxmemory 的限制, 则根据设定好的策略进行回收。一个新的命令被执行, 等等。所以我们不断地穿越内存限制的边界, 通过不断达到边界然后不断地回收回到边界以下。如果一个命令的结果导致大量内存被使用( 例如很大的集合的交集保存到一个新的键),不用多久内存限制就会被这个内存使用量超越。32、都有哪些办法可以降低Redis 的内存使用情况呢?答:如果你使用的是32 位的Re

2021-03-28 14:01:15 255

原创 redis常见面试题(五)

21、Redis 集群的主从复制模型是怎样的?答: 为了使在部分节点失败或者大部分节点无法通信的情况下集群仍然可用, 所以集群使用了主从复制模型,每个节点都会有N-1 个复制品.22、Redis 集群会有写操作丢失吗?为什么?答:Redis 并不能保证数据的强一致性,这意味这在实际中集群在特定的条件下可能会丢失写操作。23、Redis 集群之间是如何复制的?答: 异步复制24、Redis 集群最大节点个数是多少?答: 16384 个。25、Redis 集群如何选择数据库?答: Redi

2021-03-28 13:02:38 208 2

原创 redis常见面试题(四)

15、是否使用过Redis 集群,集群的原理是什么?1)、Redis Sentinal 着眼于高可用,在master 宕机时会自动将slave 提升为master,继续提供服务。2)、Redis Cluster 着眼于扩展性,在单个redis 内存不足时, 使用Cluster 进行分片存储。16、Redis 集群方案什么情况下会导致整个集群不可用?答: 有A, B,C 三个节点的集群,在没有复制模型的情况下,如果节点B 失败了,那么整个集群就会以为缺少5501-11000 这个范围的槽而不可用

2021-03-27 18:09:13 78

原创 redis常见面试题(三)

11、Redis 的回收策略(淘汰策略)?volatile-lru:从已设置过期时间的数据集( server.db[i].expires)中挑选最近最少使用的数据淘汰volatile-ttl:从已设置过期时间的数据集( server.db[i].expires)中挑选将要过期的数据淘汰volatile-random:从已设置过期时间的数据集( server.db[i].expires)中任意选择数据淘汰allkeys-lru:从数据集( server.db[i].dict)中挑选最近最少使用的

2021-03-27 18:02:17 144

原创 redis常见面试题(二)

7、一个字符串类型的值能存储最大容量是多少?答: 512M8、Redis 的持久化机制是什么?各自的优缺点?Redis 提供两种持久化机制RDB 和AOF 机制:1、RDBRedis DataBase)持久化方式: 是指用数据集快照的方式半持久化模式)记录redis 数据库的所有键值对,在某个时间点将数据写入一个临时文件, 持久化结束后, 用这个临时文件替换上次持久化的文件, 达到数据恢复。优点:1、只有一个文件dump.rdb,方便持久化。2、容灾性好,一个文件可以保存到安全的磁盘。3

2021-03-27 17:51:26 143 1

原创 redis常见面试题(一)

redis面试题(一)1、redis有下三个特点:Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis 不仅仅支持简单的key-value 类型的数据, 同时还提供list,set,zset,hash 等数据结构的存储。Redis 支持数据的备份, 即master-slave 模式的数据备份。Redis 优势性能极高– Redis 能读的速度是110000 次/s,写的速度是81000 次/s 。丰富的数据类型– Redis 支持二进制案

2021-03-27 17:41:50 120

原创 spring常用注解

@Controller 控制器(注入服务)用于标注控制层,相当于struts中的action层@Service 服务(注入dao)用于标注服务层,主要用来进行业务的逻辑处理@Repository(实现dao访问)用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件.@Component (把普通pojo实例化到spring容器中,相当于配置文件中的 )泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Co

2021-03-25 10:23:21 42

转载 springboot项目中实体bean一定要实现Serializable接口

参考https://blog.youkuaiyun.com/hhx0626/article/details/61919232

2021-03-24 10:24:56 2542

转载 Redis 集群的三种实现方式

Redis 集群的三种实现方式redis有三种集群方式:主从复制,哨兵模式和集群。1.主从复制主从复制原理:从服务器连接主服务器,发送SYNC命令;主服务器接收到SYNC命名后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令;主服务器BGSAVE执行完后,向所有从服务器发送快照文件,并在发送期间继续记录被执行的写命令;从服务器收到快照文件后丢弃所有旧数据,载入收到的快照;主服务器快照发送完毕后开始向从服务器发送缓冲区中的写命令;从服务器完成对快照的载入,开始接收

2021-03-19 13:50:07 389

原创 eclipse 和idea 快捷键对照

参考 https://blog.youkuaiyun.com/xiaolyuh123/article/details/73322809

2021-03-18 15:39:43 55

原创 idea启动的项目出现Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded dataso

问题截图未指定“url”属性,无法配置嵌入的数据源。原因:由于添加了数据库组件,所以autoconfig会去读取数据源配置,新建的项目还没有配置数据源,所以会导致异常出现。解决方法:@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class}) 有点疑惑,故记之。exclude,

2021-03-18 09:41:22 443

转载 com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的区别

com.mysql.jdbc.Driver 是 mysql-connector-java 5中的,com.mysql.cj.jdbc.Driver 是 mysql-connector-java 6中的1、JDBC连接Mysql5 com.mysql.jdbc.Driver:driverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf

2021-03-17 11:29:48 84

转载 springboot中Thymeleaf和Freemarker模板引擎的区别

Thymeleaf和Freemarker的区别FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等。目前企业中:主要用Freemarker做静态页面或是页面展示优点:1、不能编写java代码,可以实现严格的mvc分离2、性能非常不错3、对jsp标签支持良好4、内置大量常用功能,使用非常方便5、宏

2021-03-16 14:44:50 783 1

原创 zookeeper遇到的三个问题

初学zookeeper,在启动zookeeper遇到的三个问题1、下载  下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/ ,下载解压到F:\apache-zookeeper-3.6.2-bin 如下图所示:2、启动  进入bin文件夹下,如下图:3、运行(windows环境)  双击zkServer.cmd,发现闪退4、问题解决  打开zkServer.cmd进行编辑,在尾部加pause,如下图:保存,再次双击,发现找不到zo

2021-03-15 21:34:59 110

转载 idea工具的常用快捷键

Editing(编辑)快捷键 介绍Ctrl +Space 基本代码补全,输入字母按后列出匹配的词组Ctrl+Shift+Space 智能代码补全,列出与预期类型一致的方法或变量Ctrl+Alt+Space 补全类名Ctrl+Shift+Enter 补全语句Ctrl+P 显示方法参数Ctrl+Q 显示注释文档Shift+F1 显示外部文档Ctrl+mouse over code 显示描述信息Ctrl+F1 显示提示、警告、错误等信息Alt+Insert 生成代码,生成 Getter、Se

2021-03-15 09:52:51 108

原创 关于异常This application has no explicit mapping for /error, so you are seeing this as a fallback处理记录

关于异常This application has no explicit mapping for /error, so you are seeing this as a fallback处理记录最近开始学习SpringBoot,在浏览器界面遇到了一个异常:This application has no explicit mapping for /error, so you are seeing this as a fallback。问题背景如下:正常启动SpringBoot应用,但是在浏览器输入map

2021-03-09 11:15:37 252

Windows6.1-KB2577795-x64.msu

Windows Server 2008 R2系统BUG导致windows缓冲区已满(no buffer space),Windows核心套接字泄露问题导致操作系统套接字资源被耗尽,导致服务器与数据库无法正常对接。

2021-01-05

windows 2008 R2解决socket连接不释放补丁包

Windows Server 2008 R2系统BUG导致windows缓冲区已满(no buffer space),Windows核心套接字泄露问题导致操作系统套接字资源被耗尽,导致服务器与数据库无法正常对接。

2021-01-05

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

TA关注的人

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