自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何在 AI 时代保护内容原创性?我常用的检测方法分享

摘要: 随着AI写作工具的普及,技术内容真实性与原创性检测变得尤为重要。本文针对开发者、科研人员等技术写作者,分享使用MyDetector工具检测AI生成内容的方法,包括技术博客、学术报告及图片的AI痕迹识别,并强调其高亮可疑内容、优化表达的功能。通过提前检测,可提升技术文档的可信度,避免因AI化表达影响专业性。工具链接与实用建议一并提供,倡导将检测作为内容质量的保障机制。(149字)

2025-12-11 10:55:15 273

原创 AIEnhancer — 免费、在线、万能的图片处理“瑞士军刀”

本文介绍AIEnhancer这款多功能免费在线图片处理工具,它集照片修复、高清放大、背景去除、水印清除、AI编辑和图片压缩于一体。测试显示,该工具能有效修复老照片、优化商品图、提升社交媒体图片质量,并支持快速压缩文档图片。虽然对极复杂图像处理有限,但凭借零门槛操作、全免费使用和广泛适用性,特别适合家庭用户、内容创作者、电商卖家及职场人士的日常图片处理需求,能满足80%的使用场景。

2025-12-11 10:46:05 542

原创 Windows 环境下使用 Go Modules 拉取带外层 Basic Auth 的私有 GitLab 仓库 — 完整解决方案

本文提供了在Windows环境下解决Go访问带有Basic Auth认证的私有GitLab仓库的完整方案。主要内容包括:1) 创建_netrc文件配置Basic Auth凭据;2) 配置Git将HTTP请求转换为SSH连接;3) 设置Go环境变量绕过代理检查;4) 清理缓存重新下载模块。通过四个关键步骤形成完整工作流:Go通过_netrc完成认证→读取meta标签→Git替换为SSH协议→成功拉取代码。最终实现go mod tidy和go build等命令正常工作,解决401未授权错误和go.sum缺失问题

2025-12-05 19:04:20 411

原创 MyDetector:守护原创与内容质量的一站式 AI 检测 / 优化工具

随着 AI 写作、AI 绘图与自动生成内容的广泛应用,“内容质量”“原创性”“真实性”成为内容创作者、教育者、媒体与企业最为关心的问题。MyDetector 是一款支持 文本 / 图片 /代码 多维度检测与 “人类化” 优化的工具,为你提供专业的 AI 内容检测、抄袭识别、语法校正与文本润色服务 —— 帮你快速识别 AI 生成内容/潜在侵权/质量问题,并提升内容自然度与专业性。适用于内容创作者、教育机构、媒体/出版、营销/品牌、职场写作者、学生与非母语写作者等多类场景。

2025-12-05 18:35:51 780

原创 AIEnhancer 体验与实用指南:一款免费 AI 图片增强/处理神器

摘要: AIEnhancer是一款免费在线图片处理工具,集成了图片增强、老照片修复、背景去除、水印清理、AI一键编辑、压缩等功能,适合家庭用户、内容创作者、电商卖家及办公人群。本文从实际体验出发,详细解析其核心功能,如老照片修复、AI编辑、背景抠图等,并分享在家庭回忆保存、社媒素材优化、电商商品图制作等场景的应用效果。优点包括免费、操作简单、功能全面;局限性在于对严重损坏图片的修复效果有限,复杂背景抠图可能需微调。推荐非专业用户将其作为高效便捷的图片处理工具,尤其适合日常修图需求。官网:https://ai

2025-12-05 17:54:52 1103

原创 竞品分析必备:游戏下载量、收入工具与使用方法完整记录

Appark是一款轻量级游戏数据分析工具,适合快速验证市场趋势与竞品表现。网页端无需登录,可查询下载量、收入走势及榜单数据,适用于立项预研、赛道筛选等场景。实际使用中,建议交叉对比下载与收入曲线,结合多国数据判断产品潜力,并避免依赖单日峰值做决策。该工具适合产品、市场及独立开发者进行初步筛查,但深度分析仍需专业平台补充。数据仅供参考,需多源复核,工具功能可能更新,请以官方页面为准。

