java
文章平均质量分 92
指尖上的舞动
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
利用Java实现反向代理
利用Java实现反向代理最近有个需求要做一个反向代理,在GitHub上找到了一个已实现好了的项目,记录一下,传送门:https://github.com/mitre/HTTP-Proxy-Servlet引入依赖<dependency> <groupId>org.mitre.dsmiley.httpproxy</groupId> <artifactId>smiley-http-proxy-servlet</artifactId>原创 2020-11-17 11:28:12 · 5949 阅读 · 5 评论 -
文件压缩下载
由于经常需要从文件存储服务器取出文件,并提供压缩并下载这个功能,简单记录一下建立一个临时文件夹String tempDirPath = FilenameUtils.concat(FileUtils.getTempDirectory().getPath(), UUID.randomUUID().toString());File dir = new File(tempDirPath);if (!dir.exists()) { dir.mkdir();}从服务器下载文件并存储在文件夹中tr原创 2020-11-11 10:32:16 · 254 阅读 · 0 评论 -
基础故障处理工具
jps:虚拟机进程状况工具功能类似Linux的psjps 命令格式:jps [ options ] [ hostid ]jstat: 虚拟机统计信息监视工具jstat(JVM Statistics Monitoring Tool)是用于监视虚拟机各种运行状态信息的命令行工具jstat命令格式为:jstat [ option vmid [interval[s|ms] [count]] ]...原创 2020-04-08 18:28:19 · 262 阅读 · 0 评论 -
垃圾收集器常用参数总结及日志打印命令
垃圾收集器参数总结虚拟机及垃圾收集器日志查看GC基本信息,在JDK 9之前使用-XX:+PrintGC,JDK 9后使用-Xlog:gc查看GC详细信息,在JDK 9之前使用-XX:+PrintGCDetails,在JDK 9之后使用-X-log:gc*查看GC前后的堆、方法区可用容量变化,在JDK 9之前使用-XX:+PrintHeapAtGC,JDK 9之后使用-Xlog:gc+...原创 2020-04-07 14:48:43 · 489 阅读 · 0 评论 -
经典垃圾收集器
Serial 收集器这个收集器是一个单线程工作的收集器,但它的“单线程”的意义并不仅仅是说明它只会使用一个处理器或一条收集线程去完成垃圾收集工作,更重要的是强调在它进行垃圾收集时,必须暂停其他所有工作线程,直到它收集结束它是HotSpot虚拟机运行在客户端模式下的默认新生代收集器,有着优于其他收集器的地方,那就是简单而高效(与其他收集器的单线程相比),对于内存资源受限的环境,它是所有收集器...原创 2020-04-07 14:25:42 · 283 阅读 · 0 评论 -
垃圾收集算法
标记-清除算法算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后,统一回收掉所有被标记的对象,也可以反过来,标记存活的对象,统一回收所有未被标记的对象缺点:执行效率不稳定,如果Java堆中包含大量对象,而且其中大部分是需要被回收的,这时必须进行大量标记和清除的动作,导致标记和清除两个过程的执行效率都随对象数量增长而降低内存空间的碎片化问题,标记、清除之后会产生...原创 2020-04-03 14:17:36 · 145 阅读 · 0 评论 -
Java 判断对象是否生存
最近在阅读《深入理解Java虚拟机》,简单做点笔记引用计数法算法在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可能再被使用的缺点:循环引用回收不了可达性分析算法通过一系列称为“GC Roots”的根对象作为起始节点集,从这些节点开始,根据引用关系向下搜索,搜索过程所走过的路径称为“引用链”(Referen...原创 2020-04-03 11:04:11 · 235 阅读 · 0 评论 -
线程池的拒绝策略
今天在工作的时候,遇见了一个线程阻塞的问题,然后定位代码,找出了问题的所在: 这是我们线程池的初始化代码:RejectedExecutionHandler handler = new ThreadPoolExecutor.DiscardPolicy();executor = new ThreadPoolExecutor(5, 20, 60, TimeUnit.SECONDS, new ...原创 2020-04-02 13:49:11 · 203 阅读 · 0 评论
分享