- 博客(30)
- 收藏
- 关注
原创 多线程入门
通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU调度和执行的单位。说起进程,就不得不说下程序。程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。jdk自带的stop方法会立即停止线程,破坏线程逻辑完整性,会丢弃所有的线程锁因此不推荐使用。而进程则是执行程序的依次执行过程,它是一个动态的概念。是系统资源分配的单位。优点:避免由于 Java 单继承带来的局限性。优点:可以获取返回值。多个线程访问同一资源。
2023-08-23 01:13:30
303
原创 Sentinel之限流、熔断
Sentinel(分布式系统的流量防卫兵)是阿里开源的一套用于服务容错的综合性解决方案,他以流量为切入点,从流量控制、降级熔断、系统负载保护等多个维度来保护服务的稳定性 Sentinel具有以下特征丰富的应用场景: Sentinel承接了阿里巴巴近 10 年的双十一大促流量的核心场景, 例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等完备的实时监控: Sentinel 提供了实时的监控功能,通过控制台可以看到接入应用的单台机器秒。
2023-08-22 17:37:19
1042
原创 服务网关之Spring Cloud Gateway
大家都知道在微服务结构中,一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用,这么多的微服务呢?如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用。客户端多次请求不同的微服务,增加客户端代码或配置编写的复杂性认证复杂,每个服务都需要独立认证。存在跨域请求,在一定场景下处理相对复杂。上面的这些问题可以借助API网关来解决。
2023-08-19 10:20:43
110
原创 mysql 常用函数及MD5加密
是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。返回满足Select条件的记录总和数,如 select count(*) 【不建议使用 *,效率低】可以为数值字段,字符字段或表达式列作统计,返回最大的值。可以为数值字段,字符字段或表达式列作统计,返回最小的值。返回数字字段或表达式列作统计,返回一列的总和。通常为数值字段或表达列作统计,返回一列的平均值。
2023-08-18 17:36:21
531
原创 服务配置NacosConfig
首先我们来看一下,微服务架构下关于配置文件的一些问题:配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。配置文件无法区分环境。微服务项目可能会有多个环境,例如:测试环境、预发布环境、生产环境。每一个环境所使用的配置理论上都是不同的,一旦需要修改,就需要我们去各个微服务下手动维护,这比较困难。配置文件无法实时更新。我们修改了配置文件之后,必须重新启动微服务才能使配置生效,这对一个正在运行的项目来说是非常不友好的。
2023-08-18 01:42:22
1181
原创 mysql DQL select 查询语句
DQL( Data Query Language 数据查询语言 )根据左表查询,不满足条件的也会显示,以null值填充右表。根据右表查询,不满足条件的也会显示,以null值填充左表。把符合两边条件的查出来,不满足条件的都不显示。简单的单表查询或多表的复杂查询和嵌套查询。查询数据库数据 , 如SELECT语句。是数据库语言中最核心,最重要的语句。
2023-08-17 18:05:41
66
原创 Nacos Discovery--服务治理
官网:https://nacos.io/zh-cn/docs/what-is-nacos.htmlNacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。从上面的介绍就可以看出,nacos的作用就是一个注册中心,用来管理注册上来的各个微服务。通俗的讲, 负载均衡就是将负载(工作任务,访问请求)进行分摊到多个操作单元(服务器,组件)上进行执行。根据负载均衡发生位置的不同,一般分为服务端负载均衡和客户端负载均衡。
2023-08-16 02:13:36
160
原创 mysql外键与增删改
而truncate是数据定义语言(DDL - Data Definition Language),操作时不会进行存储,不能进行回滚。在数据量比较小的情况下,delete和truncate的清理速度差别不是很大。由于第二项中说的,truncate不需要支持回滚,所以使用的系统和事务日志资源少。delete 语句每次删除一行,并在事务日志中为所删除的每行记录一项,固然会慢,但是相对来说也较安全。这个比较好理解,因为delete是可以带WHERE的,所以支持条件删除;而truncate只能删除整个表。
2023-08-15 22:19:20
257
原创 mysql02 数据库基本操作
例如,性别字段,默认为"男" , 否则为 “女”;若无指定该列的值 , 则默认值为"男"的值。创建数据库 : create database [if not exists] 数据库名;当前表设置步长(AUTO_INCREMENT=100) : 只影响当前表。自动增长的 , 每添加一条数据 , 自动在上一个记录数上加 1(默认)不足位数的用0来填充 , 如int(3),5则为005。默认为NULL , 即没有插入该列的数值。使用数据库 : use 数据库名;通常用于设置主键 , 且为整数类型。
2023-08-15 02:38:02
54
原创 springcloud入门
创建子模块除了公共模块是maven项目其他都是springboot项目。同时运行三个springboot项目。此模块一般只有实体类和工具类。新建model层添加实体类。
2023-08-15 00:16:52
210
1
原创 springboot整合Druid和redis
CachePut会将返回值存入对应的缓存中,设置的缓存名和参数(此处为name)会一起作为键名,返回值为键值。注:我的redis下在虚拟机,此处host为我的虚拟机ip,如果下在本机上为127.0.0.1。启动项目,访问到http://localhost:8080/druid来到登录页面。controller添加代码即可将key,value数据添加到redis中。新建config包,添加RedisConfig.java。在我们的接口stumapper上添加注解。在application.yml添加。
2023-08-13 22:10:18
224
1
原创 springboot freemarker的使用
springboot默认扫描 .ftlh文件,如果使用.ftl或者其他后缀需要配置suffix=.ftl。
2023-08-12 15:56:27
865
1
原创 springboot整合mybatis和mybaties(并解决两个的冲突)
将jdbc中ssl=false改为true即可,依然爆红但运行成功。注:如果运行时报如下红并出错。使用Eolink测试。
2023-08-10 21:37:25
1275
1
原创 springboot入门
原因是mybatis需要整合数据源,可以配置默认不加载数据源。此插件能够将properties转换为yml文件。因为需要post请求。
2023-08-09 22:28:20
40
原创 反射与自定义注解
文章目录一. 反射1. 类类的获取方式2. 反射实例化3. 反射动态方法调用4. 反射获取对象的属性和属性值二. Java注解1. Java注解简介2. Java注解分类1. JDK基本注解2. JDK元注解3. 自定义注解3. 如何自定义注解1. 定义注解2. 案例一(获取类与方法上的注解值)3. 案例二(获取类属性上的注解属性值)4. 案例三(获取参数修饰注解对应的属性值)5. Aop自定义注解的应用一. 反射1. 类类的获取方式一切反射的操作都从获取类的对象开始Class.forName类
2023-08-08 22:15:40
400
原创 redis入门
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区Redis属于非关系型数据库Redis用途:1. 数据库 2. 缓存集群:哨兵、主从、分片式。
2023-08-07 23:51:02
39
1
原创 Linux+Docker部署项目
Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker。在/etc/docker目录下找到在daemon.json文件(没有就新建),将下面内容写入。点击CD/DVD 选择使用ISO映像文件 点击浏览找到自己的CentOS的映像文件。如下,安装完成,输入用户名和密码即可进入系统(密码在输入时不会显示)设置ROOT用户密码,设置完后点击左上角的完成,并继续等待安装。点击安装位置,进入后点击左上角的完成,系统会自动分区。
2023-08-03 23:19:02
615
原创 vuex入门
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。点击page1按钮page2改变。
2023-07-31 21:03:12
37
1
原创 ElementUI之首页导航+左侧菜单
老大,接口文档还没输出,我的好多活干不下去啊!后端小哥,接口写好了没,我要测试啊!前后端分离之后,前端迫切需要一种机制,不再需要依赖后端接口开发,而今天的主角mockjs就可以做到这一点。Mock.js是一个模拟数据的生成器,用来帮助前端调试开发、进行前后端的原型分离以及用来提高自动化测试效率。数据类型丰富:支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。拦截Ajax请求:不需要修改既有代码,就可以拦截Ajax请求,返回模拟的响应数据。
2023-07-25 02:48:03
675
原创 SPA项目登录(elementUI),axios,跨域
前端调用的后端接口不属于同一个域(域名或端口不同),就会产生跨域问题,也就是说你的应用访问了该应用域名或端口之外的域名或端口。
2023-07-24 00:55:11
98
原创 SPA项目构建,路由嵌套跳转
vue-cli是vue的一个官方脚手架工具(快速工程化命令工具), 用来帮助程序员们快速搭建基于vue框架的开发环境。vue有很多脚手架工具,vue-cli只是其中一种,侧重于单页面应用 (SPA) 的快速搭建。
2023-07-22 00:13:10
60
原创 vue基础语法下(样式绑定、事件处理器、form表单、组件通信)
默认情况下, v-model在input事件中同步输入框的值与数据,但你可以添加一个修饰符lazy,从而转变为在change事件中同步。使用方式:v-bind:class=“expression”expression的类型:字符串、数组、对象。expression的类型:字符串、数组、对象。将用户的输入值转为 Number 类型。自动过滤用户输入的首尾空格。
2023-07-20 01:12:46
93
1
原创 Vue基本语法
与v-if类似,只是会渲染其身后表达式为false的元素,而且会给这样的元素添加css代码:style=“display:none”,v-if是真的不存在,span标签都没有了,而v-show 标签被隐藏了。举例:购物车里面的商品列表和总金额之间的关系,只要商品列表里面的商品数量发生变化,或减少或增多或删除商品,总金额都应该发生变化。watch主要用于监控vue实例的变化,它监控的变量当然必须在data里面声明才可以,它可以监控一个变量,也可以是一个对象。指的是带有“v-”前缀的特殊属性。
2023-07-19 01:00:50
61
原创 Vue简介
Vue是一个构建用户界面(UI)的[渐进式]JavaScript框架官网:https://cn.vuejs.org/Vue作者:尤雨溪/中国无锡MVVM,一种更好的UI模式解决方案,MVVM通过数据双向绑定让数据自动地双向同步相比较于mvc更加便捷;M:model数据模型V:view视图VM:ViewModel 视图模型 虚拟domV(修改数据) -> MM(修改数据) -> V数据是核心treenodes=id:1text:后勤管理children:【
2023-07-17 19:21:36
42
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人