笔试知识点 网络安全

安全点

Java应用程序中有两个逻辑线程组:

  • 应用程序线程执行应用程序逻辑
  • 执行GC的线程

在执行诸如堆压缩之类的操作时,GC线程会四处移动一些对象,并且这些对象不能被任何应用程序线程使用,因为它们的物理位置可能会发生变化。 这导致所谓的世界停顿。

停止世界(STW)暂停是指所有应用程序线程均已停止。 它们对Java应用程序性能具有最大的影响之一。 GC调整的基本概念是最大程度地减少这些停顿。 即使有GC算法之间的一些差异, 年轻一代 (小GC) 的收集过程中所有的人都停止了世界的停顿。

但是,应用程序线程无法随时停止。 这就是安全点起作用的地方。 安全点的以下定义来自HotSpot词汇表 :

程序执行期间的一点,所有GC根都是已知的,并且所有堆对象的内容都一致。 从全局角度来看,GC可以运行之前,所有线程都必须在安全点处阻塞。

从本质上讲,安全点是指JVM处于可以被其他线程(尤其是GC线程)安全地查看和操作的状态时的执行点。

使用安全点时,并非只有GC执行停下来的暂停。 它们还可以在代码取消优化 ,热交换或刷新代码缓存期间使用。

根据Peter Lawrey的说法 ,JVM放置安全点的位置没有特别的规定。 它可能因Java版本而异,但是Internet上的一些消息来源声称它通常发生在调用返回或JIT编译的代码从循环回跳之后。

跟踪安全点时,有几个标记可能非常方便:
-XX:+PrintGCApplicationStoppedTime –打印所有安全点的暂停时间(不仅是GC的)

输出将如下所示:

Application time: 0.2410613 seconds
Total time for which application threads were stopped: 0.0511005 seconds

-XX:+PrintSafepointStatistics

–XX:PrintSafepointStatisticsCount=1

上面的标志打印出触发暂停的操作的名称以及一些其他信息(例如,事件发生时停止的线程数和时间戳)。

所有这些标志将信息打印到标准输出,而不是GC日志。

翻译自: https://www.javacodegeeks.com/2017/08/safepoints.html

笔试知识点 网络安全

笔试知识点 网络安全_安全点相关推荐

  1. 移动笔试计算机知识,移动笔试知识点之--计算机类-数据库系统概论复习资料

    <移动笔试知识点之--计算机类-数据库系统概论复习资料>由会员分享,可在线阅读,更多相关<移动笔试知识点之--计算机类-数据库系统概论复习资料(29页珍藏版)>请在人人文库网上 ...

  2. C/C++面试笔试知识点总结

    C/C++面试笔试知识点总结 1.const关键字的作用?(变量,参数,返回值) 2.什么是死锁? 3.造成死锁的4个必要条件? 4.如何避免死锁? 5.static关键字作用? 6.c/c++中内存 ...

  3. 网络安全_密码学实验_非对称加密算法RSA

    网络安全_密码学实验_非对称加密算法RSA 一.实验环境 二.非对称加密RSA 1.理解RSA算法原理 2.加密过程 解密过程 一.实验环境 PyCharm 2019.2.4 (Professiona ...

  4. 网络安全_密码学实验_对称加密算法DES

    网络安全_密码学实验_对称密码非对称密码_加密算法DES RSA 一.实验环境 二.对称加密DES 1.理解DES算法原理 2.加密过程 3.解密过程 三.运行结果 一.实验环境 PyCharm 20 ...

  5. Python科学计算库核心知识点总结_代码篇(ML/DL依赖语法)

    Python科学计算库核心知识点总结_代码篇(ML/DL依赖语法)                                                                    ...

  6. JavaScript笔试知识点整理

    JavaScript笔试知识点整理 2018.09.28 2018.09.29 2018.09.30 定义函数 在Javascript定义一个函数f有三种方式:第1种最常用,后两种都是把一个匿名函数复 ...

  7. 初中数学503个必考知识点_初中生物必考知识点总结_生物必考知识点指南

    初中生物看似简单,却为以后的生物学习奠定了基础知识,初中生物必考知识点有哪些?以下是小编收集整理的一些关于初中生物必考知识点总结_生物必考知识点指南,作为参考,希望你喜欢. 基因 概念:DNA分子很长 ...

  8. 程序员笔试知识点整理

    程序员笔试知识点整理 0.常考基础必知必会 A. 排序:排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法: B. 查找:哈希查找.二叉树查找.折半查找的对比,哈希映射和哈希表的区别? C. 链 ...

  9. J2EE 知识点总结_上

    J2EE 知识点总结_上 基础概念 数组 选择排序 : 交换排序 : 插入排序 面向对象 重载(**Overload**)的概念 构造器的作用: JavaBean 多态性 instanceof 操作符 ...

最新文章

  1. 2021年大数据HBase(十五):HBase的Bulk Load批量加载操作
  2. Strongswan — 常用配置说明
  3. 写程序时,经常要重载OnPaint,定位很麻烦,现在有个简单办法
  4. jqgrid删除某一列(隐藏)
  5. 第四讲 数学公理化方法(上)
  6. learn go function callback
  7. Python和Java哪个更好找工作?
  8. [数模美赛]2018数学建模美赛MCM总结
  9. 微信小程序开发中医药配方小程序药方后台管理系统|前后分离VUE.js
  10. 液压传动与气动技术【3】
  11. Repository does not allow updating assets 解决方法
  12. Python TCP接收/发送信息
  13. Cesium竖直飞线
  14. android app 马甲包,教你一招APP如何快速定制马甲包
  15. Github优秀Android开源项目,值得引用与学习(图文结合~~~)
  16. 中国农历(阴阳历)和西元阳历即公历互转JavaScript库
  17. Vue2.x动态添加路由实现
  18. 解决element-ui中组件【el-upload】一次性上传多张图片的问题
  19. 【毕业设计】基于单片机的智能感应垃圾桶设计与实现 - 物联网 stm32 嵌入式
  20. vue实现简单的百度接口搜索框

热门文章

  1. [AtCoder Regular Contest 123] 题解
  2. 【正睿2021寒假省选第二轮集训 day 1】令牌生成 (组合数+二分)
  3. CF438E:The Child and Binary Tree(生成函数)
  4. 51nod-动物与游戏【树链剖分,线段树】
  5. P3244-[HNOI2015]落忆枫音【dp】
  6. jzoj1252,P5194-天平【dfs,set】
  7. AtCoder Beginner Contest 172总结
  8. 【期望】关灯游戏(金牌导航 期望-8)
  9. BATJ面试必会|Jvm 虚拟机篇
  10. TCP为什么是三次握手和四次挥手