• 回复了问题
    38分钟前

    简单来说有以下几个: 1、虚拟机(JVM)栈中引用对象 2、方法区中的类静态属性引用对象 3、方法区中常量引用的对象(final 的常量值) 4、本地方法栈JNI的引用对象

    1回复
    JAVA垃圾回收,线程栈中哪些东西作为GC RootS?
    虚拟机栈中的哪些东西,可以作为GCROOT呢?是每个线程栈当前栈帧中局部变量表中的对象引用,还是包括所有栈帧呢?如果如好多人所说的是当前栈帧的话,那之前入栈的栈帧中的引用的对象,怎么被引用链可达以确保
  • 发布了问题
    1小时前
    1回复
    JAVA垃圾回收,线程栈中哪些东西作为GC RootS?
    虚拟机栈中的哪些东西,可以作为GCROOT呢?是每个线程栈当前栈帧中局部变量表中的对象引用,还是包括所有栈帧呢?如果如好多人所说的是当前栈帧的话,那之前入栈的栈帧中的引用的对象,怎么被引用链可达以确保
  • 回复了问题
    4小时前

    大哥你想问啥😓

    1回复
    -XX:+CMSClassUnloadingEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:+CMSParallelRemarkEnabled -XX:+CMSScavengeBeforeRemark -
    -XX:+CMSClassUnloadingEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:+CMSParallelRemarkEnabled -X
  • 发布了文章
    8小时前
    记一次网络请求连接超时的事故
    从HTTP请求超时、重试机制、操作系统网络等层面剖析了事故的原因,最终解决业务问题。这里先抛两个问题:1)你遭遇过由于网络连接或请求超时造成的生产事故吗?2)你知道操作系统默认的网络连接超时是多少秒?
  • 发布了文章
    1天前
    用户态进程如何得到虚拟地址对应的物理地址?
    一般我们不需要从用户态得到进程虚拟地址对应的物理地址,因为一般来说用户进程是完全不关心物理地址的。少数应用场景下,用户可能会关心,比如在用户态做DMA的场景(如DPDK之类的)。还有一些场景,比如想调
  • 回复了问题
    1天前

    明白了,原来压根没指定UseCMS啊,走了JDK1.8默认的PS(笨神回复了好激动哈哈)

    5回复
    指定 XX:CMSInitiatingOccupancyFraction 不起作用
    请教大家一个问题:我指定了 UseCMSInitiatingOccupancyOnly,也指定了 XX:CMSInitiatingOccupancyFraction=70,可是我的老生代的内存使用超过
  • 回复了问题
    1天前

    是因为只配置了PS GC的参数,没有配置CMS GC的这个参数

    5回复
    指定 XX:CMSInitiatingOccupancyFraction 不起作用
    请教大家一个问题:我指定了 UseCMSInitiatingOccupancyOnly,也指定了 XX:CMSInitiatingOccupancyFraction=70,可是我的老生代的内存使用超过
  • 回复了问题
    1天前

    这个原因是不是因为Hotspot堆初始方法Universe::initial_heap里判断use PS的那个if在最前面?笨神求解答

    5回复
    指定 XX:CMSInitiatingOccupancyFraction 不起作用
    请教大家一个问题:我指定了 UseCMSInitiatingOccupancyOnly,也指定了 XX:CMSInitiatingOccupancyFraction=70,可是我的老生代的内存使用超过
  • 评论了文章
    1天前

    是的,就是主线程超时取消后,要通知所有的子线程取消任务。一来可以节省资源,因为子任务已经没必要再继续运行了。而来是解决了我这个场景中的NPE问题(请求结果返回前会fork一个子线程做异步的特征存储,用于特征闭环),虽然这个NPE问题不影响请求结果。但是报警一直报着就很闹心了。此处还要注意一个点就是,有父子依赖关系的任务尽量不要用同一个线程池,如果线程池使用的是阻塞队列,队列长度过长,是有可能导致死锁的。

    性能优化:线程资源回收
    一、问题模型服务平台的排序请求出现较多超时情况,且不定时伴随空指针异常。 二、问题发生前后的改动召回引擎扩大了召回量,导致排序请求的item数量增加了。 三、出问题的模型基于XGBoost预测的全排序
  • 评论了文章
    1天前

    提交一个任务到线程池,然后此任务又提交了多个子任务到线程池,主任务通过FutureTask#get来获取结果,主任务超时后,直接取消了主任务的执行,提交的子任务还在线程池里跑着,于是发生了状态不一致导致数据不一致继而NPE?于是主任务超时后通过FutureTask#cancel取消其所有子任务。大概是不是这样?

    性能优化:线程资源回收
    一、问题模型服务平台的排序请求出现较多超时情况,且不定时伴随空指针异常。 二、问题发生前后的改动召回引擎扩大了召回量,导致排序请求的item数量增加了。 三、出问题的模型基于XGBoost预测的全排序
加载更多