自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

原创 分布式链路追踪:集群管理设计

这里简单的解释下,Mixed 是混合模式,既包含 Aggregator 和 Receiver。Aggregator,是聚合器模式,也就是说数据收集到 OAP 平台之后,数据需要做过滤、清晰和聚合然后再存储。Receiver 是收集器模式,也就是原始数据会直接存储,不做任何处理,当然这个肯定会有最核心的链路数据,就不会产生很多通过聚合之后产生的指标数据了。那么 Skywalking 中的集群管理主要是针对 Aggregator 模式,当然肯定也会包含 Mixed 模式。

2023-05-19 23:21:36 310

原创 不可不说的Java“锁”事

本文Java中常用的锁以及常见的锁的概念进行了基本介绍,并从源码以及实际应用的角度进行了对比分析。限于篇幅以及个人水平,没有在本篇文章中对所有内容进行深层次的讲解。其实Java本身已经对锁本身进行了良好的封装,降低了研发同学在平时工作中的使用难度。但是研发同学也需要熟悉锁的底层原理,不同场景下选择最适合的锁。而且源码中的思路都是非常好的思路,也是值得大家去学习和借鉴的。

2023-05-19 23:21:03 220

原创 动态代理种类及原理,你知道多少?

前面介绍 CGLib 时提到过,它底层是采用 ASM 作为字节码处理,生成的代理类就是使用 ASM 实现的。因此 ASM 库是一个基于 Java 字节码层面的代码分析和修改工具,可以直接生产二进制的 class 文件,也可以在类被加载入 JVM 之前动态修改类行为。因此要想实际操作 ASM,对 class 文件格式的十分熟悉。ASM 中的每个 API 都和 class 文件格式中的特定部分相吻合,同时是采用访问者模式设计的。

2023-05-19 23:21:03 1316

原创 从SpringCloud开始,聊微服务架构

Martin Flower的定义:简单的说,微服务是软件系统架构上的一个设计风格,它倡导将一个原本独立的系统分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful 轻量级API进行通信协作。被拆分的每个微服务围绕系统中的某项或一些耦合度较高的业务进行构建,并且每个服务都维护着自身的数据存储、业务开发、自动化测试案例以及独立部署机制。由于有了轻量级通信机制,这些微服务间可以使用不通的语言来编写。

2023-05-19 23:20:32 298

原创 代码开发规范

【强制】不允许任何魔法值(即未经定义的常量)直接出现在代码中。反例【强制】long 或者 Long 初始赋值时,必须使用大写的 L,不能是小写的 l,小写容易跟数字 1 混淆,造成误解。说明:写的是数字的 21,还是 Long 型的 2?【推荐】不要使用一个常量类维护所有常量,应该按常量功能进行归类,分开维护。如: 缓存相关的常量放在类: CacheConsts 下;系统配置相关的常量放在类: ConfigConsts 下。说明。

2023-05-19 23:19:28 243

原创 Redis开发规范

非字符串的bigkey,不要使用del删除,使用hscan、sscan、zscan方式渐进式删除,同时要注意防止bigkey过期时间自动删除问题(例如一个200万的zset设置1小时过期,会触发del操作,造成阻塞,而且该操作不会不出现在慢查询中(latency可查)),查找方法和删除方法。redis的多数据库较弱,使用数字进行区分,很多客户端支持较差,同时多业务用多数据库实际还是单线程处理,会有干扰。以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id。

2023-05-19 23:19:27 62

原创 MySQL设计规约

索引的特性:持久性、有序性。不可以创建的索引:覆盖索引。超过三张表禁止join。

2023-05-19 23:18:56 59

原创 JVM 垃圾收集器

CMS 使用的是标记-清除的算法实现的,所以在 gc 的时候回产生大量的内存碎片,当剩余内存不能满足程序运行要求时,系统将会出现 Concurrent Mode Failure,临时 CMS 会采用 Serial Old 回收器进行垃圾清除,此时的性能将会被降低。清除阶段:回收被标记的对象所占用的空间。在 JVM 中,有一个垃圾回收线程,它是低优先级的,在正常情况下是不会执行的,只有在虚拟机空闲或者当前堆内存不足时,才会触发执行,扫面那些没有被任何引用的对象,并将它们添加到要回收的集合中,进行回收。

