Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >java GUI几秒钟无响应

java GUI几秒钟无响应
EN

Stack Overflow用户
提问于 2011-04-26 01:26:53
回答 3查看 234关注 0票数 2

我们有一个java客户端/服务器应用程序,其中GUI有规律地(每半小时)变得平均2到10秒无响应。点击不同的按钮只有在挂起几秒钟后才会生效。

我最初以为是GC问题,但调查证明这一端没有问题。

我更确信这是一个线程问题,图形化线程有时会阻塞。

我如何检查图形线程的状态,以在我的日志中见证它的“无响应”?我想我可以从不同的线程每秒检查一次它的状态,但是怎么做呢?轮询哪个变量?

关于如何解决这个问题,还有其他的想法吗?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-26 01:30:59

您可以向Java进程发出kill -QUIT (在Windows上也是类似的命令),这将导致所有线程将它们的堆栈跟踪转储到STDOUT,这样您就可以看到发生了什么。这也显示了哪些线程正在持有锁(同步块),哪些线程正在等待。

票数 5
EN

Stack Overflow用户

发布于 2011-04-26 01:57:16

如果您不能在测试中重现问题,也不能关闭生产,那么您的问题就没有简单的答案。

看起来您可能有更大的问题,必须使用某种分析工具进行诊断。我们用的是JProbe & JProfiler,用起来很幸运。

最坏的情况是,您可以使用JMX编写您自己的代码,这些代码按照此链接的思路执行某些操作。在过去,它对我非常有用。

http://www.javamex.com/tutorials/profiling/profiling_java5_threads_methodology.shtml

票数 2
EN

Stack Overflow用户

发布于 2011-04-26 02:31:18

要了解UI线程被阻塞的时间有多长,可以这样做,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ScheduledThreadPoolExecutor executor = ....
executor.scheduleAtFixedRate(new Runnable(){ 
   public void run() {testEventThread();}}, 5, 5, TimeUnit.SECONDS);

void testEventThread() {
   final long now = System.currentTimeMillis();
   SwingUtilities.invokeLater(new Runnable() {
       public void run() {
             System.out.println("event thread took:" + (System.currentTimeMillis()- now) + " to respond");
       }
   });

}

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5784990

