首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我调用我的BufferedReader时,我的程序冻结了

当调用BufferedReader时,程序冻结可能是由于以下几个原因导致的:

  1. 阻塞IO操作:BufferedReader是Java IO库中的一个类,它用于读取字符流。当使用read()方法读取数据时,如果没有数据可读,程序会阻塞等待数据的到来。如果在等待数据时出现问题,比如网络连接断开或者数据源出现故障,程序可能会一直阻塞在这里而导致冻结。

解决方法:可以使用非阻塞IO操作,比如使用NIO(New IO)库中的Channel和Selector来实现非阻塞读取数据。另外,可以设置读取超时时间,如果在指定时间内没有数据可读,则终止读取操作。

  1. 死锁:如果在程序中使用了多线程,并且存在死锁的情况,调用BufferedReader时可能会导致程序冻结。死锁是指两个或多个线程互相持有对方需要的资源,导致彼此无法继续执行。

解决方法:通过仔细分析程序中的线程交互逻辑,避免出现死锁情况。可以使用线程安全的类或者锁机制来保证多线程操作的正确性。

  1. 异常处理不当:如果在调用BufferedReader时没有正确处理异常,可能会导致程序冻结。比如没有捕获IOException或者没有正确处理网络异常等情况。

解决方法:在调用BufferedReader时,使用try-catch语句捕获可能出现的异常,并进行适当的处理,比如打印错误信息、回滚操作或者进行重试。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):提供弹性计算能力,支持多种操作系统和应用场景。链接:https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库MySQL版:提供高性能、可扩展的MySQL数据库服务。链接:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云弹性MapReduce(EMR):提供大数据处理和分析的云服务,支持Hadoop、Spark等开源框架。链接:https://cloud.tencent.com/product/emr
  • 腾讯云人工智能(AI):提供丰富的人工智能服务,包括图像识别、语音识别、自然语言处理等。链接:https://cloud.tencent.com/product/ai
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

当我看到一堆if else内心是奔溃

但if else一般不建议嵌套超过三层,如果一段代码存在过多if else嵌套,代码可读性就会急速下降,后期维护难度也大大提高。所以,我们程序员都应该尽量避免过多if else嵌套。...下面将会谈谈在工作中如何减少if else嵌套。 正文 在谈方法之前,不妨先用个例子来说明if else嵌套过多弊端。...当接手到这么一个业务,是不是觉得很简单,稍动下脑就可以动手了: 先定义分享类型、分享Bean和分享回调类: private static final int TYPE_LINK = 0; private...再再如果后面项目交接给他人跟进,他人又要把自己大脑变成处理器来想每个分支作用,敢肯定有百分之八十的人都会吐槽代码。 我们程序脑力不应该花费在无止境分支语句里,应该专注于业务本身。...上面的代码是用java写,对于java程序员来说,空值判断简直使人很沮丧,让人身心疲惫。

42440

当我参加培训时候,在学什么?

大家都是实诚程序员,讲究以德胡人,活好自然互相倾慕(跟讲师约了五月份他来湾区有机会喝个咖啡聊聊);活不好,培训完就是路人。...也幸好没人懂这个理,这样一门课程,冷清到全世界 erlang/elixir 程序员(虽然基数很小)加起来,包括也就只有九个人参加。...用这样机会跨越平台期 程序员估计都知道一万小理论 —— 足够长时间(一万是个约数)在某个领域刻意训练(deliberate training)能够让你成为专家。...我们据此坚信,24小学会 C++ 是错误,肤浅;相反,只要功夫深,就能学精 C++。 也似乎不太对。 因为遇到太多干了十几年平庸程序员了。...他们似乎困在一个无论怎么努力也很难跨越平台期 —— 这是一万小理论里禁飞区。

