- 博客(23)
- 收藏
- 关注
原创 kitex服务注册
最近在用kitex搭建微服务项目,看了好多博客都再将示例代码,跟github上的示例大差不差,如果你想了解如何使用那么这篇博客对你没有太大帮助,本文目的在于讲清楚如何实现,其实所有的实现都是实现了registry.Registry接口,包括etcd,nacos。
2024-02-06 15:12:20 412
原创 七牛云存储图片
在自己做项目的时候打算用七牛云存储图片所以记录一下新建存储空间在腾讯云上买的域名,注册进来,目的是能够通过自己的域名访问存储的图片七牛云推荐的编程模型使用Go语言SDK根据自己的 AccessKey/SecretKey/bucket生成Token。
2022-11-10 08:11:43 220 1
原创 GMP调度模型
GMP涉及思想:用较少的线程完成大量任务,利用多核并行实现高并发先聊聊GM模型的问题再来解释GMP模型由于GM模型存在的缺陷,导致性能不佳,因此急切的需要一种调度控制器来协调线程与协程G:等待执行的任务(协程)M:工作的线程P:处理器(注意不是cpu)三者关系一个线程(M)工作时要与一个P进行绑定,假设现在我们启动三个线程和三个处理器每个处理器都有自己的协程队列当有G(协程任务)需要处理时,会将G加入到P(处理器)的队列中如果有大量的G那么队列迟早会满,此时会将G放入到全局队列中。
2022-10-28 19:53:16 743
原创 如何快速上手web框架
前言:除了开源的web框架,一些开源公司也会有自己的框架,这就导致框架繁多,也增加了学习成本,这也是我在接触了三个框架后的切身感受,无论你是新手,还是老炮想去快速掌握新的框架,这篇文章将会对你学习新的web框架提供一些思路。目标:本文意在理清web框架主要构成,提升学习能力。web框架构成:·路由及路由组:所以web框架都应具备这个特性,用来处理http请求,将请求交由特定处理函数处理·处理静态资源:框架一般会将我们的静态资源映射到对应的路径下。·请求参数解析:框
2022-10-17 15:47:54 300
原创 已忽略pom.xml文件---解决方案
在 Maven 创建 module 时,由于开始没有正确创建好 module 所以把它删掉了,然后接着又创建了与一个之前被删除的 module 同名的 module 时,出现了 Ignore pom.xml xxx,并且新创建的 module 的 pom.xml 显示不可用 问题分析:由于相同名称的 module 在之前被创建过,因此在 IDEA 中留有痕迹,重新创建一个新的同名 module 会让 IDEA 误以为是之前被删除掉的 module,所以才自动将这个 pom.xml 文件忽略了解决方法:找到m
2022-06-27 07:59:00 11045
原创 时间戳作为数据库主键的问题
目录数据库主键设计原则常见的主键方案:自增ID:UUID:时间戳作为主键(主键冲突问题)优点: 数据库自动编号,速度快,而且是增量增长,聚集型主键按顺序存放,对于检索非常有利。 数字型,占用空间小,易排序,在程序中传递方便。缺点: 当系统与其他系统集成时,需要数据导入时,很难保证原系统的ID不发生主键冲突。在多个数据库间进行数据的复制时(SQL Server的数据分发、订阅机制允许我们进行库间的数据复制操作),自动增长式字段可能造成数据合并时的主键冲突及表关联关系的丢失。 如果其他系统主键不是数字型
2022-06-12 10:47:19 3465
原创 MySQL索引原理
一、B+tree的数据结构二、我们先聊聊插入数据,为一会做铺垫,通过上面的结构我们不难看出,我们插入数据时会对插入的数据进行排序,这一点在select * from 表名;这条语句的查询结果就可以看出(你设置了主键的情况下)。这里我们想象一个有序数组,如果我们随机插入性能会很低(因为你要在中间插入会影响后面的数据),但是如果在数组最后插入一个数据速度会很快,那么数据库也是一个道理,这也是为什么要设置主键的原因,我们可以通过设置主键来实现顺序插入提高性能,如...
2022-05-16 23:58:26 218
原创 Spring Boot10
目录4.2AOP的概念4.2.1为什么使用AOP4.2.2术语和流程4.2AOP的概念上一篇相信大家对约定编程的基本思想以及有所了解,本篇我们就来学习AOP的概念,由于SpringBoot使用注解开发,所以后续的AOP操作都会使用注解4.2.1为什么使用AOP我们来设想一个需求,当我们需要保存一个用户时,可能要将用户的角色信息一起保存我们当然希望他们要么一起成功,要么一起失败,这个时候就要用到数据库的事务管理我们可以使用面向对象的思想通过继承来实现,但这很麻烦
2022-03-18 17:27:51 797 1
原创 Spring Boot09
今天正式开始第四章咯,我们先不谈SpringAOP这很让人头痛,今天主要是通过学习约定编程来理解AOP的概念约定编程如果看不懂不要紧的,只要明白大致的效果即可,因为这些都由Spring框架帮我们完成了我们在实际开发时,希望对一些服务进行事务控制以及日志记录,我们就可以使用约定编程的思想在调用服务时进行拦截,执行一些操作后再去调用服务大家可以先复制我的代码先看一下效果,我会在最后一 一解释①首先我们创建服务接口和服务实现类服务接口package com.POJO;pub.
2022-03-17 20:16:52 126
原创 Spring Boot08
目录3.9使用XML配置Bean3.10使用SpringEL3.9使用XML配置Bean 尽管SpringBoot,建议使用注解和扫描配置Bean,但是同样的,他并不拒绝使用XML配置Bean 如果我们希望在SpringBoot中使用XML方式装配Bean,就要了解@ImportResource,通过它可以引入对应的XML文件,有时候一些框架(如Dubbo)是基于Spring的XML方式开发的,所以我们今天就来学习一下 我们定义一个松鼠类...
2022-03-16 16:07:37 344
原创 Spring Boot07
3.7Bean的作用域在前面介绍BeanFactroy时,其中isSingleton()和isPrototype()俩个方法没有说,这两个方法是判断用来Bean的作用域的isSingleton 判断当前Bean是否为单例 isPrototype 判断当前Bean是否为原型 对于单例来说,无论我们获取多少次,获取的都是同一个对象。对于原型来说,我们每获取一次,获取的对象都不相同在一般的容器中Bean的作用域只会存在单例和原型,而在Web容器中存在Page(页面),re...
2022-03-15 18:17:45 935
原创 Spring Boot06
3.5使用属性文件使用默认配置文件对于属性文件,在项目中十分常见,比如连接数据库的jdbc.properties,日志文件的配置等,那在Spring Boot我们如何使用嘞!今天就来聊一聊在SpringBoot中,我们可以使用默认的application.properties配置文件 ,也可以使用自定义的配置文件我们来举个例子在Maven项目中添加SpringBoot配置上下文依赖,这样SpringBoot将创建读取配置文件的上下文 配置属性 使用配置的属性<depe
2022-03-14 21:33:59 1196
原创 Spring Boot05
目录3.3依赖注入3.3.1注解@Autowired3.3.2消除歧义性-------@Primary和@Quelifier3.3.3带有参数的构造方法类的装配3.4生命周期正常情况继续总结3.3依赖注入那之前啊,我们将Bean装配到SpringIoC容器当中,从而通过容器去获取Bean对象,在真实的程序中难免会有俩个Bean之间的依赖关系,例如电力工人和工具,电力工人工作的前提是要有工具,为了解决这种依赖关系,我们就要学习今天的依赖注入(dependency i..
2022-03-13 22:51:51 846
原创 Spring Boot04
前面我们了解了Spring Boot项目的搭建,接下来继续学习spring相关的只是spring有两个很重要的理念,IoC(反转控制),和AOP(面向切面编程)IoC如何理解?反转控制如果理解?我们来聊一下,如果应用程序B需要用到应用程序A,我们需要在应用程序B中new一个应用程序A的对象,程序的创建权在应用程序手中,而spring IoC通过配置Bean的方法将应用程序放入到容器中,那么此时应用程序的创建权在IoC容器手中,创建权发生反转,这就叫反转控制。而我们将应用程序放入到容器中,让容器帮
2022-03-12 14:28:51 218
原创 Spring Boot03
由于第二章大多数都是操作,所以一篇博客足矣2.1搭建Spring Boot开发环境2.1.1搭建IntelliJ IDEA开发环境第一步我们打开IDEA,创建新的项目,我们选择Spring Initializr,并设置JDK的版本,打包方式选择war包,在项目中要部署到tomcat服务器所以要打war包添加要是有的依赖(web、mysql驱动、mybatis)2.2Spring Boot的依赖和自动配置我们来讨论一下为什么又很少的配置就能够运行呢? ...
2022-03-11 21:38:48 278
原创 深入理解Thread构造函数
java.lang.Thread类中提供了九种构造方法 public Thread() public Thread(Runnable target) public Thread(ThreadGroup group, Runnable target) public Thread(String name) public Thread(ThreadGroup group, String name)
2022-03-11 09:05:17 583
原创 Spring Boot02
1.3Spring Boot的优点依照spring官方文档,Spring Boot的优点如下:创建独立的Spring应用程序 嵌入Tomcat、Jetty、Undertow,无需部署WAR文件 允许通过Maven来根据需要获取starter 尽可能地自动配置Spring 提供生产就绪型功能,如指标、健康检查、外部配置 绝对没有代码生成,对XML没有要求配置这些如果是第一次学肯定很懵逼,没关系的,回头再来看就好1.4传统SpringMVC与Spring Boot的对比我们先来看传.
2022-03-10 20:30:33 156
原创 Spring Boot01
1.1spring Boot历史2002年以前,当时正是javaEE和EJB的时代,EJB由Sun公司所推出,它是一个技术规范:EJB 从技术上而言不是一种"产品"2002年澳大利亚工程师Rod Johnson首次提出了Spring的概念,其任务EJB是可以简化的2004年由Rod Johnson主导的spring1.0正式发布,其优越的特性使得大量开发者选择放弃EJB,此后spring一站成名,尽管EJB3.0使用了spring的思想,但也没能挽回其没落的脚本1.2注解还是XML在sp
2022-03-10 09:17:12 233
原创 MySql基础
目录数据库的基本概念SQL:DDL:操作数据库、表DML:增删改表中数据DQL:查询表中的记录约束数据库的设计数据库的备份和还原多表查询:事务DCL:数据库的基本概念设想一个场景,当我们要将大量数据存储时,我们可以将数据写入文件中,但这也随之而来很多问题,比如相对某个数据进行查询或者修改从大量数据中进行这一认为无疑是海底捞针。数据库:1. 数据库的英文单词: DataBase 简称 : DB...
2022-03-09 10:35:41 456
原创 快速认识线程
举一个生活中的例子,你打开电脑听着音乐,同时你还在和自己的女朋友QQ聊天(哦!你没有女朋友),这个时候可以认为有两个进程,对于单核CPU来说并发运行是CPU时间钟快速轮询调度给我们的错觉,对于多核CPU来说才是真正意义上的并发运行。1.1线程一个进程中至少有一个线程(也被称为轻量级进程),线程是程序执行的路径,每个线程都有自己的局部变量表,程序计数器(指向正在执行的指令指针),以及各自的生命周期(这里看不懂没关系,回头来看就好,举个例子你在QQ中打开和某人的聊天界面,...
2022-03-08 10:32:33 274
原创 AOP思想
今天学习spring的AOP做出如下总结,先聊聊面相对象OOP,在传统的业务代码中我们通常会进行事务处理和日志记录,等操作,我们可以通过继承的关系实现代码重用,但是这就出现了一个问题,我们如果想要很多方法都进行日志记录就要继承继承在继承,都给爷继承,当我们想要关闭这个功能时还要一个一个更改,那么请问您辛苦吗?哈哈哈,由此AOP思想他来了,他真的来咯,想一下继承是纵向的现有爷后有孙子,而AOP是横向的,设想一下,我们将要进行事务控制和日志记录的方法都找到(扫描对应的包下的类),然后再程序编译或运行...
2022-03-05 19:12:10 66
原创 七牛云错误-区域错误
incorrect region, please use up-z2.qiniup.com不正确的区域,请使用zone2我用的是华南,但配置类的参数是Zone.zone0()区域 编码华东 Zone.zone0华北 Zone.zone1华南 Zone.zone2北美 Zone.zoneNa0...
2022-03-04 18:56:14 1740
原创 SQLyog
SQLyog是一款MySQL可视化工具,他可以将部分SQL操作通过图形化界面操作来完成,方便开发者更好的进行开发及数据库设计。在安装SQLyog前最好先安装好MySQL。一、下载1、某度网盘下载链接:某度网盘下载提取码:2aj7二、安装1、双击下载的文件2、选择Chinese后点击OK3、点击“下一步”4、选择“我接受”后点击“下一步”5、点击“下一步”6、修改安装位置(尽量不要安装在C盘),点击“安装”...
2021-12-05 10:08:00 1017 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人