自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 BGW总结

Java基础Java概述JVM、JDK 和 JRE简介JVM是运行Java字节码的虚拟机,针对不同的平台,Java有不同的虚拟机,识别同样的字节码调用不同平台上的操作系统API来完成操作,从而实现"一次编译,到处执行"。JRE 是 Java 运行时环境,包括JVM 的标准实现和 Java 的一些基本类库。它相对于 JVM 来说,多出来的是一部分的 Java 类库。JDK是Java 开发工具包。JDK 是整个 Java 开发的核心,它集成了 JRE 和一些好用的小工具。例如:javac.exe,ja

2024-06-12 16:06:59 593

原创 SpringBoot系列_05_SpringBoot与Web开发

SpringMVC相关配置自动配置原理现状1:以前要访问jpg\css、js 等这些静态资源文件,需要在web.xml配置 ,在springboot不需要配置,只需要放在约定文件夹中就可以(约定大于配置)原理1:WebMvcAutoConfiguration中做了以下配置,从而实现当访问/webjars/** 时就会去classpath:/META-INF/resources/webjars/ 对应进行映射public void addResourceHandlers(ResourceHandler

2022-02-08 15:42:29 261

原创 分布式系列_MQ_04_Kafka

安装基本概念简述Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协 调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据。用scala语言编写, Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目。使用场景日志收集:一个公司可以用Kafka收集各种服务的log,通过kafka以统一接口服务的方式开放给各种 consumer,例如hadoop、Hbase、Solr等。消息

2022-02-08 15:36:04 136

原创 分布式系列_MQ_02_RabbitMQ

CentOS7 安装RabbitMQ下载安装包下载erlang:https://github.com/rabbitmq/erlang-rpm/tags下载Socat:https://pkgs.org/download/socat下载rabbitmq:https://github.com/rabbitmq/rabbitmq-server/tags注意:erlang与rabbitmq的版本要求需要到这里查看https://www.rabbitmq.com/which-erlang.html简介简

2022-02-08 15:35:38 183

原创 分布式系列_MQ_03_RocketMQ

安装简介简述RocketMQ是阿里巴巴开源的一个消息中间件,在阿里内部历经了双十一等很多高并发场景的考验,能够处理亿万级别的消息。2016年开源后捐赠给Apache,现在是Apache的一个顶级项目。目前RocketMQ在阿里云上有一个购买即可用的商业版本,商业版本集成了阿里内部一些更深层次的功能及运维定制。开源版本相对于阿里云上的商业版本,功能上略有缺失,但是大体上功能是一样的。...

2022-02-08 15:35:08 69

原创 分布式系列_MQ_01_MQ简介

简介概述MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信。MQ的优劣势优势①应用解耦:提高系统容错性和可维护性不使用MQ时,系统间的消息通信需要通过远程调用接口,这样会导致需要添加或者减少系统通信,就需要修改对应的代码,如果使用MQ,系统间的消息通信不需要调用接口,只需要将消息发送到MQ中,需要接受消息的系统自己去MQ中获取即可,从而实现了系统间的解耦。②异步提速:提升用户体验和系统吞吐量使用MQ可以将需要调用其他系统执行完成

2022-02-08 15:34:52 389

原创 并发编程系列_02_Java内存模型(JMM)

简介简述Java内存模型(Java Memory Model简称JMM)是一种抽象的概念,并不真实存在,它描述的是一组规则或规范,通过这组规范定义了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式。每个线程创建时JVM都会为其创建一个工作内存(有些地方称为栈空间),用于存储线程私有的数据,而Java内存模型中规定所有变量都存储在主内存,主内存是共享内存区域,所有线程都可以访问,但线程对变量的操作(读取赋值等)必须在工作内存中进行,首先要将变量从主内存拷贝的自己的工作内存空间,然后对

2022-02-08 15:33:37 181

原创 并发编程系列_01_操作系统底层工作整体认识

冯诺依曼计算机模型计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下完成规定操作。依此进行下去。直至遇到停止指令。程序与数据一样存贮,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的操作是计算机最基本的工作模型。这一原理最初是由美籍匈牙利数学家冯.诺依曼于1945年提出来的,故称为冯.诺依曼计算机模型。组成部分控制器(Control):是整个

2022-02-08 15:33:16 87

原创 Mysql系列_高级_05_Mysql集群

简介集群作用1、数据安全:给主服务增加一个数据备份。基于这个目的,可以搭建主从架构,或者也可以基于主从架构搭建互主的架构。2、读写分离:对于大部分的JAVA业务系统来说,都是读多写少的,读请求远远高于写请求。这时,当主服务的访问压力过大时,可以将数据读请求转为由从服务来分担,主服务只负责数据写入的请求,这样大大缓解数据库的访问压力。MySQL的主从架构只是实现读写分离的一个基础。实现读写分离还是需要一些中间件来支持,比如ShardingSphere。3、故障转移-高可用:当MySQL主服务宕机后,可

2022-01-19 17:05:23 178

原创 分布式系列_Zookeeper_02_Zookeeper客户端应用与典型的应用场景

客户端应用待补充典型应用场景分布式锁非公平锁执行流程如下:如上实现方式在并发问题比较严重的情况下,性能会下降的比较厉害,主要原因是,所有的连接 都在对同一个节点进行监听,当服务器检测到删除事件时,要通知所有的连接,所有的连接同时收到事件,再次并发竞争,这就是羊群效应。使用公平锁可以避免羊群效应。公平锁执行流程如下:公平锁和非公平锁都是互斥锁,同一时间只能有一个请求占用,如果是大量的并发上来,所有的请求都得加锁,性能是会急剧下降的。因此使用共享锁,可以在一定程度上解决这个问题。//以下

2021-12-16 16:35:42 54

原创 分布式系列_Zookeeper_01_Zookeeper安装与功能特性

简介Zookeeper是一个分布式协调框架,是Apache Hadoop 的一个子项 目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同 步服务、集群管理、分布式应用配置项的管理等。...

2021-12-16 16:34:47 120

原创 JavaSE

抽象类和接口有什么区别接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的接口可以实现多重继承,而一个类只能继承一个超类HTTP 请求的 GET 与 POST 方式的区别GET请求参数放在请求头,POST参数放在请求体,因此敏感信息不可用GET请求传递URL对字符数目有限制,所以GET请求参数有限制大小,而POST没有...

2021-10-06 17:47:42 222

原创 Mysql系列_高级_04_Mysql锁机制

锁分类从性能上分为乐观锁(用版本对比来实现)和悲观锁从对数据库操作的类型分,分为读锁和写锁(都属于悲观锁)①读锁(共享锁,S锁(Shared)):针对同一份数据,多个读操作可以同时进行而不会互相影响②写锁(排它锁,X锁(eXclusive)):当前写操作没有完成前,它会阻断其他写锁和读锁从对数据操作的粒度分,分为表锁和行锁表锁每次操作锁住整张表。开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低; 一般用在整表数据迁移的场景。基本操作#手动增加表锁:lock t

2021-09-23 20:51:12 106

原创 Mysql系列_高级_03_Explain详解

本质Explain是Mysql的关键字,可以模拟优化器执行SQL语句,返回执行计划信息

2021-09-23 20:50:53 191

原创 JVM_03_JVM垃圾收集器

垃圾收集算法标记-复制算法将内存分为大小相同的两块,每次使用其中的一块。当这一块的 内存使用完后,就将还存活的对象复制到另一块去,然后再把使用的空间一次清理掉。这样就使每次的内存回收都是对 内存区间的一半进行回收。标记-清除算法定义标记存活的对象, 统一回收所有未被标记的对象(一般选择这种);也可以反过来,标 记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象 。缺点效率问题 (如果需要标记的对象太多,效率不高)空间问题(标记清除后会产生大量不连续的碎片)标记-整理算法

2021-08-20 08:22:15 114

原创 JVM_01_类加载机制

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-08-16 23:10:07 82

原创 JVM_02_JVM内存分配机制

内存模型内存参数设置-XX:MaxMetaspaceSize

2021-08-16 23:08:33 264 1

原创 Mysql系列_高级_02_索引底层数据结构

本质索引是Mysql高效获取数据的排好序的数据结构索引数据结构二叉树、红黑树、Hash表、B-TreeB-Tree特点:叶节点具有相同的深度,叶节点的指针为空所有索引元素不重复节点中的数据索引从左到右递增排序B+Tree特点:非叶子节点不存储data,只存储索引,因此会导致数据冗余,但是可以放更多的索引叶子节点包含所有的索引字段叶子节点用指针连接,提高区间访问的性能Hash表的特点:对索引的key进行一次hash计算就可以定位出数据存储的位置很多时候Hash索引要比

2021-07-11 18:02:29 72

原创 Mysql系列_高级_01_Mysql内部组件结构

连接器定义负责跟客户端建立连接、获取权限、维持和管理连接的部分建立连接和获取权限#建立连接mysql ‐h host[数据库地址] ‐u root[用户] ‐p root[密码] ‐P 3306如果用户名或者密码不正确,那么就会返回"Access denied for user"错误如果验证通过,连接器便会查出所拥有的用户权限,之后这个连接的权限判断都依赖与生产连接时读取的权限资料因此一个用户成功建立连接后,即使你用管理员账号对账号的权限做了修改,也不会影响已经存在的连接的权限,等用户再次

2021-07-11 12:03:49 92

原创 git操作指南

基本操作git init:在当前文件夹下生成隐藏目录 .git,作为git版本库,版本库中的index文件就是暂存区(stage),HEAD是一个指针,指向当前分支,工作区便是当前文件夹剔除隐藏目录 .git的部分git add:将工作区的新增或修改文件添加到版本库中的暂存区git commit -m:将版本库中的暂存区的文件提交到HEAD指向的分支(当前分支)git status:查看仓库当前状态git diff:将工作区的变动与暂存区作比较git log:查看历史版本信息,加上–prett

2021-07-08 17:04:09 111

原创 SpringBoot系列_04_SpringBoot自定义启动器

命名规范官方命名规范模式:spring-boot-starter-模块名举例:spring-boot-starter-web、spring-boot-starter-jdbc自定义命名规范模式:模块-spring-boot-starter举例:mybatis-spring-boot-starter实例项目父项目:hello-spring-boot-starter-parent<?xml version="1.0" encoding="UTF-8"?><proj

2021-04-19 17:04:45 75

原创 SpringBoot系列_03_SpringBoot热部署和日志

SpringBoot热部署步骤①添加依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional></dependency>②配

2021-04-19 12:49:35 141

原创 SpringBoot系列_02_SpringBoot基本配置

yaml语法基本语法k:(空格)vPS:以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的,属性和值也是大小写敏感;server: port: 8081 path: /hello值的写法字面量(数字、字符串、布尔)k: v(字面直接来写)对象、Map第一种写法:在下一行来写对象的属性和值的关系friends: lastName: zhangsan age: 20第二种写法:friends: {lastName: zhangsan,age: 1

2021-04-19 12:46:56 117

原创 SpringBoot系列_01_SpringBoot概述

简介概述Springboot是基于Spring开发的框架,秉承着约定大于配置的理念,集成了大量常用的第三方库配置,从而实现几乎零配置使用大部分的常用框架,使开发者更加专注于业务逻辑。优点快速搭建一个独立的Spring应用程序能够嵌入Tomcat 、 Jetty 或者 Undertow,无须部署 WAR 文件提供各种场景启动器,简化Maven配置和减少版本冲突无需配置XML,无代码生成,开箱即用快速搭建SpringBoot项目步骤第一步:创建一个maven工程第二步:引入依赖&l

2021-04-19 12:42:23 116

原创 Mysql系列_基础_06_Mysql事务控制语句(TCL)

事务定义访问并更新数据库中各种数据项的一个程序执行单元,用来管理 insert,update,delete 语句。事务四大特性原子性、一致性、隔离性和持久性事务隔离级别Serializable(串行化)Repeatable read (可重复读)Read committed (读已提交)Read uncommitted (读未提交)隔离级别问题脏读、不可重复读和虚读(幻读)事务控制语句显示的开启一个事务:START TRANSACTION | BEGIN注意:在存储过程中,MYSQ

2020-11-26 16:53:08 106

原创 NC6X_开发_00_NC6X开发问题及技巧记录

问题问题1:nc63单据新增保存出现object is not an instance of declaring class解决:查看报错日记,该问题主要是因为invoke方法找不到要执行的类,由于是在新增保存的时候出现的,所以查询了对应的接口,发现问题出现在新增的单据没有部署生成ejb,有时候部署ejb没法解决,那可能就需要勾选二开阶段复选框生成ejb。问题2:单据导入数据生成单据出现违反唯一字段解决:问题出现在元数据主体设置表体字段时候字段名称写成表体主键字段,要用表头主键字段。问题3:单据

2020-11-26 16:27:22 679

原创 Mysql系列_基础_08_Mysql视图和触发器

视图简介实质视图是已经编译好的sql语句,没有实际的物理记录,视图也是表,虚拟表。分类①MERGE:将视图的sql语句和引用视图的sql语句合并在一起,最后一起执行,当引用视图时,引用视图的语句与定义视图的语句合并,在一些情况下可以通过视图对基表数据进行更新、删除操作,视图不可更新情况有如下几点:字段来自表达自或常数,不能insert和update,但可以delete字段来自集函数视图含有group by或者distinct视图含嵌套查询,同时内层查询语句与外层查询语句使用同样的基表,如

2020-11-26 13:11:28 89

原创 Redis系列_06_Redis高级数据类型

Bitmaps实质Bitmaps数据类型实质上是在对一个string类型的数据进行位操作,该数据类型的存值只能为0或1,可以用每一位存储一个只有两个值的数据(比如性别),从而实现用更少的空间存更多的数据,并且对这些数据做统计获取指定key对应偏移量上的bit值getbit key offset设置指定key对应偏移量上的bit值,value只能是0或1setbit key offset value对指定key按位进行交、并、非、异或操作,并将结果保存到destkey中bitop op des

2020-11-26 00:40:08 91

原创 Redis系列_05_Redis清除数据

删除策略数据状态:XX:具有时效性的数据-1:永久有效的数据-2:已经过期的数据、被删除的数据 或 未定义的数据定时删除原理:创建一个定时器,当key设置的有效时间到达时,由定时器任务立即执行对键的删除操作优点:到时删除,快速释放内存缺点:CPU压力大,会影响redis服务器响应时间和指令吞吐量总结:用处理器性能换取存储空间(时间换空间)惰性删除原理:数据到达过期时,先不做处理,等下次访问该数据时,删除键,返回不存在优点:必须删除时才删除,节约CPU性能缺点:过期数据长期占用内

2020-11-25 22:08:20 534

原创 Mysql系列_基础_07_Mysql数据控制语句(DCL)

用户管理权限管理

2020-11-25 18:12:43 90

原创 Redis系列_04_Redis事务

实质Redis事务就是一个命令执行的队列,将一系列预定义命令包装成一个整体(队列),当执行时,一次性按照添加的顺序依次执行,中间不会被打断或者干扰。基本操作开启事务,设定事务的开启位置:multi执行事务,与multi成对使用:exec取消事务:discard工作流程操作注意事项定义事务的过程中,命令格式输入错误怎么办?如果定义的事务中所包含的命令存在语法错误,那么事务中所有的命令都将不执行。定义事务的过程中,命令执行出现错误怎么办?能够正确运行的命令会执行,运行错误的命令不会被执行

2020-11-25 00:26:25 81

原创 Mysql系列_基础_04_Mysql数据定义语句(DDL)

DDL之create创建数据库create database db_name[character set=utf8]创建数据表create table 数据表名(字段名1 数据类型 [列级别约束条件],字段名2 数据类型 [列级别约束条件],字段名3 数据类型 [列级别约束条件])查看表结构describe 表名/desc 表名查看创建表的语句show create table 表名DDL之alter修改字段...

2020-11-24 17:11:49 63

原创 Redis系列_03_Redis持久化

RDB(数据快照)定义:RDB 是 Redis 默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个dump.rdb文件。Redis 重启会通过加载dump.rdb文件恢复数据。命令:save结果:生成dump.rdb文件save指令相关配置:dbfilename dump.rdb 本地数据库文件名dir 存储路径rdbcompression yes 是否压缩数据rdbchecksum yes 读写文件时,是否进行文件格式校验

2020-11-24 00:13:46 143

原创 NC6X_开发_02_NC6X常用API

持久化APIJDBC级增删改查实现类:nc.bs.dao.BaseDAOJDBC级增删改工具接口:nc.itf.uap.IVOPersistenceJDBC级查询工具接口:nc.itf.uap.IUAPQueryBS聚合VO查询实现类:nc.impl.pubapp.pattern.data.bill.BillQuery单据VO级增删改查实现类:nc.impl.uif.pub.UifServiceImp单据VO级增删改查接口:nc.itf.uif.pub.IUifService单据VO级增删改查

2020-11-23 18:11:11 382

原创 NC6X_开发_01_NC6X常用表

单据类型:bd_billtype参照信息:bd_refinfo自定义档案列表:bd_defdoclist自定义档案:bd_defdoc元数据组件:md_component元数据实体:md_class元数据实体属性:md_property元数据实体关联信息:md_bizitfmap表数据:md_table列数据:md_column功能模块数据:md_module查询模板数据:pub_query_templet查询条件数据:pub_query_condition输出模板数据:pub_p

2020-11-23 17:55:38 307

原创 Mysql系列_基础_03_Mysql常用函数

字符串函数转小写:lower(string)、lcase(string)转大写:upper(string)、ucase(string)连接字符串:concat(string1, string2, …)剪切字符串:substr(string1, m, n)长度:length(string)索引位置:instr(string, substring);//返回substring首次在string中出现的位置,不存在返回0从左、右取字符:left(string, length)、right(strin

2020-11-22 00:47:44 76

原创 Mysql系列_基础_02_Mysql约束与数据类型

约束主键约束特点:唯一、非空列级语法:<字段名> <数据类型> PRIMARY KEY [默认值]create table student( id int(20) primary key, name varchar(50) primary key, password varchar(30));表级语法:[CONSTRAINT <约束名>] PRIMARY KEY [字段名]create table student( id int(20),

2020-11-20 15:47:04 206

原创 Mysql系列_基础_01_Mysql概述

简介Mysql是一种小型的开源的关系型数据库管理系统(DBMS),现属于Oracle公司。语句分类DML(数据管理语句) (相关关键字:insert、delete、update、select)DDL(数据定义语句) (相关关键字:create、drop、alter)DCL(数据控制语句) (相关关键字:grant、revoke)TCL(事务控制语句) (相关关键字:commit、rollback)Sql的三大范式第一范式(1NF):字段不可分数据表的每个列都要具有原子性,不可被分割,否

2020-11-20 14:18:02 104

原创 Redis系列_02_Redis五大数据类型

Redis系列_Redis五大数据类型string数据类型

2020-11-20 10:30:59 97

原创 Redis系列_01_Redis概述及基本操作

Redis系列_Redis概述及基本操作一、简介定义:Redis是用C语言开发的开源的高性能的键值对非关系型数据库。特点:数据间没有必然的关联关系内部采用单线程机制进行工作读写速度快,高性能多数据类型支持持久化支持,能够进行数据灾难性回复二、基本操作key操作删除指定key:del key获取key是否存在:exists key获取key的类型:type key设置key有效期:①expire key seconds (精确到秒)②pexpire key millise

2020-11-19 14:55:02 109

win7和win10激活工具

win7和win10激活工具 win7和win10激活工具 win7和win10激活工具 win7和win10激活工具 win7和win10激活工具 win7和win10激活工具

2020-11-19

空空如也

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

TA关注的人

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