自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 springboot缓存管理器(CacheManager)

​ 在我们接触的缓存大致两种,本地缓存与中间件缓存。我们使用缓存大多数是通过api的方式来操作,厉害的人也可以自己自定义注解来简化操作,但是看完这篇博客,以后操作注解就不会辣么麻烦了。​ 当我们操作cahche且使用redis默认配置的时候,我们经常会发现我们存入缓存中的数据通过工具查看会乱码,看不懂,这里是因为我们没有配置Cache,将redis作为缓存的话,默认是使用jdk序列化器,所以会乱码看不懂。​ 当我们使用缓存中间件的时候,我们不能使用比较复杂的数据结构,都是用string键值对来存去。

2022-11-18 17:39:36 2939 1

原创 spring cloud alibaba三大巨头!!

1

2022-11-14 21:39:25 299

原创 Seata1.5.2 最新版不支持java11,报Error: Could not create the Java Virtual Machine.Error: A fatal exception h

nohup: ignoring inputUnrecognized VM option 'CMSParallelRemarkEnabled'

2022-11-14 19:13:09 613

原创 微服务中什么是脏写?怎样引起的,有何危害,如何解决脏写。

但在还原前要首先要校验脏写,对比“数据库当前业务数据”和 “after image”,如果两份数据完全一致就说明没有脏写,可以还原业务数据,如果不一致就说明有脏写,出现脏写就需要转人工处理。脏写就是在这里容易出现,因为read uncommitted(读未提交)的after是未来的数据,但可能会被其他线程发生的事务把现有的数据给更改了,那么就不能保证事务的一致性了,数据进入了脏东西被修改了。据,在业务数据被更新前,将其保存成“before image”,然后执行“业务 SQL”更新业务数据,

2022-11-14 12:29:26 525

原创 annotation 自定义注解@Retention和@Target

当我们使用AOP 的时候,遇到自定义注解的时候。

2022-10-10 15:30:58 174

原创 开发过程中redis为什么要序列化

但缺点也非常致命,那就是此类的构造函数中有一个类型参数,必须提供要序列化对象的类型信息(.class对象)。本质上存储和网络传输 都需要经过 把一个对象状态保存成一种跨平台识别的字节格式,然后其他的平台才可以通过字节信息解析还原对象信息。通过上面我想你已经知道了凡是需要进行“跨平台存储”和”网络传输”的数据,都需要进行序列化。还有序列化后的结果非常庞大,是JSON格式的5倍左右,这样就会消耗redis服务器的大量内存。而我们进行跨平台存储和网络传输的方式就是IO,而我们的IO支持的数据格式就是字节数组。

2022-10-04 18:19:06 1208

原创 为什么 MySQL 不推荐使用 join?

关联查询的好处时候可以做分页,可以用副表的字段做查询条件,在查询的时候,将副表匹配到的字段作为结果集,用主表去 in 它,但是问题来了,如果匹配到的数据量太大就不行了,也会导致返回的分页记录跟实际的不一样,解决的方法可以交给前端,一次性查询,让前端分批显示就可以了,这种解决方案的前提是数据量不太,因为 sql 本身长度有限。子查询就更别用了,效率太差,执行子查询时,MYSQL 需要创建临时表,查询完毕后再删除这些临时表,所以,子查询的速度会受到一定的影响,这里多了一个创建和销毁临时表的过程。

2022-09-28 15:58:26 478

原创 JVM 疑题解答

2.JVM要运行程序就要在jvm中找到执行的指令,没有class对象就没有相应的指令.所有要加载class,把class加载到了JVM就会在JVM的方法区里生成类信息也就是class对象,等你在代码里有new操作时,就会在JVM的堆区里生成一个实例每个new都会有不同的实例.对于JAVA来说,老外喜欢把其说成是面对象的语言,所以什么都以对象来称呼.他们认为万物皆对象.所以,编译生成的文件也是对象,文件里的内容也是对象,内容是对于不同类的信息描述也是不同的对象等等.

2022-09-21 15:34:31 307

