-->

随笔分类 -  Java技术杂文

摘要:一、Arthas简介 Arthas(阿尔萨斯)是Alibaba开源的Java诊断工具。支持Linux/Mac/Windows 1、下载地址: https://github.com/alibaba/arthas/releases 2、arthas-bin解压之后的目录结构 二、启动Arthas监测应用 阅读全文
posted @ 2024-07-15 10:10 角刀牛Java 阅读(228) 评论(0) 推荐(0) 编辑
摘要:Shiro、SpringSecurity、Sa-Token都属于Java的权限框架。 Apache Shiro是Java的一个安全框架。目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大,但应对中小型 阅读全文
posted @ 2024-04-29 16:06 角刀牛Java 阅读(798) 评论(0) 推荐(1) 编辑
摘要:一、什么是站内信? 站内信,是为方便会员商务信件往来而设的服务功能,类似于邮箱。 “站内信”有两个基本功能: 点到点的消息传送。用户给用户发送站内信,管理员给用户发送站内信。 点到面的消息传送。管理员给用户(指定满足某一条件的用户群)群发消息。 二、为什么要做站内信? 从站内信接触对象(用户和企业) 阅读全文
posted @ 2024-04-08 08:48 角刀牛Java 阅读(329) 评论(0) 推荐(0) 编辑
摘要:一、问题发现与排查 1.1 找到问题原因 问题起因是我们收到了jdos的容器CPU告警,CPU使用率已经达到104% 观察该机器日志发现,此时有很多线程在执行跑批任务。正常来说,跑批任务是低CPU高内存型,所以此时考虑是FullGC引起的大量CPU占用(之前有类似情况,告知用户后重启应用后解决问题) 阅读全文
posted @ 2024-03-01 09:19 角刀牛Java 阅读(89) 评论(0) 推荐(0) 编辑
摘要:线上故障主要会包括cpu、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。 同时例如jstack、jmap等工具也是不囿于一个方面的问题的,基本上出问题就是df、free、top 三连,然后依次jstack、jmap伺候,具体问题具体分析即 阅读全文
posted @ 2024-03-01 09:16 角刀牛Java 阅读(117) 评论(0) 推荐(0) 编辑
摘要:一、问题场景 测试环境突然报警CPU飙高,查看日志发现不停的在做GC操作,8个GC线程把CPU打爆。 二、问题排查 首先就是保留现场,打印堆栈信息。 1.打印线程运行信息 jstack 85090 > code-api.log 2.打印堆信息 jmap -dump:format=b,file=hea 阅读全文
posted @ 2024-03-01 09:14 角刀牛Java 阅读(148) 评论(0) 推荐(0) 编辑
摘要:前言: 背景:一、什么是 JVM 的 GC? JVM(Java Virtual Machine)。JVM 是 Java 程序的虚拟机,是一种实现 Java 语言的解释器。 它提供了一种独立于操作系统的运行环境,使得 Java 程序在任何支持 JVM 的计算机上都可以运行。JVM 负责加载、验证、解释 阅读全文
posted @ 2024-03-01 08:46 角刀牛Java 阅读(5571) 评论(0) 推荐(0) 编辑
摘要:废话不多说!利用xposed模块给加速器添加白名单不想写ui界面的可利用隐藏应用列表模块来配置白名单或黑名单,隐藏应用列表只需要给加速器启用黑名单或白名单即可直接上代码 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 阅读全文
posted @ 2024-01-24 15:47 角刀牛Java 阅读(142) 评论(0) 推荐(0) 编辑
摘要:创建可执行的 JAR 文件包--制作一个可执行的 JAR 文件包来发布你的程序是 JAR 文件包最典型的用法 Java 程序是由若干个 .class 文件组成的。这些 .class 文件必须根据它们所属的包不同而分级分目录存放;运 行前需要把所有用到的包的根目录指定给 CLASSPATH 环境变量或 阅读全文
posted @ 2024-01-18 08:50 角刀牛Java 阅读(80) 评论(0) 推荐(0) 编辑
摘要:准备 准备工作: 一个jar包,没有bug能正常启动的jar包 exe4j,一个将jar转换成exe的工具,链接:https://pan.baidu.com/s/1J30uUMJcYnqWCJSr6gkM5w,提取码:6esr,注册码:L-g782dn2d-1f1yqxx1rv1sqd inno s 阅读全文
posted @ 2023-11-30 15:14 角刀牛Java 阅读(61) 评论(0) 推荐(0) 编辑
摘要:HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源。虽然在 JDK 的 java net包中已经提供了访问 HTTP 协议的基本功能,但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活。 阅读全文
posted @ 2023-09-20 10:22 角刀牛Java 阅读(32) 评论(0) 推荐(0) 编辑
摘要:使用AOP AOP(Aspect Oriented Programming),即面向切面编程。AOP是一种新的编程方式,它和OOP不同,OOP把系统看作多个对象的交互,AOP把系统分解为不同的关注点,或者称之为切面(Aspect)。 要理解AOP的概念,我们先用OOP举例,先回顾一下OOP(Obje 阅读全文
posted @ 2023-09-19 17:17 角刀牛Java 阅读(85) 评论(0) 推荐(0) 编辑
摘要:目录 序言 预期 思路 过程 结果 序言 之前封装过一个日志注解,打印方法执行信息,功能较为单一不够灵活,近来兴趣来了,想重构下,使其支持表达式语法,以应对灵活的日志打印需求。 该注解是方法层面的日志打印,如需更细的粒度,还请手撸log.xxx()。 预期 通过自定义注解,灵活的语法表达式,拦截自定 阅读全文
posted @ 2023-09-19 11:43 角刀牛Java 阅读(316) 评论(0) 推荐(0) 编辑
摘要:背景 有时候我们需要进行远程的debug,本文研究如何进行远程debug,以及使用 IDEA 远程debug的过程中的细节。看完可以解决你的一些疑惑。 配置 远程debug的服务,以springboot微服务为例(springcloud的应该差不多,我没研究过)。首先,启动springboot需要加 阅读全文
posted @ 2023-09-12 16:11 角刀牛Java 阅读(88) 评论(0) 推荐(0) 编辑
摘要:一、Java8 Stream概述 Java 8 是一个非常成功的版本,这个版本新增的Stream,配合同版本出现的Lambda ,给我们操作集合(Collection)提供了极大的便利。 Stream流是JDK8新增的成员,允许以声明性方式处理数据集合,可以把Stream流看作是遍历数据集合的一个高 阅读全文
posted @ 2023-09-06 10:05 角刀牛Java 阅读(427) 评论(0) 推荐(0) 编辑
摘要:近期项目有个需求,需要将组织机构数据拼成树型结构返回至前端。我的做法如下 方式一、使用递归方式实现 private List<SysDept> getSysDepts(String deptId) { // 1、获取表中所有数据 (自行根据实际场景拿到所有表数据) List<SysDept> all 阅读全文
posted @ 2023-09-06 09:41 角刀牛Java 阅读(1317) 评论(0) 推荐(1) 编辑
摘要:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。本文将通过示例详解Java如何实现自定义注解,需要的可以参考一下 − 目录 概念 作用 JDK中预定义的一些注解 注解生成文档案例 自定义注解 格式 本质 属性:接 阅读全文
posted @ 2023-08-16 11:13 角刀牛Java 阅读(357) 评论(0) 推荐(0) 编辑
摘要:@Autowired 和 @Resource 都是 Spring/Spring Boot 项目中,用来进行依赖注入的注解。它们都提供了将依赖对象注入到当前对象的功能,但二者却有众多不同,并且这也是常见的面试题之一,所以我们今天就来盘它。 @Autowired 和 @Resource 的区别主要体现在 阅读全文
posted @ 2023-08-14 11:44 角刀牛Java 阅读(1678) 评论(0) 推荐(0) 编辑
摘要:远程调试是一项重要的技术,特别是对于使用IDEA开发的开发者来说。在本篇技术博客中,我们将探讨如何使用IDEA进行远程调试。 1 IDEA 配置 首先,我们需要确保我们的开发环境已经准备就绪。我们需要在远程服务器上安装并配置好调试器,如GDB或LLDB。我们还需要在本地计算机上安装IDEA,并确保我 阅读全文
posted @ 2023-08-14 11:20 角刀牛Java 阅读(535) 评论(0) 推荐(0) 编辑
摘要:@RequestParam 和 @PathVariable 注解是用于从request中接收请求的,都可接收参数 @RequestParam 是从request里取值 @PathVariable 是从一个URI模板里面来填充 @RequestParam 示例 URL如下: http://localh 阅读全文
posted @ 2023-08-14 11:05 角刀牛Java 阅读(210) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示