自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (6)
  • 收藏
  • 关注

原创 多线程(二)--线程同步

线程同步线程同步同步代码块解决数据安全问题同步方法解决数据安全问题同步方法和静态同步方法各自的锁对象线程同步案例需求:某电影院目前正在上映国产大片,共有100张票,而它有3个窗口卖票,请设计一个程序模拟该电影院卖票。根据多线程(一).,我们可以简单写出以下代码:public class SellTickets_Sync implements Runnable { private int number = 100; //总票数 @SneakyThrows @Overri

2021-10-15 16:28:22 178

原创 多线程(二番外篇)---synchronized和Lock锁详解以及死锁问题

synchronized和Locksynchronized同步锁同步代码块同步方法静态同步方法三种方式的锁对象Lock锁三级目录synchronized同步锁同步代码块用synchronized将 操作共享数据的代码给锁起来synchronized(任意对象) { 多条语句操作共享数据的代码 }同步方法同步方法:就是把synchronized关键字加到方法上修饰符 synchronized 返回值类型 方法名(方法参数) { 方法体; }静态同步方法静态同步方法

2021-10-15 16:21:04 291 1

原创 多线程(一)--多线程的概念及其基本使用

多线程1.1并发和并行1.2进程和线程2.1 实现多线程方式继承Thread类(无返回值)实现Runnable接口(无返回值)实现Callable接口(含有返回值)三种实现方式的对比2.2 多线程的其他操作设置和获取线程名称设置线程休眠设置线程优先级设置守护线程1.1并发和并行并发:在同一时刻,有多个指令在单个CPU上交替执行。(注意:单个cpu执行多个指令)并行:在同一时刻,有多个指令在多个cpu或者是多核的cpu同时执行。(注意:单个cpu执行单个指令)当系统有一个以上CPU时,则线程的操作

2021-10-13 15:48:30 237

原创 redis系列之数据结构详解(String,List,Hash,Set,Zset)

redis系列之数据结构详解String(字符串)String(字符串)与bitmap(位图)List(列表)二级目录三级目录Hash(字典)二级目录三级目录Set(集合)二级目录三级目录Zset(有序列表)二级目录三级目录redis的数据类型的基本使用在**redis系列(一)------基本数据类型以及持久化(RDB、AOF)**中已经讲述了。链接: https://blog.csdn.net/qq_39188134/article/details/119513301.String(字符串)字符

2021-08-29 03:51:48 500

原创 SpringMVC--静态资源加载和中文乱码处理

SpringMVC静态资源加载原先配置的dispatcher拦截了所有请求,所以访问静态资源会失败!! <servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-p

2021-08-26 11:38:27 540

原创 SpringMVC-响应

响应SpringMVC默认页面跳转方式是转发(forward)无数据跳转页面(了解)有数据跳转页面 (重点)纯数据返回(JSON) (重点)1.无数据跳转页面转发:服务器转发到目标地址重定向:还是客户端访问携带数据跳转页面HttpServletRequest类型传数据model类型传数据modelAndView类型传数据】...

2021-08-26 11:37:57 47

原创 redis系列七-- 哨兵模式配置

redis哨兵模式哨兵简介哨兵作用保障redis高可用配置哨兵模式redis 一主两从配置:sentinel.conf配置文件配置:哨兵简介哨兵(sentinel) 是一个分布式系统,跟redis server一样需要我们人为启动才可工作,用于对主从结构中的每台redis服务器进行监控,当出现故障时通过投票机制选择新的master并 将所有slave连接到新的master。哨兵作用保障redis高可用监控:不断的检查master和slave是否正常运行master存活检测、master与

2021-08-22 21:45:30 226

原创 redis系列六--主从复制常见问题

redis主从复制常见问题频繁的全量复制(1)频繁的全量复制(2)频繁的网络中断(1)频繁的网络中断(2)数据不一致性主从复制总结:频繁的全量复制(1)伴随着系统的运行,master的数据量会越来越大,一旦master重启,runid将发生变化,会导致全部slave的全量复制操作内部优化调整方案:1 .想要关闭master时,执行命令 shutdown save,进行RDB持久化, 将runid与offset保存到RDB文件中 。2 . master重启后加载RDB文件,恢复runid的

2021-08-22 17:57:40 176

原创 redis系列五--主从复制工作流程更新与心跳机制

redis主从复制工作流程更新与心跳机制数据同步+命令传播阶段工作流程心跳机制心跳机制阶段注意事项数据同步+命令传播阶段工作流程心跳机制命令:INFO replication心跳机制阶段注意事项当slave多数掉线,或延迟过高时,master为保障数据稳定性,将拒绝所有信息同步操作。在master的配置文件中配置以下参数:min-slaves-to-write 2min-slaves-max-lag 8slave数量少于2个 或者 所有slave的延迟都大于等于8秒时,强制关闭

2021-08-22 17:11:39 214

原创 redis系列四--主从复制概念及工作流程

redis主从复制主从复制主从复制概念主从复制作用单机redis的风险与问题主从复制-工作流程(一)建立连接主从连接(slave连接master)master和slave互联:三种方式授权访问(可以自己动手尝试一下)建立连接总结(二)数据同步步骤如下:数据同步阶段master说明数据同步阶段slave说明(三)命令传播阶段命令传播阶段的部分复制服务器运行ID(runid)复制积压缓冲区复制积压缓冲区内部工作原理主从服务器复制偏移量主从复制主从复制是redis 高可用的一种保证master:提供数据方

2021-08-22 15:09:03 196

原创 redis系列三---淘汰策略(数据逐出算法)

redis淘汰策略淘汰策略影响数据淘汰的相关配置淘汰策略影响数据淘汰的相关配置最大可使用内存,即占用物理内存的比例,== 默认值为0,表示不限制。==生产环境中根据需求设定,通常设置在50%以上maxmemory ?mb每次选取待删除数据的个数,采用随机获取数据的方式作为待检测删除数据。maxmemory-samples count对数据进行删除的选择策略maxmemory-policy policy #取值如下-----------------------------

2021-08-21 15:36:05 104

原创 redis系列(二)--过期数据和数据删除

redis过期数据和数据删除1.redis过期数据1.1 Redis中的数据特征3.数据删除策略定时删除惰性删除定期删除3.1 定时删除3.2 惰性删除3.3 ==定期删除(重点)==三级目录1.redis过期数据1.1 Redis中的数据特征redis中是一种内存级数据库,所有数据均放在内存中,内存中的数据可以通过TTL指令获取其状态。TTL返回的值有三种情况:正数,-1,-2正数:代表 数据在内存中还能存活的时间‘-1:永久有效的数据-2:已经过期的数据或被删除的数据 或 未定

2021-08-21 13:39:57 951

原创 roketmq系列(三)--消息发送

消息发送消息发送主要内容消息发送与接收开发流程单生产者单消费者单生产者多消费者(负载均衡模式与广播模式)多生产者多消费者消息类别同步消息异步消息单向消息特殊的消息发送特殊的消息接收消息发送与接收的顺序控制事务消息消息发送主要内容单生产者单消费者(基础发送与基础接收)单生产者多消费者(负载均衡模式与广播模式)多生产者多消费者其实单生产者单消费者、单生产者多消费者、多生产者多消费者之间在代码编写上其实差不多,大家把单生产者和单消费者理解清楚,其他自然就明白了,接下来我们一起学习,rocketmq的消

2021-08-16 22:56:51 240

原创 RocketMQ系列(二): 路由中心(NameServer)和消息服务(Broker)

RocketMQ系列(二):路由中心(NameServer)和消息服务(Broker)消息中间件的架构设计:二级目录三级目录NameServer的功能为什么不用zookeeperBrokerBroker消息存储消息中间件的架构设计:消息中间件的设计思路一般基于 主题的订阅发布机制,消息生产者(Produer)发送某一主题的消息到服务器,消息服务器负责该消息的持久化存储,消息消费者(Consumer)订阅感兴趣的主题,消息服务器根据订阅消息(路由消息)将消息推送到消费者(Push模式)或者消息消费

2021-08-15 00:22:02 522

原创 RocketMQ系列(一)简介

ROCKETMQ入门一一 .RocketMQ简介MQ简介RocketMQ何为消息MQ作用MQ基本工作模式MQ优缺点分析MQ产品介绍二.MQ概念RockMQ组成NameServer(命名服务)的功能Broker(消息服务)Broker(消息服务)作用Producer (消息生产者)Consumer(消息消费者)消息收发模型一 .RocketMQ简介MQ简介消息中间件有两种模型队列模型 (RocketMQ)主题模型(也叫发布订阅模型)(RabbitMQ)RocketMQMQ(Message

2021-08-11 18:00:38 347

原创 redis系列(一)------基本数据类型以及持久化(RDB、AOF)

一.什么是Redis数据库分为:关系型数据库(sql),非关系型数据库(nosql)常见的关系型数据库:Oracle,Microsoft SQL Server,MySQL,PostgreSQL,DB2,Microsoft Access, SQLite,Teradata,MariaDB(MySQL 的一个分支),SAP常见的非关系型数据库:Redis、memcache、HBase、MongoDB二.nosql使用场景3. Redis 简介Redis ( REmote DIctionar

2021-08-09 17:58:29 274

原创 SpringMVC请求映射

重点:

2021-05-09 14:18:07 59

原创 SpringMVC-类型转换器

类型转换器SpringMVC的类型转换由SpringMVC进行自动转换,由convert接口实现。 <mvc:annotation-driven conversion-service="conversionService"/> <!--自定义类型转换器--> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFac

2021-05-09 14:05:20 381

原创 SpringMVC-请求(普通类型参数和pojo类型参数)使用教程

SpringMVC-请求请求参数类型普通类型pojo类型集合类型数组类型相关注解:@RequestParam@RequestParam有三个配置参数:required 表示是否必须,默认为 true,必须。defaultValue 可设置请求参数的默认值。name/value 为接收url的参数名(相当于key值)。...

2021-05-09 13:22:11 154

原创 SpringMVC-注解驱动使用教程

SpringMVC-注解驱动web.xml配置中配置了DispatcherServlet拦截所有路径请求指定了所有请求的编码格式为UTF-8注意点:/* 代表所有url 路径和.jsp等请求/ 代表路径类型请求<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.or

2021-05-09 12:32:38 356

原创 SpringMVC-Bean的加载控制

SpringMVC的处理器对应的bean必须按照规范格式开发,为避免加入无效的bean可通过bean加载过滤器进行包含或者排除设定,表现层bean通常标注为@Controller使用Spring的组件过滤器,过滤掉@Controller标注的bean,避免SpringMVC加入无效的bean。...

2021-05-07 21:08:17 260

原创 SpringMVC--技术架构

技术架构图DispatcherServlet:前端控制器,整体流程控制的中心,由其调用其他组件处理用户的请求,有效的降低了组件间的耦合性HandlerMapping:处理器映射器,负责根据用户请求找到具体的Handler处理器Handler:处理器,业务处理的核心类,通常由开发者编写,描述具体业务。HandlerAdapter:处理器适配器,通过它对处理器进行执行。View Resolver:视图解析器,将处理结果生成视图View:视图,最终结果,如:jsp,html...

2021-05-07 21:02:19 90

原创 Spring-事务控制案例--AOP改造编程式事务

使用AOP控制事务将业务层的事务处理功能抽取出来制作成AOP通知,利用环绕通知运行期动态织入。public class AccountServiceImpl implements AccountService { private AccountDao accountDao; public void setAccountDao(AccountDao accountDao) { this.accountDao = accountDao; } priv

2021-05-03 22:28:59 128

原创 Spring-事务控制案例--编程式事务控制

案例环境1.编程式事务步骤:1.创建平台事务管理对象(PlatformTransactionManager)4.创建事务定义对象3.事务状态2.提交事务(commit)public class AccountServiceImpl implements AccountService { private AccountDao accountDao; public void setAccountDao(AccountDao accountDao) { thi

2021-05-03 21:23:15 80

原创 Spring-事务管理(一)

Spring-事务管理事务回顾事务的四个特征:ACID原子性一致性隔离性持久性不考虑事务的隔离性,会出现以下问题:Spring为业务层提供了整套的事务解决方案三个核心对象:PlatformTransactionManager:平台事务管理接口TransactionDefinition:TransactionStatus:1.PlatformTransactionManager:平台事务管理接口平台事务管理实现类:DataSourceTransactionManager

2021-05-03 19:00:41 363

原创 Spring使用AOP对项目进行业务层接口执行监控,测量业务层接口的执行效率

案例介绍对项目进行业务层接口执行监控,测量业务层接口的执行效率public interface AccountService {void save(Account account);void delete(Integer id);void update(Account account);List<Account> findAll();Account findById(Integer id);}案例分析测量接口执行效率:接口方法执行前后获取执行时间,求出执行时长Syste

2021-05-01 15:08:36 372

原创 SpringAOP-注解开发(四)

AOP注解配置注解开发AOP制作步骤◆ 导入坐标(伴随spring-context坐标导入已经依赖导入完成)◆ 开启AOP注解支持 aspectj-autoproxy标签或者@EnableAspectJAutoProxy◆ 配置切面 @Aspect◆ 定义专用的切入点方法,并配置切入点 @Pointcut◆ 为通知方法配置通知类型及对应切入点 @Before,@after, @around,@afterReturning,@AfterThrowing@Configurati

2021-04-29 19:44:46 66

原创 SpringAOP-advice通知返回值获取教程(四)

AOP-五种通知类型前置通知(before)后置通知(after):无论原始方式方法是否有异常,都将执行返回后通知(after-returning):原始方法出现异常,则无法执行抛出异常后通知(after-throwing)环绕通知(around)通知返回值获取教程通知类型中after,around可以获得返回值after-returning因为有可能抛出异常,继续执行,获取不到返回值方式一:原始方法: public int update() { System.ou

2021-04-28 22:40:09 1030

原创 SpringAOP-advice通知参数获取教程(四)

通知参数获取教程方式一:JoinPoint的方法 public void before(JoinPoint jp){ //通过JoinPoint参数获取调用原始方法所携带的参数 Object[] args = jp.getArgs(); System.out.println("before..."+args[0]); }方法二:配置文件<aop:before method="before1"

2021-04-27 22:03:42 122

原创 Spring-AOP-五种通知类型(三)

AOP-五种通知类型前置通知(before)后置通知(after):无论原始方式方法是否有异常,都将执行返回后通知(after-returning):原始方法出现异常,则无法执行抛出异常后通知(after-throwing)环绕通知(around)advice(共性功能):public class AOPAdvice { public void before1(){ System.out.println("before(int)..."+x+","+y);

2021-04-27 21:59:35 333

原创 Spring-AOP-切入点表达式详解(二)

切入点的三种配置方式配置公共切入点配置局部切入点配置私有切入点案例如下:<aop:config> <!--配置公共切入点--> <aop:pointcut id="pt1" expression="execution(* *(..))"/> <aop:aspect ref="myAdvice"> <!--配置局部切入点--> <aop:pointcut id="pt2" expression="execution(

2021-04-26 22:53:43 192

原创 Spring-AOP配置及切入点表达式使用教程详解(一)

AOP(Aspect Oriented Programming):面向切面编程。用途日志记录,性能统计,安全控制,权限管理,事务处理,异常处理,资源池管理。AOP组成Joinpoint(连接点):就是方法Pointcut(切入点):就是挖掉共性功能的方法Advice(通知):就是共性功能,最终以一个方法的形式呈现Aspect(切面):就是共性功能与挖的位置的对应关系...

2021-04-26 22:05:32 617

原创 Spring-IOC底层原理-Bean的初始化过程解析

Bean的初始化过程图解BeanFactoryPostProcessor、 BeanPostProcessor、InitializingBean这些操作需要被spring容器加载示例如下:BeanFactoryPostProcessor操作//自定义BeanFactoryPostProcessor的操作public class MyBeanFactory implements BeanFactoryPostProcessor { @Override //工厂后

2021-04-21 21:33:19 194

原创 Spring-IOC底层核心原理--自定义导入器(四)

主页提供本案例完整代码免费下载使用步骤:1.定义一个导入器类并实现ImportSelect接口,重写方法。2.在配置类上使用@Import(导入器类名.Class),导入该自定义导入器详解:自定义导入器(需要实现importSelect接口)bean只有通过配置才可以进入spring容器,被spring加载并控制配置bean的方式如下:XML文件中使用标签配置使用 @Component及衍生注解配置企业开发过程中,通常需要配置大量的bean,需要一种快速高效配置大量bean的

2021-04-20 15:25:46 120

原创 Spring-组件扫描过滤器使用教程及原理分析(三)

主页提供本章完整代码下载,供大家学习!组件扫描器@ComponentScan有如下属性:value:指定要扫描的package;includeFilters=Filter[]:指定只包含的组件excludeFilters=Filter[]:指定需要排除的组件;useDefaultFilters=true/false:指定是否需要使用Spring默认的扫描规则:被@Component, @Repository, @Service, @Controller或者已经声明过@Component自定义注

2021-04-19 22:28:05 450 1

原创 Spring-IOC核心容器

IOC核心接口重点:## ListableBeanFactoryListableBeanFactory接口是BeanFactory接口的一个扩展。实现了此接口的类一般都有预加载bean定义功能(从XML等配置文件中),因此都有能列举其包含的所有Bean,根据名字或其单个查找Bean的特性。...

2021-04-19 20:48:58 47

原创 spring注解开发使用教程--整合Mybatis和Junit(二)

主页提供完整案例代码免费下载整合Mybatis:MybatisConfig:public class MybatisConfig { @Bean("sqlSessionFactoryBean") //创建sqlSessionFactoryBean的Bean对象 public SqlSessionFactoryBean getSqlSessionFactoryBean(@Autowired DataSource dataSource){ SqlSessionFa

2021-04-18 21:47:27 59

原创 spring注解开发使用教程--整合Mybatis(三)

主页免费提供本案例完整代码提供下载spring注解开发使用教程–整合Mybatis(三)

2021-04-18 17:02:42 84

原创 spring注解开发使用教程--Bean加载控制(二)

Bean的加载有先后顺序,可以通过设置,设置Bean的加载顺序,和依赖关系。bean加载控制依赖加载:@DependsOn 类注解、方法注解控制bean的加载顺序,在指定bean加载完毕后再加载@Order 配置类注解控制配置类的加载顺序...

2021-04-17 23:18:23 102

原创 spring注解开发使用教程--常用注解(一)

附带案例源码免费提供下载–在主页需要掌握的知识总结:使用注解需要开启注解扫描,加载类中的注解<context:component-scan base-package=“包名”/>在进行包所扫描时,会对配置的包及其子包中所有文件进行扫描常用注解非引用类型注入@Value引用类型注入@Autowired==@Inject@Qualifier==@Named@Primary@Resource加载properties文件注解@PropertySource注

2021-04-17 18:18:43 160

Spring注解开发组件扫描器.zip

Spring注解开发组件扫描器.zip

2021-04-19

spring注解开发使用教程--整合Mybatis和Junit(二).zip

spring注解开发使用教程--整合Mybatis和Junit(二).zip

2021-04-18

Spring注解开发整合Mybatis.zip

Spring注解开发整合Mybatis.zip

2021-04-18

spring注解开发--Bean加载控制.zip

spring注解开发使用教程--Bean加载控制(二)案例代码

2021-04-17

spring注解开发.zip

spring注解开发使用教程--常用注解(一)

2021-04-17

Spring整合Mybatis.zip

spring整合mybatis(xml格式)资源免费下载

2021-04-17

空空如也

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

TA关注的人

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