小编Vit*_*aly的帖子

如何分析java中的内存碎片?

我们的服务器经历了几分钟的滞后.可能它们是由"停止世界"垃圾收集引发的.但是我们使用并发标记和扫描GC(-XX:+ UseConcMarkSweepG),所以,我认为,这些暂停是由旧一代的内存碎片触发的.

如何分析老一代的记忆碎片?它有什么工具吗?

每小时发生一次陷阱.大多数时间他们大约20秒,但有时 - 几分钟.

java memory-management

13
推荐指数
1
解决办法
9772
查看次数

ThreadPoolExecutor中的死锁

当所有线程都在func 中等待时,遇到ThreadPoolExecutor停在execute(Runnable)函数中的情况,workQueue为空.ThreadPoolgetTask

有人有什么想法吗?

ThreadPoolExecutor与创建ArrayBlockingQueue,和corePoolSize == maximumPoolSize = 4

[编辑]更准确地说,线程在ThreadPoolExecutor.exec(Runnable command)func中被阻止.它有执行任务,但没有执行.

[Edit2]执行程序被阻塞在工作队列(ArrayBlockingQueue)内的某处.

[Edit3] callstack:

thread = front_end(224)
at sun.misc.Unsafe.park(Native methord)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
at
java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262)
at java.util.concurrent.ArrayBlockingQueue.offer(ArrayBlockingQueue.java:224)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:653)
at net.listenThread.WorkersPool.execute(WorkersPool.java:45)
Run Code Online (Sandbox Code Playgroud)

同时workQueue为空(使用远程调试检查)

[Edit4]代码使用ThreadPoolExecutor:

public WorkersPool(int size) {
  pool = new ThreadPoolExecutor(size, size, IDLE_WORKER_THREAD_TIMEOUT, TimeUnit.SECONDS, new ArrayBlockingQueue<Runnable>(WORK_QUEUE_CAPACITY),
      new ThreadFactory() {
        @NotNull
        private final AtomicInteger threadsCount = new AtomicInteger(0); …
Run Code Online (Sandbox Code Playgroud)

java concurrency

13
推荐指数
2
解决办法
3万
查看次数

调试java混淆代码

我们将模糊我们的项目,但不想失去远程调试和hotswapping的能力.

可能吗?哪些工具可以处理这个?我对简单的混淆感到满意 - 只需重命名类/方法/变量.

[已编辑]我们正在使用Intellij IDEA,但无法为此任务找到任何插件.

java debugging obfuscation remote-debugging jvm-hotspot

5
推荐指数
1
解决办法
2830
查看次数