自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ycy白米饭的博客

个人技术理解手记,不具备权威准确性

  • 博客(47)
  • 资源 (10)
  • 问答 (8)
  • 收藏
  • 关注

原创 nrm和nvm使用

一.nrm说明:npm的镜像源管理工具1.安装npm install -g nrm2.查看nrm ls3.报错处理点开报错信息中的cls.js文件将如下注释部分改成下边// const NRMRC = path.join(process.env.HOME, '.nrmrc');const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.nrmrc');4.切

2021-05-26 12:55:55 294

原创 java拦截请求参数

1.日志注解类import org.springframework.core.annotation.AliasFor;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * 日志注解类 * @author zuozew

2020-07-11 22:35:04 972

原创 redis分布式锁

/** * 基于redis分布式锁 */@Slf4jpublic class RedisLockUtils { /** * 默认轮休获取锁间隔时间, 单位:毫秒 */ private static final int DEFAULT_ACQUIRE_RESOLUTION_MILLIS = 100; private static final String UNLOCK_LUA; static { StringBuilder...

2020-06-24 15:04:02 349

原创 java字符串转日期,日期转字符串

一.原字符串20200330090011二.转换日期LocalDateTime ldt =LocalDateTime.parse("20200330090011",DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));三.转换DateDate tranTime = Date.from( ldt.atZone( ZoneId.syste...

2020-04-02 16:47:12 333

原创 解决同一个应用下包循环依赖问题

情景:做项目遇到一个情景,同一个应用中,有A包和B包,本来是A包中方法调用B包的方法,现在要求B包中方法调用A包中方法解决方案:利用ApplicationContextEvent事件监听方:public class AccountChangeEvent extends ApplicationContextEvent { @Getter private final...

2020-03-18 20:41:41 568

原创 zookepper分布式锁

1.数据库性能差2.redis可能出现死锁3.zookeeper功能:zk存储,读取数据;数据节点监听服务,临时节点跟客户端断开数据丢失;持久节点跟客户端断开数据还在两种方式:1.创建临时节点,创建成功获得锁,创建同名则报错,监听lock节点的删除事件,加锁线程执行完业务逻辑解锁删除临时节点,则触发删除事件,则重新去获得锁2.创建临时有序节点,只需要监听一个,所以性...

2020-03-08 12:45:35 191

原创 mysql大分页查询

一.180万数据,做limit 100万,10的分页查询,用索引覆盖先查id,在>=id做分页查询,如下效果:二.说明1.表名logs12.数据总量1828795(180万行记录)3.表字段4.索引5.分页范围 limit 100万,10(1)默认sql优化器选择的logurl的索引,查询效率低(2)强制索引(手动选择索引),走的索引覆盖(us...

2020-03-04 15:50:29 442

原创 简单梳理下eureka注册中心代码

本文优点:按着步骤操作可以串起来注册中心分两部分,eureka-server和eureka-client一.概述:1.eureka-server:主要维护了eureka-client的服务地址信息,用的双层map,然后其实就是提供了对这个map的增删查改接口,如:注册(添加),获取服务(查询),续约(更新过期时间),剔除(删除),同步(初始全量获取,新注册剔除会同步),并加了两级缓存,...

2020-03-01 00:16:49 450

原创 eureka原理

一.eureka注册中心原理1.服务注册:eureka客户端会通过发送rest请求的方式向eureka服务端注册自身元数据:ip地址,端口,运行状况等信息,服务端会把注册信息存储在一个双层map中2.服务续约:eureka客户端每30秒发送一次心跳来续约,告知客户端正常,如果eureka服务端90秒没收到心跳,则将其从注册表删除3.获取注册表信息:客户端通过rest请求从服...

2020-02-08 09:31:44 4047

原创 redis使用场景

主要:缓存热点数据,分布式锁,分布式id,排行,计数,最近记录redis使用场景string类型(1)普通的key,value1.共享session信息2.缓存配置项3.缓存角色和权限4.分布式锁 set key value 过期时间 nx|xx (nx:仅key不存在时设置,xx:仅key存在时设置)(2)incr 对整数进行自增操作5.文章访问量统计,inc...

2019-12-22 11:50:55 136

原创 java多线程实现方式

一.继承Thread类重写run方法public class MultiThread extends Thread{ @Override public void run() { System.out.println("继承thread"); } public static void main(String[] args) { ...

2019-12-15 21:52:23 141

原创 hashmap如何选下标

源代码://计算32位hash值static final int hash(Object key) {int h;return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);}解释:key.hashCode()得到32位hash整形值h>>>16表示逻辑右移16位,左...

2019-12-13 14:48:27 645

原创 性能测试

性能测试第一章 性能测试整体认知一.能力要求1.熟悉linux操作系统,熟悉shell脚本2.熟悉jvm调优,tomcat调优等基础策略3.熟悉mysql,熟练掌握js,java,python等至少一门编程 语言4.熟悉常见的压测工具,jmeter,loadrunner5.能对应用进行监控二.性能测试技能树1.开发语言:java,应用广,沟通在一个频道上2....

2019-12-05 22:22:39 491

原创 类加载机制和JVM内存模型

类加载机制和JVM内存模型一.什么是class文件加载到jvm中运行二.过程1.装载:找到在哪里(1)通过类的全限定路径名找到类的二进制流 类装载器:ClassLoader保证类的唯一性,先顶层加载,最后轮到我才加载(2)将字节流所代表的的静态存储结构转化为方法区的运行时数据结构(3)代表当前类的java.lang.Class对象,放到jvm堆2.链接...

2019-12-04 11:53:02 207

原创 JAVA应用性能监控与调优

性能监控与调优第一章 基于JDK命令行工具的监控一.JVM的参数类型1.标准参数-help-serve-client-version2.X参数非标准参数3.XX参数非标准化参数相对不稳定主要用于JVM调优和Debugbool类型,+-号kv类型-Xmx最大内存-Xms最小内存二.运行时JVM参数查看1.jvm性能调优工具j...

2019-12-01 21:44:45 872

原创 Rabbitmq的使用和可靠消息

一.rabbitmq安装说明:erlang和rabbitmq版本需要匹配,可官网查看匹配关系1.安装erlang环境yum install erlangerlang -version查看是否安装成功2.安装rabbitmqyum install rabbitmq-server4.设置开机自启动chkconfig rabbitmq-server on5.设置配置文...

2019-11-29 23:58:26 158

原创 spring事务的传播机制

注意:仅用于个人理解手记,不具备权威准确性spring事务的传播机制一.场景A类方法调用B类方法有效,同类多个方法调用无效,一般是加载service层的调用者和被调用者方法上二.默认属性@Transactional(propagation=Propagation.REQUIRES, isolation=Isolation.READ_COMMITTED, noRollbackFo...

2019-11-28 12:20:21 255 1

原创 mysql事务基本要素和隔离级别

注意:只是个人理解的手记,不具备权威准确性mysql事务基本要素和隔离级别一.事务的四个基本要素1.原子性:事务中的操作要么都执行,要么都回滚2.一致性:A和B存款各位500,相互转账总额保持1000不变,对开发者有要求,不能写出错误逻辑3.隔离性:多事务并发时,保证各事务处理互不干扰,有四个隔离级别,在并发和干扰之间权衡(需要深入学习锁知识)4.持久性:事务一旦提交,数据...

2019-11-27 23:21:37 350

原创 分布式CAP原则和BASE理论

CAP原则:在满足分区容错的情况下,要么一致不可写,要么可写不一致BASE理论:在满足分区容错的情况下,基本可用,最终一致,是对CAP原则的延伸

2019-11-17 21:44:51 120

原创 微服务下的最终一致性解决方案

场景:A服务插入一条记录成功后,调用B服务也插入一条记录,两个操作要同时成功或失败,保持AB服务的事务性一.设计:1.增加调用消息服务C,这个服务记录A服务调用B服务的消息,用于存储准执行消息,字段如下:id:消息id,param:调用B服务接口的参数targetUrl:B服务接口地址uuid:标示这次请求的唯一id,用于判断是否成功执行和幂等,保存在本地执行记录表ch...

2019-07-05 16:57:04 1383

原创 vue-cli常用包引入方法

此文介绍了vue-cli中常用包的引入方法如下包:1.引入vue(默认有,不需要手动引入)import Vue from 'vue'说明:前端js框架2.引入ElementUInpm i element-ui -Simport ElementUI from 'element-ui'import 'element-ui/lib/theme-chalk/index.css'V...

2019-05-10 16:21:34 1854

原创 centos7安装docker和简单使用

1.查看系统版本,要求高于3.10uname -r2.升级所有包,改变软件设置和系统设置,系统版本内核都升级yum update -y3.安装dockeryum install -y docker4.查看是否安装成功yum list installed | grep docker5.启动dockersystemctl start docker6.查...

2019-01-18 16:30:13 176

原创 centos7安装Jdk1.8

yum install java-1.8.0-openjdk* -y java -version 

2018-12-26 09:48:03 102

原创 centos7安装nginx

1.添加nginx的源rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm2.执行安装命令yum install -y nginx3.配置路径/etc/nginx/4.配置验证nginx -t5.启动servi...

2018-12-26 09:17:12 95

原创 nginx反向代理+负载均衡配置

1.反向代理+负载均衡upstream  www.101ycy.com  {    server   localhost:8088;    server   localhost:8087;} server{    listen  8089;    server_name  www.101ycy.com;     location / {        proxy_pa...

2018-12-04 10:13:51 162

原创 spring boot跨域设置

package com.yingu.project.rest.config;import com.yingu.project.util.config.SysConfig;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Be...

2018-11-22 10:31:15 582

原创 vue项目api接口组织方式

一般后端接口是,一个业务的方法,用一个controller,所以前端这边,一个业务的接口放到一个js文件里shiroApi提供认证相关接口,如下图adminApi提供组织,用户,角色管理等相关接口,如下图将shiroApi和adminApi等等api做个汇总,到apis.js中,如下图登陆接口调用例子,引入apis.js即可(当然也可以引入具体shiroApi.js,看...

2018-10-23 18:11:52 4620

原创 centos7安装mysql

1.wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm2.rpm -ivh mysql-community-release-el7-5.noarch.rpm3.yum install mysql-community-server4.提示Is this ok [y/d/N]:就...

2018-09-06 11:44:14 138

原创 npm淘宝镜像和查看镜像设置

1.通过cnpm使用淘宝镜像:npm install -g cnpm --registry=https://registry.npm.taobao.org2.将npm设置为淘宝镜像:npm config set registry https://registry.npm.taobao.org3. 查看cnpm镜像设置:npm config get registry...

2018-08-17 13:09:20 56440 7

原创 前后端分离调用api接口加密方式

参考各方资料结合自己的理解写的此文,可实现接口调用防抓包,防篡改,防重发攻击,1.服务端配置一对RSA密钥对,公钥pubkey_server,私钥prikey_server,并将pubkey_server写到web端js中2.web端打开登录页,生成一对RSA密钥对,公钥pubkey_client,私钥prikey_client3.登陆操作:  a.web端用pubkey_server加密如下信息...

2018-07-13 18:08:28 16361 2

原创 从段落中查找与目标关键词最相似的关键词,并返回匹配到的关键词信息

代码如下/** * 从段落中查找与目标关键词最相似的关键词,并返回匹配到的关键词信息,可设置level * @param strSource 原字符串 * @param strCompared 比较字符串(标准字符串,被除数) * @param level 评分阀值 * @param matchRangeIndex 比较字符串比原字符串字符位置多多少个限制...

2018-04-09 15:51:34 1363 1

原创 java字符串相似度算法

按顺序匹配的,代码如下:/** * 判断两个字符串相似度,可设置level * @param strSource 原字符串 * @param strCompared 比较字符串 * @param level 评分阀值 * @param moreCount 比较字符串比原字符串多多少个限制 * @return */public static Boolean isSimilar(Str...

2018-03-30 15:06:04 3501

原创 window下Mongo分片部署安装

mongo下载地址:https://www.mongodb.org/dl/win32/x86_64-2008plus-ssl我用的windows下版本:win32/mongodb-win32-x86_64-2008plus-ssl-3.4.14.zip一.配置详情分片1,port:1000;复制集,port 1001分片2,port:2000;复制集,port 2001配置服务,port:3000...

2018-03-20 15:23:54 387

原创 elk安装教程2017

过程就是:logstash agent采集文件到redis队列,logstash index从redis队列将数据传输到elasticsearch全文搜索引擎,kibana通过浏览器显示数据本文安装工具如下:logstash-5.6.3,elasticsearch-5.6.3,kibana-5.6.3,redis-3.2.1,均是写本文时最新版本。linux下安装教程如下:一.安装

2017-10-18 22:50:55 364

原创 vue-cli脚手架安装教程2017

1.首先下载node.js,下载地址:http://nodejs.cn/download/2.安装node.js,跟安装普通软件一样3.打开命令行,输入node -v,显示版本号表名安装成功,如下图:4.全局安装vue,输入:npm install -g vue,如下图:5.全局安装webpack,输入:npm install -g webpack,如下图:

2017-07-23 11:33:01 725 1

原创 高并发抢单解决方案2017

前段时间重构一个抢单的功能,于是画了一个流程图,分享出来.场景:多台服务器,多人同时抢单.解决方案流程图如下:

2017-05-24 17:13:06 7149

原创 bootstrap-tree增删改(修复更新BUG)

点击此处下载:下载bootstrap-treeview1.增加 var parentNode = $('#left-tree').treeview('getSelected');var node = {                 id: data.Data,                 text: treeObj.Name           };$('#le

2017-04-01 15:41:37 3962 8

原创 我总结的吊炸天的js写法风格

优点有两处,一个是区分了共有方法和私有方法,再一个是页面上事件的this可以传递到类中与类的this区分开来.注:此风格针对传统jquery写法设计的,不适用于mvvm框架,如ng,vue,avalon等代码如下: (function ($,window) { /** *Page

2016-12-18 01:55:15 714

原创 我对MVVM的理解

什么是MVVM呢?答:M:后端实体,V:前端HTML,VM:前端实体。后端M用来从数据库装载数据给前端VM,前端VM用来替换V中插值表达式来填充数据,同时V的变化可以动态更新到VM,V再加上指令,就可以基本不用操作DOM,靠前端MVVM框架通过指令去渲染页面了。看懂了木有

2016-09-11 14:57:49 430

原创 第一次尝试着搭架构

做开发刚好三年啦,自己试着搭建一个最最简单的架构

2016-09-07 08:23:15 442

springboot-transaction事务

springboot中事务的使用demo,用jpa链接的Mysql数据库.

2018-01-25

spring-boot aop

源代码是spring-boot添加aop切面功能的demo,简单易懂.

2018-01-23

spring boot集成quartz定时器

spring boot集成quartz定时器,job支持spring的依赖注入

2018-01-23

C#最短路径2017

以前写的有BUG,此版本改正了BUG,以前版本的请不要下载了,现在资源分不能为0了啊

2017-12-26

SSM框架源码[2017]下载

SSM框架源码[2017]

2017-06-23

bootstrap-treeview-demo增删改无刷新

bootstrap-treeview的增删改无刷新的完整demo,github地址:https://github.com/merciqiao/bootstrap-treeview-demo/

2017-05-05

双11电子书_不一样的技术创新_完整原版2017PDF

阿里双十一技术揭秘,双11电子书_不一样的技术创新_完整版PDF,版权归阿里

2017-01-19

windows安装rabbitmq服务教程

傻瓜式windows安装rabbitmq服务教程

2016-06-24

C#最短路径算法源码

C#最短路径算法源码

2016-06-19

C#最短路径源码和demo

C#最短路径算法源码

2016-06-19

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

TA关注的人

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