自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 jvm-虚拟机加载机制-学习问题记录

OSGi(Open Service Gateway initiative)技术是一个为Java设计的动态模块系统框架,它提供了一种将应用程序或组件(在OSGi术语中称为“bundles”)动态地部署和管理的方法。OSGi的核心是一个运行时容器,它定义了一种模块化架构和服务注册/发现的机制,使得组件可以在运行时被安装、启动、停止、更新和卸载,而无需重启整个应用程序。模块化:OSGi提供了一个基于模块的框架,其中每个模块(bundle)都是一个功能完整的单元,包含Java类、资源文件和其他必需的元数据。

2024-02-20 10:29:10 908

原创 jvm-虚拟机类加载机制

加载阶段结束后,Java虚拟机外部的二进制字节流就按照虚拟机所设定的格式存储在方法区之中了,方法区中的数据存储格式完全由虚拟机实现自行定义,《Java虚拟机规范》未规定此区域的具体数据结构。类型数据妥善安置在方法区之后,会在Java堆内存中实例化一个java.lang.Class类的对象,这个对象将作为程序访问方法区中的类型数据的外部接口。加载阶段与连接阶段的部分动作(如一部分字节码文件格式验证动作)是交叉进行的,加载阶段尚未完成,连接阶段可能已经开始。

2024-02-20 10:29:00 984

原创 HBase扫盲

Namespace(表命名空间):表命名空间不是强制的,当想把多个表分到一个组去统一管理的时候才会用到命名空间。Table(表): 一个表由一个或多个列族组成。数据属性,比如超时时间(TTL)、压缩算法(Compression)等,都在列族的定义中定义。Row(行):一个行包含多个列,这些列通过了列族分类。行中数据所属列族只能从该表锁定义的列族选择,否则会得到一个NoSuchColumnFamilyException。

2024-02-18 10:06:09 931

原创 顺序锁定协议

在这个场景中,如果多个事务同时对同一组标记进行更新操作,且更新的顺序不一致,就可能出现死锁。例如,事务A先更新id为1的标记,然后试图更新id为2的标记;与此同时,事务B先更新id为2的标记,然后试图更新id为1的标记。为了避免这种情况,可以在更新前对标记按照id进行升序排序,确保所有事务都是按照同一顺序对标记进行更新。这样,就不会出现交叉锁定的情况,可以有效地避免死锁。在数据库操作中,死锁是指两个或多个事务在持有一部分资源的同时,又试图去获取对方已经占有的资源,导致所有事务都无法继续执行的情况。

2024-02-02 18:23:24 88

原创 es和kibana 的docker启动镜像命令

【代码】es和kibana 的docker启动镜像命令。

2023-12-16 21:40:44 410

转载 linux -bash: ./startup.sh: /bin/sh^M: 坏的解释器: 没有那个文件或目录

有时候编写脚本时会出现类似标题列出的错误,这个问题大多数是因为脚本文件在windows下编辑过。在windows下,每一行的结尾是\n\r,而在linux下文件的结尾是\n,那么你在windows下编辑过的文件在linux下打开看的时候每一行的结尾就会多出来一个字符\r,用cat -A urfile时你可以看到这个\r字符被显示为^M,这时候只需要删除这个字符就可以了。可以使用命令sed -i ‘s/\r$//’ filename。-bash: ./startup.sh: /bin/sh^M: 坏的解释

2021-06-10 21:17:32 423

原创 Pattern.compile函数提取字符串中指定的字符

// 正则表达的式匹配邮箱 Pattern patternMailBox = Pattern.compile( "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$" ); // 正则表达式匹配手机号Pattern patternTell = Pattern.compile("^1[0-9]\.

2021-05-12 10:50:54 892

转载 mybatis关联查询,查询结果多条,却只返回一条记录

