自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 云原生架构

docker hub下载:docker pull 镜像(nginx、redis)直接下载是该工具的最新版本,可以指定通过镜像名:版本来指定版本。删除:docker rmi 镜像名:版本号(默认lastest)/镜像id如果第一次没有指定,可以通过docker update 容器id --restart = always来更新设置项。但是docker update 不能修改容器的端口。docker ps 查看运行中的容器docker rm 容器名/容器id 可以使用-f强制删除运行中的容器。

2023-09-17 21:16:55 368

原创 阿里巴巴Java开发手册学习记录

严禁使用英文 + 拼音混合使用类名应所有单词的首字母大写,除了(UserDO,XxxDTO, XxxPo等)抽象类的应以Abstract/Base开头(之前看一个文章就是因为XxxDTO方法的命名为isXxxXxx(),导致方法被错误的序列化,造成了线上事故,文章:https://mp.weixin.qq.com/s/994BAkKPEeBz_gs_6LN2DQ)如果模块、接口、类、方法使用了设计模式,应体现在命名中领域模型命名规约数据传输对象:xxxDTO, xxx为业务领域相关。

2023-08-13 23:10:36 248

原创 JDK1.8 Optional的使用语法

2023-07-24 08:45:38 168

原创 Jdk 版本升级

第二个办法是复制javapath那一行的地址到资源管理器打开,发现里面有三个文件java.exe、javaw.exe、javaws.exe,我们将这三个文件去掉即可(不推荐删除,可以在文件名最后加上.bak的后缀)安装了jdk17后即使配置了环境变量系统的仍然会显示jdk1.8版本,是因为系统在搜寻path时从第一行开始向下查找,以上我们系统的Jdk多版本就配置好了,之后如果要切换回Jdk1.8,只需要更改JAVA_HOME的value即可。下载,此教程以Jdk1.8为例,一键下一步即可安装成功。

2023-07-16 20:35:58 3517

原创 Oracle中的连接方式

对于数据库中表与表之间的连接(内连接、外连接)都可以看成集合之间的运算操作。

2023-07-01 16:25:25 383

原创 SQL进阶-外连接的用法

差集:外连接后取b列为null的行,或者可以通过not in 或者 not exist实现。其中全外连接就是如果不满足连接条件的话,两个表中的元素都会保留下来。交集:内连接实现,在SQL标准中,可以是使用intersect。异或:先取差集,然后从A表把差集中的元素筛选掉。的关系的话:我们可以直接进行连接然后聚合求结果。并集:全外连接,SQL标准中是union。通常情况下我们需要在做将数据库。但是如果两个表的元素之间是。当两个表如果其中的元素是。的关系的话,就需要把。

2023-05-21 21:36:21 707

原创 SQL进阶-having子句的力量

having的好处

2023-05-21 10:54:42 521

转载 Git分支设计规范

转载:Git分支设计规范

2023-05-18 16:19:44 65

原创 Git的分支管理

如果线上出现生产问题需要修复,则从release分支检出作为本地分支(hotfix),当问题修复完后,将hotfix合并到dev分支并在测试环境部署测试通过后,将hotfix分支合并到release分支上。,所有的开发分支(feature)都是从dev分支检出作为本地分支,当功能开发完后,再将feature分支合并到dev分支,在测试环境部署并测试通过后,再将feature分支合并到release分支上。当准备工作完成后,就可以将release分支合并到master分支上,可在合适的时间上线。

2023-05-18 16:09:34 4099 2

原创 网络的速率和带宽的区别

举个列子:你骑车从学校回家,路上的限速80km/h,这就可以成带宽(最高传输速率),电动车的最高速度是40km/h,就可以理解成速率(额定速率),但是汽车的过程中理论上并不会达到40km/h的速度行驶。的传输速率,也称为数据率或比特率,往往指的是额定速率或标称速率,而非网络中实际上运行的速率。所以对于带宽来说描述的是信道的属性,而对于速率来说更多的描述的是bit数据的属性。,单位时间内网络中的某信道所能通过的“最高数据率”。带宽虽然和速率的单位一样,但是描述的物体不一样。一、速率和带宽的概念。

2023-05-06 14:37:48 6771

原创 Git学习

git知识点

2023-02-22 14:27:08 256

原创 设计模式学习记录

设计模式的学习

2022-11-19 16:21:50 406

原创 MySQL中锁的类型

MySQL中锁的类型

2022-10-23 10:47:47 159

原创 如何给字符串字段加索引

如何给数据库的字符串类型字段添加索引

2022-10-20 15:11:04 328

原创 MySQL的时间类型

MySQL的时间类型

2022-10-07 11:38:40 730

原创 同源策略?跨域?

跨域原理

2022-10-04 16:49:16 82

原创 RPC框架和HTTP框架的区别

RPC框架和HTTP框架的区别

2022-10-01 21:44:33 682

原创 Git学习

Git分布式版本控制系统学习

2022-10-01 15:49:14 178 1

原创 Linux常用命令

Linux知识点

2022-09-17 21:56:34 156

原创 volatile详解

volatile保证可见性和指令重排的原理

2022-08-06 20:03:02 505

原创 四大IO模型

四大IO模型:BIO、同步非阻塞IO、IO多路复用、异步IO

2022-07-20 15:56:46 128

原创 贪心和动态规划的区别

贪心和动态规划的区别一、性质:1、动态规划两个性质:最优子结构:一个问题可以分解多个子问题,并且这些子问题具有和这个问题相同解法的性质,我们可以通过简单的解决这些子问题,进而很轻易地解决这个问题。重叠子问题:将这个问题分解成多个子问题(A、B、C、D…),这些子问题是相互独立的。然后将这些子问题A和子问题B进一步分解成粒度更小的子问题(a1、a2、a3…)(b1、b2、b3…),(a1、a2、a3…)这些子问题是独立的,但是子问题ai和子问题bi有可能是重复的。2、贪心的两

2022-04-21 21:00:58 1268 1

原创 分布式锁(Redis、Zookeeper)

分布式锁为什么需要锁?在单机多线程环境下,当多个线程需要访问同一个变量或者代码片段(临界资源)时,我们需要控制线程顺序执行,避免并发问题,通常我们会使用堆内存中的一个标志来控制,如果标志没有被占用,则线程可以访问,如果标志被占用则线程阻塞。这个标志也就是我们说的锁。如果不加锁当多个线程同时去操作数据库,可能导致数据错误也可能导致服务宕机。什么是分布式锁?在分布式环境下,即多台计算机,那么不同计算机上的线程想访问临界资源怎么办呢?而像单机环境使用堆内存中的变量的方式肯定不适用了,因为一台计算机

2022-04-12 16:41:40 1735

原创 操作系统重要知识点

操作系统重要知识点一、什么是操作系统?操作系统是管理计算机硬件和软件资源的程序,是计算机的基石。操作系统本质上是一个运行在计算机上的软件程序,屏蔽了硬件层的复杂性。二、什么是系统调用?首先来了解一下用户态和内核态用户态运行的进程可以直接读取用户程序的数据。内核态:可以简单地理解内核态运行的进程或程序几乎可以访问计算机的任何资源,不受限制。那到底什么是系统调用呢?我们运行的程序基本都是运行在用户态,我们需要调用操作系统提供内核态级别的子功能,这就是需要系统调用。比如设备管理

2022-03-22 13:10:16 3452 1

原创 JVM之内存泄露

JVM之内存泄露什么是内存泄露?严格来说,对象不再被程序使用,但是GC又不能回收他们的情况(被GC Root所引用,不能被回收), 就叫内存泄漏。但实际很多时候一些疏忽会导致对象的生命周期变得很长甚至和JVM的生命周期一样,可能会导致内存溢出,也可叫做宽泛意义上的“内存泄漏”。内存泄露的8种情况静态集合类public class MemoryLeak { static List list = new ArrayList<>(); public void oomTe

2022-01-05 12:37:00 670

原创 Java垃圾回收的安全点和安全区域

Java垃圾回收的安全点和安全区域安全点程序执行时并非在所有地方都能停下来开始垃圾回收(GC),只有在特定的位置才能停下来开始GC,这些位置称为“安全点(Safepoint)”。如何选择安全点呢?如果安全点太少了,就会导致GC等待时间太长,容易引发内存溢出。如果安全点过多可能会导致运行时的性能问题。通常会根据“是否具有让程序长时间执行的特征”为标准,比如选择一些执行时间长的指令作为Safe Point,如方法调用、循环跳转、异常跳转。、通常在执行GC时,会引发STW现象,那么如何在GC发生时,让所

2021-12-22 19:56:20 1872 2

原创 谷粒学院项目总结

谷粒学院在线教育系统项目总结本项目是基于B2C的商业模式,微服务的架构。采用前后端分离开发的设计思想。前端主要使用了Vue、element-ui、Nust、echarts等技术,后端主要使用了SpringBoot(快速构建Spring项目的脚手架)、SpringCloud(Nacos注册中心、 feign注册与发现、Hystrix断路器、Gateway网关)、mybatisPlus、EasyExcel、阿里云OSS的视频点播与短信服务、Redis、HttpClient、Docker+Jenkins等技术,

2021-12-04 21:41:59 4860

原创 Dubbo学习

Dubbo学习治理分布式系统有条不紊的运行。当一个服务器需要的另一个服务在另一台服务器上,这个调用称为RPC(远程过程调用)调度中心负责维护服务之间的负责关系,动态的调整资源和访问量、提高整个服务的利用率。一、RPC:什么是RPC?基本原理核心就是A B两个服务器之间架起一个连接,他们之间进行通信影响一个RPC框架的性能的因素:在各个服务器之间建立连接的速度序列化和反序列化机制的速度负载均衡访问功能相同的几台服务器,让其中空闲的服务器进行处理请求,称为负载均衡。自动注册将所

2021-10-21 15:22:03 354

转载 2021-09-28

java.lang.ClassCastException: org.apache.shiro.authc.SimpleAuthenticationInfo cannot be cast to org.apache.shiro.authz.AuthorizationInfospringboot 集成shiro-redis出错:java.lang.ClassCastException: org.apache.shiro.authc.SimpleAuthenticationInfo cannot be cas

2021-09-28 17:49:26 137

原创 redis

redisredis-benchmark是一个压力测试工具!官方自带的性能测试工具redis-benchmark命令参数[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cARXNWPb-1632618216286)(C:\Users\Yu_zhiqiang\AppData\Roaming\Typora\typora-user-images\image-20210920151728679.png)]测试:#测试100个并发连接,100000请求redis-benchm

2021-09-26 09:05:24 4517

原创 SpringBoot注解不起作用

Springboot中的@Controller注解不起作用当发现@Controller或者@RestController注解标注的类上没有Spring的标志,并且该注解也不起作用。以上错误是因为我将controller类和xxxApplication启动类放到了同一级包下而xxxApplication启动类必须要在其他包的最外层。修改后就生效了。...

2021-09-13 11:33:05 1552

原创 SpringMVC 文件上传异常

SpringMVC 文件上传异常首先需要在 【spring-Servlet.xml】中导入:<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="utf-8"/> <property name="maxUpl

2021-09-02 17:23:59 472

原创 Maven

Maven详解maven是一个项目的构建工具一、maven作用:1.管理依赖:jar包的下载,版本、管理2.构建项目:完成项目代码的清理、编译,测试,打包,部署二、maven的使用方式1.独立使用maven:​ 使用maven的各种命令,完成代码的编译,测试,打包等。2.结合开发工具使用​ 简单、快捷、不需要记命令三、maven的安装1.下载安装包:Maven官网2.解压缩文件到一个非中文目录3.配置环境变量,M2_HOME为 maven的安装目录4.在path中加入%

2021-08-21 13:51:28 134

原创 Java中的Hashcode()方法

Java中的Hashcode()方法hashcode方法返回一个对象的的哈希码值,hashCode是所有java对象的固有方法,如果不重写的话,返回的实际上是该对象在jvm的堆上的内存地址,而不同对象的内存地址肯定不同,所以这个hashCode也就肯定不同了。如果重写了的话,由于采用的算法的问题,有可能导致两个不同对象的hashCode相同。切记:Hashcode()方法如果不重写的话不同对象的hashcode()返回的值是不同的。在使用spring框架编写程序时,踩了一个隐藏的坑:使用lombok

2021-08-20 12:01:44 1227

原创 Spring学习

Spring学习Spring是一个开源的轻量级的控制反转(IOC)和面向前面的框架,它支持事务的处理。在实际开发中,服务器端通常采用三层体系架构,分别为表现层(web)、业务逻辑层(service)、持久层(dao)。Spring对每一层都提供了支持。在表现层提供了与 Spring MVC、Struts2 框架的整合,在业务逻辑层可以管理事务和记录日志等,在持久层可以整合 MyBatis、Hibernate 和 Jdbc、Template 等技术。这就充分体现出 Spring 是一个全面的解决方案,对于已

2021-08-06 16:08:46 83

原创 JDBC详解

JDBC详解JDBC是Web和数据库之间通信的桥梁,目前主流的数据库都支持JDBC,但是在使用JDBC连接某个数据库之前,必须找到对应数据库的JDBC驱动包,这样才能连接数据库。以Mysql为例​ 进入此链接:https://dev.mysql.com/downloads/选择相应的编程语言的MySQL的JDBC驱动包,这里以Java为例。安装好后,如何导入IDEA呢?首先创建一个工程文件进入File下的Project Structure然后选择刚下载的Jar包就导入成功啦!!!!!

2021-08-04 09:44:17 112

原创 JavaBean介绍

JavaBean介绍在JSP网页开发的初级阶段,并没有所谓的框架与逻辑分层的概念,JSP网页代码是与业务逻辑代码写在一起的,这种零乱的代码书写方式,给程序调试及维护带来了很大的困难,直至Javabean的出现,这一问题才得到改善。JavaBean概述​ 在JSP网页开发的初级阶段,并没有框架与逻辑分层概念的产生,需要将Java代码嵌入到网页中,对JSP页面中的一些业务逻辑进行处理,如字符串处理、数据库操作等,其开发流程如图所示:此种开发方式虽然看似流程简单,但如果将大量的Java代码嵌入到JSP页

2021-08-03 10:52:45 92

原创 OBS 录制黑屏的解决方法

OBS 录制黑屏的解决方法1.打开设置,选择“系统”;2.选择"显示";3.点击最下面的"图形设置";4.选择"桌面应用";5.最后选择下面的"浏览"将OBS的可执行(.exe)文件添加即可;

2021-04-04 15:25:19 1811

原创 C++string 的 assign 特性

C++string 的 assign 特性#include<iostream>#include<string>using namespace std;int main(){ string str = "hello world!"; string s1 ,s2 ,s3, s4; s1.assign(str); //相当于赋值语句 s2.assign("C++ zhenniu!", 3); //默认取该字符串的0后的3个字符

2021-03-31 21:30:25 523

原创 C++中的this指针的注意事项

C++中的this指针的注意事项this是C++中的一个关键字,实质是一个const指针,指向当前对象,通过它可以访问当前对象的所有成员。所谓当前对象就是正在使用的对象。例如:p1.Speak(); p1 就是当前使用的对象,this就是指向p1。注意:​ 友元函数没有this指针,因为友元函数不是类中的成员函数,只有成员函数才有this指针(除静态成员函数外)。#include<iostream>#include<string>using namespace st

2021-03-22 18:11:15 354

空空如也

空空如也

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

TA关注的人

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