报错信息大概如下: Error running 'xxx': Command line is too long. Shorten command line for xxx or also for Application default configuration. 解决方案(1): 找到项目下的.idea/workspace.xml,在标签<component name="PropertiesComponent">里添加一行属性:<property name="dyn…
报错信息大概如下: Error running 'xxx': Command line is too long. Shorten command line for xxx or also for Application default configuration. 解决方案(1): 找到项目下的.idea/workspace.xml,在标签<component name="PropertiesComponent">里添加一行属性:<property name="dyn…
前言 Shiro作为常用的权限框架,可被用于解决认证、授权、加密、会话管理等场景。Shiro对其API进行了友好的封装,如果单纯的使用Shiro框架非常简单。但如果使用了多年Shiro,还依旧停留在基本的使用上,那么这篇文章就值得你学习一下。只有了解Shiro的底层和实现,才能够更好的使用和借鉴,同时也能够避免不必要的坑。 下面以官方提供的实例为基础,讲解分析Shiro的基本使用流程,同时针对认证和授权流程进行更底层的原理讲解,让大家真正了解我们所使用的Shiro框架,底层是怎么运作的。 Shiro组成及框架 在学…
Spring Boot中提供了一系列的注解比如@ImportAutoConfiguration和@EnableAutoConfiguration,它们最终都组合了@Import注解,那么,它们之间有什么区别呢? @ImportAutoConfiguration是否可以替代@Import注解?@ImportAutoConfiguration和@EnableAutoConfiguration是否效果相同? 从根本上来说,@ImportAutoConfiguration是@Import的增强,限制了它使用的特定范围。 使…
最近,遇到了两个和Java类的加载和卸载相关的问题: 1) 是一道关于Java的判断题:一个类被首次加载后,会长期留驻JVM,直到JVM退出。这个说法,是不是正确的? 2) 在开发的一个集成平台中,需要集成类似接口的多种工具,并且工具可能会有新增,同时在不同的环境部署会有裁剪(例如对外提供服务的应用,不能提供特定的采购的工具),如何才能更好地实现? 针对上面的第2点,我们采用Java插件化开发实现。上面的两个问题,都和Java的类加载和热替换机制有关。 1. Java的类加载器和双亲委派模型 1.1 Java类加载…
引入SpringBoot本来就支持REST服务,因此在SpringBoot项目之间经常需要通过REST的形式来相互调用。本文以具体的实例带大家了解一下SpringBoot中怎么使用RestTemplate进行接口调用。同时,会讲解部分相关源码。 RestTemplate的实例化 RestTemplate实例通常需要自己进行定制,SpringBoot相关的自动配置bean。但是,SpringBoot提供了自动配置的RestTemplateBuilder,可以用它来创建RestTemplate实例。 那么,Spring…
最近项目中使用SpringBoot集成Redis,踩到了一个坑:从Redis中获取数据为null,但实际上Redis中是存在对应的数据的。是什么原因导致此坑的呢? 本文就带大家从SpringBoot集成Redis、所踩的坑以及自动配置源码分析来学习一下SpringBoot中如何正确的使用Redis。 SpringBoot集成Redis 在SpringBoot项目中只需在pom文件中引入Redis对应的starter,配置Redis连接信息即可进行使用了。pom依赖引入: <dependency> <…
@Autowired和@Resource都可以用于来实现依赖注入,但前者是Spring提供的,后者为JDK(JSR-250标准)自带的。阿里Java开发规范中推荐使用@Resource。但大多数人往往并没有留意为何如此,甚至代码中的提示信息可能都没留意去看。 本文就带大家彻底了解一下这两个注解的功能、运用场景及区别。 IDE的提示 如果在项目中使用@Autowired进行注入,如下代码: @RestController public class InjectController { @Autowired priva…
IDEA作为我们(后端Java开发者)必不可少的IDE,以其智能的代码提示、多样的框架支持、简洁的开发界面等特性,被业界公认为最好的Java开发工具之一。而一款IDE是否强大,最简单的衡量标准就是查看其插件生态环境的发展情况,多种多样的插件既丰富了IDE自身的功能,同时大大提高了开发人员的工作效率。 一 概念简介 插件类型 IDEA的插件根据功能分为以下4种类型: 自定义语言支持,例如Go语言插件。这种插件包括文件类型识别、格式化、语言保留字支持、编译、运行等语言开发必备功能。属于比较重量级的插件。 开发框架支持…
游标查询(scroll)简介 scroll 查询 可以用来对 Elasticsearch 有效地执行大批量的文档查询,而又不用付出深度分页那种代价。 游标查询会取某个时间点的快照数据。 查询初始化之后索引上的任何变化会被它忽略。 它通过保存旧的数据文件来实现这个特性,结果就像保留初始化时的索引 视图 一样。 启用游标查询可以通过在查询的时候设置参数 scroll 的值为我们期望的游标查询的过期时间。 游标查询的过期时间会在每次做查询的时候刷新,所以这个时间只需要足够处理当前批的结果就可以了,而不是处理查询结果的所有…
一 背景知识 LINUX进程状态 LINUX 2.6以后的内核中,进程一般存在7种基础状态:D-不可中断睡眠、R-可执行、S-可中断睡眠、T-暂停态、t-跟踪态、X-死亡态、Z-僵尸态,这几种状态在PS命令中有对应解释。 D (TASK_UNINTERRUPTIBLE),不可中断睡眠态。顾名思义,位于这种状态的进程处于睡眠中,并且不允许被其他进程或中断(异步信号)打断。因此这种状态的进程,是无法使用kill -9杀死的(kill也是一种信号),除非重启系统(没错,就是这么头硬)。不过这种状态一般由I/O等待(比如磁…
人言落日是天涯,望极天涯不见家。已恨碧山相阻隔,碧山还被暮云遮。
COPYRIGHT © 2025 lifengdi.com. ALL RIGHTS RESERVED.
Theme Kratos Made By Seaton Jiang