- 博客(167)
- 资源 (6)
- 问答 (3)
- 收藏
- 关注
转载 Java中对象都是分配在堆上吗?你错了!
我们在学习使用Java的过程中,一般认为new出来的对象都是被分配在堆上,但是这个结论不是那么的绝对,通过对Java对象分配的过程分析,可以知道有两个地方会导致Java中new出来的对象并不一定分别在所认为的堆上。这两个点分别是Java中的逃逸分析和TLAB(Thread Local Allocation Buffer)。本文首先对这两者进行介绍,而后对Java对象分配过程进行介绍。1. 逃逸分析1
2017-08-07 09:14:19 17718 6
原创 Element UI 自定义正则表达式验证
//指定数据中心的验证表单ruleForm,验证规则rules<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <el-form-item label="名称:" :label-width="formLabelWidth" prop='
2017-08-06 11:37:24 15275 1
原创 解决Spring Cloud第一次调用失败
在Spring Cloud中,即使项目没有整合Hystrix后,也可能会出现首次调用失败的问题,要如何解决该问题呢? Hystrix默认的超时时间是1秒,如果超过这个时间尚未响应,将会进入fallback代码。而首次请求往往会比较慢(因为Spring的懒加载机制,要实例化一些类),这个响应时间可能就大于1秒了。解决方法:在项目的配置文件里面添加:hystrix: command: de
2017-08-06 11:24:14 9176
原创 JVM垃圾回收算法与参数配置
★引用计数法 这是个古老而经典的垃圾收集算法,其核心就是在对象被其他所引用时计数器+1,而当引用失效时-1,但是这种方式有非常严重的问题:无法处理循环引用的情况,还有就是每次进行加减操作比较浪费系统性能。★标记清除法 分为标记和清除两个阶段进行处理内存中的对象,当然这种方式也有非常大的弊端,就是空间碎片问题,垃圾回收后的空间不连续,不连续的内存空间工作效率低于连续的内存空间。★复制算法(java
2017-08-05 17:07:30 8545
原创 JVM参数初探
//———————堆参数———————-// (一)、 -XX:+PrintGC 使用这个参数,虚拟机启动后,只要遇到GC就会打印日志 -XX:+UseSerialGC 配置串行回收器 -XX:+PrintGCDetails 可以查看详细信息,包括各个区的情况 -Xms 设置最小堆 -Xmx 设置最大堆 -Xmx20m -Xms5m -XX:+PrintCommandLineFlags
2017-08-03 00:58:17 4177 1
原创 element ui 对话框el-dialog关闭事件
通常会有需求,在关闭弹框后需要清空填写的数据,这时候就需要关闭事件了<el-dialog title="标题" :visible.sync="bind" size="small" @close='closeDialog'></el-dialog>在标签中加入@close='closeDialog' mothods中加入 //关闭弹框的事件 closeDialog(){ t
2017-08-02 19:18:02 149796 13
原创 element ui 表格设置单选按钮
第一列添加: <el-table-column label="" width="50"> <template scope="scope"> <el-radio :label="scope.$index" v-model="radio" @change.native="getCurrentRow(
2017-08-02 19:12:36 31811 17
原创 element ui 表格提交时获取所有选中的checkbox的数据
<el-table ref="multipleTable" :data="appList" border tooltip-effect="dark" style="width: 100%;height: 380px;overflow:auto" @selection-change="handleSelectionChange"> <el-table-column ty
2017-08-02 19:09:05 75900 13
原创 element ui 表格的checkbox初始化不可勾选
<el-table ref="multipleTable" :data="appList" border tooltip-effect="dark" style="width: 100%;height: 380px;overflow:auto" @selection-change="handleSelectionChange"> <el-table-column ty
2017-08-02 19:04:43 26139
转载 Spring Boot 配置大全
mvc spring.mvc.async.request-timeout设定async请求的超时时间,以毫秒为单位,如果没有设置的话,以具体实现的超时时间为准,比如tomcat的servlet3的话是10秒. spring.mvc.date-format设定日期的格式,比如dd/MM/yyyy. spring.mvc.favicon.enabled是否支持favicon.ico,默认为
2017-07-28 00:36:00 7692 1
原创 手动安装maven包
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.29</version> </dependency>mvn install:install-file -Dfile=C:\Users\Administrator\Desk
2017-07-27 09:52:01 3152
原创 MongoDB整合Spring Boot 的logback
1、pom.xml <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.4.2</version> </dependency> <depende
2017-07-27 09:13:18 8428
原创 SpringMVC GET/POST请求兼容
有个需求:对同一个接口,我们可以用GET与POST两种方式来请求,这时候就要做兼容了,本例POST使用传json方式,json包用的阿里的fastjson。@GetMapping("/**") public void list(HttpServletRequest request) { System.out.println("GET"); Enumeratio
2017-07-10 12:54:19 5130
原创 v-for 指令
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge">
2017-07-09 11:28:00 3214
原创 v-if v-else v-show 指令
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge">
2017-07-09 11:26:24 3554
原创 v-text & v-html 指令
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <script type="text/javascript" src="../assets/js/vue.js"></script> <title>v-text & v-html 案例</title></head><body> <h1>v-
2017-07-09 11:22:46 3512
原创 我的第一个Vue程序
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge">
2017-07-09 11:17:10 3251
转载 走进Vue.js
原文链接:http://www.jianshu.com/p/78c9e5342990 Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式。本文旨在帮助大家认识Vue.js,了解Vue.js的开发流程,并进一步理解如何通过Vue.js来构建一个中大型的前端项目,同时做好相应的部署与优化工作。文章将以PPT图
2017-07-09 11:04:35 4852 2
原创 Eureka的限流算法类RateLimiter源码解读
Eureka的限流算法类RateLimiter是基于令牌桶算法来实现的,下面看一看令牌桶算法的原理:对于很多应用场景来说,除了要求能够限制数据的平均传输速率外,还要求允许某种程度的突发传输。这时候漏桶算法可能就不合适了,令牌桶算法更为适合。如图所示,令牌桶算法的原理是系统会以一个恒定的速度往桶里放入令牌,而如果请求需要被处理,则需要先从桶里获取一个令牌,当桶里没有令牌可取时,则拒绝服务。源码解读:p
2017-07-06 11:36:04 6352
原创 Repository和Registry区别
Repository:本身是一个仓库,这个仓库里面可以放具体的镜像,是指具体的某个镜像的仓库,比如Tomcat下面有很多个版本的镜像,它们共同组成了Tomcat的Repository。Registry:镜像的仓库,比如Docker Hub,Registry上有很多的Repository,Redis、Tomcat、MySQL等等Repository组成了Registry。按照Docker的logo来看
2017-07-05 23:46:56 9643 2
原创 如何对List分段操作
问题:假设A系统查询出来一个很大很大的List,现在B系统想要得到这个List来导出报表,但是B系统部署环境条件有限,内存容不下这么大一个List,这时候我们就需要把List切分,然后再一个一个导出了。如果按照传统方式,可能会比较繁琐,我们可以运用List里面的subList方法来实现,代码如下:import java.util.ArrayList;import java.util.List;pu
2017-06-19 18:14:07 8029
原创 为你的spring cloud微服务添加宕机邮件通知
在恶劣线上环境中,我们最担心的是服务挂掉,每当这个时候,运维就想吃柠檬(CNM)了,一些运维工具也可以实现这个功能,但是,既然用了spring cloud,就可以享受它带来的福利吧。 此功能基于spring boot admin这个监控工具,了解轻戳:http://blog.csdn.net/rickiyeat/article/details/73109328来看看它的guide referenc
2017-06-14 14:48:55 13533 5
原创 The current branch is not configured for pull No value for key branch.master.merge found in config
1、打开文件:2、修改内容[core] repositoryformatversion = 0 filemode = false logallrefupdates = true [branch "master"] remote = origin merge = refs/heads/master [remote "orig
2017-06-14 10:39:00 3560
原创 使用spring boot admin监控spring cloud应用程序
最近在找一个spring cloud的监控组件,要求粒度要到每一个接口的,hystrix dashboard显然不适合,也不是这个应用场景。后来发现了spring boot admin这个神器,可以注册到Eureka和spring cloud无缝整合,页面AngularJS写的还算凑合,里面包含有许多功能:显示 name/id 和版本号显示在线状态Logging日志级别管理JMX beans管理Th
2017-06-12 15:21:29 28175 2
转载 Spring Boot四大神器之Actuator
序 Spring Boot有四大神器,分别是auto-configuration、starters、cli、actuator,本文主要讲actuator。actuator是spring boot提供的对应用系统的自省和监控的集成功能,可以对应用系统进行配置查看、相关功能统计等。使用actuator添加依赖 <dependency> <groupId>org.s
2017-06-12 14:36:17 7865
原创 一种接口限速方案
如果一个接口的频繁调用会严重影响到系统稳定性的话,那就要考虑限速了。谷歌有个现有的开源实现:Guava的RateLimiter类,RateLimiter使用的是一种叫令牌桶的流控算法,RateLimiter会按照一定的频率往桶里扔令牌,线程拿到令牌才能执行,比如你希望自己的应用程序QPS不要超过1000,那么RateLimiter设置1000的速率后,就会每秒往桶里扔1000个令牌。 详情请戳:G
2017-06-07 14:56:01 10623
原创 Docker在Linux系统的安装
默认docker只有在centos6.5以上机器才能使用yum直接安装,如果其他版本需要安装centos扩展源epelsed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config wget http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
2017-05-24 17:06:05 859
原创 Swagger-UI与Spring Cloud整合与安全设置
swagger ui是一个API在线文档生成和测试的利器,在某种程度上可以媲美常用的postman,网上有很多它的整合教程,但是没有考虑到安全问题,下面是它的整合流程。1、maven依赖: <!-- Swagger --> <dependency> <groupId>io.springfox</groupId> <artifact
2017-05-23 14:38:35 19246 8
原创 在Eclipse中运行Kotlin的Hello World
背景:2017-5-18 Google I/O 大会宣布Kotlin成为Android第一开发语言,其有望成为Android界的”Swift”。其运行于JVM,与Java可以完全共生兼容,某种程度上是Java的语法糖,其优点完全针对Java的痛点,比如空值检查。好奇归好奇,心动不如行动,来在Eclipse上走一波~1、安装插件:一路next,安装好之后重启Eclipse2、重启之后创建Kotlin工
2017-05-18 23:07:49 9062 7
原创 SQL判断两个时间段是否有交集
题目:给定时间区间(begin,end),数据库字段startTime与endTime,现在要判断它们之间是否有交集。SELECT * FROM xxxWHERE NOT ((endTime < begin) OR (startTime > end))
2017-05-16 14:35:45 16360 2
原创 MySQL时间戳group by操作
背景:有一种情况,时间字段是存的时间戳,但是我们需要根据日期来进行group by操作,请看如下示例,时间戳单位为ms:SELECT SUM(xxx) xxx, DATE_FORMAT(FROM_UNIXTIME(createTime/1000),'%Y-%m-%d') createTimeFROM my_tableGROUP BY DATE_FORMAT(FROM_UNIXT
2017-05-16 14:26:01 10922
转载 Linux下如何不停止服务,清空nohup.out文件
tips:最近发现有不少人在百度这个问题,当初如易我也是初学者,随便从网上搜了一下,就转过来了,不过为了避免搜索结果同质化,为大家提供更翔实的参考,我将nohup.out相关知识整理汇总如下:1.nohup.out的由来及作用用途:LINUX命令用法,不挂断地运行命令。 语法:nohup Command [ Arg … ] [ & ] 描述:nohup 命令运行由 Command 参数和任何相关的
2017-05-04 10:41:35 15032
转载 分布式系统的接口幂等性设计
概念幂等性, Idempotence, 这个词来源自数学领域, 百科 上一元运算的幂等性解释如下: > 设 f 为一由 {x} 映射至 {x} 的一元运算, 则 f 为幂等的, 当对于所有在 {x} 内的 x: > f(f(x)) = f(x) > 特别的是,恒等函数一定是幂等的,且任一常数函数也都是幂等的。幂等性衍生到软件工程中, 它的语义是指: 函数/接口可以使用相同的参数重复执行, 不应该影响
2017-05-02 18:00:22 16918 5
转载 什么是分布式系统中的幂等性
现如今我们的系统大多拆分为分布式SOA,或者微服务,一套系统中包含了多个子系统服务,而一个子系统服务往往会去调用另一个服务,而服务调用服务无非就是使用RPC通信或者restful,既然是通信,那么就有可能再服务器处理完毕后返回结果的时候挂掉,这个时候用户端发现很久没有反应,那么就会多次点击按钮,这样请求有多次,那么处理数据的结果是否要统一呢?那是肯定的!尤其再支付场景。幂等性:就是用户对于同一操作发
2017-05-02 15:36:38 20761 2
原创 Eureka注册服务列表显示ip+端口
Eureka服务注册列表默认是显示主机名+端口,要想更方便地知道是哪台主机就需要查看ip+端口。client端配置:eureka: instance: preferIpAddress: true instance-id: ${spring.cloud.client.ipAddress}:${server.port}效果:
2017-05-01 10:10:01 25123 6
原创 如何解决Eureka Server不剔除已关停的节点的问题?
背景:由于Eureka拥有自我保护机制,当其注册表里服务因为网络或其他原因出现故障而关停时,Eureka不会剔除服务注册,而是等待其修复。这是AP的一种实现。 为了让其有精准的 CP健康检查,可以采取让其剔除不健康节点。server端:eureka.server.enable-self-preservation//(设为false,关闭自我保护主要)eureka.server.evict
2017-05-01 09:52:30 27758 6
原创 RabbitMQ的几种工作模式
maven: <dependencies> <!-- RabbitMQ的客户端 --> <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>3.4.1</vers
2017-04-29 22:12:23 38748 5
原创 Linux上RabbitMQ安装
RabbitMQ是用Erlang写的,所以在安装之前需要安装Erlang的环境。1、安装Erlang环境(Linux能连上外网)cd /usr/local/src/mkdir rabbitmqcd rabbitmqwget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpmrpm -Uvh erlang-
2017-04-29 17:00:22 654
原创 重写ajax实现session超时跳转到登陆页面
问题:使用window.location.href来跳转页面的时候,后端只需实现一个过滤器就可以在session超时的情况下重定向到登陆页面。但是使用ajax呢?使用ajax来执行会发生302错误,并且页面不可能跳转。下面就针对这个问题来贴上我的前后端代码。1、session过滤器import java.io.IOException;import javax.servlet.Filter;impo
2017-04-28 10:00:32 4314
原创 NUMBEROF_RETRIES_NEXTSERVER_EXCEEDED、NUMBEROF_RETRIES_EXCEEDED
先说一下场景:请求一个url,第一次会出现这个错误,后面的请求就不会。原因:是ribbon的MaxAutoRetriesNextServer数量超过了我们总的服务器-1,这个东西比较玄乎,叫做“区域感知负载均衡”。我的配置信息:# 在同一个服务器上的最大重试数 (不包括第一次重试) ribbon.MaxAutoRetries=1 # 最大重试服务器数量(不包括第一台服务器) ribbon.M
2017-04-21 13:45:11 6625 3
CNCF云原生人工智能白皮书(中文翻译版)
2024-03-21
Spring Boot + Allatori 代码混淆demo
2018-02-27
基于Spring Boot、Mybatis、Redis的SSO单点登录系统demo
2017-05-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人