自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

科技D人生

做正确的事情永远都比把事情做对更重要。在错误的方向上努力再多也不如找到正确的方向。

  • 博客(23)
  • 资源 (8)
  • 收藏
  • 关注

原创 Java基础学习总结(161)——Java 重试机制

重试的作用:对于重试是有场景限制的,不是什么场景都适合重试,比如参数校验不合法、写操作等(要考虑写是否幂等)都不适合重试。远程调用超时、网络突然中断可以重试。在微服务治理框架中,通常都有自己的重试与超时配置,比如dubbo可以设置retries=1,timeout=500调用失败只重试1次,超过500ms调用仍未返回则调用失败。比如外部 RPC 调用,或者数据入库等操作,如果一次操作失败,可以进行多次重试,提高调用成功的可能性。优雅的重试机制要具备几点:无侵入:这个好理解,不改动当前的业务逻辑,

2020-09-29 14:42:58 978

转载 支付业务与技术架构学习总结(11)——支付中台的几个面向:支付业务、资金核算、面向风控等切面

一、概述在1.0的支付系统中,我们遇到了诸多问题。痛定思痛,我们决心对支付系统做一次架构升级。那么,怎么去做支付系统的架构升级呢?我们从两个方面来进行架构升级梳理: 巨大的单体应用必须要拆分,在拆分之前,需要确定业务、系统边界,并对支付业务进行建模。 构建完整的资金核算体系,以能够清晰地知晓各类业务的流水、收入、支出等。支付系统 2.0 - 拆分系统边界,拆分单体应用之前,从三个维度对边界进行拆分: 基于业务,拆分为面向支付业务和面向资金核算两套体系。 基于场景,..

2020-09-27 09:25:26 2714

转载 支付业务与技术架构学习总结(10)——第三方支付账务系统论述

一、第三方支付账务系统设计首先谈一下支付公司账务系统如何设计。关于如何记账,国内长期以来有两个发展方向,一个是以金蝶、用友为代表的财务系统,另一个是以银行为代表的银行账务核心系统。这两种账务系统都是用来记账,但设计理念上有很大差别,财务系统以科目为中心,记账必谈科目,银行账务系统以账户为中心,记账必谈账户。从账户数量来讲,支付公司几千万甚至上亿的账户数量,金蝶、用友这种财务系统是支撑不起来的。基本上,对于支付公司的账务系统应该参考银行账务核心系统来设计,这一点在业界已经达成共识。这里谈的的账务系统,

2020-09-27 09:09:46 1933 4

转载 支付业务与技术架构学习总结(9)——银行核心系统之清算体系

支付清算系统是经济金融活动的基础性支撑。支付、清算体系建设是金融理论与实践的重点课题。本文主要描述了支付系统建设的发展历程及构成,分析了银行内部清算体系设计,有利于快速建立起金融服务体系思路。希望略尽绵薄之力,让刚入行的银行IT人少一些困惑,多一些兴趣,早一些进入高速成长期。也希望更多的有经验的老师多提意见,不吝赐教,共同完善本公众号中,关于“银行核心系统”的系列文章,为这个市场做一点小事情。同时也让对银行核心感兴趣的企业,多一些对业务和技术上的了解。总有人要做的,那就由愚笨的笔者来抛砖引玉吧!笔者小小的.

2020-09-27 09:03:37 7092

原创 Linux学习总结(61)——Ansible 快速入门学习

一、基本概述ansible是一款开源自动化工具,基于python paramiko模块开发,分布式,无需客户端官网网址:https://www.ansible.com官方文档:https://docs.ansible.com/ansible/latest/user_guide/become.html二、应用场景批量执行和分发任务#如:同时在1000台服务器上安装apache服务,并在安装后启动服务#如:将某一个文件一次性拷贝到1000台服务器上三、特点部署简单,只

2020-09-25 17:09:29 385

转载 支付业务与技术架构学习总结(8)——支付系统设计包含:账户,对账,风控...

