摘要:
首先所需: (以VM虚拟机为例)一台虚拟机。 安装mysql 这次使用最新的安装包管理器 sudo dnf install @mysql 效果如下图: 输入“Y”安装: 启动MySQL服务并开机自启: sudo systemctl enable --now mysqld 检查mysql是否在运行: 阅读全文
摘要:
CAS CAS的全称为Compare-And-Swap,它是一条CPU并发原语。它的功能是判断内存某个位置的值是否为预期值,如果是则更改为新的值,这个过程是原子的。CAS并发原语体现在JAVA语言中就是sun.misc.Unsafe类中的各个方法。调用UnSafe类中的CAS方法,JVM会帮我们实现 阅读全文
摘要:
可重入锁(递归锁) 本文里面讲的是广义上的可重入锁,而不是单指 JAVA 下的 ReentrantLock。可重入锁,也叫做递归锁,指的是同一线程 外层函数获得锁之后 ,内层递归函数仍然有获取该锁的代码,但不受影响。在 JAVA 环境下 ReentrantLock 和 synchronized 都是 阅读全文
摘要:
死锁 死锁是指多个线程运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。 产生死锁的四个必要条 互斥条件:进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程所占用。 请求和保持条件:当进程因请求资源而阻塞时,对已获得的资源保持不放 阅读全文
摘要:
一:类的加载过程 分为三个比较大的阶段,分别是加载阶段,连接阶段和初始化阶段,五个主要的阶段。 在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始。另外注意这里的几个阶段是按顺序开始,而不是按顺序进行或完成,因为这些阶段通 阅读全文
摘要:
一 通过javap命令查看class文件 TestClass.txt内容如下 内容大致分为4个部分: 第一部分:显示了生成这个class的java源文件、版本信息、生成时间等。 第二部分:显示了该类中所涉及到常量池,共26个常量。 第三部分:显示该类的构造器,编译器自动插入的。 第四部分:显示了ma 阅读全文
摘要:
概述, 对web应用开发者来说,我们很关心应用可同时处理的请求数,以及响应时间。应用本身和它运行在其中的web容器是两个很重要的影响因素。 对tomcat来说,每一个进来的请求(request)都需要一个线程,直到该请求结束。如果同时进来的请求多于当前可用的请求处理线程数,额外的 线程就会被创建,直 阅读全文
摘要:
一 首先生成GC日志文件 二 在浏览器输入 https://gceasy.io 访问网址 选择已经生成的日志文件 分析生成后的页面如下所示: 具体如下: 一 二 三 后边的就不一 一说明了! 阅读全文
摘要:
一、概述 Tomcat 的缺省配置是不能稳定长期运行的,也就是不适合生产环境,它会死机,让你不断重新启动,甚至在午夜时分唤醒你。 Tomcat 的优化不像其它软件那样,简简单单的修改几个参数就可以了,它的优化主要有三方面,分为系统优化,Tomcat 自身容器的优化,Java 虚拟机(JVM)调优。系 阅读全文