1.JMM Java内存模型 每条线程都有自己的工作内存[Working Memory] 线程的工作内存保存了被该线程使用的变量的主内存副本拷贝 线程对变量的所有线程之间也无法直接访问对方工作内存的变量,线程间变量值的传递均需要通过主内存来完成。 2.java的堆和栈 1)堆 heap:可动态申请的 ...
分类:
编程语言 时间:
2020-03-22 13:37:10
阅读次数:
86
内存优化 关于内存优化 内存问题很隐蔽,内存问题出现时一个累计的结果。 内存问题: + 内存抖动:工具显示锯齿状、GC导致卡顿 + 内存泄露:可用内存减少、频繁GC + 内存溢出:OOM、程序异常 工具选择: + Memory Profiler 实时图表展示应用内存使用量; 识别内存泄露、抖动等; ...
分类:
其他好文 时间:
2020-03-21 23:48:29
阅读次数:
122
程序计数器 虚拟机栈 本地方法栈 堆 (新生代和老生代) 新生代(eden,two survivor) 老生代(永久代(现在变成元数据)) 元数据->类的字节流,常量,静态方法 (metaSpace的默认值在64位中20.75M)当第一次满的时候回触发GC; GC的算法: 引用计数法,标识清理法,复 ...
分类:
其他好文 时间:
2020-03-17 19:24:31
阅读次数:
72
所有文章 https://www.cnblogs.com/lay2017/p/12485081.html 正文 在阅读数据源代理部分的代码的时候我们提到过ConnectionProxy会在init方法里面向Server端注册一个分支事务,当ConnectionProxy中失败的时候,会先Server ...
分类:
其他好文 时间:
2020-03-16 23:16:45
阅读次数:
79
java虚拟机底层原理与性能优化 1、java虚拟机内存模型能说说吗? 2、类加载器的双亲委派模型是什么? 3、java垃圾收集算法与收集器有哪些? 4、JVM诊断调优工具有哪些 5、每秒几十万并发的秒杀系统为什么会频繁发生GC? MySQL索引数据结构与性能优化 1、索引数据结构红黑树、Hash、 ...
分类:
其他好文 时间:
2020-03-15 13:43:13
阅读次数:
69
Java 堆内存被划分为新生代和老年代两部分,因此 JVM 通常采用分代回收算法。新生代主要使用复制和标记 清除垃圾回收算法 ,老年代主要使用标记 整理垃圾回收算法。JVM 中针对新生代和年老代分别提供了多种不同的垃圾收集器。 根据线程特点,可以将收集器分为三类: 1. 串行收集器 :Serial ...
分类:
其他好文 时间:
2020-03-14 20:12:46
阅读次数:
69
1、简述DNS服务器原理,并搭建主-辅服务器。DNS服务器原理1、本机发出DNS请求到本地DNS服务器。本地DNS服务器一般都是你的网络接入服务器商提供,比如中国电信,中国移动。2、本地DNS服务器会首先查询它的缓存记录,如果缓存中有此条记录,就可以直接返回结果。如果没有,本地DNS服务器还要向DNS根服务器进行查询。3、根DNS服务器没有记录具体的域名和IP地址的对应关系,而是告诉本地DNS服务
分类:
其他好文 时间:
2020-03-14 09:17:05
阅读次数:
67
JVM | 垃圾回收Java垃圾回收的概念垃圾回收器安全点和安全区域 Java垃圾回收的概念如何判断哪些是垃圾对象,引用计数法,根搜索算法哪些是GC RootsJVM栈中的引用方法区静态变量的引用JNI(即native方法)中的引用方法区(永久代)会发生GC吗,会回收哪些对象?方法区的垃圾回收主要回... ...
分类:
其他好文 时间:
2020-03-12 09:20:50
阅读次数:
72
1.id 定位 Open Browser https://www.baidu.com gc Input Text id=kw selenium #注意 id 的值 kw 没有用引号括起来 Close Browser 2.name 定位 Open Browser https://www.baidu.c ...
分类:
其他好文 时间:
2020-03-11 15:30:48
阅读次数:
387
整个计算机的世界中,应该是有两个基本单元,一个是数据,是个是函数。然后对象将这两个东西单独的封装了起来。以后操作数据的就成了对象。但是由于静态的作用,使得数据与函数是可以独立存在的。 所以我们的编程绝大多数都是围绕着对象的展开,创建对象、调用对象、销毁对象。 但是由于Spring框架和gc的存在,我 ...
分类:
其他好文 时间:
2020-03-10 17:24:04
阅读次数:
54