自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

打不死的小强lee的博客

一个大龄程序员的自言自语+优秀资源搬运工

  • 博客(180)
  • 资源 (2)
  • 收藏
  • 关注

原创 超好用的pdf编辑+pdf转word工具 – Adobe Acrobat Pro DC下载

Adobe Acrobat Pro DC 是一款由 Adobe 官方推出的 PDF 编辑和阅读软件,是目前互联网上最专业最优秀的桌面 pdf 解决方案,它将全球最佳的 PDF 解决方案提升到新的高度,配有直观触控式界面,通过开发强大的新功能,使用户能在任何地方完成工作。Adobe Acrobat DC 最大亮点在于可将纸质图片、文字迅速转化成 PDF 或文档格式,比如人们通过手机拍照,可让纸质版文字转化成电子版,用户可直接对文档进行修改。Adobe Acrobat DC 是一款 PDF 的处理工具。

2023-02-17 16:42:18 1873 2

原创 Springboot+Rabbitmq不能自动创建交换机和队列的问题

rabbitmq、spring+rabbitmq、springboot+rabbitmq、rabbitmq实现延时队列。原因是没指定数据源,springboot不知道该连接哪个数据源。开发中遇到:在不止一个rabbitmq数据源时。

2022-12-12 18:32:32 4621 1

原创 Mysql使用视图加速查询

把表的一个子集进行排序并创建视图,有时能加速查询。它有助于避免多次排序操作,而 且在其他方面还能简化优化器的工作。视图中的行要比主表中的行少,而且物理顺序就是所要求的顺序,减少了磁盘 I/O,所以查询工作量可以得到大幅减少。

2022-10-31 18:47:43 2048

原创 Mysql使用exist和not exist的场景举例

exists 和 not exists也有用武之地

2022-10-31 18:41:45 891

原创 六种Web负载均衡原理与实现

开头先理解一下所谓的“均衡”不能狭义地理解为分配给所有实际服务器一样多的工作量,因为多台服务器的承载能力各不相同,这可能体现在硬件配置、网络带宽的差异,也可能因为某台服务器身兼多职,我们所说的“均衡”,也就是希望所有服务器都不要过载,并且能够最大程序地发挥作用。

2022-10-19 17:07:55 1081

原创 自己实现RPC框架的一种思路

如果使用 netty 的话,一般会用 channel.writeAndFlush()方法来发送消息二进制串,这个方法调用后对于整个远程调用(从发出请求到接收到结果)来说是一个异步的,即对于当。前线程来说,将请求发送出来后,线程就可以往后执行了,至于服务端的结果,是服务端处理完成后,再以消息的形式发送给客户端的。目前互联网公司广泛使用 Protobuf、Thrift、Avro 等成熟的序列化解决方案来搭建 RPC 框架,这些都是久经考验的解决方案。JAVA 一般使用动态代理方式实现远程调用。

2022-10-19 11:30:50 135

原创 TCP粘包/拆包概述

1、要发送的数据大于TCP发送缓冲区剩余空间大小,将会发生拆包。2、待发送数据大于MSS(最大报文长度),TCP在传输前将进行拆包。3、要发送的数据小于TCP发送缓冲区的大小,TCP将多次写入缓冲区的数据一次发送出去,将会发生粘包。4、接收数据端的应用层没有及时读取接收缓冲区中的数据,将发生粘包。

2022-10-17 18:49:54 905

原创 Zookeeper投票机制和工作原理

每个 sever 首先给自己投票,然后用自己的选票和其他 sever 选票对比,权重大的胜出,使用权重较大的更新自身选票箱。

2022-10-14 18:41:59 239

原创 Zookeeper的应用

1、命名服务2、配置管理3、集群管理4、分布式锁5、队列管理

2022-10-14 16:44:10 928

原创 Linux top命令详解

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。前五行是当前系统情况整体的统计信息区。

2022-10-09 14:42:23 542

原创 Shell脚本初级使用

我也不太会写 Shell 脚本,都是写的时候,在网络上拼拼凑凑。。。

2022-09-28 19:03:13 272

原创 Mysql字符集排序规则不一致造成的关联查询错误-Illegal mix of collations

原因就是不同字符集排序规则不能进行join查询。

2022-09-26 10:54:43 1697

原创 https简介

SSL(Secure Socket Layer,安全套接层)协议是WEB浏览器和WEB服务器之间安全交换信息的协议。TLS:(Transport Layer Security,传输层安全协议)。是SSL协议的升级版本。一般说SSL和TLS可以认为是一个东西。

2022-09-17 17:18:31 607

原创 Linux相关命令整理

linux常用命令整理

2022-09-17 10:56:39 306

原创 spring-boot-starter-parent 有什么用

spring-boot-starter-parent 有什么用;开启Spring boot特性有哪些方式;运行Spring boot有哪几种方式

