HttpRequestRetryHandler
HttpRequestRetryHandler HttpRequestRetryHandler类 1:该类的作用 1)请求计数,当发生异常的时候,如果重试次数大于某个值,则重连结束 2)当且仅当是可恢复的异常,才能进行重连 2:该类的具体实现 我们通过DefaultHttpClient可以知道,HttpRequestRetryHandler的实现者为DefaultHttpRequ...
HttpRequestRetryHandler HttpRequestRetryHandler类 1:该类的作用 1)请求计数,当发生异常的时候,如果重试次数大于某个值,则重连结束 2)当且仅当是可恢复的异常,才能进行重连 2:该类的具体实现 我们通过DefaultHttpClient可以知道,HttpRequestRetryHandler的实现者为DefaultHttpRequ...
HTTP keepalive 问题: keepalive 是否开启服务端控制还是客户端控制? keepalive的时间是由服务端控制还是客户端控制? keepalive时间一到,是由客户端主动关闭还是服务端主动关闭? 如果客户端不是httpclient,使用telnet连接服务端? http请求示意图: 场景一 1.httpclient连续两次请求,间...
HTTP keepalive 和 TCP keepalive 的区别
垃圾收集算法 垃圾收集算法 垃圾收集算法 分代收集理论 复制算法 标记整理算法 标记清楚算法 分代收集理论 根据对象存活周期的不同将内存分为几块,一般将java分为新生代和老年代,这样就可以根据各个年代的特点选择合适的垃圾收集算法。 新生代 - 一般新生代中的对象存货周期很小吗,每次收集都会有大量的对象死去,所以选择复制算法,只需要付出少量对象的复制成本...
垃圾回收机制 垃圾回收:指存于内存中、不会再被使用的对象,而回收就是清除这些失去引用的对象等。 垃圾回收有很多种算法:引用计数法、标记压缩法、复制算法、分代、分区的思想。 引用计数法:核心就是在对象被其他所引用时计数加1,而当引用失效时则减1.但是这种方式有非常严重的问题 无法计数循环引用的情况、还有就是每次进行加减操作比较消耗系统性能 标记清除法:就是分为标记和清除两个阶段进行处...
垃圾收集器 在java虚拟机中,垃圾回收器有一下几种: 串行垃圾回收器 并行垃圾回收器 GMS回收器 G1回收器 串行回收器只有一个工作线程,对于并行能力较弱的计算机来说,穿行回收器的专注性和独占性往往有更好的表现 并行回收器在串行回收器基础上做了改进,他可以使用多个线程同时进行垃圾回收,对于计算能力强的计算机而言,可以呀有效的缩短垃圾 回收所需的实际时间 ParNew回收...
JVM线上监控工具 如果想要查看java进程中线程堆栈的信息,可以选择jstack命令 如果要查看对内存,可以使用jmap导出并使用jhat来进行分析,包括查看类的加载信息,GC算法,对象的使用情况等. 可以使用jstat来对JVM进行统计监测,包括查看各个区内存和GC的情况,还可以使用hprof查看CPU使用率,统计堆内存使用情况, 1.jps进程监控工具 jps是用于查看有权访...
JVM类加载机制 初始化: 类加载过程 jar包最终由java命令运行某个主类的main函数启动, 首先需要经过类加载器把主类加载到JVM 主类在运行过程中如果使用到其他类,会逐步加载这些类 这些类并不是一次性全部加载的, 而是使用到时才会加载 类加载到使用的步骤 加载 -> 验证 -> 准备 -> 解析 -> 初始化 -> 使用 -> 卸载...
jvm机理 jvm虚拟机 1.java虚拟机概述和基本概念 2.堆、栈、方法区 3.了解虚拟机参数 4.垃圾回收概念和算法、及对象分带转换 5.垃圾收集器 6.tomcat性能影响实验 7.性能监控工具 系统虚拟机和程序虚拟机 VMare属于系统虚拟机 jvm属于程序虚拟机 方法区:就是存放类信息、常量信息、常量池信息、包括字符串字面量和数字常量等。 java堆...
JVM常用的垃圾回收算法 常用的GC算法 MarkSweep 标记清除算法 标记阶段:把垃圾内存标记出来清除阶段:直接将垃圾内存回收这种算法是比较简单的,但是会产生大量的内存碎片,可能导致大对象无法分配,并带来GC问题。 Copying 拷贝算法 将内存分为大小相等的两半,每次只使用其中一半。垃圾回收时,将当前这一块中存活的对象复制到另一半中,并将这一半全部清空。 没有内存碎...