- 博客(40)
- 资源 (2)
- 收藏
- 关注
原创 linux下ffmpeg安装
1.下载安装MP3编码库因为FFmpeg默认只支持mp3的解码,不支持mp3编码。如果想把提取出来的音频保存为mp3格式肯定就需要mp3格式的编码库。因此,想输出mp3文件,需要借助第三方的mp3编码库。这里采用LAME编码库,即Lame Aint an MP3 Encoder(A high quality MP3 encoder). LAME库可以从http://lame.sourceforge.net/下载到。我这里下载的时候选择的版本是3.98,文件名为lame-398.tar.gz,大约1M多。
2023-11-23 15:47:56 537
原创 高质量图片操作Thumbnailator库
watermark(Positions.BOTTOM_RIGHT, ImageIO.read(new File("c.jpg")),0.5f). //水印位于右下角,半透明。System.out.println("原因: " + e.getMessage());System.out.println("原因: " + e.getMessage());System.out.println("原因: " + e.getMessage());outputFormat("png"). // 转换格式。
2023-06-26 10:40:28 287
原创 mysql 的left json,right join,inner join 详解
1.内连接和外连接(1) 左外连接(LEFT OUTERJOIN),结果保留左表的全部数据(2) 右外连接(RIGHT OUTER JOIN),结果保留右表的全部数据(3) 全外连接(FULL OUTER JOIN),结果是2个表的并集外连接的应用场景:用于一个查询一个表中的所有,两一个表可有可无的记录特点:外连接的查询结果为主表中的所有记录,如果从表中有和它匹配的,则显示匹配的值,如果从表中没有和它匹配的,则显示null,外连接查询的结果=内连接结果+主表中有而从表中没...
2021-07-20 11:34:41 1195
原创 JAVA 去掉字符串中间的空格
String str = "我是 一只 小小鸟";System.out.println(str.replaceAll("\\s*","").length());
2021-07-20 11:11:20 195
原创 springboot默认文件大小
springboot默认文件大小为1M,超过后会报异常:Maximum upload size exceeded; nested exception is java.lang.IllegalStateException更改上传文件大小的配置如下:spring.servlet.multipart.max-file-size = 500MBspring.servlet.multipart.max-request-size = 600MB...
2021-07-14 15:58:33 2542
原创 mybatis-plus 入门到精通
简介 官网地址:https://mp.baomidou.com/guide/ mybatis-plus是一个mybatis的增强工具,只做增强,不做改变,为简化和提高效率而生。 特性: 1.1,无侵入,只做增强,不做改变。 1.2,损耗小,启动即可注入基本的CRUD,性能基本无损耗,直接面向对象操作 1.3,内置baseMapper,只需少量配置,就可以实现大部分的CRUD操作 ...
2021-07-13 19:07:58 265 1
原创 MybatisPlus使用Model实现CRUD
Model是mybatisPlus自带的实体父类。import com.baomidou.mybatisplus.extension.activerecord.Model;直接定义Bean的时候实现Model类,该类的作用是能通过实体直接进行crud操作,而不需要进行调用dao,前提是“必须存在对应的原始mapper并继承baseMapper并且可以使用的前提下”。也就是说实际上行还是调用的dao的方法。@EqualsAndHashCode(callSuper = true)@Data
2021-06-25 16:10:16 5907 2
原创 lombok @EqualsAndHashCode
1. 此注解会生成equals() 和 hashCode()方法。2. 它默认使用非静态,非瞬态的属性3. 可通过参数exclude排除一些属性4. 可通过参数of指定仅使用哪些属性5. 它默认仅使用该类中定义的属性且不调用父类的方法6. 可通过callSuper=true解决上一点问题。让其生成的方法中调用父类的方法。另:@Data相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode这5个注解的合集。
2021-06-25 14:48:03 262
原创 lombok的@Accessors注解
@Accessors注解用来配置lombok如何产生和显示getters和setters的方法。默认情况下,lombok按照产生getters和setters:比如getId(),setId(),如果不想使用默认的方式,可使用@Accessors注解@Data@Accessors(chain = true)public class User { private Long id; private String name; private Integer age; .
2021-06-25 14:29:08 616
原创 logstash日志输出到mysql
详细步骤:1,下载logstash压缩包2,依赖jdk1.8. 可在bin文件夹下修改jdk的默认路径3,生成jdbc依赖jar包:bin/logstash-plugin install logstash-output-jdbc4,添加jdbc驱动jar包到某路径下:cp vendor/jar/jdbc/5,生成记录文件 sincedb_path/mysql6,建立config文件input { file { type => "http" ...
2021-06-24 15:25:31 1542
原创 JAVA 去掉字符串中间空格
String str = "我是 一只 小小鸟"; System.out.println(str.replaceAll("\\s*",""));String [] arr = str.split("\\s+"); System.out.println(Arrays.asList(arr));输出:我是一只小小鸟[我是, 一只, 小小鸟] String的split方法支持正则表达式; 正则表达式\s表示匹配任何空白字符,+表示匹配一次或多次。 ...
2021-06-09 18:45:53 425
原创 SpringBoot maxConnections、maxThreads、acceptCount解析
1,accept-count:最大等待数当所有的请求处理线程都在使用时,所能接收的连接请求的队列的最大长度。当队列已满时,任何的连接请求都将被拒绝。accept-count的默认值为100。详细的来说:当调用HTTP请求数达到tomcat的最大线程数时,还有新的HTTP请求到来,这时tomcat会将该请求放在等待队列中,这个acceptCount就是指能够接受的最大等待数,默认100。如果等待队列也被放满了,这个时候再来新的请求就会被tomcat拒绝(connection refused)。2,m
2021-05-11 18:40:05 918
原创 Java8优化---日期处理
java8之前处理日期往往使用java.util.Date ,SimpleDateFormat ,java.util.Calendar。全新的API(java.time.*)的好处是:明确了日期时间的概念,例如:瞬时(instant)、长短(duration)、日期、时间、时区和周期。同时继承了Joda 库按人类语言和计算机各自解析的时间处理方式。不同于老版本,新API基于ISO标准日历系统,java.time包下的所有类都是不可变类型而且线程安全。关键类:示例:1,获取当前日期Loc.
2021-05-07 14:34:03 257
原创 Wireshark抓包保存请求中的图片,文件
1,通过ip.addr 检索出可用请求2,检索数据源3,右键 ---》导出分组字节流,保存4,打开图片
2021-05-06 17:44:05 1811
原创 springboo2.0集成webSocket(一)
什么是webSocket?WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器互相通信,不但可以浏览器去请求服务器获取数据,而且允许服务器主动发送信息给客户端。maven依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId&
2021-04-29 18:55:55 155
原创 netty的面试题
1,netty 是什么? netty是一款基于NIO(非阻塞IO)的通信框架,对于BIO(阻塞IO)来说,很大的提高了其并发性。
2021-04-13 17:34:54 557
原创 java socket Tcp协议的应用
1,服务端public class Server { public static void main(String[] args) { try { final ServerSocket server = new ServerSocket(10000); ExecutorService cachedThreadPool = Executors.newCachedThreadPool(); cachedThre.
2021-04-06 18:30:31 84
原创 netty的第一个应用
一,创建nettyServer@Componentpublic class NettyServer { public static final String NETTY_WORK_THREAD = "IO"; private EventLoopGroup bossGroup; private EventLoopGroup workerGroup; private ChannelFuture channelFuture; private stati
2021-04-06 18:22:14 104
原创 对redis的理解
一,应用场景: 数据高并发的读写 海量数据的读写 对扩展性要求高的数据 二,redis的功能 1,数据缓存 2,分布式锁 3,支持数据持久化 4,支持事务 5,支持消息队列三,redis 支持的数据类型 String,list,hash,set,zset四,redis 支持的java客户端 Redisson、Jedis、lettuce, 常用框架为:spring-bo...
2021-02-09 15:39:01 256
原创 Handler dispatch failed; nested exception is java.lang.NoSuchMethodError
问题:Handler dispatch failed; nested exception is java.lang.NoSuchMethodError::io.netty.channel.SingleThreadEventLoop.<init>(Lio/netty/channel/EventLoopGroup;Ljava/util/concurrent原因:netty版本冲突解决方案:添加maven:<dependency> <groupId
2020-12-10 18:02:03 490
原创 JAVA邮件发送——文本,图片,附件
一,jar包下载:https://www.oracle.com/java/technologies/java-archive-eepla-downloads.html#javamail-1.4.7-oth-JPR二,引入 maven<dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <v
2020-12-10 17:54:11 346
原创 谈谈对volatile的理解
1,volatile关键字,修饰变量,是java虚拟机提供的一个轻量级同步机制,主要有以下三个特性: 1.1可见性 1.2不保证原子性 1.3禁止指令重排1.1可见性的理解由于jvm运行程序的实体是线程,而每个线程创建时jvm都会为其搭建一个工作内存,工作内存是每个线程的私有化数据区域,而JMM(java内存模型)中规定所有的变量都存储在主内存中,主内存有共享内存区域,所有线程都可以访问,但线程对变量的操作(读取赋值等)必须在工作内存中进行,首先要将变量...
2020-08-09 00:31:40 508
原创 Springboot集成spring-data-jpa
Jpa (Java Persistence API) 是 Sun 官方提出的 Java 持久化规范。它为 Java 开发人员提供了一种对象/关联映射工具来管理 Java 应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合 ORM 技术Spring Boot Jpa 是 Spring 基于 ORM 框架、Jpa 规范的基础上封装的一套 Jpa 应用框架,可使开发者用极简的代码即可实现对数据的访问和操作。它提供了包括增删改查等在内的常用功能,且易于扩展!学习并使用 Spring Data J
2020-07-29 17:50:16 240
原创 springboot运行原理
1,pom引用<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version></parent><!--web应用--><dependency>
2020-07-29 17:30:28 183
原创 SpringBoot入门篇和注解
一,SpringBoot是什么? SpringBoot是一个框架,目的就是为了简化在使用spring其他框架时所需要的大量的配置文件,使其配置变的相当简单,也让应用部署变得简单。二,SpringBoot的特性是什么? 1,内置服务器,直接嵌入Tomcat,jetty等,在应用部署时不再使用war包,直接jar包即可使用 2,自动进行spring框架的配置,在之前的项目中,我们经常把配置文件放入的resource中进行管理,集成springboot后,只需要一...
2020-07-29 17:28:51 200
原创 java操作es数据的多条件查询BoolQueryBuilder的查询方法
一,创建es的连接public TransportClient transportClient(){ Settings settings = Settings.builder() .put("cluster.name", "elasticsearch") .build(); TransportClient client = new PreBuiltTransportClient(settings); TransportAddres.
2020-05-15 16:29:55 52215
原创 mysql 查询近一个月内某段时间的记录
#mysql关于查询时间的语法#获取当前日期和时间的函数。2020-05-08 16:42:36select NOW();#获取当前的日期 2020-05-08select CURDATE();#获取当前时间 16:42:23SELECT CURTIME();# 2020-05-08SELECT DATE(now()) from now();SELECT DATE(create_time) from t_book limit 1;#获取返...
2020-05-08 17:57:25 1723
转载 HashMap的实现原理
1,数据结构 JDK1.8后添加红黑树,底层是数组+链表红黑树实现。 链表长度>8 & 数组长度>=64 ====> 红黑树 红黑树节点数<6 =====>链表2,HashMap的插入原理1,判断数组为空--->初始化,初始化,默认初始化容量(capactiy)16,必须是2的幂,最大值为int...
2020-04-01 14:33:41 172
原创 HashMap为什么要底层使用红黑树?
为什么用红黑树不用二叉树? 红黑树也是一种二叉查找树。当于是平衡二叉树,它是一种经典高效的算法 二叉树的特点是,左节点小于等于根节点,右节点大于等于根节点。比如插入9,8,7这三个值,随着数据越来越多,左节点就会越来越长,二叉树的查找就会越来越低红黑树就避免了这个问题,如果左右节点无值,可以使用null代替,很好的保证了集合的操作的时间为O(lgn)。红黑树的...
2020-03-31 17:08:45 5045 3
原创 单例模式的几种写法
1.饿汉式public class Singleton { private static Singleton (){ //私有构造方法 } //声明成员变量 private static Singleton singleton = new Singleton(); //对外提供接口获取该实例 public static Singleton g...
2020-01-08 15:23:52 84
原创 String为什么是不可变的?
我们谈论的String不可变, 指的是字符串的值不可变1,什么是不可变对象?如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的。不能改变状态的意思是:不能改变对象内的成员变量,包括基本数据类型的值不能改变,引用类型的变量不被指向其他的对象,引 用类型指向的对象的状态也不能改变...
2019-12-31 16:28:24 3935 2
原创 什么是字符串常量池?
1,jvm为了提高性能和减少内存开销,在进行实例化字符串常量时做了一些优化。首先,为了减少在jvm中创建的字符串的数量,字符串类就维护了一个字符串池,每当代码创建字符串常量时,jvm会首先检查字符 串常量池。然后,如果字符串已经在池内,就返回池中的实例引用。 如果字符串不在池内,就会实例化一个字符串放到池中,java能够进行这样的优化时因为字...
2019-12-31 14:42:29 314 1
原创 java-遍历某文件夹下的文件
/** * 读取某个文件夹下的所有文件 返回文件路径集合 * @param filepath 文件夹名 * @return */public static List<String> readfile(String filepath) { List<String> list=new ArrayList<>(); try { ...
2018-11-15 16:29:02 317
原创 springboot注解的使用
之前使用的是3个注解注解他们的main类。分别是@Configuration,@EnableAutoConfiguration,@ComponentScan。由于这些注解一般都是一起使用,spring boot提供了一个统一的注解@SpringBootApplication。@SpringBootApplication = (默认属性)@Configuration + @EnableAutoCon...
2018-04-10 18:14:15 393
原创 spring-boot是什么?
Spring Boot提供了一种新的编程范式,能在最小的阻力下开发Spring应用程序。有了它, 你可以更加敏捷地开发Spring应用程序,专注于应用程序的功能,不用在Spring的配置上多花功夫,甚至完全不用配置。实际上,Spring Boot的一项重要工作就是让Spring配置不再成为你成功路上的绊脚石。Spring Boot通过起步依赖为项目的依赖管理提供帮助。起步依赖其实就是特殊的Mave...
2018-04-10 18:12:08 118
原创 spring-boot入门--新建springboot项目
第一种,通过IDEA的spring initializer创建File---》new Project----》spring initializer----》Next勾选web,需要使用什么模块就在右方点击选中点击Next----》Finsh就完成了新建第二种,: 进入网站: http://start.spring.io/点击按钮,生成项目,就是一个简单的springboot项目了第三种:自己手动创...
2018-04-10 18:08:27 178
原创 Redis入门
一,介绍Redis是远程数据服务的缩写,是一款内存高速缓存数据库,该软件使用c语音编写,它的数据模型为key-value。 是完全开源免费的。二,优点1,速度快,因为数据存在内存中,类似与hashMap,hashMap的优势就是查找和操作的时间和复杂度都较小,redis可以一秒内读写超过十万个键值。2,支持丰富数据类型,支持string,list,set,sorted set...
2017-07-21 19:32:01 222
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人