1.在Tomcat服务中一个用户请求都是一个线程 所以使用线程池提高性能 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后创建线程后自动这些任务,线程池线程都是后台线程,每个线程都是用默认的堆栈大小。 什么情况下使用线程池 单个任务处理时间短 将需处理的任务数量大 2.Tomcat优化 ...
分类:
编程语言 时间:
2020-04-06 13:53:19
阅读次数:
72
堆栈是一种数据结构,指的是数据存取的方式,当定义一个变量时,内存会开辟一段空间 栈(Stack): 先进后出(FILO),在栈顶做插入(压栈)和删除操作(出栈)。 队列: 先进先出(FIFO),在队头做删除操作,在队尾做插入操作。 堆: 堆和它们不同,代码执行时系统动态分配,不存在是先进后出还是先进 ...
分类:
其他好文 时间:
2020-04-05 22:40:44
阅读次数:
97
在JVM虚拟机规范中,Java虚拟机运行时数据区域除了程序计数器(Program Counter Register)外都有可能出现 的情况,使用Hotspot虚拟机简单的模拟堆栈内存溢出的场景,方便快速定位是什么区域的内存溢出。 堆 通过VM参数设置Java堆的大小,避免堆可扩展内存(设定 Xms和 ...
分类:
编程语言 时间:
2020-04-05 20:14:25
阅读次数:
68
在运用CAS做Lock-Free操作中有一个经典的ABA问题: 线程1准备用CAS将变量的值由A替换为B,在此之前,线程2将变量的值由A替换为C,又由C替换为A,然后线程1执行CAS时发现变量的值仍然为A,所以CAS成功。但实际上这时的现场已经和最初不同了,尽管CAS成功,但可能存在潜藏的问题,例如 ...
分类:
其他好文 时间:
2020-04-05 18:11:26
阅读次数:
67
进程vs线程: 进程:每个程序被运行加载到内存之后,都会被操作系统作为一个进程,进程是处于运行过程中的程序,是具有独立功能,被操作系统进行资源分配和调度的独立单元。 线程:一个进程里面可以拥有多个线程,线程拥有自己的堆栈,程序计数器和自己的局部变量,但是不拥有系统资源,多个线程共享进程的系统资源。 ...
分类:
编程语言 时间:
2020-04-05 11:51:50
阅读次数:
66
线上系统为何经常出错?数据库为何屡遭黑手?业务调用为何频频失败?连环异常堆栈案,究竟是哪次调用所为?数百台服务器意外雪崩背后又隐藏着什么?是软件的扭曲还是硬件的沦丧?走进科学带你了解 Arthas,一款开源一年多 GitHub Star 2 万,99% 的阿里研发小哥都在用的 Java 终极诊断利器!
分类:
其他好文 时间:
2020-04-04 00:16:43
阅读次数:
154
#include <stack>#include <string>using namespace std; int main(){ stack<string> ss; string s; while (cin >> s) { ss.push(s); } while (!ss.empty()) { c ...
分类:
编程语言 时间:
2020-04-03 22:10:47
阅读次数:
90
本题考点:采用堆栈模拟队列 [toc] 设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q。 所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数: :判断堆栈 是否已满,返回1或0; :判断堆栈 是否为空,返回1或0; :将元素 压入堆栈 ; :删除并返回 的栈顶元素。 实现队列的操作 ...
分类:
其他好文 时间:
2020-04-03 21:37:02
阅读次数:
179
主要内容来自以下网址。该网站是个学习ARM汇编的好地方。计划将该篇文章翻译过来,并和Sparc对比。 https://azeria-labs.com/functions-and-the-stack-part-7/ ARM和Sparc比较 之前整理的Sparc的原理,Sparc V8 汇编指令、寄存器 ...
分类:
其他好文 时间:
2020-04-03 20:12:29
阅读次数:
75