- 博客(40)
- 收藏
- 关注
原创 Unity项目适配华为鸿蒙系统的原生库加载问题排查与解决(柒)
理论上,由于众所周知的历史原因,鸿蒙设备无法安装谷歌的 ARCore 框架。推测是早年 ARCore 曾对 P30 做过专项适配,而在华为后续的新机型中才彻底切断了支持。这种由于历史遗留问题导致的兼容性断层,确实给开发者的环境搭建带来了不少困扰。在近期开发 AR 程序时,受限于公司测试设备的匮乏,笔者只能使用一台多年前的旧机型 Huawei P30 进行真机调试。相比之下,我个人的 vivo X Fold5 在 AR 能力上远不及这台 P30(新不如旧,原因未知),因此它成为了本次适配的核心测试机。
2026-06-17 02:15:32
114
原创 Unity项目适配华为鸿蒙系统的原生库加载问题排查与解决(陆)
理论上,由于众所周知的历史原因,鸿蒙设备无法安装谷歌的 ARCore 框架。推测是早年 ARCore 曾对 P30 做过专项适配,而在华为后续的新机型中才彻底切断了支持。这种由于历史遗留问题导致的兼容性断层,确实给开发者的环境搭建带来了不少困扰。在近期开发 AR 程序时,受限于公司测试设备的匮乏,笔者只能使用一台多年前的旧机型 Huawei P30 进行真机调试。相比之下,我个人的 vivo X Fold5 在 AR 能力上远不及这台 P30(新不如旧,原因未知),因此它成为了本次适配的核心测试机。
2026-06-17 01:47:53
38
原创 Unity项目适配华为鸿蒙系统的原生库加载问题排查与解决伍)
理论上,由于众所周知的历史原因,鸿蒙设备无法安装谷歌的 ARCore 框架。推测是早年 ARCore 曾对 P30 做过专项适配,而在华为后续的新机型中才彻底切断了支持。这种由于历史遗留问题导致的兼容性断层,确实给开发者的环境搭建带来了不少困扰。在近期开发 AR 程序时,受限于公司测试设备的匮乏,笔者只能使用一台多年前的旧机型 Huawei P30 进行真机调试。相比之下,我个人的 vivo X Fold5 在 AR 能力上远不及这台 P30(新不如旧,原因未知),因此它成为了本次适配的核心测试机。
2026-06-17 00:02:06
36
原创 Unity项目适配华为鸿蒙系统的原生库加载问题排查与解决(肆)
理论上,由于众所周知的历史原因,鸿蒙设备无法安装谷歌的 ARCore 框架。推测是早年 ARCore 曾对 P30 做过专项适配,而在华为后续的新机型中才彻底切断了支持。这种由于历史遗留问题导致的兼容性断层,确实给开发者的环境搭建带来了不少困扰。在近期开发 AR 程序时,受限于公司测试设备的匮乏,笔者只能使用一台多年前的旧机型 Huawei P30 进行真机调试。相比之下,我个人的 vivo X Fold5 在 AR 能力上远不及这台 P30(新不如旧,原因未知),因此它成为了本次适配的核心测试机。
2026-06-17 00:01:24
180
原创 【MySQL】在MySQL中STR_TO_DATE()以及其他用于日期和时间的转换
这个函数非常有用,当你需要将文本数据转换为可由MySQL日期和时间函数处理的格式时。函数,还有许多其他函数可以用于日期和时间的转换、提取和计算。这些函数可以单独使用,也可以组合使用,以满足各种日期和时间处理的需求。: 将两个日期时间字符串合并为一个日期时间。: 从日期时间表达式中提取日期部分。: 从日期时间表达式中提取时间部分。,并且你想将其转换为日期时间格式。: 从时间或日期时间中提取小时数。: 从时间或日期时间中提取分钟数。: 从日期时间中提取指定的部分。: 从时间或日期时间中提取秒数。
2026-03-28 12:43:58
183
原创 springboot3整合SpringSecurity实现登录校验与权限认证(万字超详细讲解)
用户提交登录请求Spring Security 将请求交给 UsernamePasswordAuthenticationFilter 过滤器处理。UsernamePasswordAuthenticationFilter 获取请求中的用户名和密码,并生成一个 AuthenticationToken 对象,将其交给 AuthenticationManager 进行认证。
2026-03-28 08:35:35
215
原创 Nginx权限问题详解及解决方案
在运行Nginx服务器时,权限问题是一个常见的困扰,尤其是在Linux环境下。权限配置不当可能导致Nginx无法启动、无法访问某些目录或文件,甚至影响到网站的正常运行。本文将深入探讨Nginx权限问题的原因,并提供有效的解决方案。Nginx在运行时,会以指定的用户身份执行。默认情况下,Nginx使用nginx用户(或www-data用户在某些系统中)运行。如果Nginx尝试访问的文件或目录的权限设置不正确,或者Nginx运行的用户没有足够的权限,就会出现权限问题。
2026-03-27 13:34:09
243
原创 JAVA进阶 Thread学习06 synchronized关键字
这里就相当于一个类的对象使用了带有synchronized的方法,synchronized锁就锁上了.这个时候其他对象如果需要使用带synchronized的方法就得等待这个对象运行结束.先说说什么是不可重入吧.不可重入就是一个人等完厕所后,上了厕所把门锁上了,然后自己闪现到厕所外并且失忆了,只记得在等厕所.这时候厕所是锁上的自己也进不去,一个对象拥有多个带有互斥锁(同步锁)的方法.其中方法一个方法二都是带有互斥锁的方法,方法二调用方法一.顾名思义,就是可以重新进入自己使用的"厕所".
2026-03-27 09:28:39
162
原创 MySQL版本选择与安装
如果您的应用程序已经在一个较旧的版本上运行良好,并且没有迫切的升级需求,可以继续使用该版本,但应计划在未来进行升级。全面的性能改进:8.0版本引入了更多的性能优化和新特性,如默认的InnoDB存储引擎和更好的并行复制。对于大多数用户,建议使用最新的稳定版本,如MySQL 8.0,因为它提供了最佳的性能、安全性和新特性。如果您正在开发新的应用程序,建议直接使用最新的MySQL版本,以充分利用其提供的所有优势。改进的安全性:提供了更多的安全特性,如默认的加密连接和新的用户账户管理。
2026-03-26 03:48:22
230
原创 FrankenPHP实践
它实际上是有两种运行模式:普通模式和worker模式,其中的普通模式类似于传统的LNMP容器,只是Nginx换成了Caddy Server,带来的提升并不特别明显。如果自建镜像扩展插件,需三思是否需要加Opcache,开启后 frankenphp 的watch功能(监控文件修改自动热启)将不能正常使用,但开启后,性能将提高40%左右。Frankenphp是一个先进的,结合了高性能Caddy服务器的PHP。,它允许用户只需要少量改动,就能让传统的php前端应用插上翅膀,享受到。
2026-03-26 00:42:56
385
原创 Redis--模糊查询--方法实例
说明本文介绍Redis模糊查询的方法。官网网址Redis模糊查询键的方法Redis提供了两种模糊查询键的方法:KEYS , SCAN。推荐用SCAN,下边会介绍。模糊查询的通配符KEYS和SCAN都支持glob通配符*:通配任意多个字符:通配单个字符[]:通配括号内的某一个字符示例hllo匹配 hello, hallo and hxlloh*llo匹配 hllo、heeeelloh[ae]llo匹配 hello、hallo不匹配 hilloh[^e]llo。
2026-03-25 15:39:10
186
原创 Nginx中$http_host、$host、$proxy_host的区别
变量是否显示端口值是否存在host浏览器请求的ip,不显示端口否"Host:value"显示值为a:b的时候,只显示ahttp_host浏览器请求的ip和端口号是“Host:value”,value存在就显示proxy_host被代理服务的ip和端口号默认80不显示其他端口显示"Host:value"显示配置反向代理时,接口请求报404问题应用描述:前端应用域名为A(ww.a.com), 后端服务域名为B(www.b.com);
2026-03-25 14:24:31
22
原创 【MySQL】JDBC的连接
JDBC(Java DataBase Connectivity)java 数据库连接,是 JavaEE 平台下的技术规范,其定义了在 Java 语言中连接数据,执行 SQL 语句的标准,可以为多种关系数据库提供统一访问。
2026-03-24 14:26:15
192
原创 Spring中Aware的用法以及实现
在Spring当中有一些内置的对象是未开放给我们使用的,例如Spring的上下文ApplicationContext、环境属性Environment,BeanFactory等等其他的一些内置对象,而在我们可以通过实现对应的Aware接口去拿到我们想要的一些属性,一般命名都是xxxAware,在创建对象的时候, 会调用接口规定的方法注入到相关组件:Aware。在处理Aware实现类的时候就会有对应的一个AwareProcessor去处理,我们拿ApplicationContextAware做示例**:**
2026-03-24 03:52:19
251
原创 redis内存突然暴增,排查思路是什么
这种暴增的应该还是上次一个群友说的,更多可能是外部因素导致的,应用新上线,定时任务这些,再有就是cat上查是哪些指令多,以及比对和之前的时间的差异。看是否有定时任务 或者 新上线的活动 ,在看下监控,请求是否暴增,一般这种暴增大概率是某个业务被突然大量调用。通过命令去确定是什么业务引起的,定位问题可能会快一些。
2026-03-23 11:00:17
26
原创 MySQL 数据出海之数据同步方案
由于上云项目涉及的应用和开发组非常多,大家对公有云的运维经验较少,上线初期出现问题的几率较高,解决问题的速度也可能比较慢,无法将流量回切上海,带来的风险和影响较大。:数据迁移的操作,是需要一定的时间才能完成的,而在这一段时间内,可能有用户写入新数据或者修改数据,若修改时间点正好是这条数据已经完成迁移但又在流量切换之前,导致。数据同步是同步所有的海外数据,不依赖与流量切换的分批维度,可以直接使用公司通用的数据同步工具,避免缺点2的问题。双向数据同步可能产生数据冲突,必须对数据写入逻辑进行严格控制,避免冲突。
2026-03-23 03:05:22
391
原创 [已解决]ERROR 1290 (HY000) The MySQL server is running with the --skip-grant-tables 成功解决报错
报错说mysql服务器正在运行不能添加,但是关闭mysql服务器重新登录时会有这个报错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket /var/lib/mysql/mysql.sock(此报错解决方法可参考这篇文章。)解决这个报错是要重启mysql服务,这样就会陷入死循环。这时再进行用户创建和数据库授权IP操作时就会正常进行了。退出mysql,重启mysql服务。这样就可以正常操作了。
2026-03-22 04:32:41
205
原创 Redis开启远程访问
此外,若是新版本(3.2之后)的还得修改一下redis的保护模式,同在redis.conf文件下。Redis默认只允许本地访问,若要redis可以远程访问,得先修改。在redis安装目录下找到redis.conf文件并打开。Warning是提醒在命令上输入密码是不安全的。(若是windows环境下,该配置文件名称为。
2026-03-22 01:22:22
233
原创 MySQL篇(管理工具)
e 选项可以在MySQL客户端执行SQL语句,而不用连接到MySQL数据库再执行,对于一些批处理脚本,这种。执行上述指令,会出错,数据不能完成备份,原因是因为我们所指定的数据存放目录/root,MySQL认 为是不。mysqlshow 客户端对象查找工具,用来很快地查找存在哪些数据库、数据库中的表、表中的列或者索引。但是需 要注意表数据文件,并不是记录一条条的insert语句,而是按照一定的格式记录表结构中的数据。打开 db02.sql ,来查看备份的数据,只有insert语句,没有备份表结构。
2026-03-21 05:00:54
395
原创 MySQL篇之对MySQL进行参数优化,提高MySQL性能
innodb_flush_log_at_trx_commit:控制事务提交时日志的刷新策略。tmp_table_size 和 max_heap_table_size 控制内存中临时表的最大大小。如果设置为 1,每次写入二进制日志都会同步到磁盘,保证事务的持久性,但会带来一定的性能开销。磁盘 I/O 是数据库性能的重要瓶颈,合理配置与磁盘相关的参数有助于减少磁盘访问次数,提高性能。下面是一些常用的查询优化参数。MySQL 的日志记录可以帮助我们在故障时进行诊断,但是过多的日志记录会增加系统的负担。
2026-03-21 05:00:18
337
原创 【Navicat+MySQL】 在Navicat内创建管理数据库、数据库表。
ENGINE = <存储引擎>:MySQL 支持多个存储引擎,可为不同表设定不同的存储引擎,使用是要用具体的存储引擎名称代替,如 ENGINE = InnoDB。这个语句可以用来从一个数据库“跳转”到另一个数据库,在用 CREATE DATABASE 语句创建了数据库以后,该数据库不会自动成为当前数据库,需要用 USE 语句来制定。数据库Bookstore中有一个表book,创建book表的一个名为book_copy2的副本,并复制其内容。-<列名>:表中列的名字,长度不能超过64字符。
2026-03-20 02:50:08
347
原创 SQL Server导出和导入可选的数据库表和数据,以sql脚本形式
3. 如果只需要导出部分表,则选择第二项**“选择具体的数据库对象(Select specific database objects)”**,并勾选表;1. 打开SQL Server Management Studio,在需要导出表的数据库上单击右键 → 任务 → 生成脚本。1. 如果导出的脚本文件较小,可以直接双击文件,在SQL Server Management Studio里执行。如果同时需要导出表结构和数据,就从右上角的**“高级(Advanced)”5. 之后,连续点击下一步,直到完成。
2026-03-20 00:28:31
194
原创 SpringBoot 集成 Activiti 7 工作流引擎
初始库表、定义、部署、操作任务代码创建测试类// 创建 ProcessEngine 对象// /**// * 初始化数据库表:第一种方式// */// @Test// }/*** 初始化数据库表* 通过读取 activiti.cfg.xml 配置文件*/@Test/*** 流程部署*/@Test// 创建 ProcessEngine 对象// 获取 repositoryService 对象// 进行部署。
2026-03-19 02:49:02
234
原创 Redis哨兵集群搭建
因为我把redis-6.2.6/redis.conf被我复制到了/usr/local/bin/目录下,并进行了修改,并未使用redis-6.2.6/redis.conf,所以需要替换redis.conf文件。将redis文件复制三份到redis-sentinel目录下。将master,slave,sentinel全都启动起来。
2026-03-19 00:24:51
173
原创 Nginx 配置前端后端服务
在配置Nginx以支持前端和后端服务时,需要了解Nginx的基本配置语法和结构,并依次设置Nginx作为前端静态资源服务器和反向代理服务器以连接后端应用。
2026-03-18 11:53:15
253
原创 MySQL 创建新用户及授予权限的完整流程
通过以上步骤,可以创建新用户、授予权限、以及管理和删除用户。合理配置权限,确保每个用户只能访问其所需的数据资源,有助于提高数据库的安全性和管理效率。在MySQL中,权限分为多个级别,包括数据库级、表级和列级权限。可以根据用户的需求授予相应权限,常见权限有SELECT、INSERT、UPDATE、DELETE等。示例:创建一个名为gktask的用户,仅允许从本地主机(localhost)连接,密码设置为123456。以root身份可以查询所有用户,查看当前MySQL中的用户列表。
2026-03-17 03:27:19
300
原创 docker下搭建redis集群
准备好Linux系统机器,并安装好docker,阅读这篇文章前请先了解清楚docker的基本知识并且会熟悉运用docker的常用命令。创建7000节点配置文件后将它复制到其他节点目录下,注意复制到其他目录需要将配置文件的port改为该节点的端口号。此时我们已经创建好了所有节点,但各个节点还是相互独立的,我们需要将他们整合成集群,执行以下命令建立集群。安装好后再执行 docker images命令,查看到redis6.0.6镜像则安装成功。接下来就可以创建每个节点的docker容器,以7000节点为例。
2026-03-17 00:48:30
196
原创 解决报错net.sf.jsqlparser.statement.select.SelectBody
然后我的因为我的这个模块使用了mybatisplus的分页插件,和这个Spring依赖里面的分页产生了冲突,所以定位到问题之后我们就可以直接去排除这个依赖就行了。而这个报错,是告诉我们的分页依赖冲突,要加个jsqlparser依赖来解决这个冲突,也相当于平衡,但是可能因为我们版本的不匹配,还是会报错,例如下面这样。但是我们是不知道到底是什么依赖冲突的,这个时候就会用到一个工具,一个idea的插件 Maven Helper。当我们安装这个插件是,就可以在pom里面看见这个。
2026-03-16 22:35:18
20
原创 Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
Ubuntu 22.04(也称为Ubuntu Jammy Jellyfish)是 Ubuntu 操作系统的一个版本,于 2022 年 4 月发布。Ubuntu 是一种基于 Debian 的开源操作系统,它使用 Linux 内核,并且拥有庞大的社区支持。Ubuntu 22.04 带来了许多新功能和改进,包括更好的性能、更新的软件包和增强的安全性。新的默认应用程序:Ubuntu 22.04 带来了新的默认应用程序,包括新的文件管理器、文本编辑器和图像查看器。
2026-03-15 02:51:29
246
原创 SpringBoot整合MQTT最详细版(亲测有效)
springboot控制台(也就是PushCallback.java里的回调方法messageArrived)也成功打印出了客户端接收到的消息,如图。创建mttqController控制器发送消息,如图。MqttPushClient.java代码。使用MQTTX客户端工具查看消息成功被发送。PushCallback.java代码。AjaxResult.java代码。mttqController代码。MqttInit.java代码。浏览器输入接口地址调试发送成功。
2026-03-15 00:17:03
172
原创 Spring+Quartz实现定时任务的配置方法
如果是通过MethodInvokingJobDetailFactoryBean在运行中动态生成的Job,配置的xml文件有个concurrent属性,这个属性的功能是配置此job是否可以并行运行,如果为false则表示不可以并行运行,否则可以并行。如果为false,那么,在这种情况下,当前job还在运行,那么下一个job只能延时运行。任务有并行和串行之分,并行是指:一个定时任务,当执行时间到了的时候,立刻执行此任务,不管当前这个任务是否在执行中;如果不配置,默认是true的,就是允许并行。
2026-03-14 18:42:50
17
原创 Redis 配置日志
3、将路径填入logfile后面的引号内,例如:logfile “d:/redislog/redis.log” (注意斜杆的方向,这个和windows cmd中的斜杆方向是反的)5、保存配置文件,以这个配置文件启动redis,然后这时候redis的启动框会变成一个黑框框,什么输出都没有,这就对了(因为输入全写到日志文件去了)2、打开配置文件,找到logfile(可能有多个logfile,认准旁边有loglevel的那个),或者直接搜logfile “”1、首先找到redis的配置文件。
2026-03-14 17:38:38
29
原创 SpringBoot【实用篇】- 测试
有一种情况是:当我们测试业务层或者Dao层会留下结果数据,真实的企业开发会生成两个sql文件一个数据库的表创建的sql,一个数据库初始化的sql,但是当我们在开发的时候仍然需要测试仍然会留下数据,但是我们是想着我们测试只是想看看写的代码有没有问题,不需要留下数据,下面说的方法只服务于开发,上线后的另说。答案是在这个测试类properties属性添加的临时属性配置中会覆盖yml的配置。用args配也是可以的,使用args属性可以为当前测试用例添加临时的命令行参数。能不能在测试样例中测试表现层呢?
2026-03-13 22:04:52
195
原创 查看 nginx 是否已经启动
如果 Nginx 已经配置为提供默认页面,并且您可以通过浏览器访问服务器,那么您可以尝试访问服务器的 IP 地址或域名。如果 Nginx 正在运行并且配置正确,您应该会看到 Nginx 的默认欢迎页面。另外,如果您在安装 Nginx 时更改了默认配置或使用了不同的端口,那么您可能需要相应地调整检查方法。如果 Nginx 正在监听某个端口,您应该会看到与该端口相关的 Nginx 信息。如果 Nginx 正在运行,您应该会看到与 Nginx 相关的进程信息。命令来检查这些端口是否被 Nginx 占用。
2026-03-13 02:37:45
316
原创 使用Docker快速搭建Redis主从复制
本文介绍如何快速使用Docker搭建Redis主从复制环境,线上环境更加推荐直接部署,这里会搭建一主两从,全部搭建在一台主机,会使用Redis6.0版本,分别使用端口号 主节点(6379)、从节点(6380、6381)。Redis主从复制作用和优缺点作用。
2026-03-12 12:33:44
214
原创 【MySQL】MySQL复合查询--多表查询自连接子查询
查询和10号部门的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包含10自己的。显示工资比部门30的任意员工的工资高的员工的姓名、工资和部门号(包含自己部门的员工)单行子查询是指子查询只返回单列,单行数据;查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J。这里使用分组查询即可,先查出最高的工资,然后查询工资等于最高工资的员工的姓名和工作岗位。显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号。的,而多列子查询则是指查询返回多个列数据的子查询语句。
2026-03-12 10:10:35
207
原创 Spring Security 新版本配置
WebSecurityConfigurerAdapter 已经被废弃了,所以赶紧去看别人是如何写的,但是看到最后都没有看到特别好的博客,我就自己写了一下,可能写的不太好,希望大家可以积极讨论!
2026-03-08 18:18:13
15
原创 Spring Boot:Java开发的神奇加速器(二)
除了使用 Spring Boot 提供的默认配置项和常用配置项外,我们还可以根据项目的业务需求自定义配置属性,并将其注入到 Java 类中使用。1.在配置文件中定义自定义属性:首先,在application.properties或application.yml文件中添加自定义的配置属性。myapp.custom.name=Spring Boot自定义配置示例myapp:custom:name: Spring Boot自定义配置示例value: 1232.创建 Java 类来接收配置属性。
2026-03-08 18:03:59
549
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