原创 abstract和interface的区别

而abstarct类如果有抽象方法,则必须实现该抽象方法,其他的默认实现则继承过来。abstract类,是单继承,用的是关键字 extends;interface接口,可以多实现,用的关键字是implements。而abstract内只有抽象方法不能有默认实现,其他可以有默认实现。接口是对一类事物属性和行为的高度抽象,对修改关闭,对扩展开放,接口是开闭原则的一种体现。抽象类是“不完全”的类,是接口和具体类的一个中间层,既满足接口的抽象,又满足具体的实现。interface内的成员都是public修饰的;

2022-09-20 21:15:05 144

原创 redis

【代码】redis。

2022-09-16 15:58:09 101

原创 过滤器 OncePerRequestFilter 和拦截器 HandlerInterceptor

一般简单的功能又是通用的,每个请求都要去处理的,比如判断token是否失效可以使用spring mvc的HanlderInterceptor,复杂的,比如缓存,需要高度自定义的就用spring aop。由于拦截器是基于web框架的调用,拦截器可以调用IOC容器中的各种依赖,而过滤器不能,因此可以使用Spring的依赖注入(DI)进行一些业务操作,同时一个拦截器实例在一个controller生命周期之内可以多次调用。Filter随web应用的启动而启动,只初始化一次,随web应用的停止而销毁。

2022-09-16 11:19:37 3884

转载 转发和重定向的区别是什么

重定向是浏览器向服务器发送一个请求并收到响应后再次向一个新地址发出请求,转发是服务器收到请求后为了完成响应跳转到一个新的地址;重定向至少请求两次,转发请求一次;重定向两次请求不共享数据,转发一次请求共享数据(在request级别使用信息共享,使用重定向必然出错);重定向可以跳转到任意URL,转发只能跳转本站点资源;重定向地址栏会发生变化,转发地址栏不会发生变化;重定向是客户端行为,转发是服务器端行为;

2022-09-15 17:27:21 78

原创 kafka 消息队列

kafka架构中包含四大组件:生产者、消费者、kafka集群、zookeeper集群。对照上面的结构图,我们先来搞清楚几个很重要的术语志、访问日志、消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。

2022-09-13 09:45:13 2523

原创 session 与 cookie实现的区别

Session其实是利用Cookie进行信息处理的,当用户首先进行了请求后,服务端就在用户浏览器上创建了一个Cookie,当这个Session结束时,其实就是意味着这个Cookie就过期了。两个都可以用来存私密的东西,同样也都有有效期的说法,区别在于session是放在服务器上的,过期与否取决于服务期的设定,cookie是存在客户端的,过去与否可以在cookie生成的时候设置进去。cookie 和session的区别是:cookie数据保存在客户端,session数据保存在服务器端。...

2022-09-01 17:17:01 105

原创 MyBatis sql中< 和 > 转义操作符的用法

Mybatis中的sql语句中的 “” 要用转义字符 “&lt” 和 “&gt”@Param注解用于给参数取别名,当这个方法中只有一个参数时并且这个参数在mapper.xml文件中被使用在标签中时,就必须要使用@Param注解来给这个参数取个别名...

2022-08-30 18:39:49 13333 1

原创 SpringMVC 源码详解

SpringMVC 框架是以请求为驱动,围绕 Servlet 设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。其中核心类是 DispatcherServlet,它是一个 Servlet,顶层是实现的Servlet接口。的作用是一图看懂springMVC。............

2022-08-26 14:35:56 218

原创 Spring Cloud (Eureka + Ribbon + Feign + Hystrix + Zuul) 搭建

相同,为执行复杂任务提供了一种具有默认行为的简化方法。类是为了调用REST服务而设计的,因此它的主要方法与。及其返回值类型即可。的基础紧密相连就不足为奇了,后者时。框架提供的一个可用于应用中调用。),如果有需要的话也可以通过。服务的通信方式,统一了。类的设计原则与许多其他。连接,我们只需要传入。是一种更为优雅的调用。应用程序中访问第三方。默认依赖JDK提供了。.............................................

