- 博客(51)
- 收藏
- 关注
原创 jar包反编译部署,避免逆向解码
将xjar,semantic-business.sh以及semantic-business-encry.jar处于同一目录。需求背景:java的jar包,需要部署到客户服务器上,为了避免源码泄露,我方需要对其进行反编译,反编译之后无法使用类似luyten等工具解密;2:编写test类,如果依赖服务器的环境,比如有网络限制等等,建议写个接口。5:启动脚本,根据我项目编写的启动脚本,可以参考,挂上来了。# 在 ~ 下创建 go 文件夹,并进入 go 文件夹。3:打包后就会获取到加密后的jar包,放到服务器上。
2025-01-17 14:29:19
931
原创 pytthon实现webrtc通过whip推送实时流式音频流
2:按照实际一倍速阻塞推,同时添加到轨道中。原理:以第一帧时间为基准时间,根据音频的采样率等信息,预估一个下一帧的到达时间,通过比对下一帧的实际到达时间跟预估时间差值,决定等待时长,每一帧的等待时间都是不一样的,这样才能达到音频播放最优效果;3:通道及轨道关闭。如果音频推送完成,通过回调函数告知程序,程序关闭对应轨道及通道。1:将音频流转换成可传递的音频帧。
2025-01-16 10:10:09
346
原创 channel.writeAndFlush写回不会立马执行
在用netty进行websocket客户端、服务端消息传递时,发现服务端使用netty的channel.writeAndFlush不是立马写回,而是等待后面几条消息后一起返回的,出现"netty消息发送成功至客户端"日志扎堆出现;解决方案为右侧代码,连接之后用countDownLatch.await等待,但是在连接打开的onOpen方法里面释放,从而让主线程结束,到onMessage的任务线程时,接收到最后一帧消息后关闭连接,这样就不会导致主线程阻塞;,则可能间接影响事件循环线程的任务调度;
2025-01-03 11:32:44
414
原创 本地缓存设置定时清除
1、该篇主要记录日常项目中,如果需要使用多个本地缓存,同时避免异常情况,缓存不释放问题,给其添加过期时间,到期没使用进行释放;调用具体的get、put等方法。
2024-11-27 15:24:01
305
原创 netty4报错:io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1
背景:netty执行链中有一串自定义的handler,目前我想要在中间再加上一个pingPonghandler来进行控制帧的处理,从而避免ng的读写超时(客户要求,与他们建立的通道一直连接,不进行断连,从而需要考虑ng的问题);当我添加如下代码后报错:io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1,ByteBuf的引用计数refCnt为0;获取引用计数。
2024-08-19 12:03:30
1405
原创 redis安装报错error: CPU you selected does not support x86-64 instruction set
如果是centos 8就不会报此问题,如果是centos 7 就加上参数。执行make或者make install会报错。您选择的 CPU 不支持 x86-64 指令集。
2024-07-25 09:54:11
186
原创 非spring管理容器类注入spring管理的bean
比如上面这个我需要在netty管理的handler里面注入spring管理的authenticationService这个bean,加@Component这些注解是不生效,通过获取spring的上下文,强行注入到SecurityServerHandler中使用。2:在非spring容器的代码里面注入spring的bean。
2024-07-11 18:45:59
265
原创 【docker】拉取镜像报证书错误:error pulling image configuration: download failed after attempts=6: tls: failed t
【代码】【docker】拉取镜像报证书错误:error pulling image configuration: download failed after attempts=6: tls: failed t。
2024-05-27 15:10:53
7597
4
转载 nginx全面总结--记录
Nginx是开源、高性能、高可靠的Web和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。性能是Nginx最重要的考量,其占用内存少、并发能力强、能支持高达 5w 个并发连接数,最重要的是,Nginx是免费的并可以商业化,配置使用也比较简单。同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。通常不允许不同源间的读操作。
2024-02-27 14:32:19
555
原创 Error occurred during initialization of VM Could not reserve enough space for 786432KB object heap
修改:idea64.exe.vmoptions文件增大配置也无效;转到开始->控制面板->系统->高级(选项卡)->环境变量->系统。
2023-10-20 11:46:40
4487
原创 Assembly is incorrectly configured: null assembly打包报错
报配置问题,此处需要添加版本号。
2023-09-18 12:51:24
2502
1
原创 feign调用和被调用者字段名称不对应解决
Feign不会直接使用Gson库进行序列化和反序列化,而是使用了默认的Jackson库。在Jackson库中,@SerializedName和@JsonAlias并不支持直接指定字段的别名。所以,这两个注解在Feign中可能不起作用。如果您想要指定一个不同于字段名的别名,可以尝试使用Jackson库中的@JsonProperty注解。另外,如果您想要指定在Feign请求中使用的参数名,可以尝试使用@Param注解。这样可以将字段名"userId"序列化为"id"。
2023-08-15 17:33:55
870
原创 文件下载设置头信息(自我记录一下)
Content-Disposition为属性名disposition-type是以什么方式下载,如attachment为以附件方式下载disposition-parm为默认保存时的文件名服务端向客户端游览器发送文件时,如果是浏览器支持的文件类型,一般会默认使用浏览器打开,比如txt、jpg等,会直接在浏览器中显示,如果需要提示用户保存,就要利用Content-Disposition进行一下处理。Cache-Control: no-cache:这个很容易让人产生误解,使人误以为是响应不被缓存。
2022-09-19 10:27:33
1902
原创 @RequestBody和@RequestParam的使用
在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。如果不是放在请求体中的话,那么后台接收前台传过来的参数时,要用@RequestParam来接收,或。注如果参数前不写@RequestParam(xxx)的话,那么就前端可以有可以没有对应的xxx名字才行,如果有xxx名。过设置该注解的required属性来调节是否必须传),如果没有xxx名的话,那么请求会出错,报400。...
2022-07-27 11:00:38
897
原创 org.springframework.boot:spring-boot-starter-parent:pom:2.2.7.RELEASE failed to transfer问题
org.springframework.boot:spring-boot-starter-parent:pom:2.2.7.RELEASE failed to transfer
2022-07-22 11:21:17
12097
5
原创 SpringBoot和HostSpot源码下载
spring-boot:https://codeload.github.com/spring-projects/spring-boot/zip/v2.5.5.RELEASE其他版本直接修改版本号即可-比如:v1.5.15.RELEASEHostSpot:首先我们进入网址:http://hg.openjdk.java.net,这个网址下面列出了所有开源的openjdk项目,从中我们可以看到jdk项目。选择Jdk8 进入 选择HotSprt...
2022-02-23 14:15:22
388
原创 MybatisPlus的使用和Wrapper(QueryWrapper and UpdateWrapper)
一、MyBatis-Plus1、简介 MyBatis-Plus 是一个 Mybatis 增强版工具,在 MyBatis 上扩充了其他功能没有改变其基本功能,为了简化开发提交效率而存在。官网文档地址: https://mp.baomidou.com/guide/MyBatis-Plus 特性: https://mp.baomidou.com/guide/#%E7%89%B9%E6%80%A72、使用 SpringBoot 快速使用 MyBatis-Plus(1)准
2022-01-18 11:46:59
8124
1
原创 Java开发工具包版本规范
所有平台jar- 为类和资源创建档案,并从档案中操作或恢复单个类或资源 jarsigner- 签署和验证 Java 档案 (JAR) 文件 java- 启动 Java 应用程序 javac- 读取 Java 类和接口定义并将它们编译成字节码和类文件 javadoc- 从 Java 源文件生成 API 文档的 HTML 页面 javap- 反汇编一个或多个类文件 jcmd- 向正在运行的 Java 虚拟机 (JVM) 发送诊断命令请求 jconsole- 启动图形控制台来监视...
2021-12-15 10:03:03
282
转载 Compilation failed: internal java compiler error
idea报错 java: Compilation failed: internal java compiler error原因:主要是因为jdk版本不一致问题1. 编译版本不匹配2. 当前项目jdk版本不支持解决:一、查看设置项目的jdkFile ->Project Structure->Project Settings ->Project或使用快捷键Ctrl+Alt+shift+S打开项目的jdk配置二、查看设置工程的jdk三、查看设置java编译器版..
2021-12-08 11:07:38
1238
原创 Java中finally是否改变try中return值
话不多说,直接上例子: public class test { public static void main(String[] args){ System.out.println(afresh()); // 0 } static int afresh(){ int xie=0; try{ return xie; ...
2021-11-11 10:45:55
820
原创 RDM无法连接阿里云的Redis
今天在连接Redis,发现在xshell上面启动Redis客户端完全没问题,而且查看Redis进程并未绑定本地,是*:6379于是猜测是服务器间连接出了问题运行window的CMD,输入telnet linux系统ip 端口号,如:telnet 192.168.192.150 6379系统ip是linux的ip(通过ifconfig获取)注:如果提示telnet不是内部外部指令,按如下步骤开启:此时在运行上面的命令,如果报无法连接到主机错误,那就是linux防火墙命令...
2021-11-05 09:40:28
643
原创 AQS原理和执行流程
随便写一个ReentrantLock应用 ReentrantLock reentrantLock = new ReentrantLock(true); reentrantLock.lock(); System.out.println("上锁了"); reentrantLock.unlock();ctrl+鼠标左键点击lock方法,ctrl+alt+B选择该实现类为公平锁公平锁的lock()方法 final void ...
2021-10-27 17:54:05
624
原创 乐观锁与悲观锁的原理
1.1乐观锁与悲观锁悲观锁:总是假设最坏的情况,当一个线程每次去拿数据的时候都认为其他线程会修改数据,所以线程每次就会在数据处理之前上锁,这样其他线程想拿到这个数据就会阻塞,直到获取到锁为止。悲观锁的实现往往依靠数据库提供的锁机制,即在数据库中,对数据操作前给记录加排他锁,如果锁获取失败,则说明数据正在被其他线程修改,当前线程则等待或者抛出异常,如果获取锁成功,则对记录进行操作,然后提交事务后释放排他锁。下面看一个典型的例子: public int updateEntry(long ..
2021-10-18 14:23:16
461
原创 《Java并发编程之美》关于死锁,用户线程守护线程,ThreadLocal的理解
1.java并发编程之美第一章:并发编程线程基础在这一章中,主要记录以下几点1.1 理解线程上下文切换 在多线程编程中,线程个数一般是大于CPU个数,每一个CPU在同一时刻只能由一个线程执行,为了让用户感觉多个线程是在同时执行的,CPU采用了时间片轮转策略,每个线程在对应时间片占用内执行任务,当时间片使用完之后,线程退出执行状态进入就绪状态并让出CPU让其他线程占用,保留当前线程的执行现场,当下次时间片分配重新执行时,根据保留的线程的执行现场恢复执行现场继续执行 线程上下文切...
2021-10-14 15:14:08
195
原创 @PathVariable和@RequestParam传参为空问题
@RestControllerpublic class UserController { @GetMapping(value = {"/xie/{name}","/xie"}) public String xie(@PathVariable(value = "name",required=false) String name){ return "my name is:"+name; } @GetMapping("/xie1") public St.
2021-09-25 16:19:29
1306
原创 通过移位运算解决N皇后问题
public class YiWei { public static int num(int n){ if(n<1 || n>32){ return 0; } int limit=n==32?-1:(1<<n)-1; //皇后不能大于32 return process2(limit,0,0,0); } /* * colLim 列的限制 * leftD.
2021-09-24 17:04:53
101
原创 明明未曾经历,为何似曾相识,是在梦中见证了未来吗?
突然感觉眼前的场景无比熟悉,所有的一切每一个细节,甚至是接下来的所要发生的一幕,你都了如指掌,就好像曾经经历过;明明第一次到过的地方,潜意识里却在叫喊,我来过这个地方!然而,事实上并非如此。据最近相关调查显示,有2/3的成年人至少有过一次这种“似曾相识”的经历。据北京大学心理学教授、博士生导师沈政分析:“似曾相识”的感觉,在每个人身上都会发生:不过,如果这种感觉过于频繁,过于强烈就是一种病态。知觉与记忆相互作用“似曾相识”是人们大脑中知觉系统和记忆系统相互作用的结果。要想了解为何出现“似曾相识...
2021-09-18 10:22:44
241
原创 docker安装rabbitmq
Rabbitmq官网:Downloading and Installing RabbitMQ — RabbitMQ官网一进去就给了docker安装的命令,但是这个命令并没有赋予角色和权限和其他端口的开放,这样我们依旧需要进入容器当中去配置,下面命令一次全部都配置,直接执行下面创建容器就行,不必其他命令,比如创建镜像,因为她创建的时候会判断镜像是否存在,如果不存在会在创建容器的过程中自己去pull,而且rabbitmq:management会在安装过程中创建角色并安装图形化界面docker.
2021-09-16 19:29:28
97
原创 ECS(centos7)安装erlang再安装rabbitmq报错erlang >= 23.2 is needed by rabbitmq-server-3.9.5-1.el7.noarch
下载了最新版的rabbitmq,然后要安装erlang,既然rabbitmq我下载的最新版,理所应当会支持最新版的erlang吧,于是我就下载了24.0的erlang,然后安装rabbitmq纳尼?失败了? 然后就去对比一下官网版本链接:RabbitMQ Erlang Version Requirements — RabbitMQ最大支持24.x,没错啊,怎么就失败了然后我也没细究......默默下了个23.x版本的erlang,重新装了一次,what fack!依然报一样的错,..
2021-09-16 17:45:22
7421
5
原创 Hystrix弃用过时的@EnableCircuitBreaker注解问题
很多视频教程和学习资料都是用的老版本来教学,因为互联网更新迭代太快,在这记录一下靠前版本所用依赖(服务提供者): <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> <version>
2021-09-14 10:54:46
5099
原创 springcloud使用ribbon报No instances available for SPRINGCLOUD-PROVIDER....
报错信息与配置:报错信息:yml文件:pom.xml配置原因一:有些人报错的原因是开始做单体Eureka的时候并没有开启注册于发现功能,导致在进行集群配置的时候无法找到fetch-registry: 检索服务选项,当设置为True(默认值)时,会进行服务检索,注册中心不负责检索服务。register-with-eureka: 服务注册中心也会将自己作为客户端来尝试注册自己,为true(默认)时自动生效eureka.client.serviceUrl.def...
2021-09-13 15:19:52
2424
3
原创 Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate
今天在创建Eureka的时候代码没任何问题,但启动就是报错,报错如下:Application run failed,连启动类都启动不起来于是我就想到一种可能,就上官网查看了一下:这是官网的版本对应:这是我的版本对应:官方Hoxton.SR12最高才支持2.3.12版本的springboot,我是用Greenwich.SR6版本的springcloud却用着2.4.3的版本。 有些人报:NoClassDefFoundError: org/springframework/bo..
2021-09-12 19:08:09
10806
原创 使用普通maven项目一步一步构建springcloud生产者和消费者
使用普通maven一步一步构建SpringCloud生产者和消费者1.因为idea中没有工作空间的概念,我们在这创建一个maven项目,删除src目录,作为整个项目的父项目2.给父项目导入相关依赖,dependencyManagement>进行版本控制 <!-- 1.打包方式 pom--> <packaging>pom</packaging> <!-- 2.properties 定义版本号的,后面...
2021-09-12 15:20:58
398
原创 Server returns invalid timezone Need to set “serverTimezone” property IDEA连接Mysql报错
设置时区为 CST即可
2021-09-11 15:36:57
76
原创 Element properties is not closed
如上图,今天想练习一下springCloud的时候,写父依赖对其进行版本控制的<properties>标签,一直报未闭合(Element properties is not closed),也怪自己不细心,原来在写properties写到一半他一般都会有提示,然后我们直接就会回车生成,但这时,回车生成的是单标签自闭合,也就是<properties/>,然后因为写前端写习惯了,去掉斜线,又在后面写一个<properties/>,在前端中他是会生成对应的闭合双标签的,但...
2021-09-11 14:44:12
13115
5
原创 关于MySQL报错:Host is not allowed to connect to this MySQL server
自己的云服务器原本装有MySQL,今天心血来潮安装了一个宝塔面板部署微信小程序,发现原来自己部署安装在服务器上的网站突然不能访问了,内心竟有一丝小慌张,毕竟部署一下还是对我这个懒货来说还是挺嫌麻烦的,基于上篇,备份了MySQL中的数据,所以对于数据是否丢失并不慌张(丢了重新导入就行了)本地访问远程MySQL报错:Host is not allowed to connect to this MySQL server大概就是上面这个错误,原因是没有添加白名单,只能本地访问,给他配置一下访问为.
2021-09-11 12:46:08
945
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人