2022-08-19 17:08:00 2984 1

原创 springboot两种配置文件bootstrap.properties和application.properties的区别

Springboot推荐使用JavaConfig而非XML配置,但是Sprintboot中也可以使用XML配置,通过注解可以引入一个XML配置。

2022-08-19 16:06:51 2435

原创 Spring事务实现方式详解

采用TransactionTemplate和采用其他Spring模板,如JdbcTempalte和HibernateTemplate是一样的方法。它使用回调方法,把应用程序从处理取得和释放资源中解脱出来。如同其他模板,TransactionTemplate是线程安全的。实例代码如下:注: 使用TransactionCallback()可以返回一个值。如果使用TransactionCallbackWithoutResult则没有返回值。Spring事务管理器的接口是,通过这个接口,Spring为各个平台如J

2022-08-17 11:29:46 3561

原创 java AOP实现方式及Spring AOP总结

AOP AspectJ JDK动态代理 Cglib

2022-08-12 19:00:22 1760

原创 spring循环依赖的解决方式以及成功失败案例分析以及源码分析

spring循环依赖的解决方式,以及成功和失败的案例分析

2022-08-08 18:57:45 774

原创 CountDownLatch和CyclicBarrier区别的形象比喻

CountDownLatch和CyclicBarrier区别的形象比喻

2022-07-15 16:29:42 123

原创 Mysql join大表优化案例

Mysql join查询的相关原理,实现,由此推出的优化策略;join大表后进行groupby操作慢sql通过临时表+join进行优化

2022-07-14 17:31:26 4359

原创 ThreadPoolExecutor创建线程池启动项目报错问题

ThreadPoolExecutor创建线程池启动项目报IllegalArgumentException问题分析解决

2022-07-13 17:30:00 1265

原创 前缀索引及前缀截取长度的判断标准

前缀索引以及前缀长度如何选择

2022-07-13 17:09:56 375

原创 java程序问题排查常用命令行命令

java监控工具;java命令行工具

2022-06-08 17:27:04 900

原创 java OOM示例及gc日志分析

java OOM示例及以此分析怎么查看GC日志,并进行分析

2022-06-02 18:07:49 1103

原创 Java JIT简述理解

JIT

2022-06-01 17:55:10 840

原创 java内部类的优点和使用场景

内部类的优点我们为什么要使用内部类呢?因为它有以下优点:一个内部类对象可以访问创建它的外部类对象的内容,包括私有数据!内部类不为同一包的其他类所见,具有很好的封装性;内部类有效实现了“多重继承”,优化 java 单继承的缺陷。匿名内部类可以很方便的定义回调。内部类有哪些应用场景一些多算法场合解决一些非面向对象的语句块。适当使用内部类,使得代码更加灵活和富有扩展性。当某个类除了它的外部类,不再被其他的类使用时。...

2022-02-23 17:48:05 1908

原创 mysql联合主键的坑

坑一 字符类型区分大小问题如果联合主键报类似下面错误:MySQLIntegrityConstraintViolationException: Duplicate entry '186699-1-malu8070 ' for key 'PRIMARY'可能是有两条大小写不一致的数据。坑二 字符串前后空格问题注意186699-1-malu8070 和186699-1-malu8070(后面有个空格),在插入时mysql认为是一条数据,也会报Duplicate entry '186699-1-malu

2022-01-07 19:09:31 2313

原创 spring bean生命周期常用方法的执行顺序

一、创建构造方法BeanPostProcessor.postProcessBeforeInitialization()@PostConstructInitializingBean.afterPropertiesSet()init-methodBeanPostProcessor.postProcessAfterInitialization()二、销毁

2021-10-29 20:58:40 440

原创 mysql for update spring下生效案例实测

事务:spring切面配置的事务或者注解事务(@Transactional)方法1:通过id更新(行锁),以下称updateById;方法2:通过id查询(for update),以下称getByIdForUpdate用例1:updateById在事务中,getByIdForUpdate不在事务中操作:先执行updateById(阻塞1分钟后事务才提交);马上执行getByIdForUpdate。结果:getByIdForUpdate阻塞,需要等1分钟后才会执行完(for update起作用)用

2021-09-02 18:11:06 626

原创 java 将网络文件下载并保存

方式一、java ioString dialAudioUrl = "http://172.16.20.220:80/20210506/f2a2c3be01194a63953d4b42d2588465.wav";String saveFile = "/data/upload/audio/f2a2c3be01194a63953d4b42d2588465.wav";URL url = new URL(dialAudioUrl);BufferedInputStream bis = new BufferedI

2021-06-29 18:10:50 390

原创 一句话理解23种设计模式