账户体系是支付系统的基础,它的设计直接影响整个系统的特性。这里探讨如何针对电子商务系统的支付账户体系设计。我们从一些基本概念开始入手,了解怎么建模。支付账户和登录账号账户体系设计首先要区分两个概念,支付账户和登录账号。这是两个不同业务领域的概念:支付账户指用户在支付系统中用于交易的资金所有者权益的凭证;登录账号指用户在系统中的登录的凭证和个人信息。一个用户可以有多个登录账户,一个登录账户可以有多个支付账户,比如零钱账户,储值卡账户等。一般来说,支付账户不会在多个登录账户之间共用。如果没有特..

2020-09-25 16:58:28 5273

原创 Linux学习总结(60)——Linux系统常用命令速查手册

一、系统信息arch#显示机器的处理器架构(1)uname-m#显示机器的处理器架构(2)uname-r#显示正在使用的内核版本dmidecode-q #显示硬件系统部件-(SMBIOS/DMI)hdparm-i/dev/hda #罗列一个磁盘的架构特性hdparm-tT/dev/sda #在磁盘上执行测试性读取操作cat/proc/cpuinfo #显示CPUinfo的信息cat/proc/interr...

2020-09-23 09:01:00 1358

原创 Redis学习总结(18)——Redis 常见面试题复习

1.Redis 是一个基于内存的高性能key-value数据库。2.Redis相比memcached有哪些优势:memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型 redis的速度比memcached快很多 redis可以持久化其数据3.Redis是单线程redis利用队列技术将并发访问变为串行访问,消除了传统数据库串行控制的开销4.Reids常用5种数据类型string,list,set,sorted set,hash6.Reids6种淘

2020-09-21 08:48:59 396

转载 Linux学习总结(59)——为什么建议大家使用 Linux 开发

Linux 能用吗?我身边还有些朋友对 linux 的印象似乎还停留在黑乎乎的命令行界面上。当我告诉他或者建议他使用 linux 时,会一脸惊讶的问我,那个怎么用(来开发或者日常使用)?Linux 有图形界面桌面启动器文件管理器设置这是我使用了近两年的“国产”操作系统deepin,界面美不美观我不知道,能用是肯定的。关于其他 linux 可以参考:八款精美的 Linux 发行版!2018年10大最漂亮的 Linux 发行版展望2017年的..

2020-09-21 08:44:12 1094

转载 Java基础学习总结(160)——JDK15正式发布,划时代的ZGC同时宣布转正

✍前言2020年9月15日,JDK15正式发布,可谓如约而至。按照Java SE的发展路线图,JDK14自此停止更新。值得注意的是JDK15并非「LTS」版本,Oracle官方对Java SE的支持路线图如下:JDK8的扩展支持时间超过了JDK11,Oracle你是认真的吗?那么自Java11之后,哪个版本才是LTS版本呢?Oracle官方并没给出具体参考路线图,但可参考OpenJDK的这张:可以看到「JDK17」将是下一个LTS版本,预计发版日期是2021年9月份。当然喽这只是Open

2020-09-18 15:09:49 2586 8

原创 Java基础学习总结(159)——JDK15 正式发布了!新增14个新特性

前言2020-09-15 Oracle 如期发布了JDK15了。在的 JDK 真变成了“版本帝”,无力吐槽啊,版本发到 15,大部分人却都还在用着 JDK 7/8,甚至 6。不过作为技术人员来说关注新技术。学习新技术应该是人生的常态。OracleJDK 15 发布地址:https://www.oracle.com/java/technologies/javase/15all-relnotes.htmlOpenJDK 15 发布地址:https://openjdk.java.net/

2020-09-17 09:19:56 491 1

原创 Windows学习总结(20)——Win10 子系统Linux(Ubuntu 18.04)的安装与卸载

话说微软对Linux 越来越友好了。我们可以选择从微软应用商店下载安装Ubuntu子系统。安装之前需要做一下设置。以对虚拟化的支持。安装完成后截图:如要卸载输入如下命令:

2020-09-15 16:55:22 1353

转载 Linux学习总结(58)——生产环境运维故障处理指南