2023-05-19 23:17:45 138

原创 JVM CPU Profiler技术原理及源码深度解析

社区实现的JVM Profiler很多,比如已经商用且功能强大的JProfiler,也有免费开源的产品,如,功能各有所长。我们日常使用的Intellij IDEA最新版内部也集成了一个简单好用的Profiler,详细的介绍参见官方Blog。

2023-05-19 23:17:14 18105 1

原创 EL表达式,JSTL标签库

EL:表达式语言在JSP2.0规范中加入的语言,也是Servlet规范的一部分作用:在JSP页面中获取数据,让我们的JSP脱离Java代码块和JSP表达式。使用EL表达式能够简化JSP页面中Java代码的编写。格式非常简单,只需要在JSP页面中嵌入${表达式}即可。< % -- 将用户名存入请求域 -- % > < % request . setAttribute("username" , "zhangsan");

2023-05-19 23:15:59 209

原创 Cookie和Session

Session是依赖于Cookie的,如图所示当客户端第一次请求服务端时没有Cookie,会在内存中创建一个Session对象并把sessionid通过Cookie存起来发给客户端;当客户端再次请求服务器时,会携带者sessionid到服务端找到对应的Session对象,以此来实现多次请求在服务端的数据共享。JSP(全称Java Server Pages),是一种动态网页开发技术。它既可以使用HTML标签来写页面,也可以写Java代码。其本质就是一个Servlet。下面是一个jsp页面的访问过程。

2023-05-17 23:08:27 67

原创 HTML学习

HTML是超文本标记语言,是由很多预定义的标签组成的,每一种标签有其特殊的含义,这些标签能被浏览器识别并且渲染出不同的显示效果。HTML文档也俗称网页,是网站的重要组成部分。HTML基本语法注释标签规范标签分类标签嵌套块级元素和行内元素div和spandiv和span没有特殊的语义,是一个通用的容器标签。一般用来对其他标签进行分组、布局、设置样式等操作。属性规范属性用来给标签添加一些额外的信息,如给标签设置颜色,宽高等。常见的属性特殊符号在html

2023-05-17 23:08:19 288

原创 过滤器和监听器

当客户端访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。举个例子帮助大家理解:比如2020年初在爆发了新冠病毒疫情,为了防止病毒扩算到全国,武汉市宣布封城,所有交通渠道限制通行,在各个出入口设卡拦截,只有体温正常的医务人员和急救物资才能进入城区。这里武汉市各个出入口的关卡,起到的就是过滤器的作用。在程序中是同样的道理,比如用户在访问服务器资源时只允许登录过的用户才能正常访问。这里登录校验起到的就是过滤器的作用。除了登录校验,在程序中过滤器的用处还有统一编码处理,铭感词汇过来。

2023-05-17 23:07:57 48

原创 CSS学习

CSS指层叠样式表 (Cascading Style Sheets),用来定义HTML网页中的内容用什么样式来显示。

2023-05-17 23:07:43 86

原创 JQuery

区别:JQ对象和JS对象不通用,JQ对象不能使用JS的属性和函数,同时JS对象也不能使用JQ对象的属性和函数。JQ对象在使用时,更贴近面向对象的使用方式,JQ对象一般通过调用函数的方式实现功能。jq独有的each方式遍历,并不是for循环,是函数的回调的过程。在jq对象上调用任何函数,都相当于在jq对象对应的所有元素上都调用了这个函数。JQuery方式获取出来的对象和原生的JS的dom对象并不是同一类型,使用方式也不一样。用法基本和上面的方式相同,只不过被遍历的容器可以是jq对象也可以是普通的js数组。

2023-05-17 23:05:56 51

原创 JavaScript

