08 2021 档案
摘要:一、什么是Http HTTP(超文本传输协议),简单的请求-响应协议,通常运行与TCP之上 文本:html,字符串 超文本:图片,音乐,视频,定位,底图 二、两个时代 http/1.0:客户端与web服务器连接后只能获得一个web资源,断开连接 http/1.1:客户端与web服务器连接后,可以获得
阅读全文
摘要:一、启动、关闭 二、访问测试:http://localhost:8080 三、可能遇到的问题: 1、Java环境变量没有配置 2、闪退问题:需要配置兼容性 3、乱码问题:配置文件中设置 四、修改配置conf/server.xml 1、修改端口,port tomcat默认端口:8080 mysql:3
阅读全文
摘要:什么是ABA问题? 解决方案:引入原子引用,AtomicStampedReference import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicStampedReference;public cla
阅读全文
摘要:什么是指令重排:计算机并不是按照你写的代码的顺序去执行。 源代码->编译器优化的重排->指令并行也可能重排->内存系统也会重排->执行 处理器在进行指令重排的时候,考虑:数据之间的依赖性 int x = 1; //1 int y = 2; //2 x = x + 3; //3 y = x * x;
阅读全文
摘要:import java.util.concurrent.atomic.AtomicInteger;public class CasDemo { //CAS: CompareAndSet 比较并交换 public static void main(String[] args) { AtomicInte
阅读全文
摘要:8种不同的锁情况,分别由8个例子讲解 锁一 import java.util.concurrent.TimeUnit;/*lock1:两个同步方法(发短信、打电话),创建一个对象,两个线程,第一个线程调用该对象的发短信方法,第二个线程调用该对象的打电话方法结果:发短信->打电话解答:同步方法锁的是方
阅读全文
摘要:JMM 什么是JMM(Java Memory Model),java内存模型 关于JMM的一些同步的约定: 1、线程解锁前,必须把共享变量立刻刷回主存 2、线程加锁前,必须读取主存中的最新值到工作内存中 3、加锁和解锁是同一把锁 Volatile是java虚拟机提供的轻量级的同步机制 1、保证可见性
阅读全文
摘要:import java.util.concurrent.CompletableFuture;import java.util.concurrent.ExecutionException;//异步调用public class Demo01 { public static void main(Strin
阅读全文
摘要:ForkJoin(工作窃取) 在大数据量的时候使用,提高效率。 大数据:Map Reduce(把大任务拆分成小任务) 例子://定义一个forkjoin操作类,继承于RecursiveTask(递归任务) import java.util.concurrent.RecursiveTask;//求和计
阅读全文
摘要:一、函数型接口import java.util.function.Function;public class Demo01 { public static void main(String[] args) { Function function = new Function<String, Stri
阅读全文
摘要:一、CPU密集型 几核cpu就用几,可以保证cpu效率最高 查看电脑cpu几核的方法: 1、任务管理器(ctrl+shift+esc)-》性能-》CPU-》内核 2、控制面板-》系统和安全-》系统-》设备管理器-》处理器,数下有多少条记录 二、IO密集型 判断电脑中比较耗io资源的程序有多少个,大于
阅读全文
摘要:线程池 三大方法 1、newSingleThreadExecutor:单个线程 2、newFixedThreadPool:固定大小的线程池 3、newCachedThreadPool:可伸缩线程池 七大参数 public ThreadPoolExecutor(int corePoolSize, in
阅读全文
摘要:import java.util.concurrent.BlockingQueue;import java.util.concurrent.SynchronousQueue;import java.util.concurrent.TimeUnit;/*同步队列,没有容量,每次只能放入一个元素,没有取
阅读全文
摘要:import java.sql.Time;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.TimeUnit;//阻塞队列//写入:如果队列满了,必须阻塞等待//读取:如果队列空了,必须阻塞等待生产p
阅读全文
摘要:import java.util.HashMap;import java.util.Map;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock
阅读全文

浙公网安备 33010602011771号