ANR是应用无响应,crash是崩溃闪退等 ANR原因:线程阻塞,输入性事件在特定时间内无法完成 crash原因:内存不足,数据转换异常 ANR问题:1.log文件夹下全局搜am_anr,此时会把log文件下下所有的包含am_anr的行显示出来(也可以搜activitymanager: ANR)2. ...
分类:
其他好文 时间:
2021-06-30 18:03:57
阅读次数:
0
1.控制并发线程数的Semaphore Semaphore(信号量)是用来控制同时访问特定资源的线程数量,它通过协调各个线程,保证合理的使用公共资源。 线程可以通过acquire()方法来获取信号量的许可,当信号量中没有可用的许可的时候,线程阻塞,直到有可用的许可为止。线程可以通过release() ...
分类:
其他好文 时间:
2021-06-18 19:20:53
阅读次数:
0
CountDownLatch是一个同步辅助工具,用于使一个或多个线程等待(即阻塞)知道一组在其他线程中的任务结束。 CountDownLatch必须用给定的count(一个int类型的大于等于0的值)进行初始化。调用await方法将使线程阻塞,直到当前计数(count值)由于countdown方法的 ...
分类:
编程语言 时间:
2021-06-10 17:37:56
阅读次数:
0
线程的状态 1. 初始(NEW):新创建了一个线程对象,但还没有调用start()方法。2. 运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位 ...
分类:
编程语言 时间:
2021-03-09 13:04:51
阅读次数:
0
对比监控出现性能毛刺时间点的GC日志和业务日志,发现JVM停顿了较长时间,且停顿时GC日志中有大量的“Allocation Stall”日志。 原因就是堆内存被占满,导致部分线程阻塞,如下图中的 High used已经达到100% 解决办法: 1.最直接有效的办法就是增加堆大小 2.增加jvm参数 ...
分类:
其他好文 时间:
2021-01-14 10:54:13
阅读次数:
0
前言 在日常编码的过程中,我们经常会使用Thread.sleep、LockSupport.park()主动阻塞线程,或者使用synchronized和Object.wait来阻塞线程保证并发安全。此时我们会发现,对于Thread.sleep和Object.wait方法是会抛出InterruptedE ...
分类:
编程语言 时间:
2020-11-26 14:24:53
阅读次数:
7
在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题,特别是电子交易发展方面相关的。他们会问面试者很多令人混淆的Java线程问题。面试官只是想确信面试者有足 ...
分类:
编程语言 时间:
2020-09-24 22:01:17
阅读次数:
58
最近在项目使用Java8 的CompletableFuture执行一些异步多线程任务,一时疏忽,导致ArrayList出现线程安全问题 就算在方法内使用局部变量,但使用异步多线程执行任务,还是会出现线程安全问题 以下是错误、正确使用的示例方法: package test; import java.t ...
分类:
编程语言 时间:
2020-09-18 04:08:44
阅读次数:
47
Python基础编程 Author : AI菌 【内容讲解】 一、解释: 能够同时服务于多个客户端的TCP服务端程序 二、具体实现步骤 1、编写一个TCP服务端程序,循环等待接受客户端的连接请求 2、当客户端和服务端建立连接成功,创建子线程,使用子线程专门处理客户端的请求,防止主线程阻塞 3、把创建 ...
分类:
编程语言 时间:
2020-09-18 01:25:40
阅读次数:
44
程序员经常要面临的一个问题就是:如何提高程序性能?这篇文章,我们循序渐进,从内存、磁盘I/O、网络I/O、CPU、缓存、架构、算法等多层次递进,串联起高性能开发十大必须掌握的核心技术。I/O优化:零拷贝技术I/O优化:多路复用技术线程池技术无锁编程技术进程间通信技术RPC&&序列化技术数据库索引技术缓存技术&&布隆过滤器全文搜索技术负载均衡技术准备好了吗,坐稳了,发
分类:
其他好文 时间:
2020-08-24 16:28:12
阅读次数:
61