引入js的方式二:外部方式把js代码抽取到一个js文件中。通过script标签的src属性引入这个文件创建js文件在html中引用外部js文件注意:注释单行注释多行注释弹窗和输出弹出输入框 prompt(“提示内容”);弹出警告框 alert(“提示内容”);弹出确认框 confirm(“是否确认”)在控制台输出内容 console.log(“输出日志”);往当前页面写出内容。支持html格式标签。往页面文档中追加数据 document.write(“显示内容”

2023-05-17 23:05:24 189

原创 AJAX学习

我们除了可以在 JavaScript 中来使用 JSON 以外,在 JAVA 中同样也可以使用 JSON。JSON 的转换工具是通过 JAVA 封装好的一些 JAR 工具包。可以将 JAVA 对象或集合转换成 JSON 格式的字符串,也可以将 JSON 格式的字符串转成 JAVA 对象。Jackson:开源免费的 JSON 转换工具,SpringMVC 转换默认使用 Jackson。导入 jar 包。创建核心对象。调用方法完成转换。常用类ObjectMapper常用方法。

2023-05-17 23:04:38 130

原创 Oracle数据库预安装任务

本节概述了如何创建用户和组,以按工作角色划分访问权限。以root身份登录以创建这些组和用户。了解具有工作角色分离的Oracle安装的限制工作角色安装的数据库组用于工作角色安装的甲骨文网格基础设施组。

2023-05-17 23:03:27 142

原创 “VO“、“DTO“、“PO“和“DO“ 详解

什么是雪崩问题?微服务之间相互调用,因为调用链中的一个服务故障,引起整个链路都无法访问的情况。限流是对服务的保护,避免因瞬间高并发流量而导致服务故障,进而避免雪崩。是一种预防措施。超时处理、线程隔离、降级熔断是在部分服务故障时,将故障控制在一定范围,避免雪崩。是一种补救措施。Sentinel是阿里巴巴开源的一款微服务流量控制组件。官网地址:https://sentinelguard.io/zh-cn/index.htmlSentinel 具有以下特征:•丰富的应用场景。

2023-05-17 23:02:48 2182

原创 Oracle数据库安装概述

使用Oracle通用安装程序安装数据库,并从Oracle主页启动Oracle数据库配置助理。Oracle数据库配置助理在交互模式下运行。使用Oracle数据库配置助理中的屏幕,您可以指定用于管理数据库的Oracle Enterprise Manager界面。您也可以选择不使用Oracle Enterprise Manager配置数据库。Oracle建议您将数据库配置为在安装期间使用Oracle Enterprise Manager。

2023-05-17 23:02:48 234

原创 分布式事务

本地事务,也就是传统的。在传统数据库事务中,必须要满足四个原则:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e2hdUg6X-1684197435153)(https://typora-1313047667.cos.ap-beijing.myqcloud.com/imgs/202212021715949.png)]

2023-05-16 08:37:34 210

原创 Spring MVC day01

SpringMVC框架有什么优点?SpringMVC是一种基于Java实现MVC模型的轻量级Web框架优点使用简单,开发便捷(相比于Servlet)灵活性强[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gfvathjf-1684197365170)(https://typora-1313047667.cos.ap-beijing.myqcloud.com/imgs/202212020949624.png)]

2023-05-16 08:37:12 200

原创 Spring MVC day02

/描述统一格式中的数据 private Object data;//描述统一格式中的编码,用于区分操作,可以简化配置0或1表示成功失败 private Integer code;//描述统一格式中的消息,可选属性 private String msg;} //同学们自己添加getter、setter、toString()方法 }Result类中的字段并不是固定的,可以根据需要自行增减程序开发过程中不可避免的会遇到异常现象,我们不能让用户看到这样的页面数据。

2023-05-16 08:36:45 83

原创 Spring Cloud day02

使用Feign的步骤:① 引入依赖② 添加@EnableFeignClients注解③ 编写FeignClient接口④ 使用FeignClient中定义的方法代替RestTemplate类型作用说明修改日志级别包含四种不同的级别:NONE、BASIC、HEADERS、FULL响应结果的解析器http远程调用的结果做解析,例如解析json字符串为java对象请求参数编码将请求参数编码,便于通过http请求发送支持的注解格式默认是SpringMVC的注解失败重试机制。

2023-05-16 08:36:23 68

原创 Spring Cloud day01

单体架构:简单方便,高度耦合,扩展性差,适合小型项目。例如:学生管理系统分布式架构:松耦合,扩展性好,但架构复杂,难度大。适合大型互联网项目,例如:京东、淘宝微服务:一种良好的分布式架构方案①优点:拆分粒度更小、服务更独立、耦合度更低②缺点:架构非常复杂,运维、监控、部署难度提高SpringCloud是微服务架构的一站式解决方案,集成了各种优秀微服务功能组件SpringCloudRibbon的底层采用了一个拦截器,拦截了RestTemplate发出的请求,对地址做了修改。

2023-05-16 08:34:55 69

原创 Spring day03

问题1:AOP的作用是什么?问题2:连接点和切入点有什么区别,二者谁的范围大?问题3:请描述什么是切面?AOP(Aspect Oriented Programming)面向切面编程,一种编程范式,指导开发者如何组织程序结构OOP(Object Oriented Programming)面向对象编程作用:在不惊动原始设计的基础上为其进行功能增强。简单的说就是在不改变方法源代码的基础上对方法进行功能增强。Spring理念:无入侵式/无侵入式} }