原因是:主表和子表的主键字段相同,可以使用别名!这是因为mybatis的内部实现机制决定的:MyBatis为了降低内存开销,采用ResultHandler逐行读取的JDBC ResultSet结果集的,这就会造成MyBatis在结果行返回的时候无法判断以后的是否还会有这个id的行返回,所以它采用了一个方法来判断当前id的结果行是否已经读取完成,从而将其加入结果集List,这个方法是:1. 读取当前行记录A,将A加入自定义Cache类,同时读取下一行记录B2. 使用下一行记录B的id列和值为key(这个

2021-04-29 13:07:37 910

原创 docker在Linux环境下的安装及CentOS 6.X的内核版本进行升级

vv

2021-04-21 14:34:41 122

转载 CentOS7/8换源&安装ELRepo

备份repo文件mkdir ~/yum.repos.bakmv /etc/yum.repos.d/* ~/yum.repos.bak/导入aliyun repocd /etc/yum.repos.dcurl -o CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # CentOS 7curl -o CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo

2021-04-21 14:33:51 1105

原创 解决LocalDateTime传值JSON格式化问题

if (infoList.size() > 0) {for (PrepositiveServerSubmission s : infoList) {Map<String, String> hashMap = new HashMap<>();hashMap.put(“fileName”,s.getFileName());// hashMap.put(“fileTime”,s.getCreateTime()); //序列化会变成数组hashMap.put(“uploa

2021-03-24 15:21:40 596

转载 初探RestTemplate--postForObject方法直接传递对象以及RestTemplate 发送 post 请求传递参数教程

https://blog.csdn.net/mryang125/article/details/80955558https://www.xttblog.com/?p=4739

2021-03-23 15:58:23 892

转载 如何在普通Java类中注入(使用)Service等被Spring管理的资源

最近在写项目的时候遇到了一个问题,具体的需求是在普通的Java类中需要调用Service层的方法,一开始傻傻地写了一行@Autowiredprivate IUserService uservice;结果发现也没报错啊,调用方法也没问题,就开心地去测试了,结果可想而知,报错了,空指针异常。然后就想了一些方法,首先说一下思路:想要获取Spring管理的Bean对象,无非就是得获取到ApplicationContext对象(下文简称act),有了这个对象,就可以通过act.getBean(...

2021-03-18 16:50:56 602

原创 static类名.方法名调用和new一个对象调用方法

在一个类中调用另一个类中static方法或变量时要使用类名.方法名或者类名.属性名;如果调用的是非静态的方法或属性则要用类的对象去调用,即对象.方法或对象.属性。

2021-03-17 16:30:37 957

转载 MySQL 的两个特殊属性 unsigned与 zerofill

1 unsigned  unsigned 就是将数字类型无符号化, 例如 int 型的范围:-2^31 ~2^31 - 1,而unsigned int的范围:0 ~ 2^32。看起来unsigned 是个不错的类型,尤其是用在自增或者没有负数的情况。但是在实际使用中会出现一些意外的情况。...

2021-03-10 16:41:01 77

转载 lombok 下的@Builder注解用法

ombok注解在java进行编译时进行代码的构建,对于java对象的创建工作它可以更优雅,不需要写多余的重复的代码,这对于JAVA开发人员是很重要的,在出现lombok之后,对象的创建工作更提供Builder方法,它提供在设计数据实体时,对外保持private setter,而对属性的赋值采用Builder的方式,这种方式最优雅,也更符合封装的原则,不对外公开属性的写操作!@Builder声明实体,表示可以进行Builder方式初始化,@Value注解,表示只公开getter,对所有属性的setter都

2021-03-10 15:50:54 484

转载 @Primary 和 @Qualifier

问题当一个接口有2个不同实现时,使用@Autowired注解时会报org.springframework.beans.factory.NoUniqueBeanDefinitionException异常信息解决(1)使用Qualifier注解,选择一个对象的名称,通常比较常用(2)Primary可以理解为默认优先选择,不可以同时设置多个,内部实质是设置BeanDefinition的primary属性注解 备注@Primary 优先方案,被注解的实现,优先被注入@Qualifier 先声明后使用,

2021-03-05 08:26:49 439 1

原创 若依的数据隔离${params.dataScope}

1、在(系统管理-角色管理)设置需要数据权限的角色目前支持以下几种权限全部数据权限自定数据权限部门数据权限部门及以下数据权限仅本人数据权限2、在需要数据权限控制方法上添加@DataScope注解,其中d和u用来表示表的别名// 部门数据权限注解@DataScope(deptAlias = “u”)// 部门及用户权限注解@DataScope(deptAlias = “d”, userAlias = “u”)3、在mybatis查询底部标签添加数据范围过滤${params.dataSc

2021-02-26 15:34:53 11536

转载 mysql中locate的用法

语法 一:LOCATE(substr,str)返回字符串substr中第一次出现子字符串的位置 str。语法二:LOCATE(substr,str,pos)返回字符串substr中第一个出现子 字符串的 str位置,从位置开始 pos。0 如果substr不在,则 返回str。返回 NULL如果substr 或者str是NULL。简单例子:mysql> SELECT LOCATE(‘bar’, ‘foobarbar’);-> 4mysql> SELECT LOCATE(‘

2021-02-26 15:00:22 15973 2

转载 多页面程序在 Nginx 上部署,解决 Vue 路由404问题wn编辑器

Vue 多页面程序在 Nginx 上部署,解决 Vue 路由404问题这里写自定义目录标题终于用Vue把项目的前端部分都做好了,平时用直接在本机跑的时候任何路由都是好好的。但是把项目打包好部署的时候却发现…原来事情并没有那么简单…这是我打包后的目录结构在这里插入图片描述在Nginx上部署还要配置一下Nginx才行首先,进入Nginx的配置vi /usr/local/nginx/conf/nginx.conf然后在里面加上下面两个 try_files 就好啦在这里插入图片描述其实我也

2021-02-05 17:06:10 193

转载 2020-12-28 TCP协议

Go to my github返回主页Edison Zhou坚持学习,善于总结,乐于分享…博客园首页新随笔联系管理关于我《图解TCP/IP》读书笔记一、国际惯例:书托TCP/IP这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TCP/IP的基本知识、掌握TCP/IP的基本技能。  书中讲解了网络基础知识、TCP/IP基础知识、数据链路、IP协议、IP协议相关技术、TCP与UDP、路由协议、应用协议、网络安全等内容,引导读者了解和掌握TCP/IP,营造一个安全的、使用放心的网络

2020-12-28 14:47:12 453 1

原创 SQL UNION 和 UNION ALL 操作符

SQL UNION 和 UNION ALL 操作符

2020-12-16 16:34:46 76

转载 java8 .stream().map().collect()用法

API: https://www.runoob.com/java/java8-streams.htmlmylist.stream().map(myfunction->{return item;}).collect(Collectors.toList());1234说明:steam():把一个源数据,可以是集合,数组,I/O channel, 产生器generator 等,转化成流。forEach():迭代流中的每个数据。以下代码片段使用 forEach 输出了10个随机数.Ra

2020-11-20 11:06:43 223

原创 mysql alter 用法,修改表,字段等信息

mysql alter 用法,修改表,字段等信息一: 修改表信息1.修改表名alter table test_a rename to sys_app;2.修改表注释alter table sys_application comment ‘系统信息表’;二:修改字段信息1.修改字段类型和注释alter table sys_application modify column app_name varchar(20) COMMENT ‘应用的名称’;2.修改字段类型alter table s

2020-11-18 09:10:24 120

转载 @RequestBody的使用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/justry_deng/article/details/80972817提示:建议一定要看后面的@RequestBody的核心逻辑源码以及六个重要结论!本文前半部分的内容都是一些基本知识常识,可选择性跳过。声明:本文是基于SpringBoot,进行的演示说明。基础知识介绍:@RequestBody主要用来接收前端传递给后端的json字符串中

2020-11-17 11:20:37 89

转载 yarn.lock的具体的作用是什么?它能给项目带来什么作用?

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/mangoyiy/article/details/79972759Yarn使用确定性算法,在将文件放置到需要的位置之前构建整个依赖关系树。安装过程中重要信息存储到yarn.lock文件中,以便可以在安装依赖关系的每个系统之间共享!此文件包含有关已安装的每个依赖项的确切版本的信息以及代码的校验和以确保代码完全相同。此文件会锁定你安装的每个依赖项的版

2020-11-09 17:08:05 5943

原创 @Data注解 与 lombok

@Data 注解的主要作用是提高代码的简洁,使用这个注解可以省去代码中大量的get()、 set()、 toString()等方法;

2020-11-05 08:25:50 52

转载 @Valid注解是什么

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/weixin_38118016/article/details/80977207@Valid用于验证注解是否符合要求,直接加在变量user之前,在变量中添加验证信息的要求,当不符合要求时就会在方法中返回message 的错误提示信息。@RestController@RequestMapping("/user")public class Us

2020-11-05 08:16:07 75

转载 集群、分布式、微服务概念和区别

概念:集群是个物理形态,分布式是个工作方式。1.分布式:一个业务分拆多个子业务,部署在不同的服务器上2.集群:同一个业务,部署在多个服务器上分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。举例:就比如新浪网,访问的人多了,他可以做一个集群,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。而分布式,从窄意上理解

2020-11-02 14:57:52 341

转载 Java基础篇:反射机制详解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/a745233700/article/details/82893076一、什么是反射:(1)Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。本质是JVM得到class对象之后,再通过class对象进行反编译,从而获取t对象的各种信息。(2)Java属于先编译再运行的语言,程序中对象的类型在编译期就

2020-11-02 10:17:23 448

转载 通俗易懂的双亲委派机制

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/codeyanbao/article/details/82875064

2020-11-02 09:33:02 68

转载 JAVA编译器

JAVA编译器(javac.exe)的作用是将java源程序编译成中间代码字节码文件,是最基本的开发工具。编译时首先读入java源程序(即在MS-DOS命令行下键入javac HelloWorld.java等文件名参数和其他选项参数),然后进行语法检查,如果出现问题就终止编译。语法检查通过后,生成中间代码即字节码,字节码文件名和源文件名相同,扩展名为.class。Java以跨平台、面向对象、多线程、兼具编译型语言和解释型语言、稳定性好、安全性强的特点,以及与Internet的完美结合而取得成功...

2020-11-02 09:31:55 317

原创 如何查看某个端口被谁占用

1.输入命令:netstat -aon|findstr “49157” 端口号;找到对应的pid2.tasklist|findstr “2720” ; 根据pid找到对应的任务,进程;3.结束进程;任务管理器,或者,cmd都行=>taskkill /f /t /im Tencentdl.exe

2020-10-29 11:06:02 49

原创 电脑上的端口指得是什么?

电脑“端口”是bai英文port的义译,可以认为du是计算机与外界通讯交流的出口。zhi其中硬件领域的dao端口又称接口,如:USB端口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。端口可分为3大类:1.公认端口(Well Known Ports):从0到1023,它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。2.注册端口(Regist

2020-10-29 11:00:56 645

转载 吞吐量(TPS)、QPS、并发数、响应时间(RT)概念

开发的原因,需要对吞吐量(TPS)、QPS、并发数、响应时间(RT)几个概念做下了解,查自百度百科,记录如下:响应时间(RT)  响应时间是指系统对请求作出响应的时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许多功能,而不同功能的处理逻辑也千差万别,因而不同功能的响应时间也不尽相同,甚至同一功能在不同输入数据的情况下响应时间也不相同。所以,在讨论一个系统的响应时间时,人们通常是指该系统所有功能的平均时间或者所有功能

2020-10-29 09:44:57 150

转载 SpringBoot的配置文件bootstrap与application的作用以及区别

SpringBoot中有以下两种配置文件bootstrap (.yml 或者 .properties),application (.yml 或者 .properties)1.加载顺序上的区别bootstrap.yml(bootstrap.properties)先加载application.yml(application.properties)后加载bootstrap 里面的属性会优先加载,它们默认也不能被本地相同配置覆盖。2.bootstrap/ application 的应用场。bootstr

2020-10-29 09:43:28 416

原创 页面点击新页面但数据还停保留旧数据,需要点击才能刷新问题,修改为直接刷新

//弹出需求推荐时,页面需要点击才能刷新问题,修改为直接刷新 immediateRefresh(row) { //根据需求属性推荐 this.selectedRow = row this.$nextTick(_ => { this.handleClick({name: 'recommend'}, null) this.handleClick({name: 'reply'}, null) this.handle.

2020-10-10 15:17:57 430

原创 avue加省略号的处理

思路:是引入之前定义好的模板,定义插槽的模板 <template slot="requirementName" slot-scope="scope"> <ellipsis :length="14" tooltip>{{ scope.row.requirementName }}</ellipsis> </template> <template slot="requirementNo" slot-scope="sc

2020-10-10 14:28:11 795

原创 @ResponseBody 和 @RequestBody 和@RequestParam的简要说明

@RequestBody是作用在形参列表上,用于将前台发送过来的数据封装为对应的 JavaBean 对象;@RequestParam用于将请求参数区数据映射到功能处理方法的参数上。@ResponseBody的作用其实是将java对象转为json格式的数据,然后返回给前端。区别前两个,@ResponseBody作用在方法上。...

2020-10-10 11:23:46 71

原创 vue前端传入分页参数后台接收不到的问题

后台代码接受参数的地方:去掉@RequestBody注解,前端引入路径的js文件中:

2020-10-10 11:08:02 1012

空空如也

空空如也

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

TA关注的人

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