- 博客(19)
- 资源 (3)
- 收藏
- 关注
原创 Spring Cloud 分布式链路追踪技术 和 SCA
1、分布式链路追踪技术 Sleuth + Zipkin1.1 分布式链路追踪技术适用场景(问题场景)为了支撑日益增⻓的庞大业务量,我们会使用微服务架构设计我们的系统,使得 我们的系统不仅能够通过集群部署抵挡流量的冲击,又能根据业务进行灵活的扩展。那么,在微服务架构下,一次请求少则经过三四次服务调用完成,多则跨越几十 个甚至是上百个服务节点。那么问题接踵而来:1)如何动态展示服务的调用链路?(比如A服务调用了哪些其他的服务—依赖 关系)2)如何分析服务调用链路中的瓶颈节点并对其进行调优?(比如A—&g
2021-08-28 16:40:50
485
原创 JVM优化
第1章 JVM回顾1 什么是JVMJVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。虚拟机名称介绍HotSpotOracle/Sun JDK和OpenJDK都使用HotSPot VM的相同核心J9J9是IBM开发的高度模块化的JVMJRockitJRockit 与 HotSpot 同属于 Oracle,目前为止 Oracle 一直
2021-08-15 10:29:59
467
原创 synchronized
用户态与内核态JDK早期,synchronized 叫做重量级锁, 因为申请锁资源必须通过kernel, 系统调用;hello.asm;write(int fd, const void *buffer, size_t nbytes)section data msg db "Hello", 0xA len equ $ - msgsection .textglobal _start_start: mov edx, len mov ecx, msg mo
2021-08-15 10:23:44
497
原创 java并发编程
并发编程简介java是一个支持多线程的开发语言。多线程可以在包含多个CPU核心的机器上同时处理多个不同的任务,优化资源的使用率,提升程序的效率。在一些对性能要求比较高场合,多线程是java程序调优的重要方面。Java并发编程主要涉及以下几个部分:并发编程三要素原子性:即一个不可再被分割的颗粒。在Java中原子性指的是一个或多个操作要么全部执行成 功要么全部执行失败。有序性:程序执行的顺序按照代码的先后顺序执行。(处理器可能会对指令进行重排序)可见性:当多个线程访问同一个变量时,如果其中一个线
2021-08-13 15:18:07
387
原创 分布式集群架构场景化解决方案
第一部分:一致性Hash算法第二部分:集群时钟同步问题第三部分:分布式ID解决方案数据表A(ID),A的数据量很大的情况下,我们会进行分表操作,A(ID)表拆分成了A1表(ID)+A2表(ID),需要一种在分布式集群架构中能够产生全局唯一ID的方案 第四部分:分布式调度问题(定时任务的分布式)第五部分:Session共享(一致性)问题...
2021-08-11 00:53:02
504
1
原创 Nginx笔记
第一部分:Nginx基础Nginx源代码是使用C语言开发的Nginx是什么?Nginx 是一个高性能的HTTP和反向代理web服务器,核心特点是占有内存少,并发能力强。能做什么事情(应用在什么场合)?Http服务器(Web服务器) 性能非常高,非常注重效率,能够经受高负载的考验。支持50000个并发连接数,不仅如此,CPU和内存的占用也非常的低,10000个没有活动的连 接才占用2.5M的内存。常用命令是什么?反向代理服务器1.正向代理在浏览器中配置代理服务器的相关信息,通过代理
2021-08-07 11:58:52
141
原创 Apache Tomcat Web应用服务器
基于 8.5.50 版本的 Tomcat 讲解第一部分:Tomcat 系统架构与原理剖析1、浏览器访问服务器的流程b/s(浏览器/服务器模式) 浏览器是客户端(发送http请求) ———> 服务器端浏览器访问服务器使用的是Http协议,Http是应用层协议,用于定义数据通信的格式,具体的数 据传输使用的是TCP/IP协议;2、Tomcat 系统总体架构2.1 Tomcat 请求处理大致过程Tomcat是一个Http服务器(能够接收并且处理http请求,所以tomcat是一个http服务
2021-08-06 18:25:41
813
原创 SpringBoot
第一部分 SpringBoot应用回顾1.1 约定优于配置概念:约定优于配置(Convention over Configuration),又称按约定编程,是一种软件设计规范。本质上是对系统、类库或框架中一些东西假定一个大众化合理的默认值(缺省值)。例如在模型中存在一个名为User的类,那么对应到数据库会存在一个名为user的表,此时无需做额外的 配置,只有在偏离这个约定时才需要做相关的配置(例如你想将表名命名为t_user等非user时才需要写 关于这个名字的配置)。好处 : 大大减少了配置项1
2021-07-31 15:13:36
1226
原创 Spring Data JPA
1、Spring Data JPA 概述Spring Data JPA 是 Spring 基于JPA 规范的基础上封装的一套 JPA 应用框架,可使开发者用极简的 代码即可实现对数据库的访问和操作。它提供了包括增删改查等在内的常用功能!学习并使用 Spring Data JPA 可以极大提高开发效率。是应用于Dao层的一个框架,简化数据库开发的,作用和Mybatis框架一样,但是在使 用方式和底层机制是有所不同的。最明显的一个特点,Spring Data Jpa 开发Dao的时候,很多场景我们 连sql
2021-07-29 20:41:00
222
原创 SpringMVC 高级框架
第一部分 Spring MVC 应用1、简介1.1 三层架构我们的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/服务器;另一种是 B/S 架构 ,也就是浏览器服务器。在 JavaEE 开发中,几乎全都是基于 B/S 架构的开发。那么在 B/S 架构中,系 统标准的三层架构包括:表现层、业务层、持久层。三层架构在我们的实际开发中使用的非常多,所以 我们课程中的案例也都是基于三层架构设计的。表现层:也就是我们常说的web 层。它负责接收客户端请求,向客户端响应结果,通常客户端使
2021-07-20 12:06:48
528
原创 Spring框架
第一部分 Spring概述1、Spring简介Spring 是分层的 full-stack(全栈) 轻量级开源框架,以 IoC 和 AOP 为内核,提供了展现层 Spring MVC 和业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,已经成为使用最多的 Java EE 企业应用开源框架。Spring 官方网址:https://spring.io我们经常说的 Spring 其实指的是Spring Framework(spring 框架)。2、Spring 的优势整
2021-07-10 21:30:36
676
原创 Mybatis使用及源码分析
在使用mybatis框架之前,我们先用原生JDBC操作,代码如下public static void main(String[] args) { Connection connection = null; PreparedStatement preparedStatement = null; ResultSet resultSet = null; try { // 加载数据库驱动 Class.forName("com.
2021-07-04 20:48:55
524
原创 2021-06-30
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-06-30 10:15:27
146
原创 正则表达式
一、校验数字的表达式1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})
2015-12-17 15:49:20
360
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人