- 博客(28)
- 资源 (5)
- 收藏
- 关注
原创 《Java Concurrency in Practice》 学习 第四章
为了防止多个线程在并发访问同一个对象时产生相互干扰,这些对象应该要么是线程安全的对象,要么是事实不可变的对象,或者用同一个锁保护的对象。在多线程环境中,可能会发生一种情况,即一个线程正在设置lower或upper的值,而另一个线程在同时读取这些值。要确保类的安全,就需要确保它的不变性条件不会在并发的情况下被破坏,这就需要对其状态进行推断。如果一个状态变量是线程安全的,并且没有任何不变性条件来约束它的值,在变量的操作上也不存在任何不允许的状态转换,那么就可以安全地发布这个变量。封装了车辆的标识和位置。
2024-06-14 23:32:40 1464
原创 《Java Concurrency in Practice》 学习 第三章
可见性,又叫内存可见性(Memory Visibility)。在单线程下,向某个变量写入值,然后在没有其他写入的情况下,我们总能可以得到相同的值。但是当写和读在不同的线程下进行时,情况却并非如此。ReaderThread 这个线程可能会一直运行下去,也可能会打印 0 之后退出。这显然不是我们想要的,但产生这个现象的原因是什么呢?这是因为。
2024-06-10 17:12:20 761
原创 《Java Concurrency in Practice》 学习 第二章
当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类就能表现出正确的行为,那么就称这个类是线程安全的。一个类如果本身 并不存在状态之类的,也就是说在重复执行多次的情况下 与第一执行的结果保持一致 那么这个类本身就是安全的。
2024-06-10 17:12:01 762
原创 《Java Concurrency in Practice》 学习 第一章
cpu越来越多,不能让浪费,需要提高资源利用率。对于不同用户,需要对计算机上的资源有平等的使用权,即公平性。有些事情分解起来做,更加简单,这是便利性。
2024-06-06 22:40:12 140 1
原创 JDK-动态数组底层是如何实现的
ArrayList 是一个数组队列,相当于动态(扩容)数组。动态数组也是线程不安全的, 特点是数组不需要我们指定长度,他自己会自动扩充,查询速度快,删除和添加慢。
2023-09-07 16:39:22 61
转载 使用Element的el-upload上传文件,后端获取不到MultipartFile对象
使用Element的el-upload上传文件,后端获取不到MultipartFile对象。
2022-09-30 18:35:26 672
原创 Linux 安装docker
安装docker参考文档:https://help.aliyun.com/document_detail/60742.html?spm=a2c4g.11174283.6.548.24c14541ssYFIZ第一步:安装必要的一些系统工具第二步:添加软件源信息第三步:更新并安装Docker-CE第四步:开启Docker服务第五步、测试是否安装成功...
2022-07-20 16:23:14 105
原创 Linux Maven 安装
通过命令source/etc/profile让profile文件立即生效。第一步上传或下载安装包。第五步、测试是否安装成功。第四步修改环境变量。
2022-07-20 16:19:25 197
原创 Linux jdk安装
通过命令source/etc/profile让profile文件立即生效。第一步上传或下载安装包。第五步、测试是否安装成功。第四步修改环境变量。
2022-07-20 16:17:44 80
原创 hystrix启动过程
privder:导入依赖在yml中写:创建一个监控的工程:在工程中引入依赖在yml:在主启动类上面在游览器中进行访问hystrix首页:监控我们的项目工程:前面一半是:监控的项目地址,后面一部分是固定写法http://localhost:1000/actuator/hystrix.stream...
2021-12-22 14:05:20 108
原创 @RequestParam和@PathVariable参数注入的时候区别
//游览器访问路径:http://localhost:8080/t1?id=1@RequestMapping("/t1")public String t1(@RequestParam(“id”) int id){ //@RequestParam是必须要在游览器中访问的时候,在路径上加上 idreturn “success: :”+id;}//游览器访问格式::http://localhost:8080/t2/1@GetMapping("/t2/{id}")public String tt(@P
2021-12-02 11:39:30 312
原创 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘tes
废话不多说,今天在用springboot做一个东西的时候用到了mybatis炸了炸了,我们以前用spring-boot加载mybatis都没什么问题,可今天就出现了问题,下面是我报错的问题:下面是两段程序的报错,我中途修改代码以为成功了,没想到一运行就又报错=org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'testController': Unsatisf
2021-11-15 21:57:52 4411 2
原创 spring纯注解开发
@Configuration这个注解的意思,就是告诉spring这是一个配置类,当我们使用注解类作为配置文件之后我们在测试的时候加载配置文件:AnnotationConfigApplicationContextComponentScan(value=" ",includeFilters={},excludeFilters={},useDefaultFilters)扫描组件的配置参数解析:value=“ ”这里面我们写的是扫描的路径,includeFilters={}这里面写的是@Compone
2021-10-22 16:15:06 482
原创 mybatis入门到放弃(上)
Mybatis框架mybatis目前来说应该是国内很火的框架了,在早一点的时间里大家还学习Hibernate框架,我们来说一下这两个框架的区别。Hibernate框架:是重量级框架,是全自动的ORM框架,在使用过程中入门简单上手操作做轻松,因为这个框架是不需要写一些底层的东西如sql语句,但是正因为如此,大家也可以想像万丈高楼基础不稳最后还是会倒塌的,Hibernate框架到后期我们需要去优化的时候就会很痛苦,。。直接痛苦面具。Hibernate框架就如同我们的oracle数据库都是重量级,都在慢慢的被
2021-09-14 19:27:10 151
原创 免费下载jar
https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl/1.2.5
2021-09-14 11:44:08 58
原创 scrapy框架写的第一个程序
一。学习scrapy框架scrapy框架的学习,我们用一个实列来初步学习scrapy框架,框架的作用等等、。。。。。。。。。大家如果不知道可以百度学习建议:学习不等于ctrl+c本篇文章不会提供源代码,大家可以按照我的思路去学习其次就是不要轻易放弃创建一个项目,开始爬取“好听轻音乐”里面的歌曲名字与作者保存在本地我们现在本地创建一个文件夹名字自己随便写,我们在这个文件夹里面打开命令窗口之后我们输入scrapy startproject mysider #medis是我们自己输入创建的scr
2021-09-10 11:27:55 133
原创 springAOP 学习
AOP(面向切面编程)特点:不通过修改源代码的方式添加新功能(这个详细可以去百度)1.AOP(底层原理)AOP底层使用动态代理:一般有两种:一种是有接口(使用JDK动态代理),另一种是没有接口(使用CGLIB动态代理)有接口的我们是通过:创建接口实现类代理对象,增强方法没有接口的我们是通过:创建代理类子类的代理对象,增强方法JDK动态代理1.使用JDK动态代理,使用proxy类里面方法创建代理类对象(newProxyInstance),这个方法返回指定接口的代理类的实列 ,该方法将方法
2021-09-09 19:01:29 179
原创 Spring5 IOP轻松学习
下 载spring我们可以在网上写载,通过以下链接下载点击下载spring在这里面我们选择5.2.9版本的spring,下载之后解压解压之后就是上图。接下来我们就创建一个入门案列,打开我们的编译工具IDEA,创建一个普通的JAVA工程创建之后我们需要引入几个包,我们在IDEA中创建一个lib用来存放这些包这些包在我们下载的spring中的libs中我们打开这个包找到这些jar包我们还需要一个日志文件:这里面没有需要我们去下载下载之后解压我们只需要把这5个jar拷贝到我们的ID
2021-09-07 17:58:15 331
原创 spring MVC从零开始
创建第一个hellow程序用到的编译器是一个Intellij创建一个maven的 然后按照提示操作,进入之后打开pom.xml这里是对我们创建pom.xml进行配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2021-08-30 16:27:55 378
原创 在springMVC中出现了乱码
在springmvc中出现乱码一般是我们在.html界面中写的`如果是get方式传参出现了乱码我们直接打开tomcat的config文件夹在这个文件夹中找到server.xml打开修改如果这里是`post传参乱码的话我们打开我们在web.xml中配置一个编码过滤器 <!--配置编码过滤器--> <filter> <filter-name>CharacterEncodingFilter</filter-name&
2021-08-19 22:25:27 48
原创 如何用oracle 数据库 19c 解锁scott用户
**在oracl数据库里面 的示例用户scott 在oracl数据库11之后就找不到了??注意我们在操作的时候登录sql plus 我们用的都是超级管理员登录 sys as sysdba;**原因是因为 oracle 数据库 11 之后的数据库把 用户分为了两个数据库一个是CDB(公共用户) 和PDB(本地用户也可以叫可插拔数据库)我们用system 登录的时候默认登陆的是CDB$ROOT可以用代码查看自己登录的是什么用户查看自己登录用的是什么用户; show con_name
2021-04-29 13:02:01 4072 13
原创 软考中级 软件设计师
在进行软件开发时,采用无主程序员的开发小组,成员之间相互平等;而主程序员负责制的开发小组,由一个主程序员和若干成员组成,成员之间没有沟通。在一个由8名开发人员构成的小组中,无主程序员组和主程序员组的沟通路径分别是()。A.32和8B.32和7C.28和8D.28和7解析:...
2021-04-26 16:14:18 98
Python爬虫 - 副本.zip
2021-08-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人