2025-11-28 17:34:24 991

原创 Docker安装Elasticsearch9.2.1与Kibana9.2.1 保姆教程(带验证版)

本文介绍了使用Docker Compose部署Elasticsearch 9.2.1和Kibana 9.2.1的详细步骤。主要包括:创建数据存储目录、编写docker-compose配置文件(包含Elasticsearch和Kibana服务配置)、启动容器、设置Kibana系统用户密码等操作。配置中启用了基础安全认证,设置了2GB内存限制,关闭了TLS加密,并指定了elastic用户的默认密码为123456。最后通过访问http://127.0.0.1:5601/验证部署结果,使用elastic/12345

2025-11-26 18:37:09 268

原创 剪/染前如何降低“想象错位”的风险:一次线上试发的记录(工具:RightHair)

RightHair提供AI在线发型/发色试戴服务,无需下载APP,30秒内生成效果图,每日3次免费额度。支持200+发型和多种发色选择,并附带脸型分析等辅助功能。用户上传照片24小时后自动删除,确保隐私安全。适用于求职面试、婚礼造型等场景,帮助用户预览效果并与发型师高效沟通。使用简单:上传正脸照片→选择发型→下载效果图。注意选择光线均匀的照片效果更真实,建议将AI效果作为参考方向而非绝对标准。官网:https://righthair.ai

2025-09-13 11:45:50 1451

原创 EzRemove(ezremove.ai)评测与实操:5 秒在线抠图、支持批量与换底(电商/设计团队提效指南)

摘要:EzRemove是一款在线AI抠图工具,5秒自动完成抠图、背景替换及基础编辑,支持透明PNG导出和批量处理,适合电商、设计及社媒团队。核心功能包括:一键换底、轻量编辑、多格式支持,无需安装软件。优势在于高效批量处理,但对复杂场景(如发丝、玻璃)需结合PS精修。提供隐私合规选项,建议团队使用前审核条款。适用于主图制作、海报设计等高频场景,官网直连即可体验。 (150字)

2025-09-13 11:44:44 1165

原创 补充2:使用OQL语言查询对象信息

MAT工具支持OQL(Object Query Language)语言进行堆内存对象查询,语法类似SQL。主要功能包括:1)SELECT子句支持显示对象引用、去重和保留集查询;2)FROM子句可通过类名、正则表达式或对象地址指定查询范围;3)WHERE子句提供条件过滤,支持长度、字符串匹配等操作;4)内置对象访问方法,可查询对象属性、ID、地址及数组长度等。OQL还支持INSTANCEOF查询子类型对象。

2025-07-14 14:50:54 437

原创 补充1:浅堆深堆与内存泄露

本文介绍了Java内存分析中的几个关键概念: 浅堆:对象自身占用的内存大小,如String对象固定为24字节(JDK7); 保留集与深堆:对象被回收时可释放的对象集合及其内存总和,深堆反映真实可回收空间; 支配树:通过对象引用关系分析内存支配情况,帮助识别保留集; 内存泄漏与溢出:泄漏指无用对象未被回收,长期积累导致内存耗尽;溢出则是申请内存时空间不足。 文中列举了8种常见内存泄漏场景,包括静态集合、单例模式、数据库连接未关闭等,并强调合理管理变量生命周期和哈希值的重要性。通过理解这些概念,可以更有效地诊断

2025-07-14 14:49:19 428

原创 分析GC日志

本文摘要: Java虚拟机GC日志分析主要分为GC分类、日志类型解析和日志结构剖析三部分。GC分为部分收集(新生代/老年代)和整堆收集(Full GC),混合收集仅G1 GC特有。日志显示不同收集器特征,如Serial显示"[DefNew",G1显示"garbage-first heap"。通过日志可分析GC原因、前后内存变化及耗时情况,其中real时间应小于sys+user时间。推荐使用GCEasy在线工具或GCViewer离线工具进行日志分析,它们能检测内存泄漏、

2025-07-14 14:48:36 503

原创 JVM运行时参数

