摘要:
写在前面
随着Java程序员的大幅增长和需求方对 Java 程序员提出更加严苛的选材标准,Java 程序员正面临着更加激烈的竞争。而在这其中,Java并发编程是一个优秀的开发者成长过程中绕不过去的挑战
在开发、测试以及调试多线程程序时存在着巨大的困难,因为并发性错误通常并不会以某种确定的方式显现出来。当这些错... 阅读原文
2020-09-29 08:00:23 阅读(2371) 评论(0)
摘要:
一、使用场景
1、不需要立即执行、立即得到结果返回。
2、如果执行失败、需要有失败补偿机制。
3、和业务代码解耦,适用于不同的务场景。
4、调用接口的入参、出参 统计,方便查询。
二、执行顺序
1、业务逻辑中,需要调用外部接口时,将参数组装好,往任务表中插入一条任务记录。(主要包括 任务类型、需要执行的类、方... 阅读原文
2020-09-28 21:22:02 阅读(2517) 评论(0)
摘要:
直接上源码:
public class Demo4 {
{
//这里是代码块
System.out.println("这里是代码块");
}
static {
//这里是静态代码块
System.out.println(... 阅读原文
2020-09-28 21:04:02 阅读(2311) 评论(0)
摘要:
本文源码:GitHub·点这里 || GitEE·点这里
一、IO流分类
1、分类角度
流的方向
输入流:从数据源中读取数据到应用中的流;
输出流:从应用中将数据写入到目的地的流;
流数据类型
字节流:以字节形式来读写的流,标识是名称以Stream结尾;
字符流:以字符形式来读写的流,标识是名称以Wr... 阅读原文
2020-09-28 20:26:05 阅读(2333) 评论(0)
摘要:
大家都知道okhttp是一款由square公司开源的java版本http客户端工具。实际上,square公司还开源了基于okhttp进一步封装的retrofit工具,用来支持通过接口的方式发起http请求。如果你的项目中还在直接使用RestTemplate或者okhttp,或者基于它们封装的HttpUtils... 阅读原文
2020-09-28 18:57:02 阅读(2400) 评论(0)
摘要:
服务端性能优化--最大QPS推算及验证
影响QPS(即吞吐量)的因素有哪些?每个开发都有自己看法,一直以为众说纷纭,例如:
QPS受编程语言的影响。(PHP是最好的语言?)
QPS主要受编程模型的影响,比如不是coroutine、是不是NIO、有没有阻塞?
QPS主要由业务逻辑决定,业务逻辑越复杂,QPS越... 阅读原文
2020-09-28 16:23:11 阅读(2476) 评论(0)
摘要:
前言
一直以来,硬件的发展极其迅速,在多核的CPU的背景下,催生了并发编程的趋势,通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升。面对复杂业务模型,并行程序会比串行程序更适应业务需求,而并发编程更能吻合这种业务拆分。正是因为这些优点,使得多线程技术能够得到重视,这个技术也是一名CS学习者... 阅读原文
2020-09-28 15:41:14 阅读(2401) 评论(0)
摘要:
前言
一直以来,硬件的发展极其迅速,在多核的CPU的背景下,催生了并发编程的趋势,通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升。面对复杂业务模型,并行程序会比串行程序更适应业务需求,而并发编程更能吻合这种业务拆分。正是因为这些优点,使得多线程技术能够得到重视,这个技术也是一名CS学习者... 阅读原文
2020-09-28 15:40:49 阅读(2364) 评论(0)
摘要:
Java 是很多人一直在用的编程语言,但是有些 Java 概念是非常难以理解的,哪怕是一些多年的老手,对某些 Java 概念也存在一些混淆和困惑。
所以,在这篇文章里,会介绍四个 Java 中最难理解的四个概念,去帮助开发者更清晰的理解这些概念:
匿名内部类的用法
多线程
如何实现同步
序列化
匿名内部类... 阅读原文
2020-09-28 13:56:06 阅读(2614) 评论(0)
摘要:
在日常的项目开发中,我们经常会遇到需要生成唯一ID的业务场景,不同的业务对唯一ID的生成方式与要求都会不尽相同,一是生成方式多种多样,如UUID、雪花算法、数据库递增等;其次业务要求上也各有不同,有的只要保证唯一性即可,有的需要加上时间戳,有的要保证按顺序递增等。以下是我结合实际业务中的使用总结了几种唯一ID... 阅读原文
2020-09-28 13:14:03 阅读(2438) 评论(0)