将所有遗憾埋到土里,种上一棵桃树,来年花开人未归
0060bfa34e4e7aa163d86fc0396f929de6782fc30235f88974e03713f552c0a98a4094fe34ec2cf971a16a805655aa30da1ab20b1abde89e7489689bd7647b69380dda675b58e44da0ad288bd77667ee4aaec6ecfa7fb0556324669120c8172e2293fe42d76a3ecec4c2f9caf19861f9275e9952677b5d1885e313227636ae4eb483a1df3dfc4f0cb7c8f962ba579951eac8f37d35950f1bf3c6ba7add988daf5c27743d3694f0ad8331910f05e6d87b14becb70fcb2c493c4e93c4569ba3d69dcc37db076ac9ab8f730b3683122b979f8236d4a740f74faa25e23f743d16878fa811b988bdd7a11300bd82a51726504b3cf45a5628b1a3e1 ...
SpringCloudAlibaba
Nacos 服务注册
Nacos服务端
下载地址:https://github.com/alibaba/nacos/releases
Windows启动Nacos执行bin目录下面的startup.cmd
启动之后你会发现莫名其妙的报了一大堆错误,我Nacos1.4.0版本的,默认启动是启动的集群模式的Nacos;这时我们需要打开cmd命令复制代码执行(standalone代表着单机模式运行,非集群模式):
12# Ps: 启动集群模式只需要执行startup.cmdstartup.cmd -m standalone
访问路径为:http://localhost:8848/nacos
Nacos客户端
使用Nacos需要在父pom或者子pom引入spring cloud alibaba依赖,根据官网选择你需要的版本:https://github.com/alibaba/spring-cloud-alibaba/tags
代码传送门: https://github.com/jiushiboy/springcloud
cloudalibaba-consumer-nacos-o ...
JDK8新特性
Stream流
场景 –> 当我查询出数据需要按照类型来进行分组首先我们创建需要用到的类
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263// 实体类 @Data注解来自 lombok 插件 --> 自行百度@Datapublic class Person{ // 编号 private String id; // 名称 private String name; // 性别 private String sex; // 部门 private String dept;}// mian方法, 来自java 入门编程 --> Hello Worldpublic static void main(Str ...
关于登录问题
12345678910111213141516## 生成密钥# genkeypair 生成密钥对# alias 密钥的别名# keyalg 加密的Hash算法# keypass 密钥的访问密码# keystore 密钥库文件名# validity 证书有效期,默认90天,36500是100年# storepass 密钥库的访问密码# Ps: 注意了文件会生成在你执行命令的目录,我是用的git bash窗口执行的keytool -genkeypair -alias jiushiboy -keyalg RSA -keypass jiushiboy -keystore jiushiboy.jks -validity 36500 -storepass jiushiboy## 解析公钥,这里我试过使用cmd命令窗口解析,但是失败了,然后使用git bash成功!keytool -list -rfc --keystore jiushiboy.jks | openssl x509 -inform pem -pubkey# 当你解析之后窗口中显示的 BEGIN PUBLIC KEY 到 E ...
阿里EasyExcel
JAVA解析Excel工具EasyExcel
官方讲解:Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,一个3M的excel用POIsax解析依然需要100M左右内存,改用easyexcel可以降低到几M,并且再大的excel也不会出现内存溢出;03版依赖POI的sax模式,在上层做了模型转换的封装,让使用者更加简单方便Ps: 64M内存20秒读取75M(46W行25列)的Excel(3.0.2+版本)
版本支持
2+ 版本支持 Java7和Java63+ 版本至少 Java8
maven依赖12345678910111213141516171819202122<!-- EasyExcel --><dependency> <groupId>com. ...
Linux常用命令
基本操作12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667# 查看ip 注意 ifconfig # 需要下载插件ip aip addr# 查看当前目录列表ll # 注意只有超级管理员能使用ls -al# 查看当前目录路径pwd# 切换到根目录cd /# 根目录中的常用目录cd bin/ # 存放二进制可执行文件(ls,cat,mkdir等)cd etc/ # 存放系统配置文件cd usr/ # 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录,其实是一个行内规定手动安装的软件安装的目录cd var/ # 用于存放运行时需要改变数据的文件# 创建目录mkdir test # test是目录名# 生成一个空文件touch test.txt # test.txt 生成了一个空文本# 生成一个 ...
MySQL之PXC集群
1这篇文章主要是通过公司同事的文档照搬而来
PXC是什么
PXC是MySQL的高可用性和扩展性的解决方案,通俗来讲就是MySQL的集群方案;
PXC的集群作用
实现数据库的节点实时同步,可以保证数据的一致性,保证数据同步(强一致性)
PXC集群和Replication集群PXC集群的特点
PXC实现了同步复制,复制数据是双向的,事物在所有的集群节点要么同时提交,要么不提交;多主机复制,可以在任何节点上提交数据;从slave服务器上的并行应用事件达到了真正的并行复制;当你设置了自增主键,数据并不是按照+1的模式进行的,而是按照节点的数量进行递增;
Replication集群特点
Replication同步数据是单向的;Replication在主节点写入,Slave分支读取,master无法读取数据,所以说Replication的每一个节点都不能同时读写;
PXC下载1https://hub.docker.com/r/percona/percona-xtradb-cluster/
PXC集群搭建12# 安装命令 5.7 ...
MySQL规范大全
模糊查询页面搜索严禁左模糊或者全模糊,如果需要请走搜索引擎来解决;
Ps:索引文件具有B-Tree的最左前缀匹配特性,左边值都不能确定的情况,将无法使用索引;
MySQL中存储引擎没有特殊要求(即Innodb无法满足列存储,存储空间数据等),所有的表必须使用Innodb存储引擎(MySQL5.5之前默认使用Myisam,5.6以后默认为Innodb);
Ps:Innodb支持事务,支持行级锁,更好的恢复性,高并发下性能更好;
数据库和表的字符集[强制] 统一使用utf8mb4
MySQL注释[强制] 所有的表和字段必须添加注释,使用comment添加表和列的备注,保证数据字典的可维护性;
预留字段禁止在表中建预留字段;
Ps:预留字段命名不能做到见名知意;预留字段无法确定存储的数据类型,所以无法选择合适的类型;对预留字段的修改,会对表进行锁定;
存储数据禁止在数据库存储图片、文件等大的二进制数据;
Ps:通常文件很大,会短时间内造成数据量快速增长,数据库进行读取时,通常会进行大量的随机IO操作,文件很大时,IO特别耗时;
数据类型优先选择符合存储需要的最小数据类型;
...
MySQL解压版安装教程
下载
我下载使用的是mysql5.7.17解压版,首先进入官网选择自己对应的版本
1https://dev.mysql.com/downloads/mysql/
如果你不使用最新版,那么就去选择别的版本
直接选择自己要使用的版本点击右方download
下载完成进行解压
配置环境变量
第一步: 右键此电脑选择属性
第二步: 在系统属性框右下角单击环境变量
第三步: 在系统变量框中新建一个系统变量,起名叫MYSQL_HOME 路径配置你安装mysql的根目录
第四步: 在系统变量中找到Path变量,并且编辑它
第五步: 在编辑环境变量中新增,并且按照截图进行复制%MYSQL_HOME%\bin
到这里记得要将打开的窗口都单击确定,然后就大功告成了
正戏开始
因为我们安装的是解压版,所以初步安装起来比安装版可能会麻烦一些
第一步: 首先在你解压的mysql安装目录的根目录新建一个my.ini
123456789101112131415161718192021222324#代码开始 [Client] # ...
MySQL分布式锁
1.MySQL建立一张表,设置一个主键或者UNIQUE KEY,然后选则其中一个当锁的KEY
所以同一个KEY在MySQL表中就只能存在一个了,这样锁的竞争就交给了数据库,处理同一个KEY数据库保证了一个节点能插入成功,其他都失败
2.DB分布式锁实现:通过主键ID或者唯一索引的唯一性进行加锁
加锁的方式其实就往表中新增一条数据,数据的ID就是一把锁列如: 新增一条数据ID为1,其他想要插入数据必须等第一次请求执行完然后删除这条ID为1的数据才能继续插入,实现了分布式锁
12345678def lock : exec sql: insert into locked-table (xxx) value (xxx) if result == true: return true else: return falsedef unlock: exec sql: delete from xxxTable where xxx_id = 'xxx_id'