1、故障处理原则故障处理的原则只有两个:以恢复业务优先 及时升级1.1、恢复业务优先恢复业务优先是指,不管在任何情况下,也不管任何级别的故障,都要先做到恢复业务,这个和故障定位不同,也有很多人会产生歧义,觉得如果不找到问题的根源,如何能恢复业务,下面我举一个例子说明二者的差别:如果 A 应用调 B 应用时,调用失败,这时我们要怎么做?方法一,排查问题,寻找A到B之间会经过哪些环节,找到其中的出问题的环节,比如HA连接异常,进行重启或者扩容恢复。方法二,从A应用的服务器去ping

2020-09-11 13:54:24 1128

原创 鸿蒙OS代码正式开源!!!

鸿蒙OS代码正式开源!!!鸿蒙官网同步正式上线!!!这是中国软件行业值得记录的时刻!!!开源代码地址:https://openharmony.gitee.com/openharmony。134个仓,每个仓求赞求Star!没有人能熄灭漫天星火,每一位开发者都是社区要汇聚的星星之火!!!鸿蒙官网:https://www.harmonyos.com开源项目官网:https://www.openatom.org/openharmony开源代码仓库:https://openharmony.g

2020-09-11 10:10:14 7862

原创 Spring Boot学习总结(23)——Spring Boot 实践经验总结

1、使用 BOM 维护第三方依赖Spring Boot 项目本身使用和集成了大量的开源项目,它帮助我们维护了这些第三方依赖。但是也有一部分在实际项目使用中并没有包括进来,这就需要我们在项目中自己维护版本。如果在一个大型的项目中,包括了很多未开发模块,那么维护起来就非常的繁琐。怎么办呢?事实上,Spring IO Platform 就是做的这个事情,它本身就是 Spring Boot 的子项目,同时维护了其他第三方开源库。我们可以借鉴 Spring IO Platform 来编写自己的基础项目 platf

2020-09-10 10:00:26 1748

转载 Mysql学习总结(81)——为什么MySQL不推荐使用uuid或者雪花id作为主键?

前言在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?本篇博客我们就来分析这个问题,探讨一下内部的原因。一、Mysql和程序实例1.1.要说明这个问题,我们首先来建立三张表分别是user_auto_key,user_uuid,user_random_key,分别表示自动增长的主键,uuid作为

2020-09-09 13:33:57 304

转载 消息中间件学习总结(21)——RocketMQ 消息丢失场景分析及如何解决!

项目中使用了MQ,那么就不可避免的需要考虑消息丢失问题。在一些涉及到了金钱交易的场景下,消息丢失还是很致命的。那么在RocketMQ中存在哪几种消息丢失的场景呢?先来一张最简单的消费流程图:上图中大致包含了这么几种场景: 生产者产生消息发送给RocketMQ RocketMQ接收到了消息之后,必然需要存到磁盘中,否则断电或宕机之后会造成数据的丢失 消费者从RocketMQ中获取消息消费,消费成功之后,整个流程结束 这三种场景都可能会产生消息的丢失,如下图所示:1

2020-09-09 13:26:55 434

原创 Java基础学习总结(158)——开发Leader如何做CodeReview

一、目标和原则提高代码质量,及早发现潜在缺陷,降低修改/弥补缺陷的成本 促进团队内部知识共享,提高团队整体水平 评审过程对于评审人员来说,也是一种思路重构的过程,帮助更多的人理解系统 是一个传递知识的手段,可以让其它并不熟悉代码的人知道作者的意图和想法,从而可以在以后轻松维护代码 可以被用来确认自己的设计和实现是一个清楚和简单的 鼓励相互学习对方的长处和优点 高效迅速完成Code Review二、流程和规则采用Git Flow + Pull Request(PR)模式来做Code Re

2020-09-07 19:37:42 1121

原创 Java基础学习总结(157)——国产开源JDK来了

简介Alibaba Dragonwell 是一款免费的, 生产就绪型Open JDK 发行版,提供长期支持,包括性能增强和安全修复。阿里巴巴拥有最丰富的Java应用场景,覆盖电商,金融,物流等众多领域,世界上最大的Java用户之一。Alibaba Dragonwell作为Java应用的基石,支撑了阿里经济体内所有的Java业务。Alibaba Dragonwell完全兼容 Java SE 标准,您可以在任何常用操作系统(包括 Linux、Windows 和 macOS)上开发 Java 应用程序, 运行