本文介绍了JVM参数选项的分类与配置方法。JVM参数分为三种类型:标准参数(如-server、-client)、-X参数(非标准参数,如-Xms设置初始堆大小)和-XX参数(高级配置,包括Boolean和非Boolean类型)。文章详细说明了如何查看当前JVM模式(Server/Client)、运行模式(混合/解释),并提供了在不同环境(如运行jar包、Tomcat部署)中配置JVM参数的示例。最后列举了常用的内存相关参数,包括设置线程栈大小(-Xss)、堆内存初始/最大值(-Xms/-Xmx)等。这些参数

2025-07-14 14:44:36 275

原创 JVM监控及诊断工具-GUI篇

本文介绍了Java性能分析常用工具,包括JDK自带工具和第三方工具。JDK自带工具如JConsole、Visual VM和JMC,可用于监控JVM运行状态、内存、线程等信息;第三方工具如MAT和JProfiler功能更强大,MAT擅长内存泄漏分析,JProfiler提供全面的性能诊断功能。文章详细说明了各工具的安装配置、核心功能和使用场景,帮助开发者根据需求选择合适的性能分析工具,快速定位Java应用性能瓶颈。

2025-07-14 14:40:41 769

原创 JVM监控及诊断工具-命令行篇

JVM监控及诊断工具-命令行篇概述 本文介绍了Java虚拟机(JVM)性能监控和诊断的常用命令行工具。主要包括jps和jstat两个核心工具的使用方法: jps:用于查看正在运行的Java进程,可显示进程ID、主类名、JVM参数等信息。常用参数包括-q(仅显示ID)、-l(显示全类名)、-m(显示main参数)、-v(显示JVM参数)。 jstat:提供JVM统计信息监控,包括类加载、垃圾回收、JIT编译等数据。主要选项有: 类加载:-class 垃圾回收:-gc、-gccapacity、-gcutil等

2025-07-14 14:30:57 1111

原创 再谈类的加载器

类加载器机制概述 核心要点 类加载器是Java虚拟机执行类加载机制的关键组件,负责将类的二进制数据读入JVM并转换为Class对象。主要特点包括: 采用双亲委派模型(但存在例外情况) 包含引导类加载器(Bootstrap)和自定义类加载器两类 同一类由不同加载器加载会被视为不同类 子加载器可见父加载器加载的类,反之则不可 类加载器层级 典型类加载器结构分为三层: 引导类加载器:C++实现,加载Java核心库 扩展类加载器:Java实现,加载扩展库 应用类加载器:Java实现,加载用户类路径内容 重要特性 命

2025-07-14 14:13:47 934

原创 类的加载过程(类的生命周期)详解

类的加载过程(生命周期)详解 Java类的生命周期包括7个阶段:加载、验证、准备、解析、初始化、使用和卸载。其中验证、准备、解析统称为链接阶段。 加载阶段:将类的字节码文件加载到内存,生成Class类实例,作为访问类信息的入口。可以通过多种方式获取类的二进制数据流。 链接阶段: 验证:确保字节码合法合规,包括格式、语义和字节码验证 准备:为静态变量分配内存并设置默认初始值 解析:将符号引用转换为直接引用 初始化阶段:执行类构造器方法,为静态变量赋值。这是类加载的最后一步,也是面试常考点。大厂面试常考察类加载

2025-07-14 14:13:18 1436

原创 字节码指令集

