自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 探索未来通信的新边界:AQChat一款融合AI的在线匿名聊天

AQChat 不仅是一个技术上领先的即时聊天解决方案,它还是隐私保护和 AI 融合通信的先驱。无论你是开发者、技术爱好者,还是简单寻求高效安全通信方式的用户,AQChat 都值得你深入探索和使用。让我们一起加入这场通信革命,探索更多可能性!加入 AQChat 的旅程,探索通信的未来。查看 AQChat 项目。

2024-06-13 22:53:37 525

原创 Docker 安装RabbitMQ

安装完成🎉。

2024-05-30 19:21:15 382

原创 [2024]AQChat 一个接入AI的匿名在线即时聊天开源项目

体验地址:AQChat在线演示地址项目源码地址:Gitee地址采用Netty作为通讯框架,支持高并发,高性能的即时通讯。全程无需HTTP协议,支持文本、图片、文件、音频、视频的发送和接收。当前尚处于开发阶段,期待您的体验意见。专属房间号🥇,邀ta来一起畅聊👪

2024-05-17 20:18:55 678

原创 ZaoShan 一个快速搭建纯后端的开源项目

该项目用于快速创建,其中提供日常开发中的统一返回、项目文档、基础枚举、全局异常处理、请求日志等基础功能,方便直接进行业务开发。

2024-05-17 18:55:29 339

原创 设计模式-UML类图详解

实现关系泛化关系关联关系聚合关系组合关系依赖关系。

2024-05-17 13:17:55 1038

原创 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

原创 Docker安装Redis

拉取镜像创建文件夹将一个redis.conf文件模板拷贝进/app/redis目录下以下是修改完成的配置文件密码为。

2024-03-19 22:05:45 220

原创 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

原创 Ubuntu apt安装jdk8与python3.8

执行完毕后输入指令验证版本 出现版本号则为安装成功。此命令需要按enter键(回车)确认。

2023-04-29 03:23:04 462

原创 【安卓逆向】smali基础(一)

【代码】【安卓逆向】smali基础(一)

2023-04-01 13:17:09 834

原创 Docker安装RabbitMQ

15672是提供给后台登录的端口5672是开发中使用的端口。

2023-03-15 16:01:48 146

原创 Nacos配置拉取及配置动态刷新原理【源码阅读】

RefreshScope注解标注了@Scope注解,井默认了ScopedProxyMode.TARGET_CLASS属性,此属性的功能就是创建一个代理,在每次调用的时候都用它来调用GenericScope#get方法来获取bean对象在GenericScope里面包装了一个内部类BeanLifecycleWrapperCache来对加了@RefreshScope的bean进行缓存,使其在不刷新时获取的都是同一个对象。

2023-03-11 07:37:40 5317

原创 MyBatis底层原理【源码运行时序图】

MyBatis底层运行原理,源码运行时序图,可图示阅读源码。

2023-03-03 22:32:06 906

原创 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

原创 nessus配置邮箱 (SMTP)

本文选择QQ邮箱。

2022-12-20 15:23:35 978

原创 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

原创 Docker搭建MySQL主从同步(全网最全保姆教程)

slave会从master读取binlog来进行数据同步IO 线程SQL线程。

2022-11-26 01:44:34 2871 1

原创 高性能架构模式

互联网业务兴起之后,海量用户加上海量数据的特点,单个数据库服务器已经难以满足业务需要,必须考虑数据库集群的方式来提升性能。高性能数据库集群的,。

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

免配置抓包工具***微信小程序

可直接抓取微信小程序,各种请求抓包皆可

2022-09-17

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

TA关注的人

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