
Java
文章平均质量分 63
记录Java学习得知识点,用于自己巩固复习。
诸葛博仌
每天进步一点点
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
pgsql判断逗号分割的字符串有两个字符还是三个字符
在这个例子中,你需要将 ‘your_string_here’ 替换为你想要检查的实际字符串。string_to_array 函数将字符串转换为数组, array_length 函数用于获取数组的长度。在 PostgreSQL 中,如果你需要判断一个以逗号分隔的字符串包含两个字符还是三个字符,你可以使用 string_to_array 函数将字符串转换为数组,然后检查数组的长度。在这个查询中, your_column 是包含逗号分隔字符串的列名, your_table 是包含该列的表名。原创 2024-11-05 08:35:25 · 537 阅读 · 0 评论 -
pg数据库调用存储过程时间过长异常
3、之后通过逐步排查发现是pgsql抛出的连接超时异常,存储过程执行时间超过10秒就会抛异常,低于10秒就没问题,通过数据库历史版本更新发现是数据库驱动从1.2.8升级到1.2.16导致的原因,版本退回,问题解决。2、起初以为前端项目设置的20秒超时自动关闭连接导致的问题,通过排查发现不是。4、刚开始看到的问题是页面调用存储过程偶尔出一下错,花了一下午才慢慢找到根源。1、因为存储过程时间比较长,导致页面保存。原创 2023-08-29 23:31:18 · 721 阅读 · 0 评论 -
elementui表单对齐
1、公司内网,没法把代码复制复制出来,不过这个样式处理elementui的表单对齐很有用。原创 2023-06-05 08:37:59 · 356 阅读 · 0 评论 -
@Datascop注解的实现
原创 2023-03-23 19:46:06 · 191 阅读 · 1 评论 -
前端复选框是否被选中问题
复选框选中问题原创 2022-07-15 11:04:29 · 594 阅读 · 0 评论 -
Postaman使用和dao层找不到问题
postman和dao层问题原创 2022-07-06 11:43:53 · 298 阅读 · 0 评论 -
idea下GIT推送给失败问题解决
idea提交git失败问题原创 2022-07-04 20:00:41 · 1248 阅读 · 0 评论 -
微信公众号—菜单
微信公众号菜单开发原创 2022-06-27 10:03:30 · 627 阅读 · 0 评论 -
今日小结
保证字符串不重复并且不能有空格,转小写原创 2022-06-17 14:06:08 · 164 阅读 · 1 评论 -
cloud结构
1.第一步创建一个普通的maven项目,一级服务项目2.删除主项目下的src,并且在pom.xml文件下配置jar包2.1先配置常量属性配置和需要的jar工具包的版本<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target&g原创 2022-03-19 17:17:09 · 1190 阅读 · 0 评论 -
简单SpringCloud项目(大致的后台流程)
1.第一步先安装一个nacous注册中心,用一个简单的单机windos版本就行,也可以使用Linux下的redis集群版本,两种选择然后在需要运行的服务器配置文件下配置指定注册中心spring: application: #应用名称, 向注册中心注册的名称 name: GatewayServer cloud: nacos: discovery: #注册中心地址 server-addr: http://localhost:8848原创 2022-03-17 12:28:55 · 4135 阅读 · 0 评论 -
shiro加sso登录分配权限菜单
1.前端页面登录,根据路径进入后端执行方法2.到后端会先通过gaeway代理找到指定的服务器,通过config后,进入方法3.然后进入判断是用户还是会员,然后进入对应的类执行方法根据注解@Qualifier(“userAuthService”)里面的名称判断是用户还是会员描述:1.进入目标类后通过自定义的CustomUsernamePasswordToken类 再次验证用户还是会员并且收集相应的信息,2.再通过SecurityUtils.getSubject()工具获取主体信息,也就是用户信原创 2022-03-12 18:23:51 · 2341 阅读 · 0 评论 -
springboot整合shiro
shiro知识点快速入门整合1.搞一个@Configuration注解的类,有这个注解项目启动自动执行描述:这个类自动拦截过滤所有的请求做不同的处理,当调用Subject currentUser = SecurityUtils.getSubject();currentUser.login(token);的时候会触发SecurityManager安全管理器的Authenticator认证器的doGetAuthenticationInfo方法来认证/** * @ fileName:SpringShi原创 2022-03-09 22:12:38 · 231 阅读 · 0 评论 -
nacos 配置管理
一般配置开启nacos图形界面操作(复制任意一个想交给nacos管理的服务进行配置)自定义组的配置 在没有明确指定 ${spring.cloud.nacos.config.group} 配置的情况下, 默认使用的是 DEFAULT_GROUP 。同一项目,不同模块需要隔离可以使用组.<!--nacos-config包--> <dependency> <groupId>com.alibaba.cloud&l原创 2022-03-08 09:27:39 · 466 阅读 · 0 评论 -
gitee
分支名介绍:1master 分支 :主分支(这个分支每个仓库都有)。2develop 分支: 功能开发。3feature 分支:小设计(或者说一次小的更新)。4hotfix 分支:修复bug。5release 分支:测试。创建远程库创建本地仓库创建一个文件夹即可克隆项目进行基础配置:告诉 git 你是谁,你输入的信息将出现在你创建的提交中,使用下面两条命令: git config --global user.name "你的名字或昵称" git config --globa原创 2022-03-06 14:56:01 · 314 阅读 · 0 评论 -
zuul过滤
zuul简介Zuul 是从设备和网站到 Netflix 流媒体应用程序后端的所有请求的前门。作为边缘服务应用程序,Zuul 旨在支持动态路由、监控、弹性和安全性。路由是微服务架构不可或缺的一部分。例如,/可能被映射到您的web应用程序,/api/users被映射到用户服务,/api/shop被映射到商店服务。 Zuul是Netflix的基于JVM的路由器和服务器端负载平衡器。zuul 的主要作用(为什么使用)Netflix API 流量的数量和多样性有时会导致生产问题在没有警告的情况下迅速出现。我们原创 2022-03-05 10:33:01 · 381 阅读 · 0 评论 -
ribbon整合sentinel
在ribbon基础上写1.配置:sentinel:transport:#sentinel底层启动的httpserver服务的端口号port: 8719#服务端(控制台)位置dashboard: localhost:80802.两个sevice层接口3.两个接口实现类RemoteOrderServiceImpl@Service @Resource private RestTemplate restTemplate; @Override @Sentine原创 2022-03-04 23:02:05 · 698 阅读 · 0 评论 -
sentinel
服务雪崩:微服务调用的过程中由于各服务之间的强依赖关系,如果某些服务发成故障,可能会导致所有服务的所有资源不可用的现象原因解决办法服务提供者不可用(硬件故障,程序 BUG,缓存击穿,用户大量请求等)服务扩容: 增加出现问题服务的数量或者提高服务器规格重试加大流量(用户重试,代码逻辑重试)请求缓存:支持将返回结果做缓存处理; 服务限流: 限制并发的请求访问量,超过阈值则拒绝 关闭重试服务消费者不可用(同步等待造成的资源耗尽)服务熔断: 牺牲局部服务(下游服原创 2022-03-04 12:36:22 · 138 阅读 · 0 评论 -
feign
feign简介:OpenFeign是一种声明式、模板化的HTTP客户端。是server to server 服务到服务的相互调用的一个组件,推荐使用,和ribbon比较,更符合程序员编写代码的习惯,集成了ribbon 可以进行负载均衡1)声明式rest客户端 组件(写在消费者端)2) 支持springmvc注解 (@RequestMapping @GetMapping @PutMapping @PostMapping…@RequestParam @RequestBoby @PathVariable原创 2022-03-02 20:48:19 · 503 阅读 · 1 评论 -
java ribbon配置
概念:Ribbon是一种客户端负载平衡器,可让您对HTTP和TCP客户端的行为进行大量控制。Feign已使用Ribbon,因此,如果使用@FeignClient,则本节也适用。Ribbon中的中心概念是指定客户的概念。每个负载均衡器都是组件的一部分,这些组件可以一起工作以按需联系远程服务器,并且该组件具有您作为应用程序开发人员提供的名称(例如,使用@FeignClient批注)。根据需要,Spring Cloud通过使RibbonClientConfiguration为每个命名的客户端创建一个新的集合作为原创 2022-03-01 21:21:51 · 990 阅读 · 0 评论 -
注册中心eureka及nacos
eurekaEureka 是一种 RESTful(代表性状态传输)服务,主要用于 AWS 云中,用于中间层服务器的发现、负载平衡和故障转移。它在 Netflix 中层基础设施中发挥着关键作用。原理: 作为一个实例还涉及到注册表的周期性心跳(通过客户端的serviceUrl),默认持续时间为 30 秒。直到实例、服务器和客户端在其本地缓存中都具有相同的元数据(因此可能需要 3 个心跳),客户端才能发现服务。您可以通过设置更改期间 eureka.instance.leaseRenewalInterva原创 2022-02-28 19:46:55 · 2122 阅读 · 0 评论 -
springcloud概述及微服务搭建
微服务的概念 :微服务(micro service),是一种架构风格,它将一个复杂的应用拆分成多个独立自治的服务,服务与服务间通过松耦合的形式交互。这些服务都可以单独的开发,测试,部署,运行;相互协作,更好完成原来大的业务系统的所有功能。微服务的特点,优点和缺点:特点解耦:服务做了拆分,相互影响会大大降低,符合软件设计的低耦合原则。组件化:每个服务都相当于一个独立的组件,可以进行独立升级和扩展,可以被重复使用,节省人力成本。 业务能力强:职责明确,更专注于某一个业务自治:一个微服务原创 2022-02-27 00:08:37 · 390 阅读 · 0 评论 -
kafka的工作流程
流程图:Kafka中消息是以topic进行分类的,生产者生产消息,消费者消费消息,都是面向topic的。topic是逻辑上的概念,而partition是物理上的概念,每个partition对应于一个log文件,该log文件中存储的就是producer生产的数据。Producer生产的数据会被不断追加到该log文件末端,且每条数据都有自己的offset。消费者组中的每个消费者,都会实时记录自己消费到了哪个offset,以便出错恢复时,从上次的位置继续消费。kafka存储机制由于生产者生产的消息会不原创 2022-02-24 21:26:04 · 2439 阅读 · 1 评论 -
kafka安装和常用命令
消息队列的概念:消息是在两台计算机之间传递的数据单位,它可以是简单的字符串,也可以是复杂的嵌入对象。消息队列是消息传递过程中保存消息的容器,将消息从源头中继到目标时充当中间人的角色。消息队列的作用:1.解耦:A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E 系统也要这个数据呢?那如果 C 系统现在不需要了呢?A 系统负责人几乎崩溃…A 系统跟其它各种乱七八糟的系统严重耦合,A 系统 产生一条比较关键的数据,很多系统都需要 A 系统将这个数据发送过来。如果使用 MQ,A 系统产生一 条原创 2022-02-23 19:26:58 · 754 阅读 · 0 评论 -
zookeeper
简介:ApacheZooKeeper是一项致力于开发和维护开源服务器的工作,它能够实现高度可靠的分布式协调。ZooKeeper是一个集中的服务,用于维护配置信息、命名、提供分布式同步以及提供组服务。应用场景 :提供了文件系统(存储信息)和通知机制(watch)命名服务naming(注册中心):常见的就是一些分布式服务框架(如RPC、RMI)中的服务地址列表,通过使用命名服务,客户端应用能够根据指定名字来获取资源的实体、服务地址和提供者的信息等配置管理:1, 将公共的配置存放在Zookeeper转载 2022-02-22 19:58:59 · 246 阅读 · 1 评论 -
redis 发布和订阅 持久化 事务 缓存问题
redis的发布订阅 使用数据类型lists原理可以有多个消费者和订阅者订阅者:subscribe cla 命令执行成功后subscribe :表示成功订阅到响应第二个元素:提供的频道第三个参数代表订阅频道的数量message:这是另一个客户端发出来的发布命令的结果第二个元素:来源频道的名称第三个参数:实际消息的内容发布者:publish cla ‘hello world’(字符间有空格要加上引号,否则会报错)对应发布频道的内容打不成功会返回频道有几个数据匹配订阅:psub原创 2022-02-21 20:23:34 · 821 阅读 · 0 评论 -
springboot+mybatis框架整合redis cluster
一二级缓存一级缓存:一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。二级缓存:二级缓存是mapper级别的缓存,多个SqlSession去操作同一个Mapper的sql语句,多个SqlSession可以共用二级缓存,二级缓存是跨SqlSession的。简单理解:一级缓存就是一个sqlsession对象查询数据库之后进行原创 2022-02-20 09:56:07 · 772 阅读 · 0 评论 -
redis集群 cluster,Linux免密登录
为什么要使用集群:redis为了提高网站响应速度,总是把热点数据保存在缓存中而不是直接从后端数据库中读取。一般大型网站有28定律 80%访问量集中在20%的业务上。大型网站应用,热点数据量往往巨大,使用一台 Redis 实例无满足需求,这时就需要使用 多台 Redis (集群)作为缓存数据库。才能在用户请求时快速的进行响应。优点:1.高可用,防止单点故障2.高性能,集群每一台主机读写能力与单节点相同级别,写压力多多分担点3.方便扩展,当单个节点压力变大或者变小时,可以动态新加或者移除节点,集群原创 2022-02-18 21:17:21 · 1120 阅读 · 0 评论 -
redis主从配置和redis哨兵配置
主从配置redis 主从配置master slave优点:防止单点故障(除了单机版,都可以)读写分离,更好的实现多读写少克隆两台redis虚拟机作为从机复制操作文件cp /usr/redis/redis-5.0.5/redis.conf /usr/redis/bin/master.conf //redis1cp /usr/redis/redis-5.0.5/redis.conf /usr/redis/bin/slave1.conf //redis2cp /usr/redi原创 2022-02-17 20:25:22 · 1454 阅读 · 2 评论 -
redis安装和redis常用命令
什么是nosql 及常见的nosql框架有哪些?noSQL(not only sql 不仅仅是sql),泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库(基于磁盘IO)在处理web2.0网站,特别是超大规模(功能特别多)和高并发的SNS类型(微信,QQ,抖音,快手,虎牙等等)的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点(基于内存)得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,原创 2022-02-16 19:43:23 · 588 阅读 · 0 评论 -
keepalived简介和安装
keepalived简介Keepalived的作用是检测服务器的状态,如果有一台服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。 官网: Keepalived是用C语言编写的路由软件。该项目的主要目标是为Linux系统和基于Linux的基础结构提供负载均衡和高可用性的简原创 2022-02-15 19:31:37 · 1446 阅读 · 0 评论 -
部署安装nginx和负载均衡
克隆服务器修改IP地址 vim /etc/sysconfig/network-scripts/ifcfg-ens33 修改主机名称 vim /etc/hostname //改名修改子安全系统 (下图) vim /etc/sysconfig/selinux 安装前的准备1)确保进行了安装了linux常用必备支持库。(windows vs编译写好的c和c++,在linux下用g++和gcc编译c)检查是否安装了g++、gcc。rpm -qa | grep g原创 2022-02-14 21:10:39 · 1617 阅读 · 2 评论 -
Linux下web后台服务器搭建
1.克隆电脑,重启后用ssh创建连接2.检查环境查看防火墙状态: service firewalld status关闭防火墙: service firewalld stop;开机自动关闭: systemctl disable firewalld验证是否装有jdk,是否配置有JAVA_HOME: java -version echo $JAVA_HOME3.配置 tomcat 启动运行web项目复制apache-tomcat-9.0.52.tar.gz到虚拟机下 /root/原创 2022-02-12 22:15:51 · 1681 阅读 · 2 评论 -
shell awk
shell什么是shell脚本 :1.当命令不在命令行中执行,而是从一个文件中执行时,该文件就是shell脚本。 shell脚本是普通的文本文件,由流程控制逻辑和命令构成。 shell脚本通常以.sh作为后缀名,但不是必须的。2.Shell是一种解释型编程语言,不需要编译,执行时也是按行执行。 3.Shell脚本是由解释器解释执行的,常见的解释器有: bash dash ash ksh sh等 注意,每种Shell解释器对shell的语法解释并不完全相同(sh和bash解析器对l原创 2022-02-11 19:58:06 · 550 阅读 · 0 评论 -
vi 文本编辑器和 用户权限管理,组管理和时间管理
vi 文本编辑器 1.安装:yum -y install vim* 2. vi/vim的三种模式及各个模式之间的转换关3.编辑命令和快捷方式 插入命令:(一般模式进入到插入模式): i 在光标前插入 I 在光标当前行开始插入 a 在光标后插入 A 在光标当前行末尾插入 o 在光标当前行的下一行插入新行 O 在光标当前行的上一行插入新行原创 2022-02-10 21:31:52 · 248 阅读 · 2 评论 -
Linux
- 常用命令 新建目录/多级目录 : mkdir a 一次创建一个单目录 mkdir frame aa aaa 一次创建3个单目录 mkdir -p /tmp/a/b/c/d/e 使用绝对路径创建多级目录 mkdir -p ../../../orm/mybatis/mapper 使用相对路径创建多级目录 目录位置:原创 2022-02-10 20:45:18 · 479 阅读 · 0 评论