- 博客(133)
- 收藏
- 关注
原创 Shell编程
普通变量: 作用域是当前shell(当前的解释器)1.基本语法(1)定义变量:变量=值(2)撤销变量:unset 变量(3)声明静态变量:readonly变量,注意:不能unset2.变量定义规则(1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。(2)等号两侧不能有空格(3)变量的值如果有空格,需要使用双引号或单引号括起来。3.案例实操(1)定义变量A5(2)给变量A重新赋值8(3)撤销变量A(4)声明静态的变量B=2,不能unset2。
2024-09-08 12:14:43 626
原创 Linux操作系统
定义:操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序 作用:是把计算机系统中对硬件设备的操作封装起来,供应用软件调用,也是提供一个让用户与系统交互的操作界面。 在我们的常见的操作系统中有 1、安卓与苹果 1965年之前的时候,电脑并不像现在一样普遍,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘、显示器),连接一台电脑。
2024-09-08 12:00:07 2688
原创 常见痛点规避 与 Bug处理
业务和产品的线上质量、是研发团队的生命线,也是支撑业务快速是错,小步跑的前置条件。故障等级定义,不同的业务形态,不同的公司团队,有不一样的划分标准,下表列举了一般常见的维度和标准线上故障等级标准是否回滚【P0】致命问题安全:影响线上生产核心数据安全【1】核心数据定义(丢失、泄漏);功能:造成系统崩溃、死机,主要功能或重要功能完全不能正常使用;资损:造成资损超过>5W;体验:(1)有效客诉超过>30人或客诉>50人;(2)由于系统问题导致、不能开展业务的核心企业,超过3家影响范围是。
2024-08-25 12:25:23 639
原创 缓存之Tair
在Tair出现之前的很长一段时间里,像redis、memcache这些知名NoSql数据库是不支持分布式的,在这样的背景下,由淘宝网自主开发并在2010.6开源的一个高性能、高扩展、高可靠分布式缓存,类似map的key/value结构,在淘宝、天猫等各个应用中广泛应用。 Tair官网:https://www.oschina.net/p/tair gitee地址:https://gitee.com/mirrors/Tair。
2024-08-24 11:31:25 841
原创 Ingress Nginx Controller
(类似于slb,做代理服务)ingress controller可以为kubernetes 集群外用户访问Kubernetes集群内部pod提供代理服务。
2024-08-23 23:49:17 1122 1
原创 DockerFile
Dockerfile是一种能够被Docker程序解释的剧本。Dockerfile由一条一条的指令组成,并且有自己的书写格式和支持的命令。当我们需要在容器镜像中指定自己额外的需求时,只需在Dockerfile上添加或修改指令,然后通过docker build生成我们自定义的容器镜像(image)。
2024-08-18 21:12:11 647
原创 Spring 扩展点
它有一个优势, 注意它有一个importingClassMetadata参数, 这个参数可以获取@Import注解所在类的其他注解信息, 比如@MapperScan根据包创建beandefinition。2.ImportBeanDefinitionRegistrar不是一个bean, 没有bean的生命周期, 没有依赖注入功能。ImportBeanDefinitionRegistrar不是一个bean, 没有bean的生命周期, 没有依赖注入功能。
2024-08-11 17:38:21 450
原创 java日志框架
Loggers:被称为记录器,应用程序通过获取Logger对象,调用其API来来发布日志信息。Logger通常时应用程序访问日志系统的入口程序。Appenders:也被称为Handlers,每个Logger都会关联一组Handlers,Logger会将日志交给关联Handlers处理,由Handlers负责将日志做记录。Handlers在此是一个抽象,其具体的实现决定了日志记录的位置可以是控制台、文件、网络上的其他日志服务或操作系统日志等。
2024-08-10 00:25:07 723
原创 分布式ID
emsp;(Universally Unique Identifier),通用唯一识别码。UUID是基于当前时间、计数器(counter)和硬件标识(通常为无线网卡的MAC地址)等数据计算生成的。UUID 是由一组32位数的16进制数字所构成,以连字号分隔的五组来显示,形式为 8-4-4-4-12,总共有 36个字符(即三十二个英数字母和四个连字号)。
2024-08-06 00:54:34 647
原创 Kubernetes
K8S 是Kubernetes的全称,源于希腊语,意为“舵手”或“飞行员”,官方称其是:用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。kubectl官方使用文档:https://kubernetes.io/zh/docs/reference/kubectl/overview/同一命名空间内的资源名称要唯一,命名空间是用来隔离资源的,不隔离网络。K8S官网文档:https://kubernetes.io/zh/docs/home/一个pod运行多个容器。
2024-07-30 23:40:29 590
原创 k8s安装教程
由于本次使用3台主机完成kubernetes集群部署,其中1台为master节点,名称为k8s-master01;因容器镜像下载较慢,可能会导致报错,主要错误为没有准备好cni(集群网络插件),如有网络,请耐心等待即可。修改完成后需要重启操作系统,如不重启,可临时关闭,命令为swapoff -a。所有主机均需要操作。最小化安装系统需要安装ntpdate软件。所有主机均需要操作。所有集群主机均需要进行配置。可使用VPN实现下载。所有主机均需要操作。所有主机均需要操作。所有主机均需要操作。所有主机均需要操作。
2024-07-28 20:35:30 1018
原创 CAT链路追踪
CAT是由大众点评开源的一款调用链监控系统,基于JAVA开发的。有很多互联网企业在使用,热度非常高。它有一个非常强大和丰富的可视化报表界面,这一点其实对于一款调用链监控系统而来非常的重要。在CAT提供的报表界面中有非常多的功能,几乎能看到你想要的任何维度的报表数据。特点:聚合报表丰富,中文支持好,国内案例多国内案例:携程、点评、陆金所等报表名称报表内容Transaction报表一段代码的运行时间、次数、比如URL/cache/sql执行次数相应时间Event报表。
2024-07-25 01:00:54 984
原创 高性能图数据库Neo4j从入门到实战
随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随数据量呈几何级数增长,急需一种支持海量复杂数据关系运算的数据库,图数据库应运而生。
2024-07-20 23:27:07 513
原创 websocket
从上面的即时通讯聊天例子我们可以看到,要想做一个点对点的im应用,websocket采取的方式是让所有客户端连接服务端,服务器将不同客户端发送给自己的消息进行转发或者广播。为了说明html5规范中的websocket在客户端采用了websocket原生的API,实际开发中,有比较著名的两个库socket.io和sockjs,它们都对原始的websocket API做了进一步封装,提供了更多功能,都分为客户端和服务端的实现,实际应用中,可以选择使用。
2024-07-20 22:45:20 825
原创 深入解析 Java Stream Lambda 编程
1、Lambda表达式概述1.1、Lambda表达式的简介Java(SE)8 于 2014 年 3 月发布,引入了多个改进特性,其中 Lambda 表达式(Lambda expression,也可称为闭包(Closure))是最受欢迎的新特性之一。Lambda 表达式允允许把函数作为一个方法的参数,允许在方法中传递代码块,从而实现更加灵活的编程方式。Lambda 表达式可以简化代码,减少样板代码的出现,并且使代码更加易读和易于维护。Lambda 表达式允许我们通过表达式来代替功能接口。Lambd
2024-07-07 21:28:32 203
原创 Java教程之IO模式精讲,NIO+BIO
在java的软件设计开发中,通信架构是不可避免的,我们在进行不同系统或者不同进程之间的数据交互,或 者在高并发下的通信场景下都需要用到网络通信相关的技术,对于一些经验丰富的程序员来说,Java早期的网络通 信架构存在一些缺陷,其中最令人恼火的是基于性能低下的同步阻塞式的I/O通信(BIO),随着互联网开发下通 信性能的高要求,Java在2002年开始支持了非阴塞式的I/O通信技术(NIO)。
2024-06-29 23:29:31 554
原创 IDEA debug 调试Evaluate Expression应用
在IDEA debug调试模式下,进入断点。在想要操作的变量上右键,点击Evaluate Expression打开Evaluate Expression计算表达式窗口。输入操作变量的表达式, 这里的e是我这段程序中的一个变量, 具体的依据自己项目而定, 点击Evaluate确定,就可以看到具体的值了。不知道要对变量具体进行怎么样的操作,这个时候idea中的这个功能就起到很大作用了。
2024-06-18 23:25:31 448
原创 Netty
1.API使用简单,开发门槛低2.功能强大,预置了多种编码功能,支持多种主流协议;3.定制能力强,可以通过channelHandler对通信框架进行灵活地扩展;4.性能高,通过与其他业界主流的NIO框架对比,netty的综合性能最优;5.成熟、稳定,netty修复了已发现的所有jdk nio bug,业务开发人员不需要再为nio的bug而烦恼;
2024-06-09 15:40:12 289
原创 RabbitMQ
持久化Exchange要持久化Queue 要持久化Message 要持久化生产方 确认confirm消费方 确认ack消息丢失 死信队列(死信交换机)Broker高可用(集群)
2024-05-30 20:20:55 1856
原创 分布式事务
用户定义的一系列数据库操作,这些操作可以视为一个完整的逻辑处理工作单元,要么全部执行,要么全部不执行,是不可分割的工作单元。ACID原则A 原子性通过锁保证C 一致性通过日志保证I 隔离性通过锁保证D 持久性通过日志保证BEGIN TRANSACTION业务逻辑BEGIN TRANSACTION表示事务的开启标记COMMIT 表示事务的提交操作,表示该事务的结束,此时将事务中处理的数据刷到磁盘中物理数据库磁盘中去。
2024-05-14 10:20:33 751
原创 亿级流量多级缓存
无状态:对单次请求的处理,不依赖其他请求。先解决核心的问题,预测未来可能出现的问题。第二次请求依赖第一次请求这就是有状态的。对现有问题有方案,对未来系统有预案。不要过度复杂化系统。
2024-04-28 20:41:31 119
原创 RocketMQ学习笔记
kafka适合于日志收集的场景(不需要太多topic;topic下面的partition多了会造成写文件的速度变慢,因为要造很多索引)RocketMQ更适合于电商场景(适用于topic特别多的情况)
2024-04-21 00:00:34 1016
原创 JAVA 算法
又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。
2024-03-30 01:11:27 823
原创 SpringCloud Alibaba实战和源码(8)OpenFeign使用
Feign是Netflix开源的声明式HTTP客户端feign默认是不打印任何日志的,但是我们希望打印一些日志信息。比如调用的时间。级别打印日志内容NONE(默认值)不记录任何日志BASIC仅记录请求方法、URL、响应状态代码以及执行时间HEADERS记录BASIC级别的基础上,记录请求和响应的headerFULL记录请求和响应的header、body和元数据方式一:让父子上下文ComponentScan重叠(强烈不建议使用)/*** 日志级别。
2024-03-22 21:40:10 678
原创 JVM笔记
Java 和 C++语言的区别,就在于垃圾收集技术和内存动态分配上,C++语言没有垃圾收集技术,需要程序员手动的收集。垃圾收集,不是Java语言的伴生产物。早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。哪些内存需要回收?什么时候回收?如何回收?垃圾收集机制是Java的招牌能力,极大地提高了开发效率。
2024-03-10 11:24:41 983
原创 Maven
Maven是什么Maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个对象模型(POM)POM(Project Object Model): 项目对象模型基础概念仓库 : 用于存储资源,包含各种jar包分类:本地仓库:自己电脑上存储资源的仓库,连接远程仓库获取资源远程仓库:非本机电脑上的仓库,为本地仓库提供资源中央仓库:Maven团队维护,存储所有资源的仓库私服:公司/部门范围内资源存储的仓库,从中央仓库获取资源私服的作用:保存具有版本的资源,包含购买或自主研发的jar中央仓
2024-03-10 00:51:51 837
原创 SpringBoot源码
为什么要讲SPI呢?因为在SpringBoot的自动装配中其实有使用到SPI机制,所以掌握了这部分对于SpringBoot的学习还是很有帮助的。SPI,全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。这一机制为很多框架扩展提供了可能,比如在Dubbo、JDBC中都使用到了SPI机制。先通过一个很简单的例子来看下它是怎么用的。先定义接口项目。
2024-03-09 20:34:59 803
原创 分布式定时任务调度xxl-job
1、 掌握xxl-job部署以及开发的方式2、 掌握xxl-job特性以及架构设计3、 掌握xxl-job运行原理。
2024-03-05 23:46:47 2077
原创 Mybatis笔记
MyBatis 是一款优秀的持久层框架它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。MyBatis 本是apache的一个开源项目iBatis。
2024-02-18 21:23:46 895
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人