1、面试JVM借鉴 (学习:B站:狂神说) JVM原型 理解各个区域 栈 首先栈是由一个个栈帧组成,栈不可以阻塞(线程级别) 栈内存中是由一个个栈帧组成 栈里都有啥 8大基本类型 对象引用 实例的方法(递归的本质就是压栈,弹栈) 方法区 方法区是特殊的堆,所有线程共享,所有定义的方法的信息 方法区里 ...
分类:
其他好文 时间:
2020-10-27 10:55:26
阅读次数:
14
福哥答案2020-10-22: 简单回答:相同点:都是多个单元操作。不同点:LongAdder相加,LongAccumulator自定义计算规则。 中级回答:相同点: LongAddr与LongAccumulator类都是使用非阻塞算法CAS实现的,这相比于使用锁实现原子性操作在性能上有很大的提高。 ...
分类:
编程语言 时间:
2020-10-22 23:16:59
阅读次数:
46
简介 Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能,时常用于服务端的反向代理和负载均衡。 查找安装目录 1 which nginx 2 ps -ef | grep nginx 返回结果包含安装目录 root 2662 1 0 07:12 ? ... ...
分类:
其他好文 时间:
2020-10-22 22:49:23
阅读次数:
28
1、ANR介绍1.1ANR是什么ANR,全称为ApplicationNotResponding,也就是应用程序无响应。如果Android应用的界面线程处于阻塞状态的时间过长,就会触发“应用无响应”(ANR)的错误。此时系统会向用户显示一个对话框,ANR对话框会为用户提供强行退出应用的选项。1.2ANR的四种类型 在Android系统中,应用程序的响应由ActivityMana
分类:
移动开发 时间:
2020-10-21 20:34:47
阅读次数:
36
以多窗口买票为例。 多线程操作共享数据存在安全问题。 是由于数据操作的原子性被破坏导致的。 if语句和之后的operate语句应该具有原子性。没有锁,在if 与 operate 之间可能数据被其他线程修改了。导致数据安全问题。 导致原子性丢失的原因有多个,比如线程自己阻塞,cpu资源调度导致线程挂起 ...
分类:
编程语言 时间:
2020-10-20 16:44:08
阅读次数:
42
线程状态观测 线程状态。线程可以处于以下状态之一: NEW 尚未启动的线程处于此状态。 RUNNABLE 在Java虚拟机中执行的线程处于此状态。 BLOCKED 被阻塞等待监视器锁定的线程处于此状态。 WAITING 正在等待另一个线程执行特定动作的线程处于此状态。 TIMED_WAITING 正 ...
分类:
编程语言 时间:
2020-10-18 10:20:42
阅读次数:
25
一、HTTP/1.1的主要缺陷 1、队首阻塞 HTTP/1.1使用管道技术(Pipelining),,使得: 客户端可以并行发送多个请求,服务器也可以并行处理多个请求 但是根据FIFO(先来先服务)的规则, 服务器要按照接收请求的顺序 来返回响应 客户端接收响应的顺序也要和自己发送请求的顺序相对应 ...
分类:
Web程序 时间:
2020-10-16 11:12:53
阅读次数:
30
Nginx相对于Apache的优势: 1.轻量级,采用C进行编写,同样的web服务,会占用更少的内存及资源 2.抗并发,nginx以epoll and kqueue作为开发模型,处理请求是异步非阻塞的,多个连接对应一个进程,负载能力比apache高很多, 而apache则是同步多进程模型,只能一个连 ...
分类:
Web程序 时间:
2020-10-08 19:50:06
阅读次数:
44
首先,我们先了解一下什么是阻塞队列: 当队列满了时,队列会阻塞插入元素的线程,直到队列不满; 当队列为空时,获取元素的线程会等待队列变成非空。 常用到的方法 上面是对阻塞队列的简单了解,下面重点分析一下LinkedBlockingQueue。 源码分析 Node节点 可以看出是单向的链表结构 sta ...
分类:
数据库 时间:
2020-09-24 22:14:44
阅读次数:
101