- 博客(6)
- 收藏
- 关注

原创 volatile的作用,线程可见,禁止指令重排序
volatile第01章 volatile的作用1.线程间可见性说明: 一个线程对共享变量值的修改,能够及时的被其他线程看到。2.共享变量可见性实现的原理线程1对共享变量的修改要想被线程2及时看到,必须经过如下2个步骤:把工作内存1中更新过的共享变量刷新到主内存中将主内存中最新的共享变量的值更新到工作内存2中代码演示import java.util.concurrent.TimeUnit;public class T01_HelloVolatile { /*volat
2020-11-13 22:24:31
265
原创 线程和锁,锁升级
线程线程运行的底层原理程序是什么? 进程是什么? 线程是什么?程序: qq.exe Feiqiu.exe 这种静静的躺在硬盘的软件进程: 当程序加载到内存进行运行的就是进程资源分配的基本单位线程: 是程序执行的基本单位程序如何运行的? cpu读指令存pc(程序计数器,存储指令地址)里,读数据存Register,计算回写,再下一条指令线程如何进行调度的? Linux是线程调度器,(os)操作系统线程切换的概念是什么? Context Switch CPU保存现场执行新线程,恢复现场,
2020-11-15 21:38:05
204
原创 java中的引用
java中的强引用略就是普通的new对象java中的软引用使用SoftReference创建一个软引用对象,当java的内存不足时,垃圾回收器会干掉软引用软引用非常适合缓存使用/** * @version: JavaEE * @description: java中的软引用 * @author: Mr.xzx * @create: 2020-11-03 18:16 * @version:1.0 **/public class SoftReferenceTest { publi
2020-11-15 21:35:46
187
原创 spring中按照莫属性值批量删除Elasticsearch索引中的文档
spring中按照莫属性值批量删除Elasticsearch中的文档介绍:Elasticsearch整合springboot项目后,可以从java代码中创建索引,创建文档也可以删除文档.进行按照某一属性值批量删除文档:演示,根据商品spuId删除对应的库存演示删除这两条文档索引在java中是有映射类的,在创建索引的时候就写好了,例如SkuInfo编写dao层,在dao接口中自定义一个查询方法,方法只要按照es接口的规范书写,会自动生成实现.public interface ESdao
2020-06-13 11:47:57
1910
原创 Interger和int的使用区别
在项目中对类进行封装时我们常常把属性定义为引用类型例如private Integer size;这种定义方式和传统的private int size;区别在于:Integer是对int(基本数据类型)的封装,当不赋初值时系统默认值为nullint在使用时,系统默认值为0问题:在某些义务需求中默认值0,和实际赋值0无法区分例如:缺考得0分,考试成绩都答错了0分总结:根据实际情况定义使用数据类型,Integer作为封装类,在api中定义了许多好用的方法,常用的例如toString()方
2020-05-09 14:11:14
901
原创 idea配置tomcat中文问题,使用的tomcat8
idea配置tomcat中文问题一劳永逸的几个步骤,顺便让以后创建的所有东西都默认为utf-81,打开idea的设置左上角File–>Setting找到图里的File Encoding进行设置2,打开idea的安装目录bin下的两个文件,分别在文件中加入-Dfile.encoding=UTF-83,配置idea打印tomcat控制台出现的乱码tomcat默认就是utf-8不要去...
2020-04-23 17:46:40
880
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人