05 2022 档案

摘要:volatile关键字有两个作用,一是保证变量对所有线程可见,即一个线程修改了变量,其他线程马上就能得到新的值;二是禁止指令重排,编译器在生成字节码时,会在指令序列中插入内存屏障来禁止特定类型的处理器重排序。 从Java内存模型看volatile 不同架构的物理机拥有不一样的内存模型。Java的宗旨 阅读全文
posted @ 2022-05-30 09:28 学海无涯# 阅读(558) 评论(0) 推荐(0) 编辑
摘要:在执行程序时,为了提高性能,编译器和处理器会对指令重排序。重排序分为三种: 编译器优化的重排序。在不改变程序语义的前提下,可以改变执行顺序。如下: a = 1; b = 2; // 重排序后 > b = 2; a = 1; 指令级并行的重排序。如果不存在数据依赖性,处理器可以改变语句对应的机器指令的 阅读全文
posted @ 2022-05-29 14:48 学海无涯# 阅读(127) 评论(0) 推荐(0) 编辑
摘要:树是非常重要的一种数据结构,下面先讲几种常见的树结构,并分析它们为什么不适用于数据库索引。 AVL树 平衡二叉树的定义如下:首先符合二叉查找树的定义,其次必须满足任何节点的两个子节点的高度差不大于1。平衡二叉树的查找速度确实很快,但是维护一棵平衡二叉树的代价是非常大的,不管我们执行插入还是删除,一旦 阅读全文
posted @ 2022-05-25 10:34 学海无涯# 阅读(100) 评论(0) 推荐(0) 编辑
摘要:前言 学习Spring Boot一定要多看源码,多看官方文档! 静态资源(html/css/js)可以存放的位置 看源码,一步一步去找官方的设置! WebMvcAutoConfiguration是web环境的自动配置类,在这个类里面有一个静态内部类WebMvcAutoConfigurationAda 阅读全文
posted @ 2022-05-24 19:33 学海无涯# 阅读(26) 评论(0) 推荐(0) 编辑
摘要:基本介绍 synchronized关键字解决的是多个线程之间访问资源的同步性,它可以保证被它修饰的方法或者代码块在任意时刻只能由一个线程访问执行。synchronized可以修饰普通方法、静态方法、修饰代码块。 对于普通方法,锁的是当前实例对象 对于静态方法,锁的是当前类的Class对象 对于同步代 阅读全文
posted @ 2022-05-22 13:36 学海无涯# 阅读(42) 评论(0) 推荐(0) 编辑
摘要:什么是Spring Boot Spring是一个为了解决企业应用级开发的复杂性而创建的简化开发的开源框架,随着Spring的不断发展,涉及的领域越来越广,项目整合所需要的配置文件越来越复杂,慢慢的变得不那么简单易用,甚至被称为配置地狱。Spring Boot就是在这样的背景下被抽象处理来的开发框架, 阅读全文
posted @ 2022-05-21 16:38 学海无涯# 阅读(258) 评论(0) 推荐(0) 编辑
摘要:准备工作 1、新建一个Maven web工程,导入相关的依赖 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test 阅读全文
posted @ 2022-05-20 20:49 学海无涯# 阅读(28) 评论(0) 推荐(0) 编辑
摘要:方式一:参数名和前端传递的参数名相同 这种方式可以自动映射: @GetMapping("/t1") public String test1(String name, Model model){ // 接受前端参数 System.out.println("接收到前端的参数:" + name); // 阅读全文
posted @ 2022-05-19 12:45 学海无涯# 阅读(908) 评论(0) 推荐(0) 编辑
摘要:用最原始的方式创建一个Spring MVC案例,重在理解Spring MVC的执行流程。 1、创建一个Maven工程 创建好了以后导入以下依赖: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artif 阅读全文
posted @ 2022-05-18 21:44 学海无涯# 阅读(79) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示