10 2020 档案

摘要:一、认证的两种方式的介绍 1. 基于Session的认证方式 在之前的单体架构时代,我们认证成功之后都会将信息存入到Session中,然后响应给客户端的是对应的Session中数据的key,客户端会将这个key存储在cookie中,之后都请求都会携带这个cookie中的信息,结构图如下 但是随着技术 阅读全文
posted @ 2020-10-11 17:30 童话述说我的结局 阅读(253) 评论(0) 推荐(0) 编辑
摘要:一.什么是线程池 在 Java 中,如果每个请求到达就创建一个新线程,创建和销毁线程花费的时间和消耗的系统资源都相当大,甚至可能要比在处理实际的用户请求的时间和资源要多的多。如果在一个 Jvm 里创建太多的线程,可能会使系统由于过度消耗内存或“切换过度”而导致系统资源不足为了解决这个问题,就有了线程 阅读全文
posted @ 2020-10-08 21:32 童话述说我的结局 阅读(233) 评论(0) 推荐(0) 编辑
摘要:一、Hash表 1. 什么是Hash表 hash函数就是根据key计算出应该存储地址的位置,而哈希表是基于哈希函数建立的一种查找表 2. hash函数设计的考虑因素 计算散列地址所需要的时间(即hash函数本身不要太复杂) 关键字的长度 表长 关键字分布是否均匀,是否有规律可循 设计的hash函数在 阅读全文
posted @ 2020-10-06 22:27 童话述说我的结局 阅读(232) 评论(0) 推荐(0) 编辑
摘要:一.阻塞队列 阻塞队列是一个队列,它最大的特点就是阻塞的线程满足条件就会被自动唤醒,不需要我们人为的判断。 当队列为空时,从队列中获取元素的操作就会被阻塞; 当队列为满时,从队列中添加元素的操作就会被阻塞。 二.阻塞队列的好处 之前总结的线程间通信,需要判断对应的值,一个生产者与一个消费者,在判断状 阅读全文
posted @ 2020-10-05 23:12 童话述说我的结局 阅读(500) 评论(0) 推荐(0) 编辑
摘要:在前面篇幅中讲 synchronized 的时候,有讲到 wait/notify 的基本使用,结合 synchronized 可以实现对线程的通信,既然 J.U.C 里面提供了锁的实现机制,那 J.U.C 里面应该也有提供类似的线程通信的工具;这个工具类就是 Condition 工具类。Condit 阅读全文
posted @ 2020-10-05 21:52 童话述说我的结局 阅读(281) 评论(0) 推荐(0) 编辑
摘要:昨天有说过后面讲ReentrantLock,今天我们这篇幅就全局的讲解下,我们在Lock出来前,解决并发问题没得选只能用Synchronized。 一.ReentrantLock PK synchronized (1)synchronized是独占锁,加锁和解锁的过程自动进行,易于操作,但不够灵活。 阅读全文
posted @ 2020-10-05 16:18 童话述说我的结局 阅读(551) 评论(0) 推荐(0) 编辑
摘要:前面篇幅讲了很多理论及原理性东西,今天想了想,来点现实场景的东西把前面的内容串一串 一. 死锁产生的原因 1) 系统资源的竞争 通常系统中拥有的不可剥夺资源,其数量不足以满足多个进程运行的需要,使得进程在 运行过程中,会因争夺资源而陷入僵局,如磁带机、打印机等。只有对不可剥夺资源的竞争 才可能产生死 阅读全文
posted @ 2020-10-04 22:41 童话述说我的结局 阅读(274) 评论(0) 推荐(0) 编辑
摘要:上次文章中有讲到多线程带来的原子性问题,并且就原子性问题讲解了synchronized锁的本质以及用法,今天我们就着前面的内容跟着讲解,同样,我们在讲解前一样通过一个DEMO来引出今天的主题 可见性问题 public class Volatlle { public static boolean st 阅读全文
posted @ 2020-10-02 22:30 童话述说我的结局 阅读(280) 评论(0) 推荐(0) 编辑
摘要:在上一篇幅中有说到覆写Runnable()接口实现多线程,在里面有写一段代码,如果有运行那段代码的朋友可能会发现在多线程调用一个方法时,里面的当前剩余票数会存在重复的问题;关于这个问题的发生以及怎么解决就是这篇幅要解决的问题。 在讲这问题前我再重新写一个例子来进行说明:运行下面这段代码,理论上来说输 阅读全文
posted @ 2020-10-02 16:20 童话述说我的结局 阅读(398) 评论(0) 推荐(0) 编辑
摘要:一. 线程概念 我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(Thread)。 线程(Thread)是一份独立运行的程序,有自己专用的运行栈。线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。 当多个线程同时读写同一份共享资源的时候,可能会引起冲突 阅读全文
posted @ 2020-10-01 21:15 童话述说我的结局 阅读(188) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示