编程
文章平均质量分 61
tutouchengxuyua
这个作者很懒,什么都没留下…
展开
-
微服务架构开发实战日志与监控:微服务日志管理将面临的挑战
微服务的日志与监控:微服务日志管理将面临的挑战日志来自正在运行的进程的事件流。对于传统的JavaEE应用程序而言,有许多框架和库可用于日志记录。Java Logging (JUL)是Java自身所提供的现成选项。除此之外,Log4j、Logback和SLF4J也是其他一些流行的日志框架。这些框架都能很好地支持UDP及 TCP。应用程序将日志条目发送到控制台或文件系统。通常使用文件回收技术来避免日志填满所有磁盘空间。日志处理的最佳实践之一是关闭生产中的大部分日志条目,因为磁盘IO的成本很高。磁盘I原创 2021-02-06 22:50:58 · 500 阅读 · 0 评论 -
被Netty搞昏了头,先学一下幂等性压压惊吧
一、前言今天本来应该学习netty基础传输的相关内容,但是由于对基础知识掌握的不足,出现学习的瓶颈,先学习一下幂等性压压惊,晚上再梳理一下netty的相关内容,认认真真学习,争取明晚可以完成netty基础传输相关内容,今晚就看一下幂等性吧!二、什么是幂等性?百度百科的解释幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使...原创 2021-02-02 22:47:40 · 120 阅读 · 0 评论 -
阿里P8架构师20年经验总结成微服务设计企业架构转型之道笔记
前言本文涉及两个方面的知识体系,即企业架构知识体系和软件架构知识体系。企业架构和软件架构虽然都与IT相关,但其知识体系是完全不同的两个领域。一般而言,搞企业架构的人士不明白软件架构的细节和实现,而从事软件架构的架构师又缺乏企业架构的整体布局。企业架构是一个公司的核心业务流程,是企业IT建设的组织逻辑,由一组原理、政策和技术选择构成,目的是实现公司运营模型的业务标准化和集成需求。软件架构是企业架构具体落地时的技术实现工具和手段。微服务架构实际上是一种软件架构,当然,本文所涉及的微服务不仅仅是技原创 2021-01-29 23:17:03 · 173 阅读 · 0 评论 -
一文吃透微服务配置中心:SpringCloudConfig
配置中心:Spring Cloud Config我们知道,一个微服务系统可能由成千上万的服务组成,每个服务都会有自己的配置,不同服务之间的有些配置是相同的,比如数据库。如果对于每个服务,我们都复制相同的配置,一旦该配置发生了变化,那么每个服务都需要修改,代价可想而知。Spring Cloud已经考虑到了这一点,它为我们提供了一整套解决方案,那就是强大的Spring CloudConfig。Spring Cloud Config简介Spring Cloud Config是一个高可用的.原创 2021-01-29 23:16:31 · 90 阅读 · 0 评论 -
终于拿到了深入Java虚拟机:JVMG1GC的算法与实现文档
垃圾回收这门技术有许多谜团。很多程序员不太了解GC程序的运行原理,因此有时它也被称为“秘技”或“魔法”。本文的算法篇比原始论文更加详细地介绍了G1GC 的算法原理,对于我以前理解起来比较困难的地方,还特意进行了详细的说明,因此内容要比原始论文易于理解。即使是不太了解 GC 的读者,理解起来应该也没有什么问题。在实现篇中,我们将结合实用 JVM,聚焦算法篇中没有详细讲解的实现部分。首先,我们会了解 HotSpotVM。现在,HotSpotVM 实现了包括 G1GC在内的5种GC算法。不过这些算法并原创 2021-01-29 23:14:50 · 317 阅读 · 0 评论 -
CAS的初步理解
1、定义:cas可以理解为读取原值,在更新的时候在看一下原值是否已经改变了,改变了则更新失败,没有改变则更新,看下图2、产生的问题:ABA问题:可以理解为你跟你女朋友分手了,然后你女朋友又结交n个男朋友,最后又和你符合 正常理解:就是多线程情况下,假设有AB两个线程,A修改成0,此时A还没提交B就过来修改成原值,然后最后输出就是B怎么解决: 加版本号version 加时间戳 忙循环,CPU消耗大3、补充乐观锁:比喻为你出门相信别人不...原创 2021-01-27 23:37:00 · 123 阅读 · 0 评论 -
Docker安装与安装常用镜像(Mysql、Redis、RocketMQ、FastDfs、MongoDB、Nacos-Server、Sentinel-Dashboard、Seata-Server)
特殊提示:若是在阿里云里面使用,记得要在安全组中开放端口标题1、Docker 安装1.1、安装 Docker:yum -y install docker11.2、开机自启:systemctl enable docker11.3、启动 Docker:systemctl start docker11.4、查看 Docker 当前的版本docker version11.5、Docker 加速仓库配置1.5.1、切换到 Docker 的配置目录里面原创 2021-01-27 23:35:31 · 320 阅读 · 0 评论 -
无锁并发框架-Disruptor的原理(一)
文章目录一、Disruptor是什么 1、定义 2、应用场景 3、类似 4、核心设计原理 5、数据结构 5.1、Sequence是什么 5.2、数组+序列号设计的优势 6、核心组件与作用 7、等待策略(Wait Strategy) 8、写数据 9、使用 一、Disruptor是什么1、定义Disruptor是一个开源框架,研发的初衷是为了解决高并发下列队锁的问题,最早由LMAX(一种新型零售金融交易平台)提出并使用,能够在无.原创 2021-01-27 23:34:24 · 183 阅读 · 0 评论 -
彻底剖析JVM类加载机制
文章目录1、往期地址 2、Tomcat如何打破双亲委派机制 2.1、以Tomcat类加载为例,Tomcat 如果使用默认的双亲委派类加载机制行不行? 3、Tomcat自定义加载器详解 4、模拟实现Tomcat的webappClassLoader加载自己war包应用内不同版本类实现相互共存与隔离 5、模拟实现Tomcat的JasperLoader热加载1、往期地址彻底剖析JVM类加载机制(一)2、Tomcat如何打破双亲委派机制2.1、以Tomcat类加载为例,Tom.原创 2021-01-27 23:33:44 · 88 阅读 · 0 评论 -
我酸了!学弟刷完这套【Java互联网高级架构师必备】教学视频直接进了大厂,而我还在CRUD。。。
1.尸横遍野,2020秋招,阿里问了这道题2.面试升级,大厂已经不再满足于CRUD3.线程问题层出不穷,要求手写实现,如何完成4.P6级别的面试题长啥样?5.分布式微服务的基石6.P6~P7中级架构师学习路线及项目白皮书简介7.多线程与高并发第二版介绍|9.请解释一下对象的创建过程10.DCL需不需要volatile?11.请解释对象在内存中的存储布局12.对象头具体包括什么13.JVM如何定位一个对象14.对象在内存中如何分配?栈上?堆上15.一个原创 2020-10-31 15:12:40 · 1999 阅读 · 9 评论 -
盘点21世纪BATJ必问的128道互联网高频面试题_Java面试_【滴滴出行项目实战】(附真实现场录音、视频)
1【字节跳动】真实现场录音2【京东】什么(怎么确定)是垃圾?3【京东】GC算法有哪些?4【京东】Java中这些GC算法怎么配合使用6【京东】一个对象从出生到消亡11【京东】GMS细节原理讲解12【京东】GO语言的内存模型22【美团】请解释一下对象的创建过程26【美团】对象怎么定位27【美团】对象怎么分配32【蚂蚁金服】Java中的强引用实例讲解33【蚂蚁金服】Java中的软引用实例讲解39【拼多多】什么是缓存穿透42【拼多多】布隆过滤器-布隆算法原理44【拼多多】什么原创 2020-10-29 13:41:25 · 1296 阅读 · 8 评论 -
阿里P8架构学习必备:设计模式+Spring源码+MyBatis+SpringMVC,面试大厂丝毫不慌
前言很多小伙伴可能会很困惑,为什么BAT的面试官总是喜欢问源码?其实我们常用的Spring、MyBaits这样的框架可以说是JAVA里面最经典的教科书,从中你能学习到很多写代码的经验技巧,而去悟开源框架中蕴含的优雅架构设计之道这才是最重要的。同时我还整理了Java程序员学习开源框架必备的学习资料文档免费分享给大家,扫码即可获取上面的资料和笔记下载链接,诚意满满!!!!设计模式与6大原则Design Pattern 代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软原创 2020-10-10 16:05:29 · 168 阅读 · 8 评论 -
阿里三面面试题:分布式服务注册中心该如何选型?这道题太难了...
服务注册中心,当前用得比较多的就是 Eureka 跟 Zookeeper 了。Eureka 是 SpringCloud 自带的组件,而 Zookeeper 则是 Dubbo 一般会选择的。我们以前在做服务这块其实是基于 Spring Cloud 技术栈来做的,没有选择Dubbo。所以,Eureka 也就作为了我们的服务注册中心首选。在选择服务服务注册中心之前,我们一般会选择是基于 Spring Cloud 或者 Dubbo 来作为我们的微服务框架。选择好以后那么服务注册中心,一般情况下Dubbo作为原创 2020-10-10 16:02:36 · 320 阅读 · 0 评论 -
揭秘JAVA,JVM内幕(小白勿进)
篇文章将重点分析jvm,涉及到的内容包括jvm内存模型,类加载器,GC回收算法,GC回收器,整体偏向于理论。本篇文章不适合初学者,适合具有3年以上开发经验的技术人员,欢迎大家一起交流分享,文章若有不足之处,欢迎读者朋友们指出,先感谢。一 明确jdk,jre和jvm之间关系下图为官网关于jdk,jre和jvm的架构图,从该架构图,很容易看出三者之间关系:(1)jdk包含jre,而jre又包含jvm(2)jdk主要用于开发环境,jre主要用于发布环境,当然,发布环境用jdk也没问题,仅仅是性原创 2020-10-08 15:28:44 · 171 阅读 · 0 评论 -
内存节省到极致!Redis中的压缩表,值得了解
前言前面几周我们一起看了Redis底层数据结构,如动态字符串SDS,双向链表Adlist,字典Dict,跳跃表,整数集合intset,如果有对Redis常见的类型或底层数据结构不明白的请看上面传送门。今天来说下zset的底层实现压缩表(在数据库量小的时候用),如果有对zset不明白的,看上面的传送门哈。压缩列表的概念提出传统的数组同之前的底层数据一样,压缩列表也是由Redis设计的一种数据存储结构。他有点类似于数组,都是通过一片连续的内存空间来存储数据。但是其和数组也有点区别,数组存原创 2020-10-08 15:27:47 · 818 阅读 · 0 评论 -
一款直击痛点的优秀http框架,让我超高效完成了第三方接口的对接
1.背景因为业务关系,要和许多不同第三方公司进行对接。这些服务商都提供基于http的api。但是每家公司提供api具体细节差别很大。有的基于RESTFUL规范,有的基于传统的http规范;有的需要再header里放置签名,有的需要SSL的双向认证,有的只需要SSL的单向认证;有的以JSON 方式进行序列化,有的以XML方式进行序列化。类似于这样细节的差别太多了。不同的公司API规范不一样,这很正常。但是对于我来说,我如果想要代码变得优雅。我就必须解决一个痛点:不同服务商API那么多的差异点,如何原创 2020-10-08 15:26:42 · 117 阅读 · 0 评论