- 博客(50)
- 收藏
- 关注
原创 探索未来通信的新边界:AQChat一款融合AI的在线匿名聊天
AQChat 不仅是一个技术上领先的即时聊天解决方案,它还是隐私保护和 AI 融合通信的先驱。无论你是开发者、技术爱好者,还是简单寻求高效安全通信方式的用户,AQChat 都值得你深入探索和使用。让我们一起加入这场通信革命,探索更多可能性!加入 AQChat 的旅程,探索通信的未来。查看 AQChat 项目。
2024-06-13 22:53:37 525
原创 [2024]AQChat 一个接入AI的匿名在线即时聊天开源项目
体验地址:AQChat在线演示地址项目源码地址:Gitee地址采用Netty作为通讯框架,支持高并发,高性能的即时通讯。全程无需HTTP协议,支持文本、图片、文件、音频、视频的发送和接收。当前尚处于开发阶段,期待您的体验意见。专属房间号🥇,邀ta来一起畅聊👪
2024-05-17 20:18:55 678
原创 ZaoShan 一个快速搭建纯后端的开源项目
该项目用于快速创建,其中提供日常开发中的统一返回、项目文档、基础枚举、全局异常处理、请求日志等基础功能,方便直接进行业务开发。
2024-05-17 18:55:29 339
原创 Java常用函数接口
Java 8 中引入的常用函数式接口,也就是 java.util.function 包中的接口。这些接口提供了一种简洁的方式来定义函数,常用于 Lambda 表达式和方法引用。
2024-04-06 22:58:30 743
原创 NIO与AIO
在 LInux 环境中,java.nio.channels.Selector 的子类叫做 sun.nio.ch.EPollSelectorImpl ,其底 层是基于 Epoll 模型去实现的 IO 多路复用器。对于 Epoll 模型 我们需要了解到它底层的三个函数在 JDK 实现的底层中,EPollSelectorImpl 在初次创建的时候,会调用 create 函数去内存块中 开辟一块空间。然后再调用 ctl 方法,往这个内存块中创建一颗红黑树,并且将 socket 对象插 入到树上。
2024-03-26 13:59:59 382
原创 Dubbo 引用失败 No such any registry to reference
使用@DubboReference注解引入rpc时候报错。消费方(调用rpc的服务)中缺少dubbo注册地址的配置。
2024-03-24 21:02:07 897
原创 Springboot3整合Mybatis报错Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required
Springboot3整合Mybatis报错Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
2024-03-15 20:54:56 778
原创 springboot3 打包报错32-bit architecture x86 unsupported或者 returned non-zero result
在测试springboot3 native打包时候遇到的异常,百度和谷歌上方法都无法解决我的问题,最后记录一下我最后的原因和解决方案。
2024-03-13 22:52:32 783 1
原创 SpringBoot+Vue 整合websocket实现简单聊天窗口
1 输入临时名字充当账号使用2 进入聊天窗口3 发送消息 (复制一个页面,输入其他名字,方便展示效果)4 其他窗口效果。
2023-09-12 00:19:16 1793
原创 GG内存dump so 以及修复
手机端启动cmd中执行进入adb shell切换su,查看目标APP进程信息使用cat命令将信息输出至文件中将文件pull到电脑中查看在文件中找到so内存地址。
2023-06-11 17:31:08 3337 6
原创 编译安卓系统源码时异常处理
网上搜到一些帖子,都是直接让改文件中内容即可,此时会发现修改了也可能不行。会再次报出解释器错误,此时原因也显而易见了。
2023-04-29 21:02:30 1324
原创 Nacos配置拉取及配置动态刷新原理【源码阅读】
RefreshScope注解标注了@Scope注解,井默认了ScopedProxyMode.TARGET_CLASS属性,此属性的功能就是创建一个代理,在每次调用的时候都用它来调用GenericScope#get方法来获取bean对象在GenericScope里面包装了一个内部类BeanLifecycleWrapperCache来对加了@RefreshScope的bean进行缓存,使其在不刷新时获取的都是同一个对象。
2023-03-11 07:37:40 5317
原创 MyBatis源码概述及运行原理解析(篇一)
MyBatis的整体架构分为三层,分别是基础支持层、核心处理层和接口层其中类提供解析mybatis-config.xml配置文件的方法,中提供了一系列的eval*()方法用于解析boolean、short、long、int、String、Node等类型的信息,但是在处理String类型信息时会调用类的 parse()方法PropertyParser.parse()方法中会创建解析器,并将默认值的处理委托给GenericTokenParser.parse()方法GenericTokenParser是一个通
2023-02-10 00:28:37 2033
原创 计算机网络基础——一文详解IPv4与子网划分
在因特网中,为了实现计算机之间的相互通信,通常需要为每台计算机分配一个IP地址。在互联网的发展过程中主要有两个版本的互联网协议,分别是IPv4(Internet Protocol version4)和IPv6 (Internet Protocol version 6)IPv4的IP地址就是给因特网(Internet))上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的的标识符,地址总数为个。IPv6的IP地址采用地址长度,地址总数为个。
2022-12-23 15:08:48 4671 3
原创 计算机网络概述——一文了解计算机网络
21世纪的一些重要特征就是数字化、网络化和信息化,它是一个以网络为核心的信息时代。思考:大家每天最离不开的一件物品是什么?如果没有了网络,没有了互联网,没有了互联网上丰富多彩的信息和应用,人们还会对手机痴迷吗?
2022-12-21 01:18:33 646
原创 KALI安装Nessus
Nessus号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组织在使用它。该工具提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件,Nessus可同时在本机或远端上遥控,进行系统的漏洞分析扫描。Nessus也是渗透测试重要工具之一。
2022-12-18 02:30:03 6514 7
原创 kali 安装AWVS [赠附件]
AWVS(Acunetix Web Vulnerability Scanner)是一款知名的网络漏洞扫描工具,通过网络爬虫测试网站安全,检测流行的Web应用攻击,如跨站脚本、sql 注入等。据统计,75% 的互联网攻击目标是基于Web的应用程序。
2022-12-18 00:22:16 2907
原创 MySQL事务日志详解(redo日志与undo日志)
、和。那么事务的四种特性到底是基于什么机制实现呢?锁机制重做日志回滚日志有的DBA或许会认为 UNDO 是 REDO 的逆过程,其实不然。
2022-12-13 15:13:17 1160
原创 MySQL事务ACID特性与隔离级别详解(含白话解释)
一组逻辑操作单元,使数据从一种状态变换到另一种状态。保证所有事务都作为 一个工作单元 来执行,即使出现了故障,都不能改变这种执行方式。当在一个事务中执行多个操作时,要么所有的事务都被提交( commit ),那么这些修改就 永久 地保存下来;要么数据库管理系统将 放弃 所作的所有 修改 ,整个事务回滚( rollback )到最初状态。
2022-12-10 21:17:34 286
原创 MySQL8新特性概述与移除的旧特性
MySQL从5.7版本直接跳跃发布了8.0版本,可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能上做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多MySQL Optimizer优化器进行了改进。不仅在速度上得到了改善,还为用户带来了更好的性能和更棒的体验。
2022-11-29 00:52:38 638
原创 Springbot启动报错-类文件具有错误的版本 61.0, 应为 52.0
你发任你发 我用Java8“的时代可能要改变了,jdk17无论从GC,或者特性等各方面都超过了Java8,且加上JDK17是一个 Oracle官宣可以免费商用的LTS版本,所谓 LTS,是 Long Term Support,也就是官方保证会长期支持的版本。JDK 17 最多可以支持到 2029 年 9 月份。
2022-11-26 02:28:10 83765 45
原创 高性能架构模式
互联网业务兴起之后,海量用户加上海量数据的特点,单个数据库服务器已经难以满足业务需要,必须考虑数据库集群的方式来提升性能。高性能数据库集群的,。
2022-11-26 00:28:22 246
原创 GC在JDK8至JDK17中的发展
是时候升级了,无论您使用哪种收集器,与旧版本相比,JDK 17的整体性能都要好得多。如果您仍在使用 JDK 8 并计划升级,现在可能是重新评估使用哪个 GC的好时机。在JDK8中, Parallel是默认设置,但在 JDK 9 中已更改为 G1。从那时起,G1 的改进速度高于并行,但仍有一些用例认为并行是最佳选择。随着 ZGC 的引入(从 JDK 15 开始就可以生产),还有第三个高性能的替代方案可以放入等式中。
2022-11-26 00:01:45 2225
原创 ZGC、G1与Parallel Scavenge吞吐量及停顿时间对比
而在ZGC的强项停顿时间测试上,它就毫不留情地与Parallel Scavenge、Gl拉开了两个数量级的差距。不论是平均停顿,还是95%停顿、99%停顿、99.9%停顿,抑或是最大停顿时间,ZGC均能毫不费劲地控制在十毫秒之内,以至于把它和另外两款停顿数百近千毫秒的收集器放到一起对比。,因为Parallel Scavenge基于标记-复制算法实现,侧重于吞吐量。不设置期望停顿时间(Critical Throughput)时,(比如10毫秒到100毫秒),设置了期望停顿时间时。
2022-11-25 23:26:26 1040
原创 Java之String详解(new String会创建几个对象问题)
如果串池中有,则并不会放入。返回已有的串池中的对象的地址如果没有,会把此对象复制一份,放入串池,并返回串池中的对象地址。
2022-11-19 02:08:28 5338 3
原创 即时(JIT)编译器编译对象与触发条件(方法调用计数器与回边计数器)
JIT编译器在运行时会针对那些频繁被调用的“热点代码”做出深度优化,将其直接编译为对应平台的本地机器指令,以此提升Java程序的执行性能。“热点代码”指的又是什么?
2022-11-15 18:09:16 858
原创 JVM内存分配策略(对象动态年龄机制与空间分配担保机制)
从内存模型而不是垃圾收集的角度,对Eden区域继续进行划分,JVM为每个线程分配了一个私有缓存区域,它包含在Eden空间内。多线程同时分配内存时,使用T工AB可以避免一系列的非线程安全问题,同时还能够提升内存分配的吞吐量,因此我们可以将这种内存分配方式称之为快速分配策略。据我所知所有openJDK衍生出来的JVM都提供了TLAB的设计。
2022-11-14 01:04:27 1694
原创 JVM逃逸分析(堆是分配对象存储的唯一选择吗?)
如何将堆上的对象分配到栈,需要使用逃逸分析手段。这是一种可以有效减少Java程序中同步负载和内存堆分配压力的跨函数全局数据流分析算法。通过逃逸分析,Java Hotspot编译器能够分析出一个新的对象的引用的使用范围从而决定是否要将这个对象分配到堆上。逃逸分析的基本行为就是分析对象动态作用域:当一个对象在方法中被定义后,对象只在方法内部使用,则认为没有发生逃逸。当一个对象在方法中被定义后,它被外部方法所引用,则认为发生逃逸。例如作为调用参数传递到其他地方中。
2022-11-13 20:10:16 153
原创 Java虚拟机栈与栈帧详解
栈是运行时的单位,而堆是存储的单位。即:栈解决程序的运行问题,即程序如何执行,或者说如何处理数据。堆解决的是数据存储的问题,即数据怎么放、放在哪儿。
2022-11-13 20:09:24 1596
原创 JVM架构模型
由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。
2022-11-13 20:05:05 99
原创 JDK1.6到JDK1.8方法区的变化(大坑)
1)字符串存在永久代中,容易出现性能问题和内存溢出。2)类及方法的信息等比较难确定其大小,因此对于永久代的大小指定比较困难,太小容易出现永久代溢出,太大则容易导致老年代溢出。3)永久代会为 GC 带来不必要的复杂度,并且回收效率偏低。
2022-11-13 20:03:17 1408
function call如何多次调用api
2024-03-10
Chatglm3 Function Call问题
2024-03-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人