三个窗口卖票的例子解决线程安全问题 问题:买票过程中,出现了重票、错票--出现了线程的安全问题 问题出现的原因:当某个线程操作车票的过程中,尚未操作完成时,其他线程参与...
网站建设
Java线程通信中关于生产者与消费者案例分析
相关方法: wait():一旦执行此方法,当前线程就进入阻塞状态,并释放同步监视器。 notify():一旦执行此方法,就会唤醒被wait的一个线程,如果有多个线程被wait,就唤醒优先级高的那个。...
聊聊如何打印GC日志排查的问题
目录 如何打印GC日志排查问题 先来看个示例 那么上面打印出来的日志,具体是什么意思呢? 小结一下 gc日志打印时间戳 如何打印GC日志排查问题 在工作当中,有时候我们会需要打印...
Spring集成MongoDB的两种方法实例
目录 前言 一、准备工作 1、工程生成 2、配置项 二、使用MongoTemplate 1、创建实体UserInfo 2、定义接口 3、接口实现 4、定义调用controller 5、结果 三、使用MongoRepository 1、定义接口 2、定义...
Java框架之Maven SSM集合
目录 SSM Maven 什么是maven Maven好处,为什么要用Maven 三种仓库 坐标概念 总结 SSM @Controller,@Service本质都是@Component,作用是new对象放到Spring容器里。 controller层 @Controller//controller层专属注...
详解消息队列及RabbitMQ部署和使用
目录 什么是消息队列 为什么需要消息队列 常见的消息队列 ActiveMQ RabbitMQ ZeroMQ Kafka RocketMQ RabbitMQ 的部署和使用 Python 编写生产者 Python 编写消费者 最后的话 什么是消息队列 消息队列拆...
java集合类遍历的同时如何进行删除操作
目录 java集合类遍历的同时进行删除操作 1. 背景 2. 代码示例 3. 分析 java集合中的一个移除数据陷阱 遍历集合自身并同时删除被遍历数据 异常本质原因 解决 java集合类遍历的同时进行删...
Java线程创建的四种方式总结
多线程的创建,方式一:继承于Thread类 1.创建一个继承于Thread类的子类 2.重写Thread类的run()---将此线程执行的操作声明在run()中 3.创建Thread类的子类的对象 4.通过此对象调用start(): sta...
Java SpringBoot安全框架整合Spring Security详解
目录 1.工业级安全框架介绍 2.建议搭建Spring Security环境 2.1在pom.xml中添加相关依赖 2.2创建Handler类 2.3创建简单的html和配置相关thymeleaf的路径 2.4最后再加个启动类,那么我们的整合测试就...
mybatis-spring:@MapperScan注解的使用
目录 mybatis-spring:@MapperScan注解 @MapperScan源码 MapperScannerRegistrar.class demo: springboot+mybatis 工程代码 mybatis-spring:@MapperScan注解 在 demo: springboot+mybatis的示例中 ,dao层接口使用了注解@MapperScan:...
Java异常的处理机制
图片解析: 1.生成字节码文件的过程可能产生编译时异常(checked),由字节码文件到在内存中加载、运行类此过程可能产生运行时异常(unchecked), 2.JAVA程序在执行过程中所发生的异常事件...
解决Spring使用@MapperScan问题
目录 问题场景 问题根源 问题追溯 问题解决 SpringBoot @MapperScan的注意事项 问题场景 今天小编在MyBatis 整合Spring 的时候,使用到了@MapperScan,在启动期出现了一个错误: Invalid default: pu...
Java并发编程之代码实现两玩家交换装备
目录 1 Exchanger 是什么 2 Exchanger 详解 3 Exchanger 应用 总结 1 Exchanger 是什么 JDK 1.5 开始 JUC 包下提供的 Exchanger 类可用于两个线程之间交换信息。Exchanger 对象可理解为一个包含2个格子的容...
基于@MapperScan和@ComponentScan的使用区别
目录 @MapperScan和@ComponentScan区别 @MapperScan和@ComponentScan使用 原因 解决办法 课外拓展 @MapperScan和@ComponentScan区别 今天在撸SpringBoot的时候,突然对注解产生了混淆,@MapperScan和@ComponentScan都...
Spring Bean 依赖注入常见错误问题
有时我们会使用@Value自动注入,同时也存在注入到集合、数组等复杂类型的场景。这都是方便写 bug 的场景。 1 @Value未注入预期值 在字段或方法/构造函数参数级别使用,指示带注释元素...
Java构造器方法深入理解
目录 重载 1.构造器的重载 2.方法的重载(overload) 重写 重载 1.构造器的重载 因为构造器的名字必须与类名相同,所以同一个类的所有构造器名肯定相同,构成重载;为了让系统能区分...
Java加载与存储指令之ldc与_fast_aldc指令
目录 1、ldc字节码指令 2、fast_aldc虚拟机内部字节码指令 ldc指令可以加载 String 、方法类型或方法句柄的符号引用,但是如果要加载String、方法类型或方法句柄的符号引用,则会在类连接...
Python多线程 Queue 模块常见用法
queue介绍 queue是python中的标准库,俗称队列,可以直接import 引用,在python2.x中,模块名为Queue 在python中,多个线程之间的数据是共享的,多个线程进行数据交换的时候,不能够保证数据...
SpringBoot 配置文件加载位置与优先级问题详解
【1】项目内部配置文件 spring boot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件 –file:./config/ –file:./ –classpath:/config/ –classpath:/ 即如下图所...
使用Java Minio搭建自己的文件系统详解
目录 前言 1、Minio介绍 2、Minio安装与启动 3、Minio控制台创建存储桶 4、存储桶权限 5、控制台实现文件的上传与下载 6、使用Springboot与Minio整合实现文件的增删查改 6.1、创建项目 6.2、添...
Django REST framework 异常处理
目录 写在前面 DRF异常处理 1. DRF 常见的异常 2. 自定义异常 3. 使用自定义异常 4. 验证结果 异常处理进阶 1. 修改自定义异常 2. 自定义更多异常 3. 新增测试接口 4. 验证结果 总结 参考资...
SpringBoot启动指定profile的多种方式
目录 配置文件中设置 命令行设置 IDEA中设置 1、program arguments程序参数 2、VM options虚拟机参数 3、Active profiles 参数 遇到的问题 配置文件中设置 通常在公司级别的项目中,我们可能会写...
drf序列化器serializer的具体使用
目录 一、序列化器-serializer 二、序列化器的使用 简单使用 高级使用 source **SerializerMethodField( ) ** 通用参数 三、反序列化数据校验 字段属性 局部钩子 全局钩子 validators 四、序列化器操...
Spring注解@EnableWebMvc使用的坑点及解析
目录 Spring注解@EnableWebMvc使用坑点 @enablewebmvc注解有什么用途 Spring注解@EnableWebMvc使用坑点 通过注解的方式来进行Spring4 MVC开发时,我们都会在配置文件中加入mvc:annotation-driven/标签,这个...
python+opencv+selenium自动化登录邮箱并解决滑动验证
前言 大家做自动化登录时可能都遇到过滑块验证码需要手动验证的问题,这次我们就来解决他 如下: 在我们做自动化登录时,总会遇到各种奇奇怪怪的验证码,滑块验证码就是其中最...
Java 数据流之Broadcast State
一、BroadcastState 的介绍 广播状态(Broadcast State)是 Operator State 的一种特殊类型。如果我们需要将配置 、规则等低吞吐事件流广播到下游所有 Task 时,就可以使用 BroadcastState。下游的 Tas...
python中的import语句用法大全
import语句有什么用?import语句用来导入其他python文件(称为模块module),使用该模块里定义的类、方法或者变量,从而达到代码复用的目的。 import 语句官方文档https://docs.python.org/zh-c...
Java使用opencv识别二维码的完整步骤
目录 前言 OpenCV的安装 开发环境配置 识别二维码 总结 前言 OpenCV的全称是Open Source Computer Vision Library,它是一个跨平台的计算机视觉库,由英特尔公司发起并参与开发,以BSD许可证授权...
python imutils包基本概念及使用
1.imutils功能简介 imutils是在OPenCV基础上的一个封装,达到更为简结的调用OPenCV接口的目的,它可以轻松的实现图像的平移,旋转,缩放,骨架化等一系列的操作。 安装方法: pip install...
Java数据结构彻底理解关于KMP算法
大家好,前面的有一篇文章讲了子序列和全排列问题,今天我们再来看一个比较有难度的问题。那就是大名鼎鼎的KMP算法。 本期文章源码:GitHub源码 简介 KMP算法是一种改进的字符串匹...
5款最强且免费的Python IDE小结
目录 第5名:Sublime Text 第4名:Spyder 第3名:Eclipse 第2名:PyCharm 第1名:Visual Studio Code 在一些问答平台,经常会遇到一类关于Python的问题: “学习Python,应该选择哪款开发工具?” 如果...
SpringMVC对自定义controller入参预处理方式
目录 Spring Mvc对自定义controller入参预处理 HandlerMethodArgumentResolver接口说明 初学者一般喜欢类似下面的代码 我们需要定义如下的一个参数分解器 注册自定义分解器 SpringMVC技巧之通用Co...
python中对信号的处理详解
目录 什么是信号 Python的信号处理 Python对信号的处理 信号枚举 信号函数 signal.alarm(time) signal.pause() signal.setitimer(which, seconds, interval) os.getpid() Windows下信号的使用 当signal handling需要参数怎...
Java SpringBoot启动指定profile的8种方式详解
目录 配置文件中设置 命令行设置 IDEA中设置 1、program arguments程序参数 2、VM options虚拟机参数 3、Active profiles 参数 遇到的问题 总结 配置文件中设置 通常在公司级别的项目中,我们可能...
使用 Python 解析配置文件格式
第一步是选择配置文件的格式:INI、JSON、YAML 或 TOML。 有时,程序需要足够的参数,将它们全部作为命令行参数或环境变量既不让人愉快也不可行。 在这些情况下,你将需要使用配置文...
spring webflux自定义netty 参数解析
目录 自定义 webflux 容器配置 解决方案 初识Spring WebFlux Spring Web新的改变 Spring WebFlux的特性 1.异步非阻塞 2.响应式(reactive)编程 3.适配多种web容器 Spring WebFlux简单实践 1.工程创建 2.Con...
Python多线程以及多线程中join()的使用方法示例
Python多线程与多进程中join()方法的效果是相同的。 下面仅以多线程为例: 首先需要明确几个概念: 知识点一: 当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行流的...
python通过http上传文件思路详解
这里主要是解决multipart/form-data这种格式的文件上传,基本现在http协议上传文件基本上都是通过这种格式上传 1 思路 一般情况下,如果我们往一个地址上传文件,则必须要登陆,登陆成...
Spring技巧之如何动态读取配置文件
目录 Spring 动态读取配置文件 需求背景 方案一 方案二 方案三 动态读取配置文件中的信息 1、首先是写一个配置文件,方便动态加载 1、利用类加载器等读取配置文件 Spring 动态读取配置...
利用Python实现定时程序的方法
目录 定时器概念 实现一个简单的定时程序 方案一 方案二 定时器概念 什么是定时器呢?它是指从指定的时刻开始,经过一个指定时间,然后触发一个事件,用户可以自定义定时器的周...
java如何实时动态获取properties文件的内容
目录 实时动态获取properties文件的内容 动态读取的代码 读取配置文件 Properties VS ResourceBundle 1. 常用API 2. Properties 解析属性文件 3. ResourceBundle 解析属性文件 4. 属性文件 5. 实战推荐 实时...
python设计模式之抽象工厂模式详解
抽象工厂模式(Abstract Factory Pattern):属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类,每个...
Java注解方式之防止重复请求
目录 一、 前情提要 二、技术设计 2.1 库表设计 2.2 业务逻辑 2.3 代码编写 2.4 测试 2.5 问题所在 三、解决方案 四 、唠唠 4.1 项目 4.2 redis服务 4.3 其他问题 自定义注解方式防止前端同一时...
python偏函数的实例用法总结
说明 1、当函数的参数太多,需要简化时,使用functools.partial可以创建一个新的函数。 2、这个新的函数可以固定原始函数的部分参数,从而更容易调用。 作用是固定一个函数的某些参数...
spring整合redisson开启缓存方式
目录 spring整合redisson开启缓存 @Cacheable @CachePut @CacheEvict spring集成redisson踩过的坑 spring整合redisson开启缓存 先来了解几个注解: @Cacheable 表明所修饰的方法是可以缓存的:当第一次调用这...
Python入门开发教程 windows下搭建开发环境
目录 一、环境介绍 二、 搭建python开发环境 2.1 Python版本介绍 2.2 在windows下安装Python环境 2.3 windows下安装VSCode代码编辑器 一、环境介绍 操作系统: win10 64位 python版本: 3.8 IDE: 采用vscode 用...
一小时迅速入门Mybatis之初识篇
目录 一、Mybatis简介 二、mybatis入门 2.1 创建Maven项目 2.2 修改pom文件(引入jar包) 2.3 编写xml 2.4 编写Java代码 2.5 唠唠 一、Mybatis简介 Mybatis是一款超级无敌的持久层框架,它支持自定义...
python实现简易聊天室(Linux终端)
本文实例为大家分享了python实现简易聊天室的具体代码,供大家参考,具体内容如下 群聊聊天室 1.功能:类似qq群聊功能 1.有人进入聊天室需要输入姓名,姓名不能重复 2.有人进入聊天...
java 如何从字符串里面提取时间
目录 如何从字符串里面提取时间 我们可以使用正则表达式 从字符串中提取年份,要求输出1000-4999之间的所有年份 正则表达式 传统匹配: 如何从字符串里面提取时间 今天接到一个需求...
Python利用ROI进行图像合成的问题小结
之前使用 seamlessClone 来合成图片,但发现在两张图片的交集部分会出现一些小问题…… 需求: 假设现在有一张图片(模板)中存在两个空格可以用来填照片(如下图所示): 图中,...