自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 工作中遇到的es深分页的问题

数据量小可以使用 from/size 分页。数据量大,深度翻页,用户实时、高并发查询需求,使用 search after 方式。数据量大,深度翻页,后台批处理任务(数据迁移)之类的任务,使用 scroll 方式。

2024-07-18 23:14:07 264

原创 MySQL亿级数据导入及预处理

User Behavior Data from Taobao for Recommendation

2024-01-04 00:33:19 1139 1

原创 Mybatis接口的代理机制: 手写实现

注册机 MapperRegistry 伴随着 SqlSession 创建进行初始化,放入 SqlSession 中。其中注册机会去扫描到 mapper 包下接口,然后为每一个代理目标创建工厂,加入到一个容器 knownMappers 中。

2023-12-22 02:12:54 974

原创 手写简易版 Spring 框架

这个简易的 Spring 和 SpringMVC 可以学到什么呢?我想通过去背一些专业术语和概念是不能够真正理解其奥妙的,那些庞杂的框架一口吞不下,需要抽丝剥茧地去理解。

2023-12-07 17:42:57 930

原创 手写分库分表路由组件 (保证收获满满,功力大增)

当请求量和数据量上升时,数据库的压力变得越来越大,读写性能下降。初期的优化可能就是增加索引,读写分离,还有增加从库的手段来进行优化。但是到最后数据量到达一定程度时,这些手段的效果会变小。这时我们就需要进行分库分表,将单表和单库的数据量控制在一个合理的范围内,保证数据库可以进行高效的读写能力。

2023-11-30 18:24:01 1061

原创 第二篇:JUC并发编程高级篇(未完待续)

使用JUC工具包中的并发集合,我们可以避免手动处理锁和同步的复杂性,从而降低出现线程安全问题的概率。这些并发集合通过内部采用高效的算法和数据结构来优化并发操作,从而提供更好的性能和扩展性。

2023-10-24 19:33:45 130 1

原创 初步原理分析-Spring开发

Spring是目前最流行的Java框架,即Spring Framework。直接基于Spring Framework开发会很繁琐,比如依赖配置以及大量的项目配置文件。SpringBoot就是基于Spring这个基础框架开发的,它简化开发过程,比如起步依赖配置,自动装配等等,这些让项目开发更加简单、快捷。

2023-10-07 10:43:46 108 1

原创 Maven基础与高级

Maven是一个项目管理工具,可以对Java项目进行自动化的构建和依赖管理。如项目的编译、运行和打包都可以通过maven来完成,其次可以通过maven的核心配置文件pom.xml中记录的依赖目标自动地从远程仓库中下载依赖包。

2023-10-04 21:49:21 121 1

原创 第二篇:SpringCloudAlibaba入门与实践

在企业生产环境下,一个大型分布式微服务系统会有很多微服务子项目,每个微服务项目又都会有相应的开发环境、测试环境、预发环境、正式环境,服务相关的一些配置文件如果需要做修改,那么需要对每个服务配置文件进行修改,然后重启服务,相当的麻烦。怎么对这些微服务配置进行管理呢?

2023-10-01 17:26:47 211

原创 第一篇:SpringCloudAlibaba入门与实践

注册与发现中心是以"服务"为中心构建现代应用架构的基础服务设施,能够更快速、简便地构建、管理和交付微服务平台。相当于微服务架构中的通讯中心,每个微服务提供者会将服务地址、端口等注册到注册中心,服务消费者再通过注册中心查找服务地址,然后进行调用。

2023-10-01 16:48:05 221

原创 Jwt跨域认证方案

Token是在服务端产生的一串字符串,是客户端访问资源接口(API)时所需要的资源凭证,token认证的一般流程如下:

2023-09-27 00:31:59 132 1

原创 Netflix Eureka注册和发现中心的搭建

注册中心分为服务端与客户端,服务端主要功能是记录服务信息和心跳监控,也就是为客户端提供配置服务和健康检查。客户端与微服务嵌套在一起,微服务相对地可以分为服务提供者和服务消费者,可以用多语言实现。提供者通过客户端将自己信息注册到注册中心,每隔几秒带上了服务名、服务ip、服务端口等信息向注册中心服务端发送心跳请求。消费者根据调用地微服务名称从注册中心拉取多个服务实例列表,基于此服务列表做负载均衡,挑选一个微服务发起远程调用。

2023-09-15 18:55:36 81 1

原创 Java集合框架

Collection集合是单值集合,Map集合是键值对集合,Map集合的元素以键值对(key=value)的形式存储。Set集合相当于是Map集合的键不带值。Set和Map集合都是不重复集合,而List集合是重复集合。

2023-09-14 00:12:30 73 1

原创 Git版本控制技术快速入门

版本控制(Revision Control)是一种记录和管理开发过程中的文件,并对文件进行备份以便恢复以前版本的软件工程技术。简单来说就是一个项目文件托管工程技术,并且可以管理多人协作开发项目。

2023-09-10 18:34:39 245 2

原创 微服务入门:SpringCloud核心组件介绍

微服务周围就是去围绕这个微服务来去做各种辅助的微服务组件。例如分布式追踪、服务注册、配置服务等,都绕微服务运行时所依赖的必不可少的的支持性功能。我们可以得出这样一个结论:Spring Cloud 是以微服务为核心的分布式系统的一个构建标准。

2023-09-08 08:35:08 165 1

原创 基于.NET7 / Vue2分离式的后端解决方案网站开发

过程采用分离式开发,系统后端采用C#语言基于.NET环境在Visual Studio平台上开发,系统前端使用Vue.js前端开发框架快速搭建动态单体应用页面。基于此前后端开发的方式开发一款B/S架构软件。 本系统后端采用.NET Core Web API开发框架,通过SqlSugar框架连接SqlServer数据库。前端使用Vue.js前端框架,通过Axios向后端发送网络异步请求获取数据。

