- 博客(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
355
原创 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
1034
原创 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
436
原创 java字符串转日期,日期转字符串
一.原字符串20200330090011二.转换日期LocalDateTime ldt =LocalDateTime.parse("20200330090011",DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));三.转换DateDate tranTime = Date.from( ldt.atZone( ZoneId.syste...
2020-04-02 16:47:12
449
原创 解决同一个应用下包循环依赖问题
情景:做项目遇到一个情景,同一个应用中,有A包和B包,本来是A包中方法调用B包的方法,现在要求B包中方法调用A包中方法解决方案:利用ApplicationContextEvent事件监听方:public class AccountChangeEvent extends ApplicationContextEvent { @Getter private final...
2020-03-18 20:41:41
622
原创 zookepper分布式锁
1.数据库性能差2.redis可能出现死锁3.zookeeper功能:zk存储,读取数据;数据节点监听服务,临时节点跟客户端断开数据丢失;持久节点跟客户端断开数据还在两种方式:1.创建临时节点,创建成功获得锁,创建同名则报错,监听lock节点的删除事件,加锁线程执行完业务逻辑解锁删除临时节点,则触发删除事件,则重新去获得锁2.创建临时有序节点,只需要监听一个,所以性...
2020-03-08 12:45:35
233
原创 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
497
原创 简单梳理下eureka注册中心代码
本文优点:按着步骤操作可以串起来注册中心分两部分,eureka-server和eureka-client一.概述:1.eureka-server:主要维护了eureka-client的服务地址信息,用的双层map,然后其实就是提供了对这个map的增删查改接口,如:注册(添加),获取服务(查询),续约(更新过期时间),剔除(删除),同步(初始全量获取,新注册剔除会同步),并加了两级缓存,...
2020-03-01 00:16:49
505
原创 eureka原理
一.eureka注册中心原理1.服务注册:eureka客户端会通过发送rest请求的方式向eureka服务端注册自身元数据:ip地址,端口,运行状况等信息,服务端会把注册信息存储在一个双层map中2.服务续约:eureka客户端每30秒发送一次心跳来续约,告知客户端正常,如果eureka服务端90秒没收到心跳,则将其从注册表删除3.获取注册表信息:客户端通过rest请求从服...
2020-02-08 09:31:44
4206
原创 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
170
原创 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
173
原创 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
702
原创 性能测试
性能测试第一章 性能测试整体认知一.能力要求1.熟悉linux操作系统,熟悉shell脚本2.熟悉jvm调优,tomcat调优等基础策略3.熟悉mysql,熟练掌握js,java,python等至少一门编程 语言4.熟悉常见的压测工具,jmeter,loadrunner5.能对应用进行监控二.性能测试技能树1.开发语言:java,应用广,沟通在一个频道上2....
2019-12-05 22:22:39
565
原创 类加载机制和JVM内存模型
类加载机制和JVM内存模型一.什么是class文件加载到jvm中运行二.过程1.装载:找到在哪里(1)通过类的全限定路径名找到类的二进制流 类装载器:ClassLoader保证类的唯一性,先顶层加载,最后轮到我才加载(2)将字节流所代表的的静态存储结构转化为方法区的运行时数据结构(3)代表当前类的java.lang.Class对象,放到jvm堆2.链接...
2019-12-04 11:53:02
242
原创 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
984
原创 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
204
原创 spring事务的传播机制
注意:仅用于个人理解手记,不具备权威准确性spring事务的传播机制一.场景A类方法调用B类方法有效,同类多个方法调用无效,一般是加载service层的调用者和被调用者方法上二.默认属性@Transactional(propagation=Propagation.REQUIRES, isolation=Isolation.READ_COMMITTED, noRollbackFo...
2019-11-28 12:20:21
341
1
原创 mysql事务基本要素和隔离级别
注意:只是个人理解的手记,不具备权威准确性mysql事务基本要素和隔离级别一.事务的四个基本要素1.原子性:事务中的操作要么都执行,要么都回滚2.一致性:A和B存款各位500,相互转账总额保持1000不变,对开发者有要求,不能写出错误逻辑3.隔离性:多事务并发时,保证各事务处理互不干扰,有四个隔离级别,在并发和干扰之间权衡(需要深入学习锁知识)4.持久性:事务一旦提交,数据...
2019-11-27 23:21:37
383
原创 分布式CAP原则和BASE理论
CAP原则:在满足分区容错的情况下,要么一致不可写,要么可写不一致BASE理论:在满足分区容错的情况下,基本可用,最终一致,是对CAP原则的延伸
2019-11-17 21:44:51
139
原创 微服务下的最终一致性解决方案
场景:A服务插入一条记录成功后,调用B服务也插入一条记录,两个操作要同时成功或失败,保持AB服务的事务性一.设计:1.增加调用消息服务C,这个服务记录A服务调用B服务的消息,用于存储准执行消息,字段如下:id:消息id,param:调用B服务接口的参数targetUrl:B服务接口地址uuid:标示这次请求的唯一id,用于判断是否成功执行和幂等,保存在本地执行记录表ch...
2019-07-05 16:57:04
1537
原创 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
1940
原创 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
209
原创 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
120
原创 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
240
原创 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
632
原创 vue项目api接口组织方式
一般后端接口是,一个业务的方法,用一个controller,所以前端这边,一个业务的接口放到一个js文件里shiroApi提供认证相关接口,如下图adminApi提供组织,用户,角色管理等相关接口,如下图将shiroApi和adminApi等等api做个汇总,到apis.js中,如下图登陆接口调用例子,引入apis.js即可(当然也可以引入具体shiroApi.js,看...
2018-10-23 18:11:52
4707
原创 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
163
原创 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
57510
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
16486
1
原创 从段落中查找与目标关键词最相似的关键词,并返回匹配到的关键词信息
代码如下/** * 从段落中查找与目标关键词最相似的关键词,并返回匹配到的关键词信息,可设置level * @param strSource 原字符串 * @param strCompared 比较字符串(标准字符串,被除数) * @param level 评分阀值 * @param matchRangeIndex 比较字符串比原字符串字符位置多多少个限制...
2018-04-09 15:51:34
1457
1
原创 java字符串相似度算法
按顺序匹配的,代码如下:/** * 判断两个字符串相似度,可设置level * @param strSource 原字符串 * @param strCompared 比较字符串 * @param level 评分阀值 * @param moreCount 比较字符串比原字符串多多少个限制 * @return */public static Boolean isSimilar(Str...
2018-03-30 15:06:04
3571
原创 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
438
原创 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
392
原创 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
749
原创 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
4022
3
原创 我总结的吊炸天的js写法风格
优点有两处,一个是区分了共有方法和私有方法,再一个是页面上事件的this可以传递到类中与类的this区分开来.注:此风格针对传统jquery写法设计的,不适用于mvvm框架,如ng,vue,avalon等代码如下: (function ($,window) { /** *Page
2016-12-18 01:55:15
745
原创 我对MVVM的理解
什么是MVVM呢?答:M:后端实体,V:前端HTML,VM:前端实体。后端M用来从数据库装载数据给前端VM,前端VM用来替换V中插值表达式来填充数据,同时V的变化可以动态更新到VM,V再加上指令,就可以基本不用操作DOM,靠前端MVVM框架通过指令去渲染页面了。看懂了木有
2016-09-11 14:57:49
481
bootstrap-treeview-demo增删改无刷新
2017-05-05
elk部署问题,怎么分配服务器,已经内存和磁盘占用
2017-11-12
java 里的可执行jar可以被引用吗?
2017-10-19
spring boot的module打包成可执行jar不可以被依赖?
2017-09-24
spring boot中@autowired不起作用问题
2017-09-20
sqlserver表改名失败错误
2017-04-11
ajax调用webapi安全问题
2016-09-08
window上安装redis服务失败
2016-06-26
winform子窗体中的多线程怎么完全释放
2016-03-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人