70350
  • 当我在微调时候在微调什么?

    微调操作为下游任务移动词向量空间位置,并不随意,而是很大程度上保留了不同簇在finetune之前相对位置。...微调效果到底好不好,微调之后词向量表示是否有效,可以直接用针对下游任务分类器准确度来衡量。只有微调效果足够好,分类效果才够准。 DIRECTPROBE 基于聚类探针。...随着层数增加,不同簇之间距离也随之增大,即微调高层在表示空间上变化比下层更大。 下图横轴为微调过程中梯度更新次数,纵轴为微调前后表示空间相似度。...另外,除了实验结论外,本文实验方法和可视化分析也非常值得学习~ 你好,是对白,硕士毕业于清华,现大厂算法工程师,拿过八家大厂SSP级以上offer。 高中荣获全国数学和化学竞赛二等奖。...每周至少更新三篇原创,分享自己算法技术、创业心得和人生感悟。

    1.7K10

    当我看技术文章时候,在想什么?

    这是why第 97 篇原创文章 你好呀,是why哥。 本文主要是分享两个小案例,然后通过这两个案例来表达一个观点: 看技术文章时候多想一步,有时候会有更加深刻理解。...这边就还用他给代码做演示。...,则spring会认为属性不同,不会copy; 3.泛型只在编译期起作用,不能依靠泛型来做运行期限制; 4.最后,spring和apachecopy属性方法源和目的参数位置正好相反,所以导包和调用时候都要注意一下...但是看到之后总觉得差点意思。 主要是针对他总结第二点。 在这之前不知道 Spring BeanUtils CopyProperties 方法拷贝内部类时候有问题。...如果加了一个字段,调用了它 set 方法,却找不到 get 方法被调用地方。 我会很慌。 另一个案例 另外一个案例也是曾经在公众号里面被转来转去一片文章: ?

    37820

    别了,App?程序来了!

    “ 小程序任务栏功能升级,支持用户打开最近使用过程序和「程序」。同时,原有的星标功能,将升级为「程序」,微信用户可以通过多种方式进行添加和排序。”...用户可以通过下拉动作,拉出任务栏,打开最近使用过程序和「程序」,也可以直接进入列表。 ?...(通过任务栏打开小程序) 02 — 星标功能升级为「程序」 在微信最新版客户端中,原星标小程序功能,将升级为「程序」。同时,「程序个数上限将提高到 50 个。...微信用户可以通过以下方式,将小程序添加到「程序」。 (1)在首页下拉程序任务栏中,长按图标,点击添加: ?...(4)在小程序简介页右上角“···”菜单中,点击添加: ? 微信用户也可以对「程序」进行排序。 (1)在小程序任务栏中,长按「程序」图标,移到最前: ?

    80930

    太鸡了!用 Python 偷偷查到暗恋女生名字

    有过社工科经验的人应该都知道,拿到一个人手机号码后,其他信息都可以很容易获取到,除了花钱之外,利用支付宝「模拟转账」方式,可以非常方便拿到对方全名。...需要注意是,必须设置「请求头」,保证数据能正常爬取下来。...如果输入姓氏不正确,则会弹出警告对话框,否则就能拿到妹子姓氏了。...但是由于支付宝对接口限制,一个账号每天只能有 10+ 次试错机会;因此,如果妹子姓氏不是那么常见,可以需要试错多次才能拿到妹子名字。 如果你觉得文章还不错,请大家点赞分享下。...你肯定是最大鼓励和支持。 已经将全部源码上传到后台上,关注公众号后回复「你名字」即可获得下载链接。

    61830

    Linux 一万小

    这不是一篇鸡汤文,因为并没有在使用 Linux 一万小后成为 Linux 达人,甚至在很多方面,连新手都算不上。...而像我这样强迫症,总觉得下一次编译换一个参数也许可以使程序运行得更快,以至于很多常用工具都编译了不下三遍。另外编译内核和格式化硬盘重装 Gentoo 事真是数也数不清了。...不过并没有感觉到 Linux 不主流,有很多在线论坛有大量热心 Linux 用户能帮你解决各种技术问题。而同一期那些 Windows 相关社区全在共享盗版软件。...很后悔没有早点明白,在 Linux 下绘图这件事就是自讨苦吃,同一期在 Windows 下各种绘图体验会愉快很多。...但是,很多线上服务其实比某些开源程序做得好,有时候自己运维往往省不下几个钱。

    1.5K10

    关于 MyBatis 结了 10 种通用写法

    item:集合中元素迭代别名, index:集合中元素迭代索引 open:常用语where语句中,表示以什么开始,比如以'('开始 separator:表示在每次进行迭代分隔符, close...当 choose 中所有 when 条件都不满则,则执行 otherwise 中sql。...org.apache.ibatis.type.BlobTypeHandler}, #{classId}, #{placeId}) 调用接口方法...我们以在3.1中查询语句为例子,当java代码按如下方法调用时: @Test public void select_test_2_1() { StudentEntity entity...当在update语句中使用if标签,如果前面的if没有执行,则或导致逗号多余错误。使用set标签可以将动态配置SET 关键字,和剔除追加到条件末尾任何不相关逗号。

    1.3K10

    太鸡了!用 Python 偷偷查到暗恋女生名字

    1 目 标 场 景 不知道你有没有经历过这样一个场景,好不容易拿到一个妹子手机号,但是又不好意思去搭讪,问一下对方名字。...有过社工科经验的人应该都知道,拿到一个人手机号码后,其他信息都可以很容易获取到,除了花钱之外,利用支付宝「模拟转账」方式,可以非常方便拿到对方全名。...需要注意是,必须设置「请求头」,保证数据能正常爬取下来。...如果是非好友关系,转账界面对方显示名字不完全,可以点击「验证按钮」,输入对方姓氏就能进行确认。 所以,可以遍历上面获取到姓氏,一个个地去验证。...如果输入姓氏不正确,则会弹出警告对话框,否则就能拿到妹子姓氏了。

    50720

    太鸡了!用 Python 偷偷查到暗恋女生名字

    有过社工科经验的人应该都知道,拿到一个人手机号码后,其他信息都可以很容易获取到,除了花钱之外,利用支付宝「模拟转账」方式,可以非常方便拿到对方全名。...需要注意是,必须设置「请求头」,保证数据能正常爬取下来。...如果是非好友关系,转账界面对方显示名字不完全,可以点击「验证按钮」,输入对方姓氏就能进行确认。 所以,可以遍历上面获取到姓氏,一个个地去验证。...如果输入姓氏不正确,则会弹出警告对话框,否则就能拿到妹子姓氏了。...但是由于支付宝对接口限制,一个账号每天只能有 10+ 次试错机会;因此,如果妹子姓氏不是那么常见,可以需要试错多次才能拿到妹子名字。

    59920

    太鸡了!用 Python 偷偷查到暗恋女生名字

    有过社工科经验的人应该都知道,拿到一个人手机号码后,其他信息都可以很容易获取到,除了花钱之外,利用支付宝「模拟转账」方式,可以非常方便拿到对方全名。...需要注意是,必须设置「请求头」,保证数据能正常爬取下来。...如果输入姓氏不正确,则会弹出警告对话框,否则就能拿到妹子姓氏了。...但是由于支付宝对接口限制,一个账号每天只能有 10+ 次试错机会;因此,如果妹子姓氏不是那么常见,可以需要试错多次才能拿到妹子名字。 如果你觉得文章还不错,请大家点赞分享下。...你肯定是最大鼓励和支持。

    4.5K10

    链式调用 | 代码没有else

    嗯,代码没有else系列,一个设计模式业务真实使用golang系列。 ? 前言 本系列主要分享,如何在我们真实业务场景中使用设计模式。...关于怎么用,完全可以生搬硬套总结使用设计模式四个步骤: 业务梳理 业务流程图 代码建模 代码demo 业务梳理 步骤 逻辑 1 参数校验 2 获取地址信息 3 地址信息校验 4 获取购物车数据 5...属性上 -> 稳定不变 Do: 当前对象业务逻辑入口 -> 变化 Run: 调用当前对象Do,nextHandler不为空则调用nextHandler.Do -> 稳定不变 套用到下单接口伪代码实现如下...代码没有`else`,只是一个在代码合理设计情况下自然而然无限接近或者达到结果,并不是一个硬性目标,务必较真。 2....---- 代码没有else系列 更多文章 代码模板 | 代码没有else 点击https://github.com/TIGERB/easy-tips/tree/master/go/src/patterns

    1.7K40

    「02」工作5年,结了指标里这些“坑”

    作为一个5年+数据打工人,相信只要与数据打过交道,都直接或间接接触过“指标”相关问题或需求,那么,我们今天就来聊聊指标里那些“坑” 指标搭建过程 开局先上图: ?...,作为厨师,我们就要开始配菜了 #其实“菜”点了,作为一个有经验“厨师”,我们就知道需要什么样配料了 通过目的的确认,我们可以把具体业务拆分为产品功能和业务过程,我们把功能映射到相应指标上,生成最初原子指标.../漏斗 这些指标都有明显修饰词,或是由多个原子指标组合而来,这些就是派生指标 派生指标就类似做菜烹饪手段,煎炸炒烧,如何把原子指标“做成“我们需要指标,从而更好度量产品,反应产品好坏,达到我们建立指标的目的...很多分析师只知道日活,但是并不知道日活口径,这会导致DAU波动拆解逻辑不对,得出错误结论 NU:New User,即新增,也需要注意口径坑,是下载就算,还是激活APP就算,还是新增注册才算?...衡量方法,依靠都是已经发生数据 简言之,指标是对过去数据进行信息处理

    54720

    ⏱ 看了 web.dev 631 篇博客,结了这些内容

    ,这是 Web 优点也是 Web 痛点,JS 运行再快也扛不住一次网络异常,所以网络优化内容非常多。...大公司都有自己 Hybrid H5 方案,小公司基本都去做小程序开发了;国外看似好一些,但做最好 twitter PWA,但我深度体验一年后,发现和 Native 应用比差距还是很大,这已经算全世界做最好...浏览器分类主要是一些不知道怎么分类浏览器特性,比如说 BFCache,Web 存储方案介绍等等,内容相对较杂。...Blog 链接 这部分内容是整理出 Blog 内容,对其标注了发布时间和文件标题,并对一些内容做了简评,方便后续搜索和查看。...2021-10-5: Best practices for using third-party embeds[52] 第三方嵌入内容(地图/视频/图片等)优化方案:延迟加载/图片占位图/交互再加载

    80340

    悲剧中,结了6 条最佳实践!

    大家好,是不才陈某~ 今天我们重点聊聊使用 Spring Event 最为关键几个问题。这是司线上生产环境实际踩坑后,总结极为宝贵经验!...前几天,线上系统出现两条异常日志Get Bean找不到对应bean,调用堆栈让非常迷惑,为什么Get Bean找不到对应Bean呢? 如下图所示 堆栈中信息 解释了原因。...什么业务特点适合发布——订阅模式 每一个优秀程序员都应该有自己工具箱,他能在不同业务场景选择最合适工具。 SpringEvent 适合哪些业务场景呢?...又或者每当新增一个业务逻辑需要新增一个Kafka消费组,并且在代码中解析订单消息,然后根据状态将事件发送给相应订阅者。总之需要把事件按照状态分发给对应监听者。...在发布事件,需要考虑事件订阅逻辑出现异常情况,提出三种解决办法 订阅者自行重试 订阅逻辑可自行重试保证成功。例如使用 Spring retry注解可以保证出现异常,重新执行该方法。

    5K12

    用四个命令,总结了 Git 所有套路

    搞不明白一个重要原因就是,命令功能太杂,有时候一个需求可以用好几种命令解决,而且有的命令还 tm 有别名。...对于工具学习,认为应该多做减法,只捡最有用学,那些奇技淫巧不学也罢,应该把时间投入更有价值事情中。...当我们在work dir中执行git add相关命令后,就会把work dir中修改添加到「暂存区」stage area(或者叫index area)中去,后文我们称暂存区为stage 区。...,认为不应该修改a.txt,想把它还原成stage中空文件,怎么办?...这个场景,说一个极端一点例子:比如我从 GitHub 上clone了一个项目,然后乱改了一通代码,结果发现代码根本跑不通,于是后悔了,干脆不改了,想恢复成最初模样,怎么办?

    47120

    程序员之路

    第一个能用程序是用php编写一个新闻系统,虽然在两年之后终于退役了,但是照样可以看到她影子。无论从技术上还是从构建上,也都是一个初学者水平。...渐渐在这里发现了很多文章,关于深刻探讨程序设计,专业程序设计,首先从系统架构入手程序设计,不仅仅是面向对象。...同样,现在Visualstudio好像将很多事简单化了,比如可视化菜单拖曳,对于软件设计者这并不是我们希望东西,也许从架构上不适合我们,或者从用途上不能满足我们。...最近一直在学习C#,但是觉得水平很难提高,也很少能看到大家开源高水平代码,这对于这个不错语言是一个坏习惯。...全栈程序员栈长,转载请注明出处:https://javaforall.cn/111145.html原文链接:https://javaforall.cn

    33220

    学编程最后悔事!

    这也是学编程 最后悔事 ,如果能早点醒悟,应该能学到更多知识,身体和头发也会更好些。 下面把这件事以及毕业后 自救方法 分享给大家,希望帮助大家少走弯路,高效学编程。...最后悔学编程最后悔事就是:做事不分主次,花了太多时间在技术无关纠结上。 举个例子,在大三学习微服务时候,独立开发了一个安卓 APP 叫 面试君主 。...要知道,是一个完全没有审美的程序员,本来在变量命名上就已经很纠结了,为什么还要花了这么多时间在自己不专业事情上! 大家肯定会问了,你怎么知道浪费了多少时间呢?...当然,这只是一个例子,在学编程,做过无意义纠结实在太多了。...这样一来,当我没有按照预期完成小任务,我会反思原因,并且动态调整剩余工作时间,以保证整体目标预期达成。 学编程 以前看书、看视频学习某项技术可能就是想学什么、点进视频就开始学了。

    47431

    程序员之路03:和大数据

    那么,Hadoop发挥着什么样作用? 在传统思维中,程序运行只占用运行程序主机计算资源,例如CPU和内存;文件只占用所在主机磁盘存储。...当处于ActiveNameNode无法工作,StandByNameNode会变成Active状态并接管工作。...实时计算 与离线计算对应就是实时计算,可以理解为无边界流式计算。数据就像河水一样,源源不断进入程序中。而程序也会一直运行,直到出现异常或者被人工停止。...这里简单模拟一下流处理: [模拟流处理] 如图,采集程序作为生产者,实时生成数据写入Kafka;Flink程序作为消费者,实时读取Kafka中数据源来进行计算处理,最终将计算结果写入Kafka或者HDFS...但是三年前,当那个少年第一次紧张低声地说出:“可以,能做好运维工作”时候,可能未料到今天他可以自信说出:"可以,能做好开发工作"。 人要忠于自己年轻梦想。

    38020
    领券