Java
文章平均质量分 68
java相关
broadenBlueSea
这个作者很懒,什么都没留下…
展开
-
spring系列注解说明
注解使用说明-待完善原创 2023-01-10 18:20:16 · 97 阅读 · 0 评论 -
如何将JSON字符串数组转对象集合
3.3、如果JSON字符串是一个JSON数组,并且数组里面存放的同一种类型的对象,可以将这个JSON数组转换成Java的List对象;3.2、先将JSON字符串转换成JSON对象,再转换成Java对象。3.1、直接将JSON字符串转换成Java对象。3、JSON格式字符串转换成Java对象。2、Java对象转成JSON格式。1、、、引入jar 包。原创 2023-01-10 18:36:36 · 17940 阅读 · 0 评论 -
SpringBoot读取配置文件的五种方法总结
2.使用 @ConfigurationProperties 读取配置文件。4.使用 @PropertySource 读取配置文件。3.使用 Environment 读取配置文件。5.使用原生方式读取配置文件。原创 2023-01-10 18:34:56 · 2111 阅读 · 0 评论 -
导致 MySQL 索引失效
其中:A 等于字段 sn,B 等于字段 name,C 等于字段 age。而 B+C 却不能使用到联合索引,这就是最左匹配原则。模糊匹配前后任意字符:like ‘%张%’模糊匹配后面任意字符:like ‘张%’模糊匹配前面任意字符:like ‘%张’原创 2023-01-09 10:09:56 · 481 阅读 · 1 评论 -
springboot整合shiro添加缓存
至此,springboot整合shiro和整合缓存管理器ehcache与redis完成。增加 配置文件中realms 自定义文件缓存开启代码新增编写。2、新创建RedisCacheManager.java文件。增加pom文件中shiro和ehcache之间的依赖关系。3、新增configure文件realms文件内容。用来减轻数据库的访问压力。从而提高系统的访问速度。1、增加redis 万Pom.、xml jar。2.1、创建RedisCache 部分文件。使用cacheManager。原创 2023-01-09 10:08:37 · 240 阅读 · 0 评论 -
springboot整合shiro框架
1、这里的需要添加一个配置过滤器,shiroFilter可拦截springboot中所有的访问请求,访问设置需要在ShiroFilter中进行配置,参数为SecurityManager的类型。2、这里的securityManager是安全管理器,也需要在配置中进行设置,参数为realms自定义类。3、这里的realms自定义类为授权和认证的实现操作。原创 2023-01-09 10:08:54 · 337 阅读 · 0 评论 -
Apache Shiro教程(4)
权限字符串的规则: 资源标识符: 操作:资源实例标识符,意思是对哪些资源的那个实例有哪些具体的操作,“:” 是资源/操作/实例的分割符,权限字符串也可以使用* 通配副。授权,即访问控制,控制谁能访问哪些资源,主体进行身份认证后需要分配权限方可访问系统的资源,对于某些资源没有权限是无法访问的。基于资源的访问控制 : RABC基于资源的访问控制是以资源为中心进行访问控制。2、用户修改实例001的权限:user:update:001。3、用户实例001的所有权限:user:*:001。原创 2023-01-09 10:07:44 · 314 阅读 · 0 评论 -
Apache Shiro教程(3)
/ 授权 @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {原创 2023-01-09 10:07:28 · 297 阅读 · 0 评论 -
Apache Shiro教程(2)
Shiro是apache旗下的一个开源框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证,权限授权、加密、会话管理等功能,组成了一个通用的安全认证框架。原创 2023-01-09 10:08:02 · 401 阅读 · 0 评论 -
Apache Shiro教程(1)
*** 配置一个 SecurityManager安全管理器* @return} /*** 配置过滤器* 例如 什么可以进行访问,什么不可以进行访问等等* @return//配置用户登陆请求,如果需要进行登陆时, // shiro就会进入这个请求进入登陆页面 shiroFilterFactoryBean . setSecurityManager(securityManager);原创 2023-01-09 10:06:47 · 546 阅读 · 0 评论 -
gc四种算法
gc四种算法原创 2023-01-09 10:06:16 · 1229 阅读 · 0 评论 -
Java中ThreadLocal说明
弱引用也是和一个引用队列联合使用,如果弱引用的对象被垃圾回收期回收掉,JVM会将这个引用加入到与之关联的引用队列中。考虑这个ThreadLocal变量没有其他强依赖,如果当前线程还存在,由于线程的ThreadLocalMap里面的key是弱引用,所以当前线程的ThreadLocalMap里面的ThreadLocal变量的弱引用在gc的时候就被回收,但是对应的value还是存在的这就可能造成内存泄漏(因为这个时候ThreadLocalMap会存在key为null但是value不为null的entry项)。原创 2023-01-08 19:04:19 · 670 阅读 · 1 评论 -
Jackson_annotations注解使用
2、中文翻译:@JsonIdentityInfo 在对象具有父子关系时使用。@JsonIdentityInfo 用于指示在序列化/反序列化期间将使用对象标识。允许一个 getter 方法返回 Map 然后用于以与其他属性类似的方式序列化 JSON 的其他属性。原创 2023-01-08 19:02:17 · 778 阅读 · 0 评论 -
能量加油站Java下
双亲委派模型:如果一个类加载器收到了类加载的请求,它首先不会自己去加载这个类,而是把这个请求委派给父类加载器去完成,每一层的类加载器都是如此,这样所有的加载请求都会被传送到顶层的启动类加载器中,只有当父加载无法完成加载请求(它的搜索范围中没找到所需的类)时,子加载器才会尝试去加载类。1、具体来说 MySQL 中的索引,不同的数据引擎实现有所不同,但目前主流的数据库引擎的索引都是 B+ 树实现的,B+ 树的搜索效率,可以到达二分法的性能,找到数据区域之后就找到了完整的数据结构了,所有索引的性能也是更好的。原创 2023-01-08 19:01:07 · 383 阅读 · 0 评论 -
Java集合容器介绍
也就是说,默认情况下,数组大小(DEFAULT_INITIAL_CAPACITY)为16,那么当HashMap中元素个数超过160.75=12(这个值就是代码中的threshold值,也叫做临界值)的时候,就把数组的大小扩展为 2*16=32,即扩大一倍,然后重新计算每个元素在数组中的位置,而这是一个非常消耗性能的操作,所以如果我们已经预知HashMap中元素的个数,那么预设元素的个数能够有效的提高HashMap的性能。而新添加的元素作为链表的last,或树的叶子结点。而且新添加的元素作为链表的head。原创 2023-01-08 18:58:51 · 424 阅读 · 0 评论 -
能量加油站Java上
比如调用 a. getB(). getName(),这个时候发现 a. getB() 的值为 null,此时会单独触发事先保存好的关联 B 对象的 SQL,先查询出来 B,然后再调用 a. setB(b),而这时候再调用 a. getB(). getName() 就有值了,这就是延迟加载的基本原理。否则,返回 false。在分布式架构中,断路器模式的作用也是类似的,当某个服务单元发生故障(类似用电器发生短路)之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个错误响应,而不是长时间的等待。原创 2023-01-08 18:56:16 · 189 阅读 · 0 评论 -
小提示:full GC 触发的条件
Permanet Generation中存放的为一些class的信息等,当系统中要加载的类、反射的类和调用的方法较多时,Permanet Generation可能会被占满,在未配置为采用CMS GC的情况下会执行Full GC。旧生代空间只有在新生代对象转入及创建为大对象、大数组时才会出现不足的现象,当执行Full GC后空间仍然不足,则抛出错误:java.lang.OutOfMemoryError: Java heap space。4)通过Minor GC后进入老年代的平均大小大于老年代的可用内存。原创 2023-01-08 18:52:35 · 478 阅读 · 0 评论 -
重写equal方法后需要重写hashcode方法
equals 方法和 hashCode 方法是 Object 类中的两个基础方法当我们对比两个对象是否相等时,我们就可以先使用 hashCode 进行比较,如果比较的结果是 true,那么就可以使用 equals 再次确认两个对象是否相等,如果比较的结果是 true,那么这两个对象就是相等的,否则其他情况就认为两个对象不相等。这样就大大的提升了对象比较的效率,这也是为什么 Java 设计使用 hashCode 和 equals 协同的方式,来确认两个对象是否相等的原因。原创 2023-01-08 18:49:54 · 261 阅读 · 0 评论 -
线程池的内部结构与原理解析
使⽤线程池的原因:1、降低资源消耗2、控制并发的数量。并发数量过多,可能会导致资源消耗过多,从⽽造成服务器崩溃3、提高线程的可管理性1、线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优和监控。4、提高响应速度1、当任务到达时,任务可以不需要等到线程创建就能立即执行。原创 2023-01-08 18:25:28 · 1144 阅读 · 0 评论