上一页 1 2 3 4 5 6 ··· 15 下一页
摘要: 一、硬件层数据一致性 L0、L1、L2三层在一个CPU中,其余为共享空间 若x、y在主存中,主存将x、y加载到L3中。每个cpu都会缓存L3中数据,若此时cpu1将x变为1,cpu2将x变为2。则会造成数据不一致情况 解决办法:加总线锁,当cpu1操作x时,cpu2不能操作L3。以此来保证数据一致性 阅读全文
posted @ 2022-03-23 19:40 showMeTheCodes 阅读(48) 评论(0) 推荐(0)
摘要: 一、JVM基础 1、JVM是一种半解释半编译的语言 编译:java文件-->javac编译-->class文件 解释:JVM去解释为二进制文件,交给操作系统去执行 2、JVM、JRE、JDK之间的关系 JRE=JVM+一些java的类库(String.class、Object.class等) JDK 阅读全文
posted @ 2022-03-20 10:19 showMeTheCodes 阅读(51) 评论(0) 推荐(0)
摘要: 一、用户态和内核态 内核态:能访问所有指令 用户态:只能访问用户允许访问的指令,JVM工作在用户态 synchronized重量级锁:JVM要向某个资源加锁,要通过用户态向内核态申请资源 二、对象的内存布局 8字节的markword,记录了锁信息,gc信息,hashcode 4字节的类型指针,通过指 阅读全文
posted @ 2022-03-07 21:58 showMeTheCodes 阅读(138) 评论(0) 推荐(0)
摘要: 并发编程三大特性:可见性、有序性、原子性 一、可见性 java内存模型规定:所有变量都存在主内存中,每个线程有自己的工作内存。线程对变量的修改必须在自己的工作内存中修改,不能在主内存中修改 1、volatile保证可见性 public class MyVolatile { private stati 阅读全文
posted @ 2022-03-07 17:54 showMeTheCodes 阅读(52) 评论(0) 推荐(0)
摘要: 一、请解释一下对象的创建过程 public class T { int m = 8; } T t = new T(); 1、给m申请内存,将m进行半初始化,初始化0 2、调用构造方法,给m赋值8 3、将t对象的引用指向m 二、DCL与volatile问题 1、volatile:保证线程可见性,防止指 阅读全文
posted @ 2022-03-07 11:24 showMeTheCodes 阅读(310) 评论(0) 推荐(0)
摘要: 一、Java的6种线程状态 new:线程创建,还未启动 runnable:可运行状态,由线程调度器安排执行 ready:就绪状态 running:执行 waiting:等待被唤醒,如自旋 timed waiting:隔一段时间后自动唤醒 blocked:被阻塞,只有synchronized才会到该状 阅读全文
posted @ 2022-03-06 16:15 showMeTheCodes 阅读(195) 评论(0) 推荐(0)
摘要: 1、继承Thread,重写run方法,调用start启动 2、实现Runnable接口,重写run方法,调用start启动。 3、lambda表达式 public class MyThread { static class MyExtend extends Thread{ @Override pub 阅读全文
posted @ 2022-03-05 11:02 showMeTheCodes 阅读(281) 评论(0) 推荐(0)
摘要: 1、程序:可执行文件,exe 2、进程:操作系统进行资源分配的基本单位,双击exe文件变成一个进程,操作系统将文件放到内存中,cpu来执行 3、线程:进程内部调度执行的基本单位,多个线程共享进程。cpu找到进程的main方法,这就是一个主线程 4、线程是进程内部不同任务的切换 5、线程切换:t1线程 阅读全文
posted @ 2022-03-04 21:59 showMeTheCodes 阅读(52) 评论(0) 推荐(0)
摘要: 一、工厂方法 1、工厂方法四要素:抽象工厂、具体工厂、抽象产品、具体产品 2、抽象工厂中定义抽象方法,这些方法是每个产品族都要实现的方法,返回类型为抽象对象 产品族:每个工厂要生产几个对象,这些对象为一个产品族 具体工厂为抽象工厂的实现,具体工厂继承抽象工厂的每一个方法,返回对应抽象产品(返回产品对 阅读全文
posted @ 2022-02-27 22:29 showMeTheCodes 阅读(106) 评论(0) 推荐(0)
摘要: 一、发布订阅 场景一:(实时性) 直播间中会话,进入直播间之前的消息你是接收不到的,只能接收到进入直播间之后的消息 订阅者只能接收到连接发布者之后发布者发布的消息 场景二:(历史性) 登陆微信之后可以查看历史聊天记录,数据库中肯定存放全量的数据 但是不能全部查库,n天之前的可以查库(请求量特别低), 阅读全文
posted @ 2022-02-20 19:18 showMeTheCodes 阅读(144) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 15 下一页