Synchronized原理 Synchronized原理1、Synchronized使用123456789//synchronized代码块synchronized (SynchronizedTest.class){ System.out.println("进入同步代码块");}//synchronized代码方法public synchronized void testFu 2021-04-05 #Java #多线程
Java内存模型 Java内存模型 在并发程序中,涉及到操作系统的底层,因此我们很难去判断程序的执行是怎样的。同时涉及到多个线程对共享资源的访问。一致性和安全性将会受到严重挑战。所以,我们需要保证多个线程正确的协同工作。Java内存模型可以帮助我们解决这些问题。 123# Java内存区域(结构)和Java内存模型1. java内存区域和Java内存模型是两个不一样的东西。内存区域是指JVM运行时将数据分区 2021-04-02 #Java #多线程
RabbitMQ RabbitMQ1. RabbitMQ引言官方网站:https://www.rabbitmq.com/ 什么是MQMQ(Message Queue):消息队列。通过典型的生产者和消费者模型,生产者不断的向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接受。没有业务逻辑的侵入,轻松的实现系统间解耦。 别名:消息中间件,通过利用高效可靠的消 2021-03-01 #中间件
垃圾回收机制 垃圾回收机制 垃圾回收,不是Java语言的伴生产物。早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。 关于垃圾回收有三个问题: 什么是垃圾 什么时候回收 如何回收 垃圾回收机制是Java的招牌。极大地提高了开发效率。 如今,垃圾回收几乎成为了现代语言的标配,即使经过如此长时间的发展,Java的垃圾收集机制仍然在不断的演进,不同大小的设备、不同的特征的应用场景,对 2021-02-05 #Java #JVM
类加载器 类加载器1.类加载器概述 类加载就是将磁盘上的class文件加载到内存中。虚拟机设计团队把类加载阶段的"通过一个类的全限定名获取描述此类的二进制字节流"这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为"类加载器"。类加载器是JVM执行类加载机制的前提。 ClassLoader的作用123# 2021-02-05 #Java #JVM
类加载机制 虚拟机类加载机制1.概述虚拟机把描述类的数据从Class文件加载到内存中,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 12345在Java中数据类型分为基本数据类型和引用数据类型。基本数据类型有虚拟机预先定义,引用数据类型需要进行类的加载。在Java语言中,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类加 2021-02-05 #Java #JVM
CAS问题 CAS问题1、共享资源的访问123456789101112131415161718192021222324252627282930313233public interface Account { ///查询钱 Integer getBalance(); //取钱 void withDraw(Integer amount); //设置一个静态方法,设置10 2021-02-01 #Java #多线程
Redis实现Mybatis二级缓存 Mybatis中的二级缓存Myabtis 的二级缓存是如何实现的1234# 在Mybatis中开启二级缓存在Mapper.xml文件中加标签<cache /> 开启二级缓存需要将实体类序列化,否则会出现错误 Cause: java.io.NotSerializableException: com.jiang.travels.entity.User 123# Mybatis的二级 2021-02-01 #中间件 #框架 #缓存
Redis持久化机制 Redis持久化机制1、什么是持久化利用永久性存储介质将数据进行保存,在特定的时间将保存的数据进行恢复 持久化的作用:防止数据的意外丢失,确保数据安全性 持久化的方式: 将当前数据状态进行保存,快照形式,存储数据结果,存储格式简单。 将数据的操作过程进行保存,日志形式,存储操作过程,存储格式复杂。 2、RDBRDB就是以快照的形式对Redis中的数据进行持久化。 RDB的启动方式: 12 2021-02-01 #中间件 #Redis #缓存
SpringBoot、SpringSecurity、Vue、JWT实现前后端分离的登录功能 前后端代码:GitHub地址 Vue-Cli创建前端项目 前端项目目录结构我们需要Login.vue和Home.vue组件,一个用于登录,一个用于登录成功之后的跳转。 我们需要封装一些函数,这些函数用于在前后端交互时请求与响应的拦截。定义api.js 我们还需要删除原有的组件,清除App.vue的内容(不能删除)。 引入Element-ui参考element-ui官网 在main.js文件中 2021-02-01 #框架