- 博客(13)
- 收藏
- 关注
原创 Spring Cloud Alibaba微服务内部Dubbo RPC通信
一、为什么要集成Dubbo RPC 在国内建设微服务有Dubbo和Spring Cloud两种主流方案可供选择。Dubbo是服务治理与RPC实现方案(可能理解为一个分布式通信框架),虽然在国内有着非常大的用户群体,但是其周边设施与组件相对来说并不那么完善。而Spring Cloud则是一套完整的分布式微服务架构解决方案,很多开发者更希望享受Spring cloud全家桶生态。 在Spring Cloud构建的微服务系统中,大多数的开发者使用都是官方提供的Feign组件来进...
2021-03-22 20:52:49
663
1
原创 达梦数据库(DM8)相关概念理解
按照国人的习惯,达梦的汉语拼音是DaMeng,简称DM,DM现阶段主要推出的是DM7和DM8数据库产品,是达梦公司具有完全自主知识产权的高性能数据库管理系统,可以说是国产数据库里的正规军。 DM8则是在总结DM系列产品研发与应用经验的基础上,坚持开放创新、简洁实用的理念,历经五年匠心打磨,推出的新一代自研数据库。 DM8吸收借鉴当前先进新技术思想与主流数据库产品的优点,融合了分布式、弹性计算与云计算的优势,对灵活性、易用性、可靠性、高安全性等方面进行了大规...
2021-01-21 17:31:55
2767
原创 Java:volatile关键字
今天我们来讲volatile这个关键字。 volatile是Java里面提供的一种轻量级的同步机制,非常的轻量级,没有线程的上下文切换和调度。 Volatile 关键字包含两个基本语义,分别是线程的可见性和有序性。可见性指的是当一个线程对某个变量值执行了修改操作,其它线程能感知到该变量值已经被修改,再次读取该变量值时将是被修改后的新值。有序性则是因为JVM通常情况下是会对要执行的指令进行优化性重排序,为保证特殊情况下某段指令能顺序执行,则需要禁止JVM对这...
2020-11-19 11:39:15
213
原创 CentOS7 安装 Docker
一、概述Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。二、Docker安装2.1、设置yum源在这里我们说的源其实就是一个软件资源仓库,yum命令通常是从其远程的资源仓库(即yum源)中将目标软件包下载回本地后再执行安装。由于docker本身是外国人的东西,如果直接使用国外的源安装的话,不保证会有一些意外之惊出现,为了解决这个...
2020-10-19 17:24:33
247
原创 Java面经(一)
不管何时何地,要总结,要笔记,走过的路,趟过的坑,都是经验和教训......1、描述一下你最认可的一个软件项目的架构这个问题如果忽然遇到很可能会懵,需要平常总结,大体的回答可以参考下面的这个套路:可先做点铺垫,如我之所拿这个项目来讲,主要是因为虽然这个项目可能不是我做过最好,但是我设计过相对最复杂的,...。从软件架构上来说,这是一个B/S模式系统,基于Spring Cloud相关技术标准实现的一个xxx系统,整个架构分为4层,即负责入口路由的接入层、负责具体业务需求实现的业务层、为其.
2020-09-01 17:16:59
742
原创 手撕代码:字符串消消乐
子符串消消乐,将字符串中相邻相同的字符一起消掉,最后输出消除完成的字符串。示例:abcccbxezzzrf7788fn输出:axern说明:从左住右消除,第一趟消除相邻相同的“ccc”、“zzz”、“77”、“88”,得到abbxerffn,第二趟消除相邻相同的“bb”、“ff”,得到axern,不存在相邻相同字符,消除结束。不管题目考察目的,本着功能实现第一的原则先撸代码。Java代码:public static StringBuilder doReduce(StringBu..
2020-08-31 11:18:35
2926
原创 手撕代码:找最长小括号子串
匹配小括号“()”,字符串只有“(”和“)”组成,找出最长连续的小括号子串,输出该最长子串的长度。示例:(((()()()))))()))输出:6说明:示例字符串从第4个字符开始第一个连续小括号子串“()()()”,从第14个字符开始二个小括号子串“()”,第一个子串最长,长度为6。本题目的是考察栈对于字符串匹配的应用,但一般均是本着先功能实现的原则写代码。Java代码:public static int getMaxLengthParentheses(String str) {.
2020-08-31 11:15:46
225
原创 Tomcat自带集群Session共享配置
一、说明由于我们的服务器操作系统大部分均为CentOS ,原有服务器使用CentOS 6.x,后续新增服务器使用CentOS 7.x,CentOS 6.x和CentOS 7.x命令行操作有比较大区别,本文以CentOS 7.x以基础环境。虽然并不推荐使用Tomcat自带的集群Session共享功能,因为其基于组播的会话数据同步会占用大量的JVM资源和网络,但对于小规模的Tomcat集群来说还是方便的,比如2-4台Tomcat服务器。其简单的实现,可以使用Nginx作负载均衡,反向代理到后方的多台Tomc
2020-06-03 18:34:22
1126
1
原创 Java:关于Service与Dao的调用问题
在之前我们开发的代码中,关于在Service中是调是用Dao还是其它Service的问题,都显得比较随意(我自己也是这样),其实在这样是不对的。 讲道理的话,Service A不应直接调用B的Dao层,而是应该调用B的Service层业务实现,因为B的Service是对其Dao的CRUD封装,在多库且有缓存的情况下,可能存在跨库操作,直接调用B的Dao显然是不...
2018-08-07 17:36:14
8490
1
原创 系统架构:我理解的微服务
最近在研究微服务,在网上搜索找到和阅读了很多相关的资料,感谢众多IT从业人员的努力付出,本文结合自己的理解做一个总结(本文部分观点和资料均来源于网络)。一、为什么需要微服务在阐述什么是微服务之前,先来聊聊单体应用会面临的一些问题。本质上来说,单体应用的核心是由模块实现的业务逻辑,定义了服务、领域对象和事件。围绕核心的是与外接口对接的适配,包括了数据访问与WEB组件等,暴露了API或者实...
2018-08-06 18:36:10
403
原创 Java:JDK版本特性汇总
一、JDK 1.0 发布版本 1.0 发布时间 1996.1.23 特性要点 正式版本运行环境的实现(JVM)。 Applet。 AWT。 特性说明 Java初始版本,纯解释运行,使用外挂JIT,性能比较差,运行速度慢。...
2018-08-03 09:32:38
2486
原创 Java:24节气计算
import java.util.HashMap;import java.util.Map;/** * 计算公式:[Y*D+C]-L * * @author * */public class SolarTerm { /** * 节气D值 */ private static final double D = 0.2422; /** ...
2018-08-01 16:17:29
3965
3
原创 Java:消息摘要算法
一、MD5因为在消息摘要算法中,MD5应该最常用的,所以放在最前面。另外MD家族中除了MD5外,还有MD2和MD4,MD2和MD5在JDK中已经有实现,MD4则是在Bouncy Castle有实现。public abstract class MD5 {private static MessageDigest md;static {try {md = MessageDigest.ge...
2016-10-17 14:44:05
862
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人