复制
相关文章
TLS协议分析 (三) record协议
record协议做应用数据的对称加密传输,占据一个TLS连接的绝大多数流量,因此,先看看record协议 图片来自网络:
用户8964349
2021/09/06
1.4K0
TLS握手协议详解
握手协议是TLS握手协议的一部分,负载生成共享密钥以及交换证书。其中,生成共享密钥是为了进行密码通信,交换证书是为了通信双方相互进行认证。
用户9407507
2022/02/16
1.3K0
TLS协议学习笔记
说起TLS(Transport Layer Security 传输层安全协议),可能有点陌生,但是说起HTTPS,大家应该都知道,我们现在浏览网页基本上都是HTTPS的。HTTPS就是加密的HTTP,HTTP基于明文传播,直接使用HTTP的话内容很容易被窃取。HTTPS则对内容进行了一层加密,避免了内容被窃取和篡改的可能性,如下图所示。
roper
2018/07/02
2.4K1
TLS协议学习笔记
mqttnet 详解_mqttnet3.0用法
1 ///开源库地址:https://github.com/chkr1011/MQTTnet
全栈程序员站长
2022/09/12
1K0
图解TLS握手连接
SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。
半月弧
2020/03/03
5.4K0
图解TLS握手连接
TLS协议分析 (四) handshake协议概览
TLS 1.3对握手做了大修改,下面先讲TLS 1.2,讲完再介绍一下分析TLS 1.3.
用户8964349
2021/09/07
1.5K0
TLS协议分析 (六) handshake协议扩展
在 ChangeCipherSpec 消息之后,应该立即发送 Finished 消息,来确认密钥交换和认证过程已经成功了。ChangeCipherSpec 必须在其它握手消息和 Finished 消息之间。
用户8964349
2021/09/07
1.3K0
DTLS协议介绍,Udp协议基于TLS
UDP协议是不面向连接的不可靠协议,且没有对传输的报文段进行加密,不能保证通信双方的身份认证、消息传输过程中的按序接收、不丢失和加密传送。
Kunkka Wu
2022/01/13
3.1K0
DTLS协议介绍,Udp协议基于TLS
mqttnet 详解_mqttnet 简记
1.mqttnet开源库,https://github.com/chkr1011/MQTTnet
全栈程序员站长
2022/09/12
3K0
MQTTnet[通俗易懂]
近期学习了一下物联网中应用较广的MQTT协议,同时使用MQTTnet开源类库做了简单实现,因此做下笔记。 环境:.NET Framework 4.6.1 MQTTnet 2.8.2.0 遵循MQTT 3.1.0协议规范 源码 >>> GitHub 注意:在实现订阅者离线再连接时,一直接受不到离线信息,需要做一下配置
全栈程序员站长
2022/09/12
7970
mqttnet 详解_MQTT MQTTnet 实现
│ │ ├── MQTTServer.runtimeconfig.dev.json
全栈程序员站长
2022/09/12
9210
检查网站的TLS版本
有时候需要知道某个网站支持的TLS的版本。现在SSL 2.0和SSL 3.0都已经被淘汰了。其中TLS 1.0,TLS 1.1,TLS 1.2是目前的的主流,相对也是安全的。主要看加密的算法。TLS 1.3是目前最新的协议版本,也是相对最安全的版本了。
宋天伦
2023/10/21
4.4K0
检查网站的TLS版本
轻量通讯协议 --- MQTT
「MQTT(Message Queuing Telemetry Transport)」 是一种轻量级的消息传输协议,通常用于在物联网(IoT)和传感器网络中进行通信。它设计用于在低带宽、不稳定或高延迟的网络环境下传输数据,因此非常适用于连接设备之间的通信,尤其是在资源有限的环境中。
Niuery Diary
2023/10/22
4.1K0
轻量通讯协议 --- MQTT
TLS加密远程连接Docker
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
程序员欣宸
2019/09/18
2.1K0
TLS加密远程连接Docker
如何建立TLS连接?TLS握手失败可能这个原因!
签前面三个案例里的HTTP都没加密,使排查工作省去不少麻烦,抓包文件里直接就看清应用层信息。
JavaEdge
2023/07/25
1.4K0
如何建立TLS连接?TLS握手失败可能这个原因!
mqttnet 详解_MQTTnet 3.0.5学习笔记
段时间在使用MQTTnet,都说这个东西比较好,可是翻了翻网上没有例子给参考一下。
全栈程序员站长
2022/09/12
1.1K0
golang简单tls协议用法完整示例
本文实例讲述了golang简单tls协议用法。分享给大家供大家参考,具体如下: 生成私钥: openssl genrsa -out key.pem 2048 生成证书: openssl req -new -x509 -key key.pem -out cert.pem -days 3650 https: package main import ( "io" "net/http" "log" ) func HelloServer(w http.ResponseWrite
李海彬
2018/03/27
3.8K0
golang简单tls协议用法完整示例
本文实例讲述了golang简单tls协议用法。分享给大家供大家参考,具体如下: 生成私钥: openssl genrsa -out key.pem 2048 生成证书: openssl req -new -x509 -key key.pem -out cert.pem -days 3650 https: package main import ( "io" "net/http" "log" ) func HelloServer(w http.ResponseWriter, req *
李海彬
2018/03/26
3.3K0
SSL / TLS 协议运行机制详解
本文简要介绍SSL/TLS协议的运行机制。文章的重点是设计思想和运行过程,不涉及具体的实现细节。如果想了解这方面的内容,请参阅RFC文档。
Java技术栈
2018/07/30
8130
SSL / TLS 协议运行机制详解
点击加载更多

相似问题

AttributeError:“函数”对象没有属性“as_view”

18

Django "AttributeError:‘函数’对象没有属性'as_view'“

11

AttributeError - CBV‘函数’对象没有属性'as_view‘。

12

AttributeError:输入对象'DirectView‘没有属性'as_view’

10

AttributeError:'function‘对象没有属性'as_view’。怎么了?

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文