2022-08-23 23:56:31 839

原创 `全网最细!! 入门必看Git教程链接:https://gitee.com/all-about-git`

全网 Git 入门教程 gitee.com。如果显示The requested URL returned error: 403错误,那就表示没有和window本地建立token令牌

2022-08-18 21:51:40 3114

转载 三、Stream流《函数式编程》

stream 流,是在 java8 中,由 lambda 表达式所带来的一种新的函数是编程模式,可以用来解决一些已有的集合类型的弊端。

2022-08-17 23:06:42 103

原创 hibernate和mybatis的区别

MyBatis需要手动编写SQL语句,以及ResultMap,而Hibernate有良好的映射机制,开发者无需关心SQL的生成与结果映射,可以更专注于流程。

2022-08-17 18:46:28 73

原创 redis在windows下启动# Creating Server TCP listening socket 127.0.0.1:6379: bind: No error 解决办法

redis在windows下启动# Creating Server TCP listening socket 127.0.0.1:6379: bind: No error 解决办法

2022-08-07 20:06:34 770

原创 Springboot项目使用jdk17启动报错:module java.base does not “opens java.lang.invoke“

解决方法启动参数增加–add-opensjava.base/java.lang.invoke=ALL-UNNAMED。

2022-07-30 15:47:28 1161

原创 IDEA - 无效的源版本:java:无效的目标发行版: 17

IDEA - 无效的源版本:java:无效的目标发行版: 17

2022-07-30 12:14:45 5538

原创 Spring boot starter地址

Spring boot starter地址

2022-07-27 10:32:27 147

原创 如何在liunx发布项目(一)

下载到windows上面,拖拽进入liunx里面,目录为/usr/local/btjdk/jdk8,因为不好改动地址,所以我们将下载下来的压缩文件,放入/usr/local/btjdk/jdk8目录下解压即可。显示jdk18.0.1成功!

2022-07-23 08:59:43 154

原创 (已解决)Mybatis:Result Maps collection does not contain value for 报错

这里,主要讲述的就是:即使你@Test的方法并不是使用resultMap,而是使用的resultType来映射,但是其他 < select resultMap=“xxx 错误的返回类型,也会报错!!!”>< /select >

2022-07-08 23:49:54 4548

原创 IDEA如何干净的删除一个maven模块?

在删除了maven项目中的某一个module之后,想要重新创建一个同名的,idea会报错各种错误

2022-06-17 13:04:40 595

原创 你学到了吗

Java中神奇的Unicode换行符(\u000d)

2022-05-26 11:04:55 79

原创 MyBatis入门(简单理解面向接口编程)

MyBatis面向接口编程IOC1、service层调用Daopublic class UserServiceImpl implements UserService{ private UserDao userDao; //调用Dao接口,进行本类私有化 public UserServiceImpl(){ //构造方法,预先初始化Dao层的方法,实例化 userDao = new UserDaoImpl(); //Service层拥有所有Dao层资源 }}2、测试类调用Dao

2022-05-02 14:05:04 167

原创 MyBatis入门(二)

MyBatis基本流程入门

2022-04-30 09:41:35 799

原创 TextView_1.md

activity_main. xml<?xml version="1.0" encoding= "utf-8" ?><Linearlayout xmlns:android= "http://schemas.android.com/apk/res/"> android: layout_ width= ”'match_ parent ” android: layout_ height=" match_ parent" android :orientation=

2022-04-12 18:34:08 2200

原创 如何零成本搭建Linux平台的本地服务器项目环境。

如何零成本搭建Liunx平台的Java服务器项目环境。       本文意义不大,通过购买阿里云或者腾讯云能更好、更轻松的完成服务器搭建。此篇文章梳理了简单的运维搭建步骤,如果你穷买不起服务器,又想深入学习在服务器上发布项目,那此篇文章非常适合您。  1、我们需要下载VMware Workstation链接: https://www.vmware.com/cn/products/workstation-pro/

2022-03-26 17:07:17 4087

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除