![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码分析
文章平均质量分 88
赵润泽同学
这个作者很懒,什么都没留下…
展开
-
关于异常的方方面面
从业务、虚拟机、rpc框架等角度分析异常原创 2022-11-19 11:26:10 · 450 阅读 · 1 评论 -
QLexpress源码解析
一. 流程分析表达式: 10 * 10 + 1 + 2 * 3 + 5 * 21:整体处理被 ExpressRunner 托管,可以在这个类里开启一些运行时辅助功能,比如 是否使用Cache中的指令集、是否输出详细的执行指令信息 等等,。首先调用这个方法 ExpressRunner#execute(Sting,IExpressContext):Object ,第一个参数是表达式,第二个是上下文。2:然后调用 ExpressRunner#parseInstructionSet(String): Ins原创 2021-08-08 20:25:25 · 1618 阅读 · 1 评论 -
【SEATA源码分析】 rm-datasource 模块源码解析
一 . 导读前几篇模块分析的时候说到,spring模块中的 GlobalTransactionScanner 实现了InitializingBean 这个接口类,重载 postProcessAfterInitialization() 方法,在这个方法中,判断被扫描的bean是否是 DataSource 类型,如果是,用 DataSourceProxy 替换。而 @GlobalTransact...原创 2019-12-02 23:27:36 · 968 阅读 · 0 评论 -
【SEATA源码分析】 tm 模块源码解析
一 .导读首先放一张tm模块的主要类关系图:从图中可以很明显的看出,模块暴露出去的类是 TransactionalTemplate ,模板类中找 GlobalTransactionalContext 类获取业务业务类,而业务类持有了一个 TrancationManagerHolder 类,即由 TransactionManager 的实现类封装成的单例持有类,holder 通过SPI的方式加...原创 2019-11-30 11:44:11 · 1152 阅读 · 0 评论 -
springboot,接阿里云消息rocketmq (二),优雅的使用mq
上一篇文章仅仅使用了CommandLineRunner和@Configuration、@component等注解,如果仅仅是自己玩足够了,但是用在生产,实在不够优雅。再加上,之前玩过rabbitmq的starter,于是想弄一个rocketmq的starter。不想重复造轮子,于是谷歌了一下,发现alibaba开源了一个starter,扩展spring-cloud-stream,优雅的进行mq的...原创 2019-03-25 15:12:47 · 2103 阅读 · 0 评论 -
springboot中使用quartz进行定时任务操作
在springboot中使用quartz进行定时结算操作,并使用feign跨服务调用数据。原创 2018-11-22 12:04:41 · 13019 阅读 · 4 评论 -
基于SSM实现图片、文件、excel的导入导出
本次ssm框架的搭建都是正常的配置,除了下面说的包,只需要引入增删改查所需要的包即可。<!-- Map工具类 --> <dependency> <groupId>commons-collections<原创 2018-06-14 19:17:36 · 1591 阅读 · 2 评论 -
在线汇率转换,用json解析数据,支持偏好设置。
默认启动Activity背景是一张图片,启动时后台加载汇率数据,加载成功后进入另一个与用户交互Activity 首先分析JsonParser代码package com.example.zhaorunze.currencies;import android.util.Log;import org.json.JSONException;import org.json.JSONObject;impor原创 2017-04-21 22:31:36 · 680 阅读 · 0 评论 -
Android的别踩白块开发,使用SurfaceView(一)。
编写这个程序之前,你需要对SurfaceView有一定的了解。 View是使用UI主线程开发的,如果UI主线程任务过于繁重,那么UI主线程将阻塞。 SurfaceView是直接从内存和DMA等取得数据,而且SurfaceView可以通过主线程之外的线程更新UI。 被动更新:通过点击事件等更新。(VIEW) 主动更新:一直在更新。(Surface) 这是游戏结束时弹出的对话框,为了避免原创 2017-04-13 17:51:44 · 2159 阅读 · 0 评论 -
Android的别踩白块开发,使用SurfaceView(二)
private void initView() { mPianoTilesView = (PianoTilesView) findViewById(R.id.pianoTilesView); mCountDownView = (CountDownView) findViewById(R.id.countTextView); mMarkRela = (原创 2017-04-20 22:14:39 · 956 阅读 · 1 评论