Java相关
文章平均质量分 79
程序员学习圈
值得去的地方,没有捷径;难走的路,才更值得开始!
展开
-
Dubbo 详细介绍
Dubbo 从入门实战:https://segmentfault.com/a/1190000019896723 Dubbo 和 Spring Cloud 有什么区别:https://www.jianshu.com/p/3090d63e9cb3 dubbo和webservice 区别:https://blog.csdn.net/AlbenXie/article/detai...原创 2020-04-29 00:36:14 · 213 阅读 · 0 评论 -
RPC 详细介绍
RPC非常重要,很多人面试的时候都挂在了这个地方!你要是还不懂RPC是什么?他的基本原理是什么?你一定要把下边的内容记起来!好好研究一下!特别是文中给出的一张关于RPC的基本流程图,重点中的重点,Dubbo RPC的基本执行流程就是他,RPC框架的基本原理也是他,别说我没告诉你!看了下边的内容你要掌握的内容如下,当然还有很多:1、RPC的由来,是怎样一步步演进出来的;2、RPC的基本架构是...原创 2020-04-28 22:05:39 · 1169 阅读 · 0 评论 -
如何实现远程通信
参考网址:https://www.jianshu.com/p/b8125b749af3原创 2020-04-28 21:57:09 · 1345 阅读 · 0 评论 -
Bug的严重程度(Severity)和Bug修复优先级(Priority)如何定义
Priority()和Severity(严重程度)是Bug的两个重要属性。通常,人员在提交Bug时,只定义Bug的Severity, 即该Bug的严重程度,而将Priority交给Project Leader 或Team Leader来定义,由他们来决定该Bug被修复的优先等级。某种意义上来说,Priority的定义要依赖于Severity,在大多数情况下,Severity越严重,那这个B...原创 2019-01-17 15:18:10 · 3335 阅读 · 0 评论 -
sonar 使用详解
想要养成良好的编码习惯吗?想要防微杜渐,修复可能引发故障的代码缺陷吗? 代码内聚性指标、代码复杂度、代码的重复性检查、包之间的依存度以及代码冲突性等,可以非常直观的通过sonar看到这些数据。 学习地址:https://www.sonarqube.org/...原创 2019-01-17 15:00:59 · 2308 阅读 · 0 评论 -
lombok 使用详解
1.Lombok是什么 现在看一下Lombok官方对其进行的解释:Lombok官网:https://projectlombok.org 第一句话,Lombok项目是一种自动接通你的编辑器和构建工具的一个Java库。接着,不用再一次写额外的getter或者equals方法。翻译到这里其实就可以,后面是对Lombok早期应用的介绍。通过这两句话不难理解lombok其实就是帮助我...原创 2019-01-04 15:20:59 · 3693 阅读 · 0 评论 -
Swagger 使用详解
前言:作为一个以前后端分离为模式开发小组,我们每隔一段时间都进行这样一个场景:前端人员和后端开发在一起热烈的讨论"哎,你这参数又变了啊","接口怎么又请求不通了啊","你再试试,我打个断点调试一下.."。可以看到在前后端沟通中出现了不少问题。 对于这样的问题,之前一直没有很好的解决方案,直到它的出现,没错...这就是我们今天要讨论的神器:swagger,一款致力于解决接口规范化、...原创 2019-01-04 11:10:05 · 987 阅读 · 0 评论 -
Transaction 那点事儿
Transaction 也就是所谓的事务了,通俗理解就是一件事情。从小,父母就教育我们,做事情要有始有终,不能半途而废。 事务也是这样,不能做一般就不做了,要么做完,要么就不做。也就是说,事务必须是一个不可分割的整体,就像我们在化学课里学到的原子,原子是构成物质的最小单位。于是,人们就归纳出事务的第一个特性:原子性(Atomicity)。我靠,一点都不神秘嘛。 特别是在数据库领域...原创 2018-12-18 10:20:51 · 235 阅读 · 0 评论 -
分布式锁的多种实现方式
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致...原创 2018-05-11 11:48:47 · 199 阅读 · 0 评论 -
crontab 定时调度
1.crontab 任务调度1.1 crontab 常用命令 • 查看状态 service crond status • 停止状态: service crond stop • 启动状态: service crond start • 编辑 crontab 定时任务 crontab –e • 查询 crontab 任务 crontab –l...原创 2017-12-24 18:19:00 · 371 阅读 · 0 评论 -
Java中DO、DTO、BO、AO、VO、POJO、Query 命名规范
1.分层领域模型规约: • DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象。 • DTO( Data Transfer Object):数据传输对象,Service或Manager向外传输的对象。 • BO( Business Object):业务对象。 由Service层输出的封装业务逻辑的对象。 • AO( Ap...原创 2017-12-23 22:04:47 · 7958 阅读 · 0 评论 -
正册表达式详解
1. 正则表达式 -简介 正则表达式,又称规则表达式,英文名为Regular Expression,在代码中常简写为regex、regexp或RE,是计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。 正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这...原创 2017-12-04 16:33:07 · 437 阅读 · 0 评论 -
Java BIO NIO AIO 模型介绍和使用样例
在计算机的世界中,IO操作是不可避免的一个话题,IO操作涉及到的阻塞,非阻塞,同步和异步这些概念常常让我感到混乱,为此,专门抽出时间对这些概念做了一下简单的研究,记录如下。希望可以帮助还在这些概念中挣扎的同学。1.阻塞,非阻塞,同步和异步 IO操作实际上可以分为两步:发起IO请求和实际的IO操作。如果在第一步发起IO请求时发生阻塞,那么这个IO操作就可以说阻塞的,否则是非阻塞的。如果在第二步实际IO操作时发生阻塞,那么这个IO操作就是同步的,否则就是异步的。 换种说法,阻塞和非阻塞是指原创 2017-08-24 16:52:02 · 1015 阅读 · 0 评论 -
Java BIO NIO AIO 详解
BIO、NIO、AIO的区别:BIO就是基于Thread per Request的传统server/client实现模式,NIO通常采用Reactor模式,AIO通常采用Proactor模式,AIO简化了程序的编写,stream的读取和写入都有OS来完成,不需要像NIO那样子遍历Selector。Windows基于IOCP实现AIO,Linux只有eppoll模拟实现了AIO。Java7之前的JDK只支持NIO和BIO,从7开始支持AIO。4种通信方式:TCP/IP+BIO, TCP转载 2017-08-24 12:03:00 · 542 阅读 · 0 评论 -
JAVA BIO NIO AIO 的理解
在高性能的IO体系设计中,有几个名词概念常常会使我们感到迷惑不解。具体如下: 序号 问题 1 什么是同步? 2 什么是异步? 3 什么是阻塞? 4 什么是非阻塞? 5 什么是同步阻塞? 6 什么是同步非阻塞? 7 什么是异步阻塞? 8 什么是异步非阻塞? 散仙不才,在查了一部分资料后,愿试着以通俗易懂的方式解释下这几个名词。如有不足之处,还望告知,在弄清楚上面的几个问题之前,我们首先得明白什么是同步,异步,阻塞,非阻塞,只有这几个单个概念理解清楚了,然后在组合理解起来,就相对比较容易原创 2017-08-24 11:06:59 · 384 阅读 · 0 评论 -
Java实现加密与减密
Java 实现加密与减密只要使用在网络传输,支付等相关领域,下面分别从以下几个方面进行讲解:1.Java实现Base64加密;2.Java实现 消息摘要算法加密;3.Java实现对称加密;4.Java实现非对称加密;5.Java实现数字签名。1.Java实现Base64加密:(1) 概述 按照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。(2) 常用术语 明文:待加密信息。原创 2017-08-23 22:21:43 · 1630 阅读 · 0 评论 -
支付那点事
1.支付发送请求参数步骤:1.1 根据接口文档封装需要的请求参数parent(key=values的形式)。1.2 进行签名(sign): • 将封装的请求参数进行排序 • 私钥 • RSA非对称加密(对上面的parent和私钥进行非对称 加密)1.3 将sign的key values形式 附加在parent后面进行以Json格式发送。 2.同步接...原创 2017-08-23 18:11:49 · 607 阅读 · 0 评论 -
Java 实现邮箱验证
1.Java实现用户注册,邮箱验证码激活的核心代码:1.1 在RegisterServlet 用户注册类中public class RegisterServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doG...原创 2017-08-22 23:07:35 · 5350 阅读 · 0 评论 -
Java 实现高并发秒杀
1 需求分析和技术难点:1.1 分析: 秒杀的时候:减少库存和购买记录明细两个事件保持在同一个事物中。 使用联合查询避免同一用户多次秒杀同一商品(利用在插入购物明细表中的秒杀id和用户的唯一标识来避免)。1.2 秒杀难点:事务和行级锁的处理 1.3 实现那些秒杀系统(以天猫的秒杀系统为例) 1....原创 2017-08-20 20:16:42 · 58247 阅读 · 8 评论 -
Java8 新特性
新特性简介: 在很多情况下,Java8都能提升应用性能,而无需任何改变或性能调优。 Lambda 表达式、 Streams API 以及现有类的新方法都是提高生产力的重要工具。 Java8 新推出的 Optional 类型在处理 null 值时,能减少 NullPointerExceptions 的可能性,给开发者极大的灵活度。 具体如下: ...原创 2017-07-09 23:30:02 · 952 阅读 · 1 评论