- 博客(50)
- 收藏
- 关注
原创 PostgreSQL入门
简介PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等
2022-02-09 16:15:48
1319
原创 消息中间件--RabbitMQ总结
基本知识为什么使用消息中间件解耦异步削峰生产者/消费者RabbitMQ 的安装普通安装直接去官网下载安装包。https://www.rabbitmq.com/docker安装// 拉去镜像docker pull rabbitmq// 启动容器docker run -it --name rabbitmq \ -e RABBITMQ_DEFAULT_USER=admin \ -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5
2021-12-21 23:08:51
2613
原创 Centos 7 安装 k8s
环境: centos 7.8k8s 安装至少要两核服务器,运行内存建议4G1. 基础环境准备关闭防护墙systemctl stop firewalld && systemctl disable firewalldyum -y install iptables-services && systemctl start iptables && systemctl enable iptables && iptables -F &&a
2021-09-13 15:24:21
664
1
原创 JVM java内存模型
JMM 定义JMM即Java内存模型(Java memory model),在JSR133里指出了JMM是用来定义一个一致的、跨平台的内存模型,是缓存一致性协议,用来定义数据读写的规则。线程堆栈上面分别有什么?线程栈所有基本类型的局部变量局部变量只能通过变量副本在线程间传递线程执行时,方法的所有基本类型的局部变量会直接存在栈上面,而基本类型的包装类(Byte、Long)和自定义的类这一类的对象直接方法堆里面,栈中使用直接该对象的局部变量副本堆所有引用类型的变量的对象都存在堆上线
2021-08-17 20:55:36
127
原创 JVM 内存结构
JVM 内存布局规定了 Java 在运行过程中内存申请、分配、管理的策略,保证了 JVM 的高效稳定运行线程私有:程序计数器、虚拟机栈、本地方法栈线程公有: 堆、方法区线程私有的内存区域和线程的生命周期一致,会随着线程销毁而销毁。程序计数器Program Counter Register: Register命名 来自于PC的CPU寄存器,寄存器存储了指令的相关线程信息。这里的程序计数器是JVM 对物理PC寄存器的一种模拟作用存储将要执行代码的地址,由执行引擎去执行指令为什么要用程序计数.
2021-08-11 20:00:46
185
原创 JVM 类加载机制
类的生命周期类加载大致分为加载、验证、准备、解析、初始化五个阶段,其中加载、验证、准备、初始化顺序是固定的,解析的顺序不一定。它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑定(也成为动态绑定或晚期绑定)。并且这些阶段是顺序开始,而不是顺序执行或者完成,它们可能是交叉混合执行。类加载加载阶段的三个步骤:通过类型全限定名找到类的二进制字节流将字节流的静态存储结构转换为方法区运行时的数据结构在java堆中生成一个代表这个类的java.lang.Class对象,作为方法区
2021-08-05 13:06:09
260
3
原创 JVM 字节码文件
计算机不能直接运行java代码,要先运行虚拟机,再由java虚拟机运行编译后java代码。为什么不能直接运行java代码?计算机所有的操作都是通过一个个指令集汇集后去完成的。java 是高级语言,只有人才能理解它的逻辑,机器是无法识别。所以需要将java文件编译成JVM能后识别的字节码文件,这样JVM才能正确的识别代码转换后的指令去正确的执行它。java代码转换成字节码文件后,在交由部署到不同平台JVM去读取执行。从而实现了一次编译,到处运行。JVM 不只是支持java,衍生了很多基于JVM的
2021-08-04 19:41:49
231
原创 《Head First 设计模式》学习笔记 -- 装饰器模式
装饰者模式:动态的将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案装饰者和被装饰者有相同的超类型你可以用一个或者多个装饰者包装对象装饰者和被装饰对象有相同超类型,所以任何需要原始对象的地方都可以用装饰过得对象代替它装饰者可以在被装饰对象行为之前或者之后加上自己的行为,达到特性的目的。装饰者模式可以简单的理解为奶茶不同搭配的形式,由奶茶可以搭配不同的配料形成不同的方案。奶茶可以看做是被装饰者配料可以看做是装饰者public abstract class Milk.
2021-07-30 10:45:45
152
原创 《Head First 设计模式》学习笔记 -- 观察者模式
观察者模式:定义对象之间一对多的依赖,当一个对象状态改变会通知它所有依赖者自动更新。我的理解: 这种模式类似于订阅通知功能,你是一个博主,你的关注者订阅了你,当你发布新的博客时,会发布通知告诉所有订阅者,你发新博客了。观察者模式类图:HeadFirst 案例分析:气象站希望公布一组API,其他的开发者可以根据API开发出不同的气象布告板,气象数据会随时变更,要保证数据更新了同时通知所有布告板更新数据。根据上图发现,不管多少个布告板,WeatherData这个对象都不会变,所以它在观察者模式一
2021-07-21 19:35:17
266
原创 《Head First 设计模式》学习笔记 -- 策略模式
策略模式 :定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于算法的客户Head First 案例分析鸭子有很多行为,如外观、游泳、发出叫声。原本的设计如下图所示。现在我想让鸭子会飞,我应该怎么做呢。使用继承的方式你应该很快想到一种方法,那就是在父类中添加 fly方法,所有子类去继承父类的fly方法。现在鸭子是可以飞了,就连橡皮鸭这些不是真鸭子的东西也可以飞,这是不合理的。这种设计方式会出现影响所有的子类,让不改受影响的子类也受到影响。当然你可以说,我们可以重写多不
2021-07-20 15:00:41
212
原创 liquibase-groovy-dsl 使用
什么是liquibaseLiquibase 是一个用于跟踪,管理和应用数据库变化的开源的数据库重构工具。它将所有数据库的变化(包括结构和数据) 都保存在XML文件中,便于版本控制。通俗点就是将你的数据库脚本转为xml记录下来,其中包含了你对数据库的改变,以及数据库的版本信息,方便数据的升级和回滚等操作。什么是liquibase-groovy-dslliquibase是通过xml去记录数据库脚本,有时候看着不怎么直观,而liquibase-groovy-dsl就是遵循liquibase的语法通过使用g
2021-06-24 20:10:23
721
3
原创 Minio 的安装以及使用
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。官网地址:https://docs.min.io/cn/minio 安装windows 下安装下载二进制文件minio.ex
2021-06-24 19:36:05
411
原创 多线程练习-熊吃蜂蜜
要求现在有一个罐子,两只熊,十只蜜蜂,每只蜜蜂每隔十秒产生一滴蜂蜜,熊大一次吃5滴蜂蜜,熊二一次吃10滴蜂蜜,吃完就不吃了。实现罐子的实现static class Contanier { private int honey; public Contanier() { } public void add() { synchronized (Contanier.class) {
2021-05-12 11:41:13
258
原创 Springboot + Swagger2.0
1. Springboot 整合Swagger1.1引入依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency>
2021-03-04 20:57:34
344
1
原创 vscode 安装go插件失败解决
vscode 安装go 插件老是报错。国内安装方法:1.开启go mod 代理2. 设置国内的代理go env -w GO111MODULE=ongo env -w GOPROXY=https://goproxy.io,direct当然也可以在开启go mod 后手动安装。。。
2020-12-18 17:50:32
336
1
原创 deepin安装Docker
安装docker安装## 执行安装命令sudo apt-get install docker-ce docker-ce-cli containerd.io## 安装完成校验docker -v把当前用户分配到docker用户组一般安装docker使用docker命令,会报没有权限的错误,那是因为不是root用户,当前用户没有加入到docker用户组下。一般安装完docker会自动创建docker用户组,没有的话需要手动创建用户组sudo groupadd docker有用户组,我们直
2020-12-07 16:05:33
381
原创 mybaits collection使用autoMapping注意点
mybaits 在resultMap 中使用autoMapping 时出现以下情况<collection property="persons" ofType="io.ztx.infra.dto.PersonDTO" autoMapping = "true"> <id property="id" column="person_id"/> <res...
2020-04-27 13:32:01
2453
原创 mysql 5.7 以上-- 子查询后group by 数据异常问题
最近写sql遇到子查询后group by 数据异常问题明明对数据进行了排序后分组,发现group by 后的是升序很无语!!!!经过多方查证其实是因为mysql 5.7版本对这个查询进行优化了,认为子查询中的order by可以进行忽略,只要Derived table里不包含如下条件就可以进行优化:1. UNION clause2. GROUP BY3. DISTINCT4.A...
2020-01-07 18:03:56
988
原创 Harbor 管理 chart 包
Harbor 管理 chart 包前置条件:1.harbor版本在1.6.0 以上安装harbor下载harbor包:参考文章在安装harbor时 配置管理使用helm-charts./install.sh --with-chartmuseumHelm 配置helm 安装 push 插件helm 添加添加源helm plugin install https://gi...
2019-11-13 16:32:41
1962
原创 docker私仓库--Harbor的安装
Harbor仓库的安装前置条件:主机上已经安装了docker以及docker-compose在下载Harbor离线包通过以下的地址去选择安装包:https://storage.googleapis.com/harbor-releases下载离线包wget --continue https://storage.googleapis.com/harbor-releases/releas...
2019-11-13 16:27:51
190
原创 springMVC文件下载和上传
springMvc文件上传和下载文件上传使用MultipartFile接收文件大致步骤:获取文件进行文件和保存路径的操作判断文件是否存在,不存在就新建一个保存文件,并进行其他操作(存入数据库等)返回操作提示信息 @PostMapping("/upload") @ResponseBody public String uploadFile(@RequestP...
2019-07-23 15:26:25
164
原创 docker部署springboot连接mysql容器
踩坑。。注意:文件的路径问题,路径不对会导致构建失败,或者启动不了容器注意:发布的代码连接字符串中引用通配符获取 javas 下的environment的属性获取值构建mysql首先编写mysql的Dockerfile文件文件在docker/mysql/目录下#docker容器中有的话就不用拉取FROM MYSQL:5.7 #定义工作路径变量ENV WORK_PATH /...
2019-07-20 17:11:37
2979
原创 docker实践总结
docker实践一般程序需要的资源:cpu内存网络端口中间件docker可以来创建和管理这里现在只是window10下安装docker,注意建议系统是家庭版的改换为企业版或者专业版docker安装:https://github.com/AliyunContainerService/k8s-for-docker-desktopwindows版最新:https://h...
2019-07-12 11:16:10
1878
原创 基本的MarkDown操作命令
Markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。优点:1、因为是纯文本,所以只要支持Markdown的地方都能获得一样的编辑效果,可以让作者摆脱排版的困扰,专心写作。2、操作简单。比如:WYSIWYG编辑时标记个标题,先选中内容,再点击导航栏的标题按钮,选择几级标题。要三个步骤。而Markdown只需要在标题内容前加#即可缺点:1、需要...
2019-07-08 19:05:28
355
原创 Springboot+Shiro统一异常处理包含Ajax
1.采用方式这里通过 @ControllerAdvice和@ExceptionHandler 的异常处理方式2.具体步骤1.创建统一异常处理类(GlobalExpetion)2.定义判断是否是Aajx请求的方法 public boolean isAjax(HttpServletRequest request) { return (request.getHeader("X...
2019-06-05 00:07:17
1872
原创 简单了解常见的架构模式
1.MVC(单体架构)单体架构模式就是常说的mvc开发模型。将系统所有功能、模块的耦合关系都放在一个应用之中,比如:一个项目开发所有的文件都会以打包成一个jar包或者war包的形式放置到服务器上面。1.1单体架构特点打包成一个独立的单元(以一个jar包或者war包的形式放置到服务器上面)一个应用只在一个进程的方式运行1.2单体架构优点易于管理易于部署1.3单体架构的缺点...
2019-06-04 23:40:59
325
原创 springmvc接收多个实体对象或者List(layui)
具体效果在表单中包含了老人信息,以及紧急联系的信息。我想同时提交。紧急联系人可以是多条数据。具体实现JS 中的具体代码 var tableData=table.cache.contactTable;//layui table的信息 var datas={}; datas["elder"]=data.field;//获取老人表单信息 datas["co...
2019-05-09 21:45:34
4869
原创 springboot +shiro 授权无效的问题
大神求指教问题描述:1.用数据库的权限码无效(放入集合无效)2.手动添加权限可以使用(类似于:authorizationInfo.addStringPermission(“aa”))无效情况一: List<String> list=new ArrayList<String>(); for (Functions func : functions)...
2019-04-30 16:12:55
1610
原创 springboot+shiro做统一的异常处理
1.shiro的常见异常1.1 AuthencationException: AuthenticationException 异常是Shiro在登录认证过程中,认证失败需要抛出的异常。 AuthenticationException包含以下子类:CredentitalsException 凭证异常 IncorrectCredentialsException 不正确的凭证...
2019-04-27 13:28:49
10225
原创 springboot整合shiro @RequiresPermissions 无效 但是@RequiresRoles 可以用
我直接贴代码:pom.xml<!-- 设置springboot方式启动 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> ...
2019-04-11 22:45:03
1367
2
原创 layui laydate放入表单中莫名出现显示异常
今天调试代码时发现layDate在显示时异常闪退,以前也没有出现这种情况。点一下弹出来直接闪退。瞬间一脸懵逼~~~~原代码:laydate.render({ elem: '#test1' //指定元素 value:birthday //初始值 });控制台没报异常,也调试,刚开始以为是赋初始值的问题。发现去掉value 也同样的出现异常。网上查了下同类型的问题很少,...
2019-04-09 13:07:19
1568
2
原创 个人编程资源整理
maven项目管理利器——maven: https://www.imooc.com/learn/443本人最近才学maven,感觉这个将的很好,推荐一下Gitgit在线文档中文版:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000很详细的git教程,按照文档上来,很...
2019-04-04 22:38:21
297
转载 整合springMvc出现乱码的常用解决方法
第一种通过改变request的编码格式去解决乱码 request.setCharacterEncoding("UTF-8");结果试了下完全没用,这似乎对POST方式起作用第二种通过web.xml配置编码 <filter> <filter-name>CharacterEncoding</filter-name> &...
2019-04-04 15:39:55
163
原创 怎样用js接受JSTL或者thmeleaf值
场景一(js获取JSTL值)第一步:将你要用户的值通过<c:out >的方式取出来<c:set var=“username” value="KaTeX parse error: Expected 'EOF', got '#' at position 112: …n style="color:#̲009900">var use…{username}";这样就可以获取值了...
2019-04-04 15:29:39
864
原创 基于springboot+thmeleaf 的权限管理
基于springboot+thmeleaf+bootstrap的权限管理开发语言:java开发工具:STS编码集:utf-8数据库:MySql服务器中间件:tomcat1.实现功能部门管理角色管理权限管理菜单管理用户管理2.部分界面展示登录界面主界面菜单管理用户管理3.快速使用下载maven项...
2019-04-03 18:14:01
618
原创 layui tab --隐藏删除图标
1.预期效果让首页不要删除图标,固定在一个位置2.思路进入开发者模式,找到要操作的 div,隐藏掉 .layui-tab-close在js中添加如下代码:$(".layui-tab ul").children('li').first().children('.layui-tab-close').css("display",'none'); 代码解释:在 .layui-tab ...
2019-04-03 17:59:34
4053
6
原创 maven学习记录--archetype插件的使用
1.archetype插件archetype作用:自动创建maven目录骨架类似于下面的maven骨架src -main -java -test -java2.archetype两种方式首先应通过在目标目录命令行执行方式一: archetype:generate archetype:generate ##(按照提示进行选择) ## 在执行过程...
2019-04-03 11:43:37
1722
原创 maven学习记录--maven的生命周期
maven生命周期可以分成三个大的点clean(清理项目)、default(构建项目)、site(生成站点)。其中default周期是其中最大的、也是最多分类的周期。三个周期的互补干扰,只在本周期内执行。如:执行install 只会在default周期中执行,不会clean,也不会site。1.clean 清理项目clean分为:周期名描述pre-clean执行清理前的...
2019-03-30 23:04:10
169
原创 maven学习记录--maven坐标和仓库配置
1. 坐标 pom.xml中groupId、artifactId、version等都可以称为坐标2.仓库本地仓库(创建自己的本地仓库,保存项目需要的jar包,可以通过设置让先加载本地仓库的jar,没有再去网上下载。)远程仓库(maven默认使用的仓库,官方的仓库,在海外服务器上,访问较慢,推荐使用镜像仓库)镜像仓库(maven仓库在外网,国内访问会很慢,所以国内也提供了同样的仓库)...
2019-03-30 22:36:26
227
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人