- 博客(16)
- 收藏
- 关注
原创 乐观锁与悲观锁
悲观锁将事情按照最坏的情况来进行处理,认为共享资源每次被访问时都可能会出现问题(如:共享数据被修改),因此在获取资源时都会做一个加锁操作,这样其他的线程想要拿到该资源就会本阻塞到上一个锁持有者使用完释放锁。简单来说就是共享资源只能被一个线程使用,其他线程阻塞等待该线程使用完后进行资源抢夺使用。synchronized和ReentrantLock等独占锁就是悲观锁思想的实现,悲观锁通常使用在写操作上,可以有效避免频繁失败和性能影响。
2023-02-08 20:41:09 943 1
原创 synchronized使用及原理
在java中我们对于synchronized锁是不可避免的,在jdk1.5之前它是一个重量级锁,相对于juc 里的lock显得十分笨重。因此在jdk1.6之后Java官方对synchronized进行优化处理。synchronized 是 Java 中的一个关键字,翻译成中文是同步的意思,主要解决的是多个线程之间访问资源的同步性,可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。在 Java 早期版本中,synchronized 属于 重量级锁,效率低下。
2023-02-08 10:54:28 440
原创 jdk1.7及以前使用的random方法
每个Random实例里面都有一个原子性的种子变量用来记录当前的种子值,当要生成新的随机数时需要根据当前种子计算新的种子并更新回原子变量。在多线程下使用单个Random实例生成随机数时,当多个线程同时计算随机数来计算新的种子时,多个线程会竞争同一个原子变量的更新操作,由于原子变量的更新是CAS操作,同时只有一个线程会成功,所以会造成大量线程进行自旋重试,这会降低并发性能,所以ThreadLocalRandom应运而生。
2023-01-22 13:12:54 286
原创 AttributeError: module ‘tensorflow.python.framework.ops‘ has no attribute ‘_TensorLike‘
项目场景:AttributeError: module ‘tensorflow.python.framework.ops‘ has no attribute ‘_TensorLike‘项目相关背景:tensorflow运行报错项目场景:搭建l深度学习模型,使用到了tensorflow和keras,因为版本更新源码报错。问题描述遇到的问题:AttributeError: module ‘tensorflow.python.framework.ops‘ has no attribute ‘_Tenso
2022-03-19 14:06:01 9565 5
原创 win10安装cuda,cudnn,tensorflow,tensorflow-gpu
快速配置cuda,cudnn,tensorflow-gpu,帮你避开那些坑
2022-03-02 15:51:35 922
原创 Xshell安装Docker并安装mysql5.7
安装Docker1、 Docker 教程地址:[https://www.runoob.com/docker/centos-docker.install.html]2、安装docker命令:yum install docker-io在这里插入图片描述3、启动docker命令:service docker start4、查看docker是否启动成功命令:ps -ef|grep docker使用docker安装mysql1、查询mysql命令:docker search mysql[ro
2021-11-08 00:29:17 1038
原创 Java基础面试题
一、Java 基础1.JDK 和 JRE 有什么区别?jdk是java的开发环境,jre是运行环境,jdk包含了jre,jre里面含有Java虚拟机jvm。jdk里面还有编译java源码的编译器javac。2.== 和 equals 的区别是什么?== 是Java提供的一个比较方法,比较的是内存的地址,而equals()方法是Object中提供的方法,是可以被重写的,你也可以自己重写,所以在使用equals()方法时应该看看此类是如何重写的。3.两个对象的 hashCode()相同,则 equal
2021-11-04 20:18:32 134
原创 浮点数的表示
一、实验目的、要求:实验目的:1.了解 浮点数的表示方法2.了解 IEEE 754 浮点数在机器中的应用3.了解 IEEE 754 浮点数一些特殊值的处理实验要求:1.掌握回答 IEEE 754 浮点数的表示方法2.通过编程得出 float 和 double 类型浮点数的精度(即十进制有效位的位数);3.编程检查“-8.0/0”、“sqrt(-4.0)”的运算结果。二、实验内容、步骤:1.浮点数的表示方法 。2.给出源程序(文本文件)和执行结果。3.根据实验结果,回答下列问题。(
2021-11-02 15:19:17 2347
原创 无符号数和带符号整数的表示
一、实验目的、要求:实验目的:了解数据在机器中的存放方式。实验要求:1.设计一个程序以检查你的机器是大端方式还是小端方式。2.设计一个程序以检查内存变量(如结构或数组)是否按边界对齐。二、实验仪器设备、器件及环境:仪器设备名称 备注DevC++ 编程实现三、实验原理、方法:使用编程软件来实现。C语言中允许无符号整数和带符号整数之间的转换,转换后数的真值是将原二进制机器数按转换后的数据类型重新解释得到的。四、实验内容、步骤:1、写出源代码2、编译执行结果3、分析和解释所得结果五
2021-11-02 15:15:13 1589
原创 hello.c可执行程序的生成
一、实验目的、要求:实验目的:通过了解高级语言源程序和目标机器代码的不同表示及其相互转换,深刻理解高级语言和机器语言之间的关系,以及机器语言和不同体系结构之间的关系。实验要求:编写 hello.c 源程序,要求实现:输出字符串“ hello world ! ” 。并对源程序进行编译、链接,最终生成可执行目标代码。二、实验仪器设备、器件及环境:No.1:Dev-C++No.2:FlexHEXNo.3:notepad++三、实验原理、方法:在Dev-C++上编写一段hello world
2021-11-02 15:10:37 4066 2
原创 redis
redis的基础学习开启redis首先将安装好的包,打开文件夹将server.exe文件打开,此时已将开启了redis服务。接下来将cli.exe打开。将进入客服端进行命令行操作。redis-cil.exe命令操作redis含有16个库,从0到15,使用select 数字切换库,如下所示:127.0.0.1:6379> select 1OK127.0.0.1:6379[1]> select 2OK3.接下来对redis进行一些简单的存取操作,首先来进行存:12
2021-10-18 20:18:57 68
原创 Property or field ‘createTime‘ cannot be found on object of type
当出现报错Property or field ‘createTime’ cannot be found on object of type ‘entity.FriendLink’ - maybe not public or not valid?的时候,有可能是:private Date create_time 或是 createtime;把 create_time 或是 createtime改成createTime。...
2021-10-04 22:40:11 517
原创 Springboot-jpa
@JPA#1. Spring Date JPA 介绍Spring Data 是Spring的一个子项目,旨在统一和简化各类型数据的持久化存储方式,而不拘泥于是关系型数据库还是NoSQL数据库。无论是哪种持久化存储方式,数据访问对象(Data Access Objects,DAO)都会提供对对象的增加、删除、修改和查询的方法,以及排序和分页方法等。 Spring Data 提供了基于这些层面的统一接口(如:CrudRepository、 PagingAndSortingRepository),以实现持久化
2021-10-01 21:25:36 110
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人