自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 i++和++i的区别

++i是左值,可以直接对++i赋值,例如++i=3。i++是右值,不能直接对i++赋值,例如i++=3会报错。++i是指被加1之后的i,而i++是指i被加1的这一个操作表达式,虽然两者的结果都为1,但是++i的结果是直接返回的加1后的i,而i++返回的是一个新的变量,值为i+1。++i和i++的结果都为1,因为这两者本身在汇编语言中没有任何区别,但是涉及到赋值操作的时候,i++会比++i多一行指令。i++; ++i; //在汇编语言中二者完全相同a=++i,直接对a赋值++ii=i+1;

2022-05-17 01:03:20 6138

原创 计算机存储金字塔层次结构:寄存器 高速缓存 内存 硬盘

计算机存储器的金字塔层次结构,参考这里CPU、内存、硬盘的关系:硬盘用来存储我们的程序和数据,当我们运行程序的时候,CPU首先接受到我们的命令,之后CPU是告诉硬盘,我要运行你存储的程序A,你把程序A送到内存去。CPU对内存说,我让硬盘把程序A送到你这里来了,你保存一下。 等程序A被完整的送到内存之后。CPU就开始执行程序A。CPU 并不会直接和每⼀种存储器设备直接打交道,⽽是每⼀种存储器设备只和它相邻的存储器设备打交道。⽐如,CPU Cache 的数据是从内存加载过来的,写回数据的时候也只写回到内存,

2022-04-17 13:06:13 6228

原创 尚医通项目--20个技术栈个人总结

1. Mybatis-Plus 2. Swagger2 3. 自定义全局异常处理 4. LogBack5. EasyExcel 6. Spring Cache 7. Redis 8. Nginx 9. MongoDB10. 图片Bash64编码工具类 11. Nacos 12. Feign 13. Gateway 14. JWT15. 阿里云短信服务 16. 用户认证和网关整合 17. OAuth2 微信登录18. 阿里云OSS对象存储服务 19. RabbitMQ 20.Docker

2022-03-16 01:58:52 3194 1

原创 笔记--Java零散小知识--1.19更2.15w字

for循环的结构可以为:for(单/多/空;布尔/空;单/多/空)单:单表达式多:多表达式第二个表达式为空则是死循环在Java里,for(;;)等价于while(true)foreach循环 例:for(int x:array)1B=8bit 1KB=1024Bbit:比特 位byte:字节 也就是Bboolean 1位byte 1字节 8位char 2字节 16位short 2字节 16位int 4字节 32位float 4字节 32位long 8字节 64位d

2022-02-22 11:02:02 547

原创 SkyWalking学习-1-概述

SkyWalking是一个开源的可观测平台,用于收集,分析,聚合,以及可视化处理来自服务和云原生框架的数据。SkyWalking提供了一种简单的方法来维护分布式系统的清晰视图,即使是跨云。它是一种现代APM,专门为云原生、基于容器的分布式系统设计。

2023-10-31 14:05:18 368

原创 The Development of DBMS in History--人工翻译

从数据库概念最初面世到新的数据库的想法积极发展的今天,数据库类型已经改变了很多。现代系统中使用的每种数据库类型都有独特的优势,如果有正确的访问模式、数据属性和需求,这些优势值得探索。在开始一个新项目时,最重要的决定之一是评估您的需求并找到符合项目需求的类型。很多时候,混合使用不同的数据库类型是处理项目数据的最佳方法。您的应用程序和服务将影响生成的数据类型以及您所需的功能和访问模式。例如,系统的用户信息可能最适合关系数据库,而服务的配置值可能更适用内存中的键值数据库。

2023-05-23 14:14:45 304

原创 Start JDKFlightRecorder--人工翻译

可以同时运行多个JFR记录,并且每个JFR记录都可以使用不同的配置,你可以使用不同的JFR记录去捕获不同的事件集。但是,为了使JFR内部逻辑更加精简,生成的记录始终包含当时活动的所有记录的所有事件的并集。这意味着,运行多个JFR记录,得到的记录信息会多余实际所需的信息。通过集成到JMC里的Flight Recorder插件来使用JFR是最简单直观的。该插件允许通过直观的GUI使用JFR的功能。有关通过JMC来使用JFR的一些详细说明,请查看的Flight Recorder插件部分。

2023-05-23 11:43:03 693

原创 About JDKFlightRecorder--人工翻译

是一个工具,用于收集有关JVM以及在JVM上运行的Java程序的诊断和分析数据。

2023-05-23 11:42:42 492

原创 JDKMissionControl官方用户指南--人工翻译

暂时用不到,暂略JMC是一组高级工具,用于管理、监视、分析Java应用程序并排除其故障。JMC能够对代码性能、内存和延迟等领域进行高效而详细的数据分析,而不会引入通常与分析和监控工具相关的性能开销。JMC非常小的性能开销是它与HotSpot虚拟机紧密集成的结果。JMC的功能总是按需提供的,而且其性能开销只有在工具运行时才会出现。这种方法还消除了当监控工具改变系统的执行特性时出现的观测器效应问题。JMC使您能够解决问题并确定根本原因和瓶颈。这些特性使JMC工具非常适合于在生产中运行的应用程序。JMC由以下客户