2023-05-16 08:34:37 44

原创 Spring Boot day01

SpringMVC的HelloWord程序大家还记得吗?SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程原生开发SpringMVC程序过程学习了SpringBoot入门案例之后,感觉对比SpringMVC哪一个更加方便简洁?SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程Spring程序缺点配置繁琐依赖设置繁琐SpringBoot程序优点自动配置。

2023-05-16 08:34:13 57

原创 Spring day02

问题:按照Bean名称获取Bean有什么弊端,按照Bean类型获取Bean有什么弊端?BeanFactory是IoC容器的顶层接口,初始化BeanFactory对象时,加载的bean延迟加载ApplicationContext接口是Spring容器的核心接口,初始化时bean立即加载ApplicationContext接口提供基础的bean操作相关方法,通过其他接口扩展其功能ApplicationContext接口常用初始化类ClassPathXmlApplicationContext(常用)

2023-05-16 08:34:03 60

原创 Spring day01

我们为什么要学习Spring框架?生命周期:从创建到消亡的完整过程bean生命周期:bean从创建到销毁的整体过程bean生命周期控制:在bean创建后到销毁前做一些事情。

2023-05-16 08:33:16 111

原创 JDBC day02

java.sql.DataSource接口:数据源(数据库连接池)。java官方提供的数据库连接池规范(接口)获取数据库连接对象:Connection getConnection();自定义连接池/*自定义连接池类//1.定义集合容器,用于保存多个数据库连接对象 private static List < Connection > pool = Collections . synchronizedList(new ArrayList < Connection >());

2023-05-16 08:32:27 44

原创 JDBC day01

预编译sql语句的执行者对象。在执行sql语句之前,将sql语句进行提前编译。明确sql语句的格式后,就不会改变了。剩余的内容都会认为是参数!参数使用?作为占位符为参数赋值的方法:setXxx(参数1,参数2);参数1:?的位置编号(编号从1开始)参数2:?的实际参数执行sql语句的方法执行insert、update、delete语句:int executeUpdate();执行select语句:ResultSet executeQuery();

2023-05-15 23:32:53 55

原创 Tomcat多实例部署

同一个tomcat下部署多个项目,重启会影响到其他项目的正常运行,为了使各项目独立,一般会使用安装多个tomcat,这样很耗费系统资源;创建tomcat多实例,有效的解决这一问题;

2023-05-15 23:31:10 496

原创 Tomcat部署安装

外链图片转存中…(img-0bTWHT3x-1684164623658)]Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat支持最新的Servlet和JSP规范。

2023-05-15 23:30:41 273

原创 maven deploy上传jar包到nexus错误排查

最近在项目中使用maven-deploy上传jar包时出现原因是服务器满了,具体可以在nexus的后台中查看nexus的日志,如下知道是nexus所在的服务器磁盘满了,就可以清理一下磁盘,腾出空间即可。

2023-05-15 23:30:12 700

原创 Maven 搭建私有仓库之Nexus

注意:通过页面直接上传的方式只是上传了jar包,若这个jar通过Maven依赖了其他jar,那其他项目在下载这个jar时无法取得它的依赖。所以,除非这个jar没有任何依赖,否则还是推荐通过命令行或者IDE的方式上传jar包,这样才会把pom一并上传。

2023-05-15 23:29:35 3311

原创 Maven 常见问题

dependencyManagement 是表示依赖 jar 包的声明,即你在项目中的 dependencyManagement 下声明了依赖,maven 不会加载该依赖,dependencyManagement 声明可以被继承。

2023-05-15 23:27:31 120

原创 Maven之pom.xml详解

POM 是 Project Object Model 的缩写,即项目对象模型。pom.xml 就是 maven 的配置文件,用以描述项目的各种信息。

2023-05-15 23:27:17 3700 1

原创 Maven 之 settings.xml 详解

从 settings.xml 的文件名就可以看出,它是用来设置 maven 参数的配置文件。settings.xml 中包含类似本地仓储位置、修改远程仓储服务器、认证信息等配置。

2023-05-15 23:26:57 4952

原创 Maven基础

在学习Maven之前,我们先来看一下我们现在做的项目都有哪些问题。假设你现在做了一个crm的系统,项目中肯定要用到一些jar包,比如说mybatis,log4j,JUnit等,除了这些之外,你有可能用到你的同事开发的其他的东西,比如说别人做了一个财务模块或做了一个结算的模块,你在这里边有可能要用到这些东西。假如有一天你们的项目中mybatis进行了一个升级,但是它内部使用的JUnit没有升级,你升级以后的mybatis假如要用5.0的JUnit,而你项目中目前用的是4.0的,会不会冲突?必然会出问题!

2023-05-15 23:26:09 37

原创 Maven高级

-定义自定义属性--> < properties > < spring.version > 5.2.10.RELEASE < junit.version > 4.12

2023-05-15 23:25:46 34

Spring常见面试题.pdf

Spring是一款非常流行的Java开发框架,广泛应用于企业级Java应用开发中。在面试中,Spring相关的问题经常会被提出来。以下是几个常见的Spring面试题: 什么是Spring框架? Spring框架有哪些优点? 什么是IoC容器?等等

2023-05-12

程序员简历模版资源.MD

程序员简历模板是程序员求职过程中必备的一个工具。一个好的简历可以让招聘人员更加容易地了解你的技能、经验和教育背景。同时,一个精心制作的简历也可以让你在竞争激烈的求职市场中脱颖而出。 以下是一些可以寻找程序员简历模板的资源: Canva:Canva是一个免费的在线设计工具,它提供各种简历模板,可以免费下载和使用。 Github:Github是一个代码托管平台,上面有很多开源的简历模板,可以通过搜索关键词来找到适合自己的模板。 简历制作工具:有很多在线简历制作工具可以使用,如猿辅导、51job、拉钩等。这些工具可以帮助你快速制作出专业的简历。 程序员论坛:在一些程序员论坛或社区中,可以找到其他程序员分享的简历模板和制作技巧,可以从中获得灵感。 招聘网站:一些招聘网站,如智联招聘、前程无忧等,也提供简历模板,可以直接在网站上填写和上传简历。 总之,选择一个合适的程序员简历模板对于求职成功至关重要。不同的人适合不同类型的模板,可以根据自己的需要进行选择。同时,制作简历时也要注意简洁明了、易于阅读、专业规范等要素。

2023-05-12

MySQL面试题.md

在MySQL面试中,面试官可能会问关于MySQL的基本概念、优点和缺点、数据类型、索引、事务处理、备份和恢复、存储引擎、优化等方面的问题。了解这些问题可以帮助您更好地准备面试,并增加成功的机会。

2023-05-12

空空如也

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

TA关注的人

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