- 博客(22)
- 资源 (35)
- 收藏
- 关注
原创 分布式锁redis与zookeepr区别
实现方式的不同Redis 实现为去插入一条占位数据,而 ZK 实现为去注册一个临时节点。遇到宕机情况时Redis 需要等到过期时间到了后自动释放锁,而 ZK 因为是临时节点,在宕机时候已经是删除了节点去释放锁。性能Redis 在没抢占到锁的情况下一般会去自旋获取锁,比较浪费性能,而 ZK 是通过注册监听器的方式获取锁,性能而言优于 Redis。不过具体要采用哪种实现方式,还是需要具体情况具体分析,结合项目引用的技术栈来落地实现。具体实现细节,即代码层面如何操作,参考这里...
2021-03-22 14:58:27 125
原创 springboot 之 启动项目打印接口列表
环境:springboot 2.3.2.RELEASE修改配置文件:logging: level: org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping: trace结果:
2021-03-22 11:58:42 1102
原创 什么是spring cloud?
很多人实际开发中用到springcloud的各个组件,但是当别人问起什么是springcloud时,不知道该怎么回答。其实,我也曾有过类似情况。从架构演进看看springcloud都做了什么?https://mp.weixin.qq.com/s?__biz=MzI4NDY5Mjc1Mg==&mid=2247484118&idx=1&sn=cd0b5768984a4ee95ff6b77a7186ab54&chksm=ebf6daa9dc8153bf9f9a1dfaf8
2021-03-22 11:43:52 133
原创 SaaS,PaaS,IaaS之间的主要区别
很多人对SaaS,PaaS,IaaS三个概念很模糊,这里摘要一下主要区别,来自网络。概念IaaS:基础设施即服务。如:AWS,阿里云,腾讯云,华为云PaaS:平台即服务。如:Microsoft Windows Azure,百度BAE、新浪SAE、京东云擎JAESaaS:软件即服务。如:钉钉,企业微信区别在托管定制应用程序时,IaaS可以为您提供最大程度的灵活性,并为数据存储提供通用数据中心。PaaS通常建立在IaaS平台之上,以减少系统管理的需求。它使您可以专注于应用程序开发,而不是基础架构
2021-03-22 10:55:26 270
原创 springboot 之 nacos实现服务注册与发现,动态配置及实时更新配置
环境nacos版本: NACOS1.4.0具体怎么安装nacos,百度一下即可。依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/
2021-03-20 16:43:31 1699 4
原创 判断邮箱是否合法
//判断Email合法性private boolean isEmail(String email) { if (email == null) return false; String rule = "[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?"; Pattern patte
2021-03-20 13:27:20 721
原创 实现16位随机码生成
常见三种生成随机数方法Math.random 随机数java.util.Random 伪随机数(线性同余法生成)java.security.SecureRandom 真随机数随机数,采用的是类似于统计学的随机数生成规则,其输出结果很容易预测,因此可能导致被攻击者击中。真随机数,采用的是类似于密码学的随机数生成规则,其输出结果较难预测,若想要预防被攻击者攻击,最好做到使攻击者根本无法,或不可能鉴别生成的随机值和真正的随机值。在商业上,能经得起生产工业使用的一般推荐第三种生成方法,此处也是采用强
2021-03-20 13:24:28 5233
原创 Mybatis-plus 遇到的问题
如果希望快速了解如何使用:点击查看 上一节Could not set property ‘id’ of ‘class com.**’ with value这个问题应该是你没有使用 自动生成数据库操作 代码的方法,而是手动添加相关类,但是你没有指定主键及主键类型,导致的问题。解决方法1.找到报错对应的实体类2.添加主键策略以及制定表名Mybatis Plus支持以下4种主键策略值描述IdType.AUTO数据库ID自增IdType.INPUT用户输入IDIdT
2021-03-20 13:12:42 202
原创 com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value:...java.time
在JDBC中使用Java8的日期LocalDate、LocalDateTime报错Exception in thread “main” com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value: ‘\xAC\xED\x00\x05sr\x00\x0Djava.time.Ser\x95]\x84\xBA\x1B"H\xB2\x0C\x00\x00xpw\x07\x03\x00\x00\x07\xE0\x0B\x0Dx
2021-03-20 12:56:51 1228
转载 SpringBoot 之 配置文件的加载位置
结论:-file:./config/-file:./-classpath:/config/-classpath:/即根目录下的config目录下,然后是 根目录下,然后是classpath路径下的config目录下,最后是classpath路径下。优先级由高到低,高优先级的配置会覆盖低优先级的配置。...
2021-03-17 15:30:30 113
转载 服务器常见高可用方案
前言后台服务可以划分为两类,有状态和无状态。高可用对于无状态的应用来说是比较简单的,无状态的应用,只需要通过 F5 或者任何代理的方式就可以很好的解决。后文描述的主要是针对有状态的服务进行分析。服务端进行状态维护主要是通过磁盘或内存进行保存,比如 MySQL 数据库,redis 等内存数据库。除了这两种类型的维护方式,还有 jvm 的内存的状态维持,但jvm的状态生命周期通常很短高可用高可用的一些解决方案冷备双机热备同城双活异地双活异地多活冷备冷备,通过停止数据库对外服务的能力
2021-03-15 14:14:22 3973
原创 nginx 为什么这么快
https://mp.weixin.qq.com/s/-jpKjlq29QtPSGKqrWSkUw这篇讲的不错。讲了基本原理,实际使用时还是要去看官网的使用手册的。
2021-03-15 11:32:23 198 1
原创 SpringBoot的 jar 可以直接运行
SpringBoot的 jar 可以直接运行SpringBoot提供了一个插件spring-boot-maven-plugin用于把程序打包成一个可执行的jar包<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-
2021-03-11 18:10:23 267
原创 String长度有限制吗?
结论(针对JDK1.8)首先字符串的内容是由一个字符数组 char[] 来存储的,由于数组的长度及索引是整数,且String类中返回字符串长度的方法length() 的返回值也是int ,所以通过查看java源码中的类Integer我们可以看到Integer的最大范围是 2^31 -1,由于数组是从0开始的,所以数组的最大长度可以使【0~2^31-1】通过计算是大概 4GB 。但是通过翻阅java虚拟机手册对class文件格式的定义以及常量池中对String类型的结构体定义我们可以知道对于索引定义
2021-03-11 18:09:08 161
原创 CPU空闲时在干什么
查看CPU的使用率sar 1 10操作系统中执行任务的单元----CPU,当没有任务执行时,CPU进入空闲状态idle。此时CPU会循环执行halt指令,这条指令会让CPU进入休眠状态,从而极大减少对电力的消耗。这个状态就是低功耗状态。Linux 内核相关代码:while (1) { while(!need_resched()) { cpuidle_idle_call(); }}...
2021-03-11 18:07:36 778
原创 java 之 导出百万数据到excel
说明首先申明,本人不是标题党。使用如下代码测试100w条数据导出到excel文件,单线程使用17s,多线程使用13s。当然,针对类似方法的使用,有人做过测试,比我的还详细。但是具体到个人,建议你使用的时候还是要自己测试一下。测试链接依赖<!-- 依赖,你也可以使用更高版本,但是使用之前看下版本异同 --><dependency> <groupId>org.apache.poi</groupId> <artifactId>p
2021-03-10 11:23:19 727
原创 DBeaver 一款替代Navicat的数据库可视化工具
首先呢,很多人说安装了Navicat显示版权侵权了,在此申明,要使用正版软件,支持原创,要不然没人写软件了,软件行业怎么发展呢?好了,言归正传,装了Navicat之后显示侵权,说明你装的不对。可以在CSDN搜索 <navicat_premium12pjb_downcc.com.zip>下载,记得下载我的。使用方法:使用以上方法,应该没问题了,要不然我也不会用这么久。。。。公司也没发侵权通知。如果实在没办法,那就使用DBeaver 工具吧。上个链接...
2021-03-05 14:09:46 905
转载 RabbitMQ 经验
一、那么,就先从网络连接开始吧1. 应该长久生存的连接在 RabbitMQ 中,由于需要客户端和服务器端进行握手,所以导致客户端和服务器端的连接如果要成功创建,需要很高的成本。每一个连接的创建至少需要 7 个 TCP 包,这还只是普通连接。如果需要 TLS 的参与,则 TCP 包会更多。而且,RabbitMQ 中主要是以 Channel 方式通信,所以,每次创建完 Connection 网络连接,还得创建 Channel,这又需要 2 个 TCP 包。如果,每次用完,再把连接关闭,首先还要关闭已经创建的
2021-03-03 15:10:42 624 1
原创 TCP 之 抓包分析
首先,要对tcp通信有一定的了解,如何分析包seq,ack等。不会的点这里抓包出现 spurious retransmission指实际上并没有超时,但看起来超时了,导致虚假超时重传的原因有很多种:原因(1)对于部分移动网络,当网络发生切换时会导致网络延时突增(2)当网络的可用带宽突然变小时,网络rtt会出现突增的情况,这会导致虚假超时重传(3)网络丢包(原始和重传的包都有可能丢包)会导致虚假重传超时。tcp虚假重传分析(摘自网络)分析当Client端收到Server的SYN+ACK应
2021-03-02 15:08:27 2464
原创 MySQL 之 批量更新
SQL批量更新的写法一般有三种.在更新数量较少的情况下,前两种性能不相上下。但是在更新字段增加,更新条数较多(500以上),建议使用第三种写法常规写法,拼接多个单条更新语句。#分批逐条更新UPDATE t_back_up set name='holy' WHERE id =1;UPDATE t_back_up set name='shit' WHERE id =2;CASE…WHEN… 写法#CASE WHEN 更新update t_back_upSET name =(C
2021-03-02 10:24:56 1185
AlterID_reamviewer.zip
2020-06-23
mha-0.58.zip
2020-05-20
MailBox.zip
2020-04-24
C++设计模式.zip
2020-04-06
navicat_premium12pjb_downcc.com.zip
2020-04-02
webFlux.zip
2020-03-23
StyleSheet.xsl
2019-08-26
验证ssl的证书(pem格式)
2019-03-09
log4cpp日志记录库(windows版本+源码)
2018-11-15
libqr库的源码及zlib库文件
2018-03-26
libqr 库,二维码生成库
2018-03-26
windows zip压缩类封装
2018-01-30
windows tar打包封装类
2018-01-30
mysql权威指南第三版
2017-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人