2023-05-23 11:39:30 1036

原创 笔记--大数据--Hadoop--01--基础概念

Hadoop是一个分布式系统基础架构主要解决海量数据的存储和分析计算问题高可靠性:Hadoop底层维护多个数据版本,单个计算元素或存储故障也不会导致数据丢失高扩展性:在集群中分配任务数据,可以方便的扩展数以千计的节点高效性:在MapReduce思想下,Hadoop是并行的高容错性:能够自动将失败任务重新分配Hadoop1.x中MapReduce同时处理业务逻辑运算和资源调度,耦合性较大。

2023-05-23 11:34:02 336

原创 笔记--大数据--大数据概念

按顺序给出数据存储单位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。4V Volume大量 Velocity高速 Variety多样 Value低价值密度。处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化。:指无法在一定时间范围内用常规软件工具进行捕捉、管理和。能力的海量、高增长率和多样化的信息资产。------笔记来自尚硅谷课件的自学。大数据主要解决,海量数据的。

2023-05-23 11:31:33 545

原创 HTTP协议

Http协议在Servlet中的使用

2022-06-30 16:47:56 285

原创 Servlet基础

Servlet基础

2022-06-29 10:28:10 86

原创 Python学习-Day2

Python基础学习-Day2

2022-06-24 17:35:48 144

原创 Python学习-Day1

Python学习第一天

2022-06-23 18:18:00 241

原创 数据结构--各种树的概念

先了解一下关于树的相关术语:节点深度:对任意节点x,x节点的深度表示为根节点到x节点的路径长度。所以根节点深度为0,第二层节点深度为1,以此类推节点高度:对任意节点x,叶子节点到x节点的路径长度就是节点x的高度 树的深度:一棵树中节点的最大深度就是树的深度,也称为高度父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点 子节点:一个节点含有的子树的根节点称为该节点的子节点节点的层次:从根节点开始,根节点为第一层,根的子节点为第二层,以此类推 兄弟节点:拥有共同父节点的节点互称为兄弟节点度

2022-04-26 12:38:04 401

原创 MySQL基础概念

A原子性 C一致性 I隔离性 D持久性脏读幻读不可重复读隔离级别读未提交读已提交可重复读可序列化/串行化读硬盘IO/寻址:先寻磁盘,再寻磁道,再寻扇区,每次读取4kb数据索引根本原理:通过建立索引降低硬盘的IO次数,提高效率创建索引步骤:①索引字段值为key,value是对应的本行记录②根据key比较大小生成树型结构创建索引的要求:最好是占用空间小,重复度低的字段作为索引普通索引唯一索引:hash索引和主键索引全文索引单列索引 普通索引、唯一索引、全文索引多列索引

2022-04-26 12:15:56 1256

原创 7个线程池参数

参考源码,线程池的构造函数有7个参数:corePoolSize 核心池大小:线程池核心线程大小maximumPoolSize 最大池容量:线程池最大接受线程数量keepAliveTime 存活时间:空闲线程存活时间unit 时间单元:空闲线程存活时间单位workQueue工作队列:一种阻塞队列,用来存储等待线程执行的任务threadFactory 线程工厂:用来创建线程的工厂handler 拒绝策略:线程池满

2022-04-26 00:14:15 156

原创 十八种锁的概念

首先了解一些知识CAS机制(Unsafe类中的方法,全称为Compare and Swap)volatile关键字synchronized关键字Reentrantlock参考:文中超链接地址

2022-04-16 01:15:13 253

原创 Git基础操作

创建 Git 版本库git init添加到暂存区git add Readme.md // 添加单个文件到暂存区git add . // 将当前目录下所有修改添加到暂存区,除按照规则忽略的之外

2022-04-15 13:20:57 330

原创 七个经典算法思想

时间复杂度O(1) < O(logN) < O(N) < O(N logN) < O(N2) < O(N3) < O(2N)<O(N!)经典算法​递归:函数在运行时调用自己动态规划:搜索与回溯:分治:双指针:位预算:数学:模拟:查找算法...

2022-04-15 01:56:09 582

原创 十大排序算法(演示动画)

排序算法冒泡排序:从第一个开始,根据大小比较是否交换相邻数字的位置插入排序:从第一个开始,根据大小为下一个数找到合适的位置插入已经排序的数列选择排序:从头到尾遍历一次,选择最值放到端点,然后继续下一轮不包括这个已经排序过的数的从头到尾的遍历希尔排序:归并排序:快速排序:堆排序:计数排序:桶排序:基数排序:...

2022-04-14 17:53:27 578

原创 尚医通平台地址以及服务启动

