
是知识点
文章平均质量分 76
amm.
这个作者很懒,什么都没留下…
展开
-
Redis锁结合使用场景
Redis锁结合使用场景,需要注意什么?超时问题如何解决;1、redis分布式锁的基本实现redis加锁命令:SETNX resource_name my_random_value PX 30000 这个命令的作用是在只有这个key不存在的时候才会设置这个key的值(NX选项的作用),超时时间设为30000毫秒(PX选项的作用) 这个key的值设为“my_random_value”。这个值必须在所有获取锁请求的客户端里保持唯一。SETNX 值保持唯一的是为了确保安全的释放锁,避免误删其他客户端得原创 2021-11-09 09:22:40 · 684 阅读 · 0 评论 -
Spring bean的生命周期,作用域
谈谈Spring bean的生命周期,作用域 在Spring中,那些组成应用程序的主体及由Spring IoC容器所管理的对象,被称之为bean。简单地讲,bean就是由IoC容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。而bean的定义以及bean相互间的依赖关系将通过配置元数据来描述。Spring中的bean默认都是单例的,这些单例Bean在多线程程序下如何保证线程安全呢?例如对于Web应用来说,Web容器对于每个用户请求都创建一个单独的Sevlet线程来原创 2021-11-09 09:14:23 · 328 阅读 · 0 评论 -
Spring IOC和Spring AOP的实现原理
Spring IOC和Spring AOP的实现原理Spring IOC一、容器初始化容器的初始化首先是在对应的构造器中进行,在applicationContext的实现类构造器中,首先对参数路径中的${}进行了处理,用系统变量替换(setConfigLocations方法)然后调用refresh方法(这个就是最核心的容器初始化方法)。1、Resource定位:在refresh方法中调用obtainFreshBeanFactory方法告诉子类刷新beanfactory(其中是调用refreshB原创 2021-11-08 17:58:48 · 316 阅读 · 0 评论 -
Mybatis中Dao接口的工作原理
Mybatis中Dao接口的工作原理答:Dao接口,就是人们常说的Mapper接口,接口的全限名,就是映射文件中的namespace的值,接口的方法名,就是映射文件中MappedStatement的id值,接口方法内的参数,就是传递给sql的参数。Mapper接口是没有实现类的,当调用接口方法时,接口全限名+方法名拼接字符串作为key值,可唯一定位一个MappedStatement,举例:com.mybatis3.mappers.StudentDao.findStudentById,可以唯一找到names原创 2021-11-08 17:57:17 · 318 阅读 · 0 评论 -
Spring的并发问题
Spring的并发问题——有状态Bean和无状态Bean一、有状态和无状态有状态会话bean :每个用户有自己特有的一个实例,在用户的生存期内,bean保持了用户的信息,即“有状态”;一旦用户灭亡(调用结束或实例结束),bean的生命期也告结束。即每个用户最初都会得到一个初始的bean。简单来说,有状态就是有数据存储功能。有状态对象(Stateful Bean),就是有实例变量的对象 ,可以保存数据,是非线程安全的。无状态会话bean :bean一旦实例化就被加进会话池中,各个用户都可以共用。即使原创 2021-11-08 17:54:57 · 804 阅读 · 0 评论 -
Redis操作笔记
//添加事务回滚:@Transactional(rollbackOn = Exception.class) //指定缓存失效时间:redisTemplate.expire(key,time,TimeUnit.SECONDS);//根据key获取过期时间:redisTemplate.getExpire(key,TimeUnit.SECONDS);//判断key是否存在:redisTemplate.hasKey(key);//删除缓存: if(key!=null&&k原创 2021-11-08 10:08:27 · 773 阅读 · 0 评论 -
算法相关笔记
1.什么是算法在计算机领域里,算法是一系列程序指令,用于处理特定的运算和逻辑问题。衡量算法优劣的主要标准是时间复杂度和空间复杂度。2.什么是数据结构数据结构是数据的组织、管理和存储格式,其使用目的是为了高效地访问和修改数据。数据结构包含数组、链表这样的线性数据结构,也包含树、图这样的复杂数据结构。3.什么是时间复杂度时间复杂度是对一个算法运行时间长短的量度,用大O表示,记作T(n)=O(f(n))。常见的时间复杂度按照从低到高的顺序,包括O(1)、O(logn)、O(n)、O(nlogn)原创 2021-11-08 09:41:45 · 477 阅读 · 0 评论 -
Netty简介
什么是Netty?Netty 是一个高性能、异步事件驱动的 NIO框架,基于 JAVA NIO 提供的 API 实现。它提供了对TCP、UDP 和文件传输的支持,作为一个异步 NIO 框架,Netty 的所有 IO 操作都是异步非阻塞的,通过 Future-Listener 机制,用户可以方便的主动获取或者通过通知机制获得 IO 操作结果。1.Netty和Tomcat有什么区别?最大的区别在于通信协议,Tomcat是基于Http协议的,他的实质是一个基于http协议的web容器。但是Netty原创 2021-10-28 16:19:57 · 243 阅读 · 0 评论 -
StringRedisTemplate
1.Redis String 操作字符串 //新增元素 stringRedisTemplate.opsForValue().set("key", "value"); //获取元素 stringRedisTemplate.opsForValue().get("key"); //删除元素 stringRedisTemplate.delete("key");2.Redis List 操作List //将数据添加到key对应的现有数据的左边 stringRedisTemplate.o转载 2021-09-10 15:52:07 · 1879 阅读 · 0 评论 -
插入字符串含 ‘ 单引号 :don‘t
解决插入字符串含 ’ 单引号问题public String checkString(String str){ String returnStr = ""; if(str.indexOf("'") != -1){//判断字符串是否含有单引号 returnStr = str.replace("'", "''"); str = returnStr; } return str; }...原创 2021-09-01 09:30:51 · 161 阅读 · 0 评论 -
curl 的用法指南
简介:curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postman 这一类的图形界面工具。《Curl Cookbook》不带有任何参数时,curl 就是发出 GET 请求。$ curl https://www.example.com上面命令向www.example.com发出 GET 请求,服务器返回的内容会在命令行输出。-AA参数指定客户端的用户代理标转载 2021-07-16 10:39:11 · 462 阅读 · 0 评论 -
23种设计模式知识要点
23种设计模式知识要点1.单例模式(Singleton Pattern)定义:Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实 例。)通用代码:(是线程安全的) public class Singleton { private static final Singleton singleton = new Sin原创 2021-07-15 10:07:11 · 238 阅读 · 0 评论