- 博客(14)
- 收藏
- 关注
原创 # 四个线程,俩个线程对变量++,俩个线程对变量--
搜了一圈优快云都没有一个好的回答,只能自己造轮子了。使用原子类保证多线程环境下内存可见性,原子性,禁止指令重排序使用自旋锁方式防止提前notify();package com.juc;import java.util.concurrent.atomic.AtomicInteger;/** * Author: Xhy * CreateTime: 2021-05-20 20:51 * * @Description: 四个线程,俩个线程++,俩个线程--; */public class
2021-05-24 21:07:21
147
原创 JVM运行时数据区
运行时数据区运行时数据区包含PC寄存器,栈,堆内存,方法区,本地方法栈。PC寄存器(程序计数器)介绍:1.PC寄存器是一块很小的内存空间,是运行速度最快的存储区域,因为只存储了指向下一条指令的地址2.在JVM规范中,每个线程有它自己的PC寄存器,是线程私有的,生命周期与线程的生命周期保持一致3.任何时间一个线程都之后又一个方法在执行,也就是当前方法,程序计数器会存储当前线程正在执行的Java方法的JVM指令地址,如果是在执行native方法,则是未指定值(undefined)4.程序控制流的指
2021-05-13 21:03:15
188
原创 JVM类加载机制
类加载机制概述:类的加载分为加载,链接,初始化。加载所谓加载,就是将java类的字节码文件加载到机器内存中,并在内存中构建出java类的原形——类模板对象。类模板对象其实是java类在JVM内存中的一个快照,JVM将从字节码文件中解析出的常量池,类字段,类方法等信息存储到类模板中,这样JVM在运行期便能通过类模板而获取java类中的任意信息。加载完成的操作加载阶段:查找并加载类的二进制数据,生成Class的实例在加载类时,JVM必须完成以下3件事情:通过类的全名,获取类的二进制数据流
2021-05-13 21:01:24
161
原创 JSR303校验,项目实战使用
概述: 项目当中,需要对数据进行数据校验,否则就会传入不符合要求的数据。在客户端做出了校验后服务端也要做出校验,因为用户可以绕过客户端给服务端发送请求。在实体类中加上JSR303注解,详细JSR303注解可以自行百度搜索,这里只演示校验注解的用法。message: 说明不符合参数要求显示的信息groups: 分组校验,用来进行不同场景下的不同校验因为在项目中,新增不能有id,修改必须有id,此时可以用分组校验来实现此功能 @NotNull(message = "id不能为空",groups
2021-05-01 10:48:10
171
原创 gayway网关出现503问题,关于谷粒学院问题解决
在谷粒学院的46P当中出现503问题。出现问题原因: 用网关做请求转发和路径重写的时候出现503问题,浏览器报问题说是找不到renren-fast实例,但是nacos当中明明有renren-fast这个实例。解决方案: renren-fast的配置文件有多个,我把在yml配置文件中对nacos的配置和服务名的配置改到dev配置文件当中就找的到了...
2021-04-26 09:01:39
1475
原创 评论功能实现,包含回复评论。有思路有代码。
这里拿博客举例子评论功能问题的描述:可以评论博客,评论与评论之间可以进行回复,是一个嵌套过程。例如:A回复了博客,B回复了A,C回复了B,以此类推。D回复了博客,C回复了D,A回复了C,以此类推。需要一个List装所有评论,而不是单个对象来装!因为博客的评论是多条,每一条都可能包含子评论。实现思路:因为是一个套娃的过程,所以需要使用到递归。1.找出该博客下的所有评论2.创建用来装一级评论的list3.遍历所有评论并找出一级评论装入List()。(parentCommentI
2021-04-15 14:11:44
3760
4
原创 阿里云OSS对象存储上传文件java代码
OSS对象存储OSS对象存储是专门用来存储图片视频文件等。这里用阿里云实例依赖 <!-- 阿里云oss依赖 --> <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> </dependency> &
2021-03-11 17:25:49
640
原创 Java final关键字
final关键字final修饰的类无法继承final修饰的方法无法覆盖final修饰的变量只能赋值一次final修饰的引用一旦指向某个对象,则不能载重新指向其它对象,但该引用指向的对象内部的数据是可以修改的final修饰的实例变量必须手动初始化,不能采用系统默认值final修饰的实例变量一般和static联合使用称为常量...
2020-12-07 17:48:41
83
原创 SpringMvc执行流程,图文并茂!
1.用户发送请求,前端控制器(DispatcherServlet)接收到请求。2.执行DispatcherServlet中的doDispatcher方法。3.根据HandlerMapper(处理器映射器)中保存的请求映射信息找到处理当前请求的处理器执行链(包含拦截器)。4.根据当前的HandlerMapper找对对应的HandlerAdapter(处理器适配器)来执行目标方法。5.执行拦截器的proHandler。6.执行目标方法,返回ModelAndview。7.执行拦截器的postHand.
2020-10-31 15:53:55
140
原创 SpringMvc的文件上传,以及文件上传后的展示,简单明了!
搜了好久的csdn都没看到一个好的文件上传以及文件上传后的展示,只好自己写一个供大家使用了。少说话,多做事,直接上代码!前端代码<!--需要在form表单中加上enctype="multipart/form-data"来代表有文件进行上传--><form action="login" method="post" enctype="multipart/form-data"> 头像<input type="file" name="file"/> 账号
2020-10-30 19:45:14
426
原创 关于spring中@NotNull等注解无法添加
例如导入的@NotNull的包是这样的import com.sun.istack.internal.NotNull;正确导包:import javax.validation.constraints.Email;原因:<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</arti
2020-09-12 16:47:33
2788
1
原创 Java类加载执行过程。
直接上例子package com;class Xhy{ public Xhy(){ System.out.println("Xhy的构造方法执行了"); }}public class Pet extends Xhy{ private static int i = 9; protected int j ; public Pet(){ System.out.println("Pet的构造方法执行了"); Sy
2020-09-12 16:08:08
366
原创 springboot连接redis出现org.springframework.data.redis。RedisConnectionFailureException异常
org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to 192.168.36.129:6379如果你的springboot连接redis异常跟我一样,也是无法连接,请往下接着看。一、 查看application资源
2020-08-20 13:37:54
72514
16
原创 ServletException: Servlet[myweb]的Servlet.init错误的解决方案,不关于版本问题的。
这个问题我翻遍了优快云我都没有找到我所对应的解决方案。大多都是版本问题。我找到了我这个对应的解决方案,如果大家有不是版本问题的可以试试我这个解决方案。把web.xml下的配置文件中多加一个路径去找spring配置文件,然后把springmvc配置文件中的<context:component-scan base-package=“com.xhy.controller”/>挪到spring配置文件就好了。本文有些地方描述的不是很清楚以及说的不是很专业不要建议…我是一个小白,只是为了纪念我解决
2020-06-27 22:23:38
742
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人