平台地址: - 尚医通用户前台:http://localhost:3000 - 尚医通管理后台:http://localhost:9528 - 模拟医院管理后台:http://localhost:9998/Swagger地址: - service_hosp 医院服务api:http://localhost:8201/swagger-ui.html - service_cmn 数据字典服务api:[http://localhost:8202/swagger-ui.html

2022-03-30 15:46:44 3548 2

原创 MongoDB CRUD(两种方式都有)

spring-data-mongodb提供了MongoTemplate与MongoRepository两种方式访问MongoDB,MongoRepository操作简单,MongoTemplate操作灵活,我们在项目中可以灵活使用这两种方式操作MongoDB

2022-03-25 23:38:22 939

原创 阿里云服务器部署

安装gcc在centos下面安装gcc,我们使用yum(包管理器)安装,因为gcc依赖了很多东西,而有些包系统可能已经安 装了,有些没有,所以下面的命令最后都执行一遍,在shell中执行下面的命令:yum install cppyum install binutilsyum install glibc-kernheadersyum install glibc-commonyum install glibc-develyum install gccyum install make1、Dock

2022-03-17 20:25:43 1160

原创 尚医通目录结构--细分版--详细到接口方法

yygh-parent根目录 common公共模块父节点 common-util公共工具类 exception GlobalExceptionHandler 全局异常处理类Handler YyghException 自定义全局异常 helper JwtHelper Json Web Token,认证帮助类 result...

2022-03-16 14:34:16 1962

原创 Java集合框架--Collention和Map(二)

Map(映射)接口Map与Collection并列存在。用于保存具有映射关系的数据:key-value,一对key-value是一个entryMap 中的 key 和 value 都可以是任何引用类型的数据(基本类型会自动装包为引用类型)Map 中的 key 用Set来存放,不允许重复,即同一个 Map 对象所对应的类,须重写hashCode()和equals()方法。Map的Value用Collection存放。常用String类作为Map的key,也就是键key 和 value 之间存在

2022-03-12 00:25:33 803

原创 Java集合框架--Collention和Map(一)

- Collection(聚集)接口是List、Set和Queue接口的父接口,因此Collection接口定义的方法对List集合、Set集合、Queue集合都可以操作 - JDK对Collection接口无实现,而是对更具体的子接口进行实现 - Java5之前没有泛型,Java集合会丢失容器中所有对象的类型并当做Object处理,Java5后有了泛型之后Java集合才可以记住容器中对象的数据类型

2022-03-11 00:14:08 284

原创 尚医通项目笔记--包括每个接口对应页面的图片

yygh-parent根目录 common公共模块父节点 common-util公共工具类 rabbit-util业务封装RabbitMQ service-util服务工具类 hospital-manage医院接口模拟端(已开发,直接使用) model实体类 service接口服务父节点 service-hosp医院api接口服务 service-cmn公共api接口服务 service-user用户api接口服务 service-order订单api接.

2022-03-09 17:36:51 4084 2

原创 Mybatis-Plus CRUD

引入依赖<!--mybatis-plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.3.1</version></dependency>在application.properties 添加对MySQL数据库相关配置s

2022-03-08 12:56:45 713

原创 数据结构基础

数据结构数组:Array数组是将相同类型的元素存储于连续内存空间的数据结构,其长度不可变。int[] :int型数组 初始化:默认初始化:int[] array=new int[3] 静态初始化:int[] array={1,2,3} 或int [] array = new int [] {1,2,3} 动态初始化:int[] array=new int[3] array[0]=1;array[1]=2;array[2]=3;可变数组:ArrayList基于数组和扩容机制实现,相比普通数组更加

2022-02-18 16:44:59 94

原创 基于Netty重构消息服务实现万级别即时通讯--待更

一、首先列举一下需要实现的功能1.实现服务端与客户端之间的全双工通信,服务端可以主动向客户端发送消息2.区分不同客户端3.区分不同用户4.区分前端框架5.服务端对客户端的连接情况统计6.通道隔离7.认证健全8.心跳机制9.对接docker容器部署10.实现万级别并发二、技术调研,开发框架的选择主流框架分别有NettyUndertowJettyVert.xGrizzlyspray-websocketnodejs-websocket/Node.jsGo由于开发语言限

2022-02-12 16:35:05 428

原创 SpringBoot自动配置原理

以@SpringBootApplication注解为起点总结自动配置原理带红色序号的是表示有注释,写在下面了①表示是一个springboot配置类②将@SpringBootApplication包和子包下所有组件扫描到容器中(注册本地组件)③public static class Registrar{ public void registerBeanDefinitions(AnnotationMetadata metadata,BeanDefinitionRegistry registry){

2021-09-03 19:09:53 131

原创 RabbitMQ的搭建和操作

创建channel (信道)ConnectionFactory factory = new ConnectionFactory();factory.setHost("192.168.1.104");factory.setUsername("root");factory.setPassword("123456");Connection connection = factory.newConne

2021-09-03 01:24:05 384

空空如也

空空如也

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

TA关注的人

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