2020-09-07 10:06:19 394

原创 Redis学习总结(18)——Redis 常见的使用场景汇总

1、缓存缓存现在几乎是所有中大型网站都在用的必杀技,合理的利用缓存不仅能够提升网站访问速度,还能大大降低数据库的压力。Redis提供了键过期功能,也提供了灵活的键淘汰策略,所以,现在Redis用在缓存的场合非常多。2、排行榜很多网站都有排行榜应用的,如京东的月度销量榜单、商品按时间的上新排行榜等。Redis提供的有序集合数据类构能实现各种复杂的排行榜应用。3、计数器什么是计数器,如电商网站商品的浏览量、视频网站视频的播放数等。为了保证数据实时效,每次浏览都得给+1,并发量高时如果每次都请

2020-09-03 16:04:25 346

原创 Java基础学习总结(156)——那些年被淘汰的Java技术及框架

一、SwingSwing 算是 Java 早期代替 AWT 的桌面应用 GUI 开发工具包,一个听到就已经淘汰的技术,给我的感觉就是丑丑丑!现在与 AWT 一起在时间这个长河里长眠。如果 Java GUI 库发展历程分为三代,可以是:AWT > SWING > JAVAFX随着 JavaFx 的发布,加速 SWING 的被淘汰。下面这个是用 JavaFx 开发的:现在 JavaFx 也有十来年了,虽然这篇帖子也在说 JavaFx 淘汰了的,只是现在桌面应用不是主流

2020-09-03 15:59:08 1177 1

转载 Dubbo学习总结(11)——Dubbo3.0 - 开启下一代云原生微服务

导读:本文整理自作者于 2020 年云原生微服务大会上的分享《Dubbo3.0 - 开启下一代云原生微服务》,主要介绍了关于思考 rpc 框架层面,功能演进的方向是什么?以及怎么更好地支持云上的多语言开发的新思考。看到这个题目,大家可能会有几个问题,比如,什么是云原生微服务?Dubbo3.0 是什么?和目前的 Dubbo2.0 有什么区别?用了 Dubbo3.0 会带来哪些业务视角的好处?后面的分享会对这些问题逐一解答。这次分享分为以下几个环节: Dubbo 的演进历史 Dubbo

2020-09-03 10:18:18 979

原创 消息中间件学习总结(20)——主流MQ比较及MQ常见使用场景总结

前言MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据机构。指把要传输的数据(消息)放在队列中,用队列机制来实现消息传递——生产者产生消息并把消息放入队列,然后由消费者去处理。消费者可以到指定队列拉取消息,或者订阅相应的队列,由MQ服务端给其推送消息。消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。解耦:一个业务需要多个模块共同实现,或者一条消息有多个系统需要对应处理,只需要主业务完成以后,.

2020-09-02 13:35:15 567

Kubernetes 实用技巧大全

K8S 实用命令总结

2021-12-22

Javag工程师简历模版.zip

Java 工程师简历专用模版,供技术人员参考,如何写出好看实用的Java 简历。相关技术从业人员的简历书写可参考改压缩包中的两份简历模版。

2020-08-06

清华-2018人工智能之自动驾驶研究报告.pdf

自动驾驶技术已经成为整个汽车产业的最新发展方向。应用自动驾驶技术可以全面提升汽车驾驶的安全性、舒适性,满足更高层次的市场需求等。自动驾驶技术得益于人工 智能技术的应用及推广,在环境感知、精准定位、决策与规划、控制与执行、高精地图与车联网 V2X 等方面实现了全面提升。

2019-09-02

最新版Myeclipse2018.8破解

最新版Myeclipse2018.8破解,亲测100%有效,欢迎大家下载尝试!

2018-08-25

容器网页终端(websocket-webshell)

Java WebSockt DockerSSH Html5 Tomcat8 等技术写的WebShell 容器网页终端 传统websockt终端和容器化终端解决方案!

2017-09-23

开源博客系统

博客系统

2016-09-22

短信平台,activemq 及常用第三方短信平台接入

短信平台

2016-09-22

netty推送系统

netty推送系统,点对点推送

2016-07-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除