// TAG
#java
14 篇
Thunar文件管理器快捷键与使用技巧
这是 Thunar 最强大的进阶功能,可以为右键菜单添加任意命令。Edit → Configure custom actions... → 点击 + 号操作名命令适用条件在终端中打开目录以 root 打开目录复制文件路径全部搜索文件(Catfish)目录批量压缩全部图片幻灯片图片文件宏含义%f单个选中文件的路径%F所有选中文件的路径列表%n单个选中文件的文件名(不含路径)%N所有选中文件的文件名列表%d当前目录路径%p当前目录路径(与 %d 相同)
阅读 →
杂记Java增删改查类接口设计演进
本文系统梳理了Java企业级开发中CRUD接口的设计演进与最佳实践。首先介绍了CRUD的本质与业务价值,从RPC、RESTful到GraphQL的接口演变历程。重点分析了五种常见接口类型:标准RESTful风格的设计规范与幂等性处理;灵活查询接口的JSON查询对象、OData和GraphQL方案;批量操作的事务与效率优化;软删除的实现策略;以及大文件导入导出的工程挑战。文章强调CRUD接口设计应基于业务场景选择合适方案,合理平衡灵活性、性能与开发效率,为开发者构建完整的设计知识体系。
阅读 →
杂记Java表格类接口开发指南:从DTO到架构设计
本文介绍了Java表格类接口开发的核心知识点,重点讲解了DTO(数据传输对象)的设计原则与分层策略。文章从DTO的概念出发,阐述了其在企业级应用中的重要性,包括关注点分离、数据聚合、性能优化等优势。同时详细讲解了请求参数的接收与校验、Service层的职责分工、对象转换方案(特别推荐MapStruct)以及统一响应结构的设计规范。全文强调通过合理的分层设计和规范约束,可以构建出高性能、易维护的表格接口,为复杂业务系统奠定坚实基础。
阅读 →
安全研究Linux PAM 配置详解:从原理到实战,彻底阻断非授权提权
Linux系统权限管理存在两条独立路径:su路径和sudo路径。常见教程仅通过pam_wheel.so限制su路径,却忽略了sudo su -的提权漏洞。PAM模块通过四类管理标记实现分层认证,其中pam_wheel.so可限制只有wheel组成员能使用su。要完全防护,需同时配置/etc/sudoers禁止su和bash命令。建议采用白名单策略精确授权,并通过流程图展示双重防护机制。验证时需测试非wheel用户能否通过两种路径提权。
阅读 →
杂记Gradle 从入门到实战
Gradle作为现代化构建工具,凭借灵活性、高性能和跨平台优势成为Java项目开发的首选。它支持Groovy/Kotlin脚本配置,简化依赖管理,提供增量构建加速编译,并兼容多语言和IDE集成。文章详解Gradle的核心特性、安装配置及实战操作,包括构建脚本编写、依赖声明、常用命令等,特别针对Java插件开发场景提供精简配置示例,帮助开发者快速掌握从编译到打包的全流程,提升项目构建效率。
阅读 →
杂记ORM是什么?如何理解ORM?ORM的优缺点?
本文从ORM的定义入手,逐步剖析了其工作原理、优点、缺点以及适用场景,希望能为读者提供一个全面的视角。无论是初学者还是有经验的开发者,理解ORM的本质都能帮助我们在开发中做出更明智的选择。
阅读 →
安全研究Java Web接口鉴权与拦截的层面分析与判断方法
本文深入解析Java Web接口鉴权与拦截的分层机制,涵盖从网络层到业务层的四层防护体系。网络层(Nginx/网关)提供高性能粗粒度拦截,Web容器层(Servlet Filter)实现JVM级全局处理,框架层(Interceptor/AOP)支持业务细粒度控制,业务层则作为最终安全兜底。文章详细阐述各层的核心定位、深层机制、核心能力及典型漏洞,并给出请求拦截层的判定方法,帮助开发者构建完整的Web安全防护体系。
阅读 →
杂记什么是Unix哲学?或者:如何像克尼汉一样思考、像里奇一样编码、像汤普森一样架构
Unix哲学并非一套过时的古董,而是穿越时空的软件开发智慧。它的核心是简约、实用、复用与组合,教会我们用简单的方法解决复杂的问题,用模块化的思维构建灵活的系统。对于现代开发者来说,学习并践行Unix哲学,不仅能够提升开发效率、改善代码质量,还能够培养正确的软件开发思维。像克尼汉一样思考,意味着要善于提炼核心问题,用清晰、简洁的思路解决问题;像里奇一样编码,意味着要追求代码的高效、可靠与可复用,让每个模块都只做好一件事;像汤普森一样架构,意味着要具备分层思维与组合思维,构建灵活、可扩展的系统。
阅读 →
Windows调整JAR文件的缩放设置适配高分辨率屏幕
Windows系统下Java程序因高DPI导致显示异常时,可通过修改Java.exe属性解决。具体步骤为:右键Java.exe→属性→兼容性→勾选"替代高DPI缩放行为"→选择"系统"缩放方式。修改后重启程序即可恢复正常显示。该方法能有效解决高DPI环境下Java程序字体和窗口过小的问题。
阅读 →
安全研究浅谈 Polkit 与 systemd-run 权限管理
本文探讨了Linux系统中Polkit与systemd-run的协同工作机制,重点分析其权限管理原理与应用。Polkit作为细粒度授权框架,通过守护进程、机制和应用进程的交互实现安全权限控制。systemd-run则以瞬时服务单元形式执行任务,与Polkit集成完成特权操作验证。文章详细解析了授权流程、自定义规则编写方法,并介绍了run0这一安全封装工具。最后提出安全建议,强调避免过度授权、组权限隔离和日志审计的重要性。这种组合方案为Linux系统提供了更灵活、安全的权限管理方式,在自动化运维和安全防御中具
阅读 →Tomcat 日志文件名的命名规范
摘要:Tomcat日志文件遵循严格的命名规范,包括引擎级的Catalina日志(如catalina.2025-09-07.log)、访问日志(localhost_access_log.2025-09-07.txt)、应用级日志(如localhost.2025-09-07.log)和管理日志(如manager.2025-09-07.log)。命名规则使用点号分隔和ISO 8601日期格式,可通过修改logging.properties或server.xml自定义。关键注意事项包括大小写敏感、轮转机制和时区影响
阅读 →
安全研究Yakit 热加载入门学习指南
Yakit热加载是yaklang平台的一项动态加载功能,允许在运行时实时执行Yak脚本而无需重启应用,特别适用于安全测试场景。其核心架构包括HotPatch处理器、MixPluginCaller等组件,通过代码编译、环境创建和函数映射实现动态扩展。在MITM代理中,热加载用于请求/响应劫持;在模糊测试中支持FuzzTag生成动态payload。系统提供模板管理和多种配置选项,并建议开发者注意错误处理、性能优化和状态管理。典型应用包括修改HTTP头、检测错误响应以及生成SQL注入/XSS测试payload。该
阅读 →
红队渗透Linux 安装与管理 Java jdk 8 (三种方法)
本教程介绍在Kali Linux系统中使用Java 8的两种方式:临时运行(适用于安全测试工具如ysoserial)和长期安装(适合开发)。临时使用只需下载OpenJDK 8并解压运行,不影响系统环境;长期方案推荐jenv版本管理工具,可灵活切换多个Java版本,也提供系统级安装方法。教程包含详细步骤、常见问题及推荐方案对比,满足不同使用场景需求,特别强调避免Java版本冲突问题。
阅读 →
开发工具单引号与双引号在不同编程语言中的使用与支持
不同的编程语言对单引号和双引号的支持和意义有所不同,主要体现在它们的用途和语法规则上。字符 vs 字符串:大多数编程语言使用单引号表示字符(char),使用双引号表示字符串(string),但也有一些语言(如 Python、JavaScript、Ruby)不做严格区分,允许两者互换。支持插值:一些语言(如 Ruby、PHP、JavaScript)区分单引号和双引号的主要原因是双引号支持插值或变量替换,而单引号不支持。多行字符串。
阅读 →