2023-09-04 16:37:29 328 1

原创 第一篇:JUC并发编程基础篇

多线程操作同一个资源,即同一个对象被多个线程同时操作,就称为并发。处理多线程并发问题时,多个线程访问同一对象,因为并发随机性,其中一些线程会修改对象时会造成数据不一致,这时候我们就需要线程同步机制,线程同步机制就是一种等待机制,多个需要同时访问此对象的线程进入这个对象的等待队列,等待前面线程使用完毕,下一个线程再使用。所以控制对资源的顺序访问就是通过同步方法和同步代码块。

2023-08-19 22:38:45 93

原创 Springboot+Vue前后端联调和数据交互

现在将后台管理页面(前端)和后台服务服务端进行集成,之前都是通过MockJS拦截前端请求随机生成数据来模拟服务器的数据响应的。当服务端接口开发完成后,前端就可以通过连接服务端程序指定的端口,然后向指定功能接口发送请求。

2023-08-13 09:37:05 2626 1

原创 第二篇:Mybatis和MybatisPlus开发

Mybatis是一款优秀的数据持久层ORM框架,被广泛地应用于应用系统。Mybatis能够非常灵巧地实现动态SQL,可以使用xml或注解来配置和映射原生信息,能够轻松地将Java的POJO(Plain Ordinary Java Object,普通Java对象)与数据库中的表和字段进行映射关联。Mybatis-Plus是Mybatis的增强工具,在Mybatis的基础上做了简化和增强。在大多数情况MybatisPlus还是相当快捷、方便和实用的。

2023-08-07 21:03:07 161

原创 第一篇:SpringBoot项目的创建和开发

SpringBoot是由Pivotal团队提供的基于Spring的全新框架,旨在简化Spring应用的初始搭建和开发过程。Java开发企业级应用一般会涉及到三个框架,Spring、SpringMVC和Mybatis,也就是SSM,其开发特点是配置特别繁琐,涉及大量的xml文件。SpringBoot的设计目标就是使开发者能够更轻松地创建独立的、基于Spring的应用程序,而无需过多的配置。尽可能地简化应用开发的门槛,让应用开发、测试、部署变得更加简单。

2023-08-07 20:46:10 344

原创 基于 NetLogo 的人群中疾病传播模型的动态模拟研究

本文的实验基于NetLogo开发一个人群中疾病传播的动态模拟模型,并通过操纵各种参数来评估这些参数对传播过程的影响。通过该模型,我们能够研究不同因素,如程序运行时间、初始感染人数、人口规模、接种率、传播率和死亡率,对疾病传播的影响。

2023-08-03 00:40:27 1141

原创 第二篇:VueRouter和Vuex插件的使用以及项目的打包部署

Vue路由vue-router是官方的路由插件(土一点说就是用来设置和管理超链接的),能够轻松的管理SPA项目(单页Web应用)中组件的切换,实现组件页面的跳转,单独展现出不同的组件页面。Vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。Vuex就是一个专门为Vue.js应用程序开发的状态管理库,采用集中式存储管理应用的所有组件的状态。简单地说,Vuex用于分发和管理Vue各个组件中的数据。

2023-08-02 19:25:11 724

原创 第一篇:原生JS到Vue前端工程化开发

当前最为主流的开发模式是前后端分离开发:前端工程和后端工程。前端工程要通过发送异步请求消息,后端工程进行处理后再返回响应消息,实现前后端的数据交互。这样前端工程与后端工程就由独立的团队进行开发,所以在开发过程中要实现对接功能必须遵守开发规范,开发规范根据产品经理提供的页面原型与功能需求,定义在专门的文档当中,称为接口文档。接口文档中定义了各个接口功能,描述功能的基本信息,请求参数,响应数据。

2023-08-02 18:38:29 1089 1

原创 网络通信概述到Socket网络编程及NIO通信编程模式

套接字就是网络通信的数据收发的出入接口,通过套接字相互建立数据管道,执行数据的收发功能,可以理解为收发集装箱的马头、收发信件的邮局、收发包裹的快递站。网络通信的分层网络通信三要素HTTP请求消息和响应消息IP地址用来给一个网络中的计算机设备做标识唯一的编号端口号:可以唯一标识设备中的应用程序(进程)网络协议是计算机网络客户端与服务端通信必须事先约定和彼此遵守的通信规则

2023-07-25 01:03:49 207

原创 Servlet原理和简单的案例编写

当启动一个WEB项目时,容器首先会读取项目web.xml配置文件里的配置,包括servlet,mapping,pattern,过滤器等,其实就是配置后台Servlet信息,以及一些参数初始化配置,便于服务器读取配置参数对应的信息数据,当这一步骤没有出错并且完成之后,项目才能正常地被启动起来。这样就实现了动态的页面内容。当Servlet容器收到请求,会根据请求的URL找到对应的Servlet对象(由容器创建),并调用servlet中的init()方法进行初始化操作,如数据连接创建、加载配置文件等。

2023-07-18 19:24:23 387 1

原创 结合案例讲解Java IO流

Java IO流是用于输入和输出数据的机制。Java提供了丰富的IO类和接口,用于处理不同类型的数据。使用合适的IO流类,可以处理二进制数据、文本数据、对象数据等各种情况,并且可以对数据进行缓冲、处理和操作。同时,IO流涉及数据的读写,所有不需要使用时及时关闭它们,可以手动调用close()方法关闭流,并处理可能抛出的IO异常,或者当有多个流时可以使用try-with-resource语句块,这样就不需要手动关闭流以及处理对应可能的异常。

2023-07-18 19:10:36 112 3

空空如也

空空如也

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

TA关注的人

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