08 2021 档案

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