摘要 本文详细介绍了Java虚拟机的字节码指令集,重点分析了加载与存储指令的工作原理和执行机制。主要内容包括: 执行模型:以伪代码形式展示JVM解释器的基本执行流程,包括PC寄存器操作、指令解码和执行循环。 数据类型与指令:说明大多数指令包含数据类型信息,不同类型数据使用不同指令前缀(如i代表int),以及编译器对byte/short/boolean等类型的处理方式。 指令分类:将指令集分为9大类,包括加载存储、算术运算、类型转换等。 加载与存储指令:重点讲解局部变量压栈指令(xload)、常量入栈指令(如

2025-07-14 14:12:05 1091

原创 Class文件结构

在Java语言中,要重载(Overload)一个方法,除了要与原方法具有相同的简单名称之外,还要求必须拥有一个与原方法不同的特征签名,特征签名就是一个方法中各个参数在常量池中的字段符号引用的集合,也就是因为返回值不会包含在特征签名之中,因此Java语言里无法仅仅依靠返回值的不同来对一个已有方法进行重载。在interfaces[]中,各成员所表示的接口顺序和对应的源代码中给定的接口顺序(从左至右)一样,即interfaces[0]对应的是源代码中最左边的接口。常量池中的每一项都具备相同的特征。

2025-07-07 17:19:35 727

原创 垃圾回收器

垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商、不同版本的JVM来实现。由于JDK的版本处于高速迭代过程中,因此Java发展至今已经衍生了众多的GC版本。从不同角度分析垃圾收集器,可以将GC分为不同的类型。垃圾收集机制是Java的招牌能力,极大地提高了开发效率。这当然也是面试的热点。为什么要有很多收集器,一个不够吗?因为Java的使用场景很多,移动端,服务器等。所以就需要针对不同的场景,提供不同的垃圾收集器,提高垃圾收集的性能。

2024-12-30 08:00:00 924

原创 垃圾回收相关概念

当垃圾回收器准备回收一个对象时,如果发现它还有虚引用,就会在回收对象后,将这个虚引用加入引用队列,以通知应用程序对象的回收情况。在系统GC时,只要发现弱引用,不管系统堆空间使用是否充足,都会回收掉只被弱引用关联的对象。对于一个普通的对象,如果没有其他的引用关系,只要超过了引用的作用域或者显式地将相应(强)引用赋值为nu11,就是可以当做垃圾被收集了,当然具体回收时机还是要看垃圾收集策略。相对的,软引用、弱引用和虚引用的对象是软可触及、弱可触及和虚可触及的,在一定条件下,都是可以被回收的。

2024-09-16 08:00:00 1527

原创 垃圾回收概述及算法

垃圾收集,不是Java语言的伴生产物。早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。哪些内存需要回收?什么时候回收?如何回收?垃圾收集机制是Java的招牌能力,极大地提高了开发效率。如今,垃圾收集几乎成为现代语言的标配,即使经过如此长时间的发展,Java的垃圾收集机制仍然在不断的演进中,不同大小的设备、不同特征的应用场景,对垃圾收集提出了新的挑战,这当然也是面试的热点。大厂面试题蚂蚁金服你知道哪几种垃圾回收器,各自的优缺点,重点讲一下cms和G1?

2024-09-09 08:00:00 2477

原创 StringTable

简介:在JDK 7中,内部字符串不再分配在Java堆的永久代中,而是分配在Java堆的主要部分(称为年轻代和老年代),与应用程序创建的其他对象一起。当调用intern方法时,如果池子里已经包含了一个与这个String对象相等的字符串,正如equals(Object)方法所确定的,那么池子里的字符串会被返回。许多大规模的Java应用的瓶颈在于内存,测试表明,在这些类型的应用里面,Java堆中存活的数据集合差不多25%是String对象。大的网站平台,需要内存中存储大量的字符串。它的主要使用方法有两种。

2024-09-02 08:00:00 759

原创 9.执行引擎

执行引擎属于JVM的下层,里面包括解释器、及时编译器、垃圾回收器执行引擎是Java虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引擎则是由软件自行实现的,因此可以不受物理条件制约地定制指令集与执行引擎的结构体系,能够执行那些不被硬件直接支持的指令集格式。

2024-08-26 08:00:00 975

原创 对象实例化及直接内存

不是虚拟机运行时数据区的一部分,也不是《Java虚拟机规范》中定义的内存区域。直接内存是在Java堆外的、直接向系统申请的内存区间。来源于NIO,通过存在堆中的DirectByteBuffer操作Native内存。通常,访问直接内存的速度会优于Java堆,即读写性能高。因此出于性能考虑,读写频繁的场合可能会考虑使用直接内存。Java的NIO库允许Java程序使用直接内存,用于数据缓冲区。

2024-08-19 08:00:00 753

原创 jvm之方法区

从线程共享与否的角度来看官方文档:Chapter 2. The Structure of the Java Virtual Machine (oracle.com)《Java虚拟机规范》中明确说明:“尽管所有的方法区在逻辑上是属于堆的一部分,但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩。”但对于HotSpotJVM而言,方法区还有一个别名叫做Non-Heap(非堆),目的就是要和堆分开。所以,方法区看作是一块独立于Java堆的内存空间。在jdk7及以前,习惯上把方法区,称为永久代。jdk8开始,

2024-08-12 08:00:00 836

原创 jvm之堆(Heap)

从内存模型而不是垃圾收集的角度,对Eden区域继续进行划分,JVM为每个线程分配了一个私有缓存区域,它包含在Eden空间内。多线程同时分配内存时,使用TLAB可以避免一系列的非线程安全问题,同时还能够提升内存分配的吞吐量,因此我们可以将这种内存分配方式称之为快速分配策略。据我所知所有OpenJDK衍生出来的JVM都提供了TLAB的设计。如何将堆上的对象分配到栈,需要使用逃逸分析手段。这是一种可以有效减少Java程序中同步负载和内存堆分配压力的跨函数全局数据流分析算法。

2024-08-05 08:00:00 912

原创 本地方法接口和本地方法栈

简单地讲,一个Native Method是一个Java调用非Java代码的接囗。一个Native Method是这样一个Java方法:该方法的实现由非Java语言实现,比如C。这个特征并非Java所特有,很多其它的编程语言都有这一机制,比如在C中,你可以用extern “c” 告知c编译器去调用一个c的函数。在定义一个native method时,并不提供实现体(有些像定义一个Java interface),因为其实现体是由非java语言在外面实现的。

2024-07-29 08:00:00 866

原创 Java虚拟机栈

由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。

2024-07-22 08:00:00 695

原创 运行时数据区及程序计数器

本节主要讲的是运行时数据区,也就是下图这部分,它是在类加载完成后的阶段当我们通过前面的:类的加载-> 验证 -> 准备 -> 解析 -> 初始化 这几个阶段完成后,就会用到执行引擎对我们的类进行使用,同时执行引擎将会使用到我们运行时数据区内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行。不同的JVM对于内存的划分方式和管理机制存在着部分差异。

2024-07-15 07:45:00 1252

原创 类加载子系统

在Java的日常应用程序开发中,类的加载几乎是由上述3种类加载器相互配合执行的,在必要时,我们还可以自定义类加载器,来定制类的加载方式。为什么要自定义类加载器?隔离加载类修改类加载的方式扩展加载源防止源码泄漏开发人员可以通过继承抽象类ava.lang.ClassLoader类的方式,实现自己的类加载器,以满足一些特殊的需求。

2024-07-08 08:00:00 737

原创 JVM与Java体系结构

垃圾收集机制为我们打理了很多繁琐的工作,大大提高了开发的效率,但是,垃圾收集也不是万能的,懂得JVM内部的内存结构、工作机制,是设计高扩展性应用和诊断运行时问题的基础,也是Java工程师进阶的必备能力。

2024-07-01 21:45:00 1201

原创 class字节码文件结构

class字节码文件结构

2024-06-26 10:30:28 381

原创 JVM指令手册

JVM指令手册

2024-06-23 14:08:01 823

原创 SpringSecurity入门(四)

SpringSecurity入门(四)

2024-06-07 10:14:13 1009 1

原创 SpringSecurity入门(三)

SpringSecurity入门(三)

2024-06-07 10:10:20 1117

原创 SpringSecurity入门(二)

SpringSecurity入门(二)

2024-06-07 10:07:38 1289

原创 SpringSecurity入门(一)

SpringSecurity入门

2024-06-07 10:03:45 2809

原创 springcloudalibaba入门(四)

springcloudalibaba之seata使用、SkyWalking链路追踪

2024-05-27 08:45:05 364

原创 springcloudalibaba入门(三)

springcloudalibaba之集成sentinel、Spring Cloud Gateway

2024-05-27 08:41:26 1262

空空如也

空空如也

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

TA关注的人

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