- 博客(5)
- 收藏
- 关注
原创 python异常(概念、捕获、传递、抛出)_异常python
而在主函数中调用的其他函数,只要出现异常,都会传递到主函数的。,下方编写要尝试代码,不确定是否能够正常执行的代码。finally无论是否有异常,都会执行的代码。简单异常捕获演练 —— 要求用户输入整数。异常类型捕获演练 —— 要求用户输入整数。有关完整语法的应用场景,在后续学习中,else只有在没有异常时才会执行的代码。,这个时候,就需要捕获错误类型了。这样就不需要在代码中,增加大量的。,可以再增加一个except。在开发中,可以在主函数中增加。在主程序中调用demo2(),下方编写尝试失败的代码。
2025-01-12 09:01:09
347
原创 Python实现将多个Excel表格数据一键合并到一个表格,轻松提升办公效率!_paython将多个excel列去重汇总到一起
本文下面Python构建的办公自动化项目都有详细的配套教程以及源码,都已经打包好上传到百度云了,链接在文章结尾处!咱们需要先准备表格数据,会爬虫的兄弟可以自己爬一点,不会的,可以找我直接拿数据。我这里只做展示,所以只用了五个表,咱们今天是将市级合并为省级。全部代码都分享给大家,咱不喜欢藏着掖着。可以看到,数据成功的合并到一个表格去了。
2025-01-12 08:57:27
140
原创 CompletionService批量执行异步任务
当需要批量提交异步任务的时候建议你使用CompletionService。CompletionService将线程池Executor和阻塞队列BlockingQueue的功能融合在了一起,能够让批量异步任务的管理更简单。CompletionService能够让异步任务的执行结果有序化,先执行完的先进入阻塞队列,利用这个特性,你可以轻松实现后续处理的有序性,避免无谓的等待,同时还可以快速实现诸如Forking Cluster这样的需求。
2025-01-10 18:22:12
379
原创 CMS垃圾回收器详解_cmsparallelremarkenabled
因此对于老年代来说,引用了老年代中对象的新生代的对象,也会被老年代视作“GC ROOTS”:当此阶段耗时较长的时候,可以加入参数-XX:+CMSScavengeBeforeRemark,在重新标记之前,先执行一次ygc,回收掉年轻带的对象无用的对象,并将对象放入幸存带或晋升到老年代,这样再进行年轻带扫描时,只需要扫描幸存区的对象即可,一般幸存带非常小,这大大减少了扫描时间。如果发现这两个参数设置大了会导致fullgc,设置小了会导致频繁的cmsgc,说明你的老年代空间过小,应该增加老年代空间的大小了;
2025-01-10 18:14:46
888
原创 Choreographer机制和卡顿优化
简单来说就是当调用了nativeScheduleVsync方法时,当屏幕需要刷新的时候,也就是每隔16.6ms会通过native的looper分发到java层,从而调用java的方法,那是哪个方法呢?举个例子,比如屏幕显示的是第一帧,你在第一帧调用invalidate,其实并不是立即刷新的,而是在一帧会去注册一个Vsync(前提是这一帧cpu空闲情况下),当下一帧来临时也就是第二帧的时候会调用dispatchVsync此方法,当然这是一种比较简单的情况,复杂的等会说。
2025-01-10 18:11:04
453
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人