捉虫大师 捉虫大师
4年前
Java问题排查分享
前言最近翻看以前写的PPT,发现了在2019年做的一次技术分享,关于Java问题排查,由于没什么公司机密可言,整理下分享给大家线上问题处理流程直接放PPT截图吧,现在看来依然不过时问题排查可从三个方面入手知识:有些问题,思考一下就有答案,就像传说中多隆那样,回忆下就知道第83行代码有问题工具:当然不是每个人都能做到过目不忘,也有可能这代码完全
kenx kenx
4年前
Java自定义注解使用和详解
前言我们在做开发springboot项目时候会遇到各种各样注解,使用各种各样注解,极大的简便了我们开发流程,方式,从JDK5开始支持注解是Java语言的一种强大的功能可以理解为代码上的特殊标记,通过这些标记我们可以在编译,类加载,运行等程序类的生命周期内被读取、执行相应的处理。通过注解开发人员可以在不改变原有代码和逻辑的情况下在源代码中嵌入补充信息自定
Wesley13 Wesley13
4年前
java学习过程
一、序JAVA的学习路线,在网上可以看到一大堆学习路线的图片,那么当我们学习了基本语言语法,常用的开发工具,常用的集成框架之后满足了现有的公司的项目需求,可以轻松应付日常所见的开发任务,一段时间后我发现工作就只剩下了增删改查,即时有新框架需要熟悉,也是马上拿过来按旧有的流程改造一同,实现一个特定的需求
Wesley13 Wesley13
4年前
PHP超时处理全面总结
【概述】在PHP开发中工作里非常多使用到超时处理到超时的场合,我说几个场景:1.异步获取数据如果某个后端数据源获取不成功则跳过,不影响整个页面展现2.为了保证Web服务器不会因为当个页面处理性能差而导致无法访问其他页面,则会对某些页面操作设置3.对于某些上传或者不确定处理时间的场合,则需要对整个流程中所有超时设置为无限,否则任何一个环节设置
Wesley13 Wesley13
4年前
Activiti6系列(1)
前言本文是根据《疯狂工作流讲义Activiti6.0》一书中提取过来的,有兴趣的可以去当当网买这本书,讲的很不错,最后还有实战案例。虽然是提取过来的,但完全靠手打梳理,觉得有用的小伙伴可以给予一定支持,谢谢。<br共分为六大部分1、通用数据表2、流程存储数据表3、身份数据表4、运行时数据表5、历史数据
Stella981 Stella981
4年前
Guava中的EventBus
其实代码中经常会遇到跟主流程分支出去的异步逻辑,比如说:爬虫处理逻辑中,进行心跳打点,订单处理中,需要触发用户的个人信息变更等。这个时候就应该使用观察者模式。EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现。对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建
Stella981 Stella981
4年前
Android音频
前言音频可视化,顾名思义就是将声音以视觉的方式呈现出来。如何将音频信号绘制出来?如何将声音的变化在视觉上清晰的表现出来,让视觉和听觉上的感受一致?这些在Android上如何实现?本文将针对这些问题做出解答,尽量对Android上的音频可视化实现做一个全面的介绍。傅里叶变换Android音频播放的一般流程是:1.
Stella981 Stella981
4年前
Play1.2.x源代码概读
说到阅读源码,阅读的方法很重要。如果逐个类逐个类的看,看到有关联的类,就跳进去看,这样效率非常低,根本看不出整个框架的逻辑思想,重要的是容易磨灭那股看代码的冲劲。看源码,起码该知道框架是从哪里启动,先从自己熟悉、感兴趣的模块下手,结合IDE一步一步debug下去,然后逐个模块攻破。首先,简单介绍一下普通web框架大致的工作流程:1.http请
Stella981 Stella981
4年前
Http的会话token验证优化
这里只是优化思路的一个具体应用场景。在服务进程中收到一个http请求的时候会对客户端携带的token进行验证,一般token会有有效期的。这个一般可用于登录合法验证。一般流程会是这样:服务进程redis验证token等信息,再处理业务。如果服务进程数量上万个的话,那么单着一个验证token代价就会很庞大。几万个进程都会链接这个token集群进
Wesley13 Wesley13
4年前
thinkphp 消息队列
当前笔记中的内容针对的是thinkphpqueue的v1.1.2版本,现在官方已经更新到了v1.1.3版本,下文中提到的几个Bug在最新的master分支上均已修复。笔记中的部分内容还未更新。传统的程序执行流程一般是即时|同步|串行的,在某些场景下,会存在并发低,吞吐量低,响应时间长等问题。在大型系统中,一般会引入消息队列的组件,将流