![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 67
charles·wang
欣逢盛世 当不负盛世 -- 钟南山
展开
-
@ComponentScan、@ComponentScans详解
@ComponentScan、@ComponentScans详解。转载 2023-02-14 15:38:56 · 200 阅读 · 1 评论 -
自定义bean 加载到spring IOC容器中
@Configuration、@Bean,自定义bean注入spring 容器、spring.factories、META-INF\spring.factories原创 2023-02-14 12:46:29 · 877 阅读 · 0 评论 -
Spring Bean的生命周期,你了解吗
在Spring框架中,Bean对象有着它的生命周期,然而对于Bean对象的生命周期,我们并不是很清楚,因为Spring帮助我们管理了Bean对象,所以,掌握Bean的生命周期,并知晓Spring在每个阶段为我们做了哪些事情是非常有必要的。 对于一个Bean的生命周期,其实非常简单,无非就是从创建对象到销毁的过程,但是Spring作为一个可扩展的框架,其在Bean的创建和销毁过程中加入了非常多的扩展点,这也是为什么Spring能够蓬勃发展至今的一个原因。Bean的生命周期大体可以总结为以下几个阶转载 2022-07-06 10:33:07 · 1279 阅读 · 0 评论 -
... signer information does not match signer information of other classes in the same package
java.lang.SecurityException: class "cfca.sadk.org.bouncycastle.util.Arrays"'s signer information does not match signer information of other classes in the same package原创 2022-03-18 01:15:35 · 3751 阅读 · 1 评论 -
计算corn执行两次的时间间隔
一. 代码 /** * @desc 计算corn执行的时间间隔 * @date 2020/12/16 13:40 */ public static void calculateCronTimeInterval(String corn) { if (StringUtils.isBlank(corn)){ throw new IllegalArgumentException("参数不能为空"); } C原创 2020-12-16 15:46:31 · 1168 阅读 · 1 评论 -
视频上传 获取视频的第一帧 截取视频第一帧
一. 前端代码 前端使用layui框架实现视频文件上传。1.1 html展示editGoods.html <div class="layui-form-item" id="backgBg_div"> <label class="layui-form-label">视频上传:</label> <div class="img-list-upload fl mt10" id="bannerImagePicture">原创 2020-09-05 12:35:30 · 5321 阅读 · 0 评论 -
spring cloud微服务开启druid监控管理
一. 环境说明Alibaba Druid github 地址1.1 Druid版本<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.17</version></dependency>1.2 Spring Cloud 版本<d原创 2020-09-03 17:03:04 · 4677 阅读 · 0 评论 -
GC调优基础知识之工具篇--jdk为我们提供的命令行命令 jps,jstat,jmap,jinfo,jstat,jstack,jhat 等
一. JDK为我们提供的工具: 在Windows中对于这些命令的支持是源自JDK -->bin并下面的.exe可执行文件的支持。 在Linux中对于这些命令的支持是源自JDK -->bin并下面可执行文件的支持。二. 命令解析2.1 jps 列出当前机器上正在运行的虚拟机进程,JPS 从操作系统的临时目录上去找(所以有一些信息可能显示不全)。jps 常用参数参数意义-l输出应用程序主类完整 package 名称或 jar 完整名称.-q原创 2020-08-23 23:13:32 · 657 阅读 · 0 评论 -
微信退款apiclient_cert.p12证书获取 jar包中资源文件获取 java 输入流转字节数组
public WXConfig() throws Exception { //从微信商户平台下载的安全证书存放的路径 // 获取URL URL url = getClass().getClassLoader().getResource("apiclient_cert.p12"); // 通过url获取File的绝对路径 File file = new File(url.getFile()); InputStre.原创 2020-08-19 11:46:13 · 4298 阅读 · 0 评论 -
myBatis是怎么使用 @GeneratedValue(generator = “...“, strategy = ...) 注解
一. @GeneratedValue注解id生成策略 使用范围:方法和属性@Target({METHOD, FIELD})@Retention(RUNTIME)public @interface GeneratedValue { /** * (Optional) The primary key generation strategy * that the persistence provider must use to * generate the anno原创 2020-08-12 17:33:11 · 8400 阅读 · 1 评论 -
java学习 进阶文档地址汇总
一.java1.《java8 JVM相关配置参数》2.《java8 Doc文档》二.redis1.《Redis 命令参考》原创 2020-08-02 14:08:51 · 410 阅读 · 0 评论 -
等待/通知机制 notify() 、notifyAll()、wait()使用
等待/通知机制: 类似于生产者与消费者的关系。是指一个线程A调用了对象Object的wait()方法进入等待状态。另一个线程B调用notify()或notifyAll()方法,通知进入等待的线程。线程A收到通知后,从等待中返回,继续执行后面的操作。一. 方法解释说明1. wait() 方法waitpublic final void wait() throws InterruptedException 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当原创 2020-06-08 21:26:01 · 690 阅读 · 0 评论 -
ThreadLocal 线程不安全问题分析
我们知道ThreaLocal是线程的副本,每个线程都持有各自的ThreadLocal副本,互不干扰,那么又怎么会有线程安全问题呢?一. 先来一个实验案例/** * @author charles * @createTime 2020/6/7 14:39 * @description threadLocal 可能产生的线程不安全因素测试 */public class ThreadLocalUnSafe extends Thread{ private static Company c原创 2020-06-07 15:27:10 · 1853 阅读 · 1 评论 -
理解ThreadLocal 可能产生的内存泄漏风险
内存泄漏(Memory Leak): 是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。 内存溢出(Out Of Memory): (简称OOM)是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于能提供的最大内存。此时程序就运行不了,系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件,而由系统配置、数据流、用户代码等原因而导致的内存溢出错误,即使用原创 2020-06-07 14:35:58 · 1370 阅读 · 0 评论 -
java集合转字符串 字符串转集合 StringUtils 一个强大的字符串操作工具
使用StringUtils有很多字符串操作,集合与字符串之间的转换。例如:可以快速实现数组 集合转字符串(使用指定的字符分割)字符串转数组,判空,字符串转集合等! StringUtils注释:这是一个安全的字符串操作工具一. 集合转字符串 使用StringUtils可以快速实现数组 集合转字符串(使用指定的字符分割)import org.apache.commons.lang3.StringUtils; List<String> list = Lists.newAr原创 2020-05-31 18:17:40 · 15181 阅读 · 0 评论 -
apache.poi 冻结行列解释说明
sheet. createFreezePane(2, 3, 2, 3); //冻结三行两列 [[零表示不设置冻结]] 第一个参数表示要冻结的列数;从零开始; 第二个参数表示要冻结的行数;从零开始; 第三个参数表示在右侧窗格中可以看见的冻结列数。从1开始; 第四个参数表示在底部窗格中可以看见的冻结行数。从1开始;@param colSplit Horizonatal position of split.@param rowSplit Vertical posi原创 2020-05-28 11:35:32 · 1631 阅读 · 1 评论 -
ThreadLocal的工作原理分析及应用
ThreadLocal 用在变量跟着线程变化时。Spring事物中数据库的连接就是使用ThreadLocal存放的。一.ThreadLocal的官方说明jdk ThreadLocal的解释说明: This class provides thread-local variables. These variables differ from their normal counterparts in that each thread that accesses one (via its {@原创 2020-05-18 23:00:05 · 200 阅读 · 0 评论 -
java volatile 关键字的原理及使用
一、基本概念Java 内存模型中的可见性、原子性和有序性。可见性: 可见性,是指线程之间的可见性,一个线程修改的状态对另一个线程是可见的。 也就是一个线程修改的结果。另一个线程马上就能看到。比如:用volatile修饰的变量,就会具有可见性。volatile修饰的变量不允许线程内部缓存和重排序,即直接修改内存。所以对其他线程是可见的。但是这里需要注意一个问题,volatile只能让被他修饰内容具有可见性,但不能保证它具有原子性。比如 volatile int a = 0;之后有一个操作 a++;这个原创 2020-05-18 16:20:48 · 191 阅读 · 0 评论 -
synchronized 的关键字 内置锁 内置锁机制及使用方法
内置锁机制: java 支持多个线程同时访问一个对象或者对象的成员变量。关键字synchronized可以修饰方法或者代码块,它主要确保一个线程在同一时刻,同一把锁中,只能有一个线程处于方法或者同步代码块中。他保证了线程对变量访问的可见性与排他性。用法: 1.同步代码块中; 2.方法上;/** * 1.同步代码块中; */public void test1(){ synchronized (this){ //todo }}/** * 2.方法原创 2020-05-17 15:49:58 · 150 阅读 · 0 评论 -
lambda表达式 学习记录
Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑。lambda 表达式的语法格式如下:1.(parameters) -> expression2.(parameters) ->{ statements; }lambda...原创 2020-01-30 16:36:42 · 115 阅读 · 0 评论 -
pagehelper 关闭count(0)查询 以及pagehelper的分页原理分析
情景再现:在给移动端提供分页查询数据接口时,知道他们不需要总条数。但是使用pagehelper 分页查询打印的sql总是会查询两次,先统计条数,在进行列表查询。对于有点强迫症的我来说,很不爽。于是开始查资料追源码。于是找到了pagehelper的分页对象:com.github.pagehelper.Page;其中一个属性count默认是true,默认会执行count查询 /** ...原创 2020-01-11 13:33:20 · 14571 阅读 · 5 评论