java
文章平均质量分 72
行云777
从事java后端开发
展开
-
JVM虚拟机理解
程序计数器:用于在程度堵塞时记录程序停留的位置,以便再次运行时从记录位置开始,每个线程都有自己独立的程序计数器,但是native方法除外,native方法是用来访问其他语言写的dll文件接口,由其他系统进行管理。原创 2022-10-19 17:12:16 · 337 阅读 · 0 评论 -
spring security鉴权
1.SpringSecurity 鉴权 - [重点]RBAC 基于角色访问控制 Role-Based Access Control组成部分:RBAC模型里面,有3个基础组成部分,分别是:用户user、角色role 和 权限permssionUser(用户):每个用户都有唯一的UID识别,并被授予不同的角色Role(角色):不同角色具有不同的权限Permission...原创 2022-07-07 01:06:35 · 3398 阅读 · 0 评论 -
有关保证缓存一致性的问题
可以使用facebook的最常用的方法1.读取数据顺序读Redis→读MySQL→写Redis(如加一个5分钟的过期时间)2.写入数据顺序更新MySQL→删除Redis这种在没有并发的情况下,可以保证缓存的一致性;原创 2022-10-13 12:42:07 · 501 阅读 · 0 评论 -
集合数据结构记录
每个节点由此节点数据和前一个节点地址和后一个节点数据组成,有头循环双链表结构如图所示,链表创建时会新增一个head节点,节点数据自定义,head节点的前一个(pre)数据地址指向最后一个节点地址,最后一个节点的下一个(next)的数据地址指向head为什么要这么做?如果不加上一个head的节点,那么需要在删节点和新增节点的时候判断此节点是不是为第一个节点,增加少许数据提交了性能。原创 2022-10-08 20:33:33 · 427 阅读 · 0 评论 -
java8工具类Stream得用法
方法生成的 Stream 对象中的数据的数量是无限的(即,你向 Stream 对象每次『要』一个对象时它都会每次生成一个返回给你,从而达到『无限个』的效果),所以,会结合。方法生成的 Stream 对象中的数据的数量是无限的(即,你向 Stream 对象每次『要』一个对象时它都会每次生成一个返回给你,从而达到『无限个』的效果),所以,会结合。方法会返回一个传统风格的迭代器,结合 Java SE 阶段的『集合框架』部分的知识点,通过 Iterator 对象你就可以遍历访问到 Stream 中的每一个元素。原创 2022-08-16 01:22:46 · 1833 阅读 · 0 评论 -
模板模式(设计模式)
1、在造房子的时候,地基、走线、水管都一样,只有在建筑的后期才有加壁橱加栅栏等差异。3、spring 中对 Hibernate 的支持,将一些已经定好的方法封装起来,比如开启事务、获取 Session、关闭 Session 等,程序员不重复写那些已经规范好的代码,直接丢一个实体就可以保存。在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。2、重要的、复杂的方法,可以考虑作为模板方法。每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大。原创 2022-08-17 08:49:58 · 51 阅读 · 0 评论 -
观察者模式
观察者模式中有观察目标和观察者,其中观察目标为一,观察者为多,为依赖关系,观察目标对象中定义一个map,键用来存放的观察者对象类,值为观察者实现类对象的list,一般会在观察目标对象中定义一个通知方法用来遍历map进而逐个通知观察者实现类对象中的方法。比如,当一个对象被修改时,则会自动通知依赖它的对象。一个对象的改变将导致其他一个或多个对象也发生改变,而不知道具体有多少对象将发生改变,可以降低对象之间的耦合度。一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。原创 2022-08-17 19:05:37 · 39 阅读 · 0 评论 -
命令模式(设计模式)
请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。struts 1 中的 action 核心控制器 ActionServlet 只有一个,相当于 Invoker,而模型层的类会随着不同的应用有不同的模型类,相当于具体的 Command。在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适。1、降低了系统耦合度。原创 2022-08-17 22:11:55 · 102 阅读 · 0 评论 -
Spring-data-jpa
这里有个无关的小问题,由于下面的例子中使用到的素材里有个表名为 order,这与数据库关键字冲突,因此为了『告知』Hibernate/JPA 在『帮』我们执行 SQL 语句时要为它加返单引号,因此在 Entity 的。并且,@JoinColumn 的 name 指的就是外键列的列名。Page 接口扩展了 Slice 接口,添加了获取总页数和元素总数量的方法,因此,返回 Page 接口时,必须执行两条 SQL,一条复杂查询分页数据,另一条负责统计数据数量。这里的关键还是也延迟加载有关。原创 2022-08-21 07:36:40 · 564 阅读 · 0 评论 -
Spring JDBC
对于数据库中的字段的名字与 JavaBean 的属性名『不一致』的情况,如果无法将其两者统一,那么在使用 .query 方法和 .queryForObject 方法时,就需要自己『定制』ResultSet 到 JavaBean 的转换规则, 即,实现 RowMapper 接口。Spring 为了提供对 Jdbc 的支持,在 JDBC API 的基础上封装了一套实现,以此建立一个简单的 JDBC 存取框架。在 JavaBean 的属性名与数据库名一致的情况下,Spring Jdbc 提供了自带的一个。原创 2022-08-23 21:00:11 · 136 阅读 · 0 评论 -
RabbitMq的最终一致性分布式事务
rabbitmq的使用原创 2022-09-28 16:12:43 · 654 阅读 · 0 评论 -
布隆过滤器在项目中的使用(spring AOP+自定义注解+spring 定时器)
由于项目中需要将查找的数据进行布隆过滤器进行过滤,使用的原因如下:由于前端会向后台请求数据,数据库中不存在该数据,会先向对应的redis中查询,如果redis中没有该数据则会向数据库去查询,当数据库没有该数据,那么多次请求后会损耗数据库的性能,解决方案:在redis中存储查询的空数据返回给前端后续问题:如果前端随机id进行查询的话,redis可能存储过多的无用数据占用内存这个时候就需要在redis查询之前做一个布隆过滤器进行数据判断①启动时思路。原创 2022-09-28 15:19:37 · 882 阅读 · 0 评论 -
阿里云OSS多文件文件上传删除
*** oss文件上传实例* @return// Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。关于其他Region对应的Endpoint信息,请参见访问域名和数据中心。// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。// 填写Bucket名称,例如examplebucket。//保存文件夹 String path = savePath;原创 2022-09-28 14:47:22 · 125 阅读 · 0 评论 -
no available service found in cluster ‘DEFAULT‘, please make sure registry config correct and keep y
在网上找了各种处理办法,最后发现是yaml和properties配置的区别。程序就会去找默认public的namespace。properties配置。原创 2022-09-07 17:56:40 · 3207 阅读 · 1 评论 -
Java集合原理分析
Java 集合是一个存储相同类型数据的容器,类似数组,集合可以不指定长度,但是数组必须指定长度。集合类主要从和两个根接口派生出来,比如常用的 ArrayList、LinkedList、HashMap、HashSet、ConcurrentHashMap 等等。...原创 2022-08-27 15:08:23 · 504 阅读 · 0 评论 -
java基础语法
java基础语法,常量,变量,字符串原创 2022-08-26 00:04:31 · 85 阅读 · 0 评论 -
java概述
java体系原创 2022-08-25 23:59:13 · 61 阅读 · 0 评论 -
解决 java “错误:编码GBK 的不可映射字符”
在转换时需要添加 utf-8需要对应java编辑的格式。当运行代码时出现如下的问题的解决方案。原创 2022-08-25 23:53:33 · 199 阅读 · 0 评论