JavaWeb
文章平均质量分 81
无心浪人
这个作者很懒,什么都没留下…
展开
-
乐观锁,CAS,ABA问题
文章目录常见的锁策略乐观锁 vs 悲观锁读写锁自旋锁(Spin Lock)可重入锁什么是 CASABA 问题如何处理常见的锁策略乐观锁 vs 悲观锁乐观锁:乐观锁假设认为数据一般情况下不会产生并发冲突,所以在数据进行提交更新的时候,才会正式对数据是否产生并发冲突进行检测,如果发现并发冲突了,则返回用户错误的信息,让用户决定如何去做。悲观锁的问题:总是需要竞争锁,进而导致发生线程切换,挂起其他线程;所以性能不高。悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都原创 2021-06-21 11:25:34 · 856 阅读 · 1 评论 -
ThreadLocal的简单介绍
文章目录ThreadLocal是什么ThreadLocal与Synchronized的区别ThreadLocal 常见使用场景ThreadLocal是什么ThreadLocal叫做线程变量,就是是ThreadLocal通过set方法填充的变量属于当前线程,是线程私有的,对其他线程而言是隔离的,是当前线程独有的变量。ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。同一个 ThreadLocal 所包含的对象,在不同的 Thread 中有不同的副本。这里需要原创 2021-06-19 20:35:13 · 479 阅读 · 0 评论 -
管理线程——线程池
文章目录为什么需要线程池什么是线程池线程池的优点线程池的创建方式4、创建单线程执行定时任务的线程池5、创建单个线程的线程池6、创建一个异步根据当前CPU生产的线程池为什么需要线程池线程的创建它会开辟本地方法栈、虚拟机栈、程序计数器等线程私有的内存,同时销毁的时候需要销毁以上3个区域,因此频繁的创建和消耗比较消耗系统资源;当任务量远远大于线程可以处理的任务量的时候,并不能友好拒绝任务。基于线程的以上两个缺点,为了解决这样的缺点,我们引入了线程池。什么是线程池就是使用池化技术来管理线程和使用线程原创 2021-06-19 12:13:46 · 1517 阅读 · 0 评论 -
阿里云发布项目
安装jdk1 yun list java*2 yun -y install java-1.8.0-openjdk*3 java -versionMySQL的安装1、下载mysql安装套件 wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpmyum -y install mysql57-community-release-el7-10.noarch.rpmyum -y install my原创 2021-06-10 15:12:34 · 575 阅读 · 6 评论 -
Tomcat介绍,解决乱码,解决启动失败、发布项目
文章目录什么是Tomcattomcat的安装启动失败的解决方法发布自己的项目什么是TomcatTomcat是一个免费的开源的Servlet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun(现在已属于Oracle)和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总能在Tomcat中得到体现。简单的说,Tomcat就是一个web(网页)的容器,既可以运行前端的代码(css,HTML,js),又可以运行后端的代码(java编原创 2021-06-09 10:28:39 · 183 阅读 · 1 评论 -
进程管理(pcb)
文章目录进程是如何管理的进程是如何管理的内核中使用一个task_struct / PCB(进程控制块)结构体来描述进程.(C语言)每创建一个进程,就同时创建一个PCB这样的类的实例使用双向链表把所有的PCB对象串到一起双击一个exe,创建一个进程的时候本质上就是在内核中,先创建了一个PCB对象。然后把这个对象加入到这个双向链表中.,关闭一个程序,结束一个进程的时候,本质上就是在内核中,找到这个对应的PCB对象,然后从链表上删掉,并且释放该对象。通过任务管理器查看到的所有的进程信息,本质上就是在遍原创 2021-05-27 15:52:23 · 1088 阅读 · 0 评论 -
个人博客(练习)
JSON转换库,利用jackson进行字符串的拼接原创 2021-05-27 10:14:19 · 204 阅读 · 0 评论 -
线程通讯、wait和sleep 区别?sleep(0) vs wait(0)有什么区别
文章目录什么是线程通讯wait和sleep 区别?(面试题)sleep(0) vs wait(0)有什么区别?为什么wait会释放锁?而sleep不会释放锁?为什么wait是 0bject的方法,而sleep是Thread 的方法?什么是线程通讯线程通讯就是一个线程的操作可影响到另外其他的线程。主要通过wait/ notify来实现。代码示例public class ThreadDemo38 { public static void main(String[] args) throws In原创 2021-05-07 21:22:37 · 5028 阅读 · 3 评论 -
死锁,造成死锁的原因,如何解决
文章目录什么是死锁产生死锁的条件解决死锁的放式预防死锁(死锁发生前)(破坏产生死锁的四个条件)避免死锁(死锁发生前)(避免形成环路)死锁的解除(死锁发生时)什么是死锁在两个或者两个以上的线程运行中,线程之间互相调用彼此所拥有的资源时,造成的线程一直等待的问题。如下图,线程1与线程2彼此调运各自的资源代码示例import java.util.concurrent.TimeUnit;/** * 死锁的示例 */public class ThreadDemo36 { public s原创 2021-05-07 20:45:43 · 340 阅读 · 0 评论 -
解决多线程的风险volatile,synchronized,lock
文章目录volitalelockSynchronized非公平锁与公平锁synchronized 和 Lock 的区别volitalevolitatle关键字可以解决内存不可见和指令重排问题,但不能解决非原子性的问题locklock手动锁,可重入锁。1:lock ()操作一定要放在try外面。如果放在 try 里面可能会造成两个问题:1.如果try里面抛出异常了,还没有加锁成功就执行finally里面的释放锁的操作了。因为还没有得到锁就释放锁。2.如果放在try里面,如果没有锁的情况下试图原创 2021-04-30 19:03:04 · 206 阅读 · 1 评论 -
多线程带来的风险以及导致风险的原因
文章目录什么是线程不安全1、原子性2、可见性3、指令重排(编译器优化)4、cup的抢占式执行(万恶之源)5、多个线程同时操作了一个变量什么是线程不安全线程不安全就是线程执行的结果与我们预期的结果不一致。比如一个计算方法,正确的答案是+XXX,而最终的执行结果却是-XXX,这样就是线程不安全的。造成线程不安全的主要有以下五个原因:1、原子性比如的 n++,其实是由三步操作组成的:1. 从内存把数据读到 CPU2. 进行数据更新3. 把数据写回到 CPU如果一个线程正在对一个变量操作,中途原创 2021-04-30 18:07:31 · 581 阅读 · 3 评论 -
让你对进程有个新的认识
文章目录时间片并发与并行内核态与用户态进程中的上下文进程的状态以及转换时间片现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统。所谓的多任务,就是操作系统可以同时运行多个任务。操作系统(如Windows、Linux)的任务调度是采用时间片轮转的抢占式调度方式,也就是说一个任务执行一小段时间后强制暂停去执行下一个任务,每个任务轮流执行。任务执行的一小段时间叫做时间片,任务正在执行时的状态叫运行状态,任务执行一段时间后强制暂停去执行下一个任务,被暂停的任原创 2021-04-30 16:58:26 · 123 阅读 · 1 评论 -
线程一点都不难
文章目录什么是进程什么是线程进程与线程之间的关系创建线程的放法什么是进程对于操作系统来说,一个任务就是一个进程(Process)。课本概念:程序的一个执行实例,正在执行的程序等。内核观点:担当分配系统资源(CPU时间,内存)的实体进程是担当分配系统资源(CPU时间,内存)的实体,是系统分配资源的最小单位,是程序组成的实际单位,是具有动态特性的。进程就是可执行文件吗?不是。挡把一个可执行文件加载到内存当中,运行起来之后,可执行文件就变成了一个进程。什么是线程线程是系统调度的最小单位,是轻原创 2021-04-25 17:29:23 · 77 阅读 · 0 评论 -
认识以太网与ARP协议
文章目录什么是以太网?以太网帧格式认识MAC地址对比理解MAC地址和IP地址认识MTUARP协议什么是以太网?“以太网” 不是一种具体的网络, 而是一种技术标准; 既包含了数据链路层的内容, 也包含了一些物理层的内容. 例如: 规定了网络拓扑结构, 访问控制方式, 传输速率等;例如以太网中的网线必须使用双绞线; 传输速率有10M, 100M, 1000M等;以太网是当前应用最广泛的局域网技术; 和以太网并列的还有令牌环网, 无线LAN等;以太网帧格式源地址和目的地址是指网卡的硬件地址(也叫M原创 2021-04-20 19:53:08 · 318 阅读 · 0 评论 -
tcp的三次握手与四次挥手
文章目录三次握手四次挥手三次握手三次握手示意图刚开始, 客户端和服务器都处于 CLOSE 状态.此时, 客户端向服务器主动发出连接请求, 服务器被动接受连接请求.1, TCP服务器进程先创建传输控制块TCB, 时刻准备接受客户端进程的连接请求, 此时服务器就进入了 LISTEN(监听)状态2, TCP客户端进程也是先创建传输控制块TCB, 然后向服务器发出连接请求报文,此时报文首部中的同步标志位SYN=1, 同时选择一个初始序列号 seq = x, 此时,TCP客户端进程进入了 SYN-SEN原创 2021-04-18 12:46:45 · 186 阅读 · 6 评论 -
认识IP
文章目录什么是IP地址IP协议头格式快速记住IP协议头:什么是IP地址IP地址的官方定义IP地址(Internet Protocol Address),全称为网际协议地址,是一种在Internet上的给主机编址的方式。它是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。IP地址的通俗解释通俗地来说,IP地址对于网站相当于身份证对于人,IP地址是对网站身份的一个标定,这种标定便利了对于网站的寻找。IP协议头格式4位原创 2021-04-17 17:36:01 · 314 阅读 · 0 评论 -
什么是端口号
文章目录概念端口号范围的划分认识知名端口号(Well-Know Port Number)一个进程是否可以bind多个端口号?一个端口号是否可以被多个进程bind?概念IP地址是用来确定哪一台服务器(主机)的,而端口号就是用来确定这台主机上的那个进程的(qq、微信等都是一个进程),也就是说,可以通过端口,号确定是QQ,微信,爱奇艺等具体哪一个。比如网上购物后,你写的你们学校为收货地址,快递员通过地址送到了你们学校(而这就相当于通过IP找到了具体的主机),但学校有很多学生,快递员只能通过你的手机号来找到你(原创 2021-04-17 17:18:50 · 5840 阅读 · 0 评论 -
了解UDP
文章目录udp的特点:udp的首部格式:UDP的缓冲区UDP使用注意事项基于UDP的应用层协议udp的特点:1、无连接: 知道对端的IP和端口号就直接进行传输, 不需要建立连接;2、不可靠: 没有确认机制, 没有重传机制; 如果因为网络故障该段无法发到对方, UDP协议层也不会给应用层返回任何错误信息;3、面向数据报: 应用层交给UDP多长的报文, UDP原样发送, 既不会拆分, 也不会合并。不能够灵活的控制读写数据的次数和数量3、不可靠,尽最大努力交付4、没有拥塞控制5、支持一对一,一对多,原创 2021-04-17 16:54:17 · 632 阅读 · 0 评论 -
TCP与UDP的比较
TCP/UDP对比先从不同点来考虑:特点方面:1、udp面向数据报,tcp面向字节流2、udp无连接,tcp面向连接3,、udp是尽最大可能的服务,tcp是可靠的服务4、udp支持广播,多对多,多对一,一对多,一对一的交互通信,tcp只能一对一5、udp的首部开销小,只有8个字节,而tcp有20个字节6、udp无拥塞控制,tcp有适用场景:TCP用于可靠传输的情况, 应用于文件传输, 重要状态更新等场景;UDP用于对高速传输和实时性要求较高的通信领域, 例如, 早期的QQ, 视频传输等原创 2021-04-17 16:30:16 · 353 阅读 · 0 评论 -
了解tcp
文章目录TCP的特点:TCP协议段格式TCP实现可靠传输的机制1、确认应答(ACK)机制2、超时重传机制3、连接管理机制三次握手四次挥手4、滑动窗口5、 流量控制6、 拥塞控制7、延迟应答8、捎带应答9、面向字节流10、粘包问题TCP/UDP对比tcp也叫 传输控制协议,是TCP/IP体系中非常复杂的一个协议,下面来说说它的特点:TCP的特点:1.面向连接的运输层协议2、每一条tcp的连接只能有两个端点,即点对点,一对一的3、tcp提供可靠交付的服务4、tcp提供全双工通信(即两边都可以同时接收原创 2021-04-17 16:28:21 · 365 阅读 · 0 评论 -
输入URL发生了什么,如何定位url路径资源(包看包会)
文章目录什么是URL输入URL发生了什么解析该URL中的域名什么是URLURL(Uniform Resource Locator)统一资源定位符,是专为标识Internet网上资源位置而设置的一种编址方式,我们平时所说的网页地址指的即是URL。统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。输入URL发生了什么1,浏览器向DNS服务器请求解析该URL中的域原创 2021-04-04 14:25:04 · 718 阅读 · 1 评论