一、创建型简单工厂模式(非23种设计模式)一个工厂类完成每种产品的生产1、工厂(方法)模式具体的工厂子类负责每一种产品的生产2、抽象工厂模式多个工厂模式的再组合二、结构型1、适配器模式原有接口A和B,现要求通过A能访问到B,就需要一个中间层C适配2、装饰者模式在保证访问原有接口A方式不变的情况下,对接口A进行功能扩展三、行为型...

2021-03-26 11:47:13 126

原创 spring多数据源动态切换采用实现AbstractRoutingDataSource方案的实现与注意点

一、实现1、配置多数据源切换及事务管理器(dataSource和marsDataSource两个数据源配置略)@Configurationpublic class MultipleDataSource extends AbstractRoutingDataSource { private static final Logger logger = LoggerFactory.getLogger(MultipleDataSource.class); @Override prot

2021-03-25 18:52:58 320

原创 mybatis入参运算

mybatis想要实现入参运算,有以下两种方式1、${}如:select * from table1 limit ${start}+1,#{pageSize}2、bind如:<bind name="start" value="start+1"/>select * from table1 limit #{start},#{pageSize}注意:#{}不能运算,因为#{}是预编译...

2021-03-04 18:55:36 1917 2

原创 mongodb语法实例

1、最简单查询input_chance_record_optimization.find({"chanceId":"16288754"})相当于select * from input_chance_record_optimization where chanceId="16288754"2、范围查询db.getCollection('ChanceTurnRound').find({"userId":11310, "isDistribution":4,"recordTime":{$gte:"20

2021-01-12 11:32:38 276

原创 阿里代码规约(泰山版)- 索引规约

【强制】业务上具有唯一特性的字段,即使是组合字段,也必须建成唯一索引。说明:不要以为唯一索引影响了 insert 速度,这个速度损耗可以忽略,但提高查找速度是明显的;另外,即使在应用层做了非常完善的校验控制,只要没有唯一索引,根据墨菲定律,必然有脏数据产生。【强制】超过三个表禁止 join。需要 join 的字段,数据类型保持绝对一致;多表关联查询时,保证被关联的字段需要有索引。说明:即使双表 join 也要注意表索引、SQL 性能。【强制】在 varchar 字段上建立索引时,必须指定索引长度.

2020-12-29 18:22:10 823

原创 TODO 和 FIXME 的区别与使用场景

1) 待办事宜(TODO):(标记人,标记时间,[预计处理时间])表示需要实现,但目前还未实现的功能。这实际上是一个 Javadoc 的标签,目前的 Javadoc 还没有实现,但已经被广泛使用。只能应用于类,接口和方法(因为它是一个 Javadoc 标签)。2) 错误,不能工作(FIXME):(标记人,标记时间,[预计处理时间])在注释中用 FIXME 标记某代码是错误的,而且不能工作,需要及时纠正的情况。...

2020-12-28 18:47:05 4483

原创 springmvc 接收和返回Date/LocalDate类型数据怎么处理

接收Date/LocalDate类型数据@DateTimeFormat(pattern = "yyyy-MM-dd")private LocalDate revisitDate;返回Date/LocalDate类型数据@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")private LocalDate revisitDate;

2020-12-23 11:09:14 766

原创 i++ 和 ++i 一句话理解

i++ 和 ++i 的区别就是:先加还是后加 ,++ 在前面就是先加,++ 在后面就是后加,即:i++ 后加,++i 先加所以int i = 0;int num = i++; // 后加,等于0int i = 0;int num = ++i; // 先加,等于1

2020-10-21 11:27:18 150

原创 IDEA toString JSON模板 以及 IDEA方法注释获取参数配置

toString JSON模板public java.lang.String toString() {final java.lang.StringBuilder sb = new java.lang.StringBuilder("{");#set ($i = 0)#foreach ($member in $members)#if ($i == 0)sb.append("######elsesb.append(",#####end#if ($member.string || $member.d

2020-10-20 16:12:48 801

ping命令,抓包文件,可用wireshark等抓包工具解析

ping命令,抓包文件,可用wireshark等抓包工具解析,帮助学习理解网络编程原理,由此可延伸到tcp http等协议的抓包分析

2022-11-10

video-js&flash;.zip

videojs7.4.1 播放rtmp和m3u8视频,下载下来,需要放到linux服务器,m3u8.html播放m3u8视频(改.m3u8地址即可播放);rtmp.html播放rtmp视频(改rtmp地址即可播放),文章地址:https://blog.csdn.net/wenqiangluyao/article/details/100774831

2019-09-12

video-js-rtmp.zip

通过videojs5.5.3版本播放rtmp,下载下来直接改rtmp流地址,并且放到Linux服务器即可播放。文章地址:https://blog.csdn.net/wenqiangluyao/article/details/100774831

2019-09-12

空空如也

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

TA关注的人

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