自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 Grafana内置参数,以及查询Prometheus参数

Grafana内置参数$__dashboard当前dashboard的名称$__from $__to时间范围的毫秒值可自定义格式,比如:{$__from: date :YYYY-MM-DD HH:mm:ss} {$__from: date :seconds}$__interval查询的时间间隔,包含单位,比如:30s,2m$__interval_ms查询的时间间隔,毫秒值$__range查询的时间区间大小,包含单位,比如:2d$__range_s $__range_ms查询的时间区

2020-09-14 17:02:00 10368 1

原创 Prometheus的step、increase解释

文章目录PrometheusStepIncrease()Rate()PrometheusStepPrometheus的查询参数中会有step这个参数,主要含义是间隔多长时间查询一个点。Prometheus中有两种查询:instant vector selector和range vector selector:instant vector selector, 直接查询metric的值,没有聚合函数这个时候如果step比metric的采集频率大,那么势必会出现少查询到数据的问题。range ve

2020-09-10 16:31:25 2768

原创 升级JDK8的坑----base64

概述Base64是一种字符串编码格式,采用了A-Z,a-z,0-9,“+”和“/”这64个字符来编码原始字符(还有垫字符“=”)。一个字符本身是一个字节,也就是8位,而base64编码后的一个字符只能表示6位的信息。也就是原始字符串中的3字节的信息编码会变成4字节的信息。Base64的主要作用是满足MIME的传输需求。 在Java8中Base64编码已经成为Java类库的标准,且内置了Bas...

2018-07-09 21:55:55 19152 10

原创 Kibana4动态指定index pattern

先说一下业务场景:本人当前做的这个项目会收集公司所有应用的日志,日志存储在ES中,只保留N天,不同应用的日志会存储在不同的index中并且index按天拆分。提供了界面让应用的开发人员查看自己应用的日志,后续还会有新的应用加入。想要做到什么样呢? 管理界面上嵌入kibana的页面,选择不同应用,查看不同应用的日志,但是kibana的查询参数不会出现类似于appName:xxx这样的字段,也就是说不

2016-12-07 10:33:30 10090

原创 SpringBoot集成Swagger

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。这里介绍一下spring boot和swagger基本的集成:

2016-05-06 16:54:03 7564

原创 Spring Boot入门(连接MySQL, Redis 输出JSP)

本文主要介绍一下如何搭建一个基本的Spring-Boot项目,Spring-Boot也是Spring众多项目中的一个,主要用于快速的搭建项目。通常构建一个java web的maven项目,需要引入不少jar包,写不少xml配置(如果用注解就当我没说),有了Spring-Boot这些繁琐的事情可以简化很多,构建项目的效率可以大大提升,另外它内置web容器,你可以不要tomcat就运行一个web项目。

2016-04-14 17:54:11 4621

转载 Spring使用Ehcache

之前对于Ehcache的了解仅限于它可以作为Hibernate的二级缓存,偶然间程序中用到了它来做简单的缓存,发现还挺好的,比如用来缓存一下系统配置什么的,或者一些小的项目,犯不着用redis之类的,可以考虑一下用这个玩意儿。转载来一篇文章,介绍如何跟Spring整合的

2016-02-01 14:47:44 711

原创 一些shell代码片段

日期时间,数字,文件,部署脚本

2016-01-04 15:16:33 443

原创 面试代码

一,两个线程交替打印public class TwoThreadPrint { public static class Printer {

2015-11-05 23:58:25 400

原创 通过 final 关键字来实现 双重检查(DCL) 时,为什么 局部变量 是必须的?

在 双重检查锁定(DCL)的wiki 中,对于 DCL提供了一种通过 final 关键字来实现的方式,源码如下

2015-11-04 09:25:10 928

原创 吐槽一下最近遇到的一些交流上面的事情

吐槽一下最近遇到的一些交流上面的事情

2015-10-31 10:28:05 702

原创 Mongodb3.0配置文件

基本配置如下:systemLog:  destination: file  path: "/home/admin/mongodb3/logs/shard1.log"  logAppend: true  quite:trueprocessManagement:  fork: true  pidFilePath:"/home/admin/mongodb3/dat

2015-10-27 15:07:25 1594

原创 Apache HttpClient4.3.x忽略证书验证

今天需要忽略证书验证的时候,找了一圈没见靠谱的代码,无奈只能去官网看文档了,结果记录一下。官方文档看这里//此处跳过证书验证的方式适用于apache httpclient 4.3.x版本,并不一定适用于其他httpclient版本,请注意。 SSLContext sslContext = SSLContexts.custom().useTLS().loadTrustMaterial(

2015-08-20 14:45:36 2626 2

转载 Java并发性和多线程介绍目录

Java并发性和多线程介绍多线程的优点多线程的代价并发编程模型如何创建并运行java线程竞态条件与临界区线程安全与共享资源线程安全及不可变性Java内存模型JAVA同步块线程通信Java ThreadLocalThread Signaling (未翻译)死锁避免死锁饥饿和公平嵌套管程锁死Slipped ConditionsJava中的锁Java中的读/写锁重入锁死信号量阻塞队列线程池CAS剖析同步

2015-08-03 14:18:06 567

原创 一次MongoDB的Socket Exception

今天重新部署了一个项目,该项目启动的时候会访问MongoDB获取一些数据,一个蛮简单的项目,从前发布都没问题,这次启动的时候直接就是Socekt Exception:nested exception is org.springframework.data.mongodb.UncategorizedMongoDbException: socket exception [SEND_ERROR]

2015-07-27 22:31:05 21645

原创 MyBatis原理--查询操作

上一篇文章中分析了插入操作的流程,这次看一下查询操作是怎么做的,获取SqlSession的过程跟插入操作一样,这里直接看查询操作的执行,入口依旧在DefaultSqlSession中:public class DefaultSqlSession implements SqlSession

2015-07-14 11:23:32 1988

原创 MyBatis原理--插入操作

上一篇中已经解析了配置文件,并创建了DefaultSqlSessionFactory对象,现在来看一下从DefaultSqlSessionFactory对象中创建一个sqlSession并执行一次insert操作的过程。(MyBatis版本:3.2)

2015-06-29 15:56:40 2292

原创 MyBatis原理--配置解析

MyBatis解析配置文件的入口在:public class SqlSessionFactoryBuilder

2015-06-25 16:16:41 772

原创 ZooKeeper实现分布式锁

共享锁在同一个进程中很容易实现,但是在跨进程或者在不同 Server 之间就不好实现了。Zookeeper 却很容易实现这个功能,实现方式也是需要获得锁的 Server 创建一个 EPHEMERAL_SEQUENTIAL 目录节点,然后调用 getChildren方法获取当前的目录节点列表中最小的目录节点是不是就是自己创建的目录节点,如果正是自己创建的,那么它就获得了这个锁,如果不是那么它就调用 e

2015-05-08 10:01:53 817

原创 Go资料汇总

最近用GO在练手,重写了现在公司的一点业务,写到多线程这块越发觉得爽(写的这点东西用到了多线程处理罢了),这里是进来看到的一些文章:基础本人是靠GO Web编程这个入门的,作者写完Beego这个框架就去Apple工作了,你们感受一下。这里也有一系列讲述基础的文章:Golang语言基础进阶稍微进阶一点的可以看看这些博客: AriesDevil’s Blog,Tony Bai (现在以本人的水平,感觉想

2015-03-24 23:05:54 754

转载 Mac如何更改maven的java版本

转载自Mac如何更改maven的java版本今天编译一个新项目,没想到在Intellij的Terminal里面运行的时候始终报错,而且还是中文乱码……乱码问题很奇怪,所有能设置的地方都设置成UTF-8了,依旧解决不了。后来不管乱码了,解决编译报错的问题,搜了好久才发现上面那篇文章,maven引用的JDK版本过低…… Mac里面我没指定JAVA_HOME使用默认的JD

2015-03-16 22:15:04 1117

转载 Golang跨平台交叉编译

转载自:http://tonybai.com/2014/10/20/cross-compilation-with-golang/上面那篇文章中很详细的说明了如何进行GO的交叉编译,原理也有涉及一些。

2015-03-05 21:22:10 811

转载 ThreadPoolExecutor运转机制详解

转载自走向架构师之路最近发现几起对ThreadPoolExecutor的误用,其中包括自己,发现都是因为没有仔细看注释和内部运转机制,想当然的揣测参数导致,先看一下新建一个ThreadPoolExecutor的构建参数:[java] view plaincopypublic ThreadPoolExecutor(int c

2015-01-08 11:48:45 566

转载 Lock-free VS wait-free

转载自并发编程网有两种非阻塞线程同步算法,即无锁和无等待,这两种算法经常会产生混淆。在无锁系统中,当任何特定的运算被阻塞的时候,所有CPU可以继续处理其他的运算。换种方式说,在无锁系统中,当给定线程被其他线程阻塞的时候,所有CPU可以不停的继续处理其他工作。无锁算法大大增加系统整体的吞吐量,因为它只偶尔会增加一定的交易延迟。大部分高端数据库系统是基于无锁算法而构造的,以满足不同

2015-01-07 11:21:52 3307

转载 Java 8:HashMap的性能提升

HashMap是一个高效通用的数据结构,它在每一个Java程序中都随处可见。先来介绍些基础知识。你可能也知道,HashMap使用key的hashCode()和equals()方法来将值划分到不同的桶里。桶的数量通常要比map中的记录的数量要稍大,这样每个桶包括的值会比较少(最好是一个)。当通过key进行查找时,我们可以在常数时间内迅速定位到某个桶(使用hashCode()对桶的数量进行取模)以及要

2015-01-06 09:32:55 628

原创 JDK源码解读之RegularEnumSet

主要内容转载自usafchn's Notes,然后在此基础上做了一些补充。缘由今天做项目的时候偶然用到EnumSet,EnumSet平时不太常用,比较陌生,于是点进去看了下源码,发现这个类还是比较有意思的,首先EnumSet是个抽象类,当我们调用EnumSet提供的静态函数创建对象的时候,实际创建的是RegularEnumSet或者JumboEnumSet,前者对应

2014-12-30 11:15:13 1035

转载 Java NIO系列教程

并发编程网出品,必属精品。本来还想copy过来,后来想想意义不大。点击这里查看系列文章。这一系列是翻译过来的,每篇都比较短(这就是我想把它们弄到一块的原因),原文写的也很通俗易懂,有兴趣的可直接看原文。

2014-12-25 11:22:23 410

转载 Singleton 单例模式

转载自http://wuchong.me/blog/2014/08/28/how-to-correctly-write-singleton-pattern/单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是其中的坑却不少,所以也常作为面试题来考。本文主要对几种单例写法的整理,并分析其优缺点。很多都是一些老生常谈的问题,但如果你不知道如何创建一个线程安全的单例,不知

2014-12-24 10:24:12 477

原创 《Java并发编程实践》

Summary这本书也就将近300页的样子,关于这本书多么的厉害不多说了,相比去看这本书的人心里都有数。个人感觉这本书还是比较偏理论,站在比较高的高度来指导你如何写出健壮的并发程序,而非介绍API的(虽然也有大量的例子)。看这种书会有种感觉就是云里雾里的,不知道自己到底吸收了多少(目前我就是这种感受),还是得靠自己有一些并发编程的经验或者多加练习,这样感觉效果会好一点。

2014-11-14 14:00:27 738

转载 锁的意义--MySQL加锁分析--MVCC实现简要分析

推荐一个大牛的博客, 何登成这三篇文章对深入了解InnoDB的锁和事务会有很大帮助:锁的意义MySQL 加锁处理分析InnoDB多版本(MVCC)实现简要分析

2014-11-14 13:58:46 646

原创 MongoDB Sharding

为什么需要ShardMongoDB的Shard是一种水平分片,主要目的无非就是提高总存储空间,减少单击压力这些,提高总负载这样。Shard的基本介绍可以参照官方文档建立Shard集群MongoDB Shard集群的物理结构如上图所示,主要有三种节点(这几个中文名字是本人自己定义的):路由节点(Routers),配置节点(config server),数据节点

2014-11-14 13:58:14 1278

原创 创建高性能索引

数据库的索引,了解一下大致原理以及索引的策略差不多就行了。实际运用的时候,最好收集一下数据库的查询语句,然后根据查询频繁程度调整索引策略。索引类型通常所说的索引都是B-Tree索引,存储引擎以不同的方式使用B-Tree索引,性能各不相同,各有优劣。例如:MyISAM使用前缀压缩技术使得索引更小,但InnoDB则按照原数据格式进行存储。MyISAM索引通过数据的物理位置引用被

2014-11-14 13:57:38 681

原创 Schema与数据类型优化

关于数据类型选择的一些记录选择优化的数据类型更小的通常更好。一般应该尽可能使用能正确存储数据的最小数据类型,更小的数据类型通常更快,因为他们占用更少的磁盘、内存和CPU缓存,并且处理需要的CPU周期更少。简单就好。整型比字符串操作代价更低。尽量避免null。可为NULL的列使得索引、索引统计和值比较都更复杂。NULL列被索引的时候,每个索引记录都需要一个额外的字节。NULL列会使用

2014-11-14 13:55:39 1441 2

原创 Lock wait timeout

昨天开发过程中,调试一段代码的时候程序抛出了Lock wait timeout excaption。Caused by: java.sql.SQLException: Lock wait timeout exceeded; try restarting transaction at com.mysql.jdbc.SQLError.createSQLException(SQLErro

2014-11-14 13:54:40 1880

转载 双重检查锁定与延迟初始化

本来是看到多线程中关于安全发布的问题,然后想起来之前看过文章说双重检查锁定也不能解决安全发布的问题,但是不记得为什么了。于是,就去搜了一下,这篇转载的文章写的挺清楚的(本来还打算自己写)。本文转自双重检查锁定与延迟初始化ifeve.com 主要是介绍并发相关内容的网站,有自己原创内容,也有翻译外文,很给力。双重检查锁定的由来在java程序中,有时候可能需要推迟一

2014-11-14 13:49:39 1529 1

原创 Spring3.0 RESTful

Spring3.0已经能很好的支持RESTful风格的API了,开发过程也很简单,支持RESTful风格API的实现也并不强制使用SpringMVC,非常灵活。前几篇文章中提到的XFire什么的,开发起来太麻烦,需要注意的事情比较多,希望各位对webService有兴趣的,也去了解一下Spring3.0对RESTful的支持。至于具体的程序列子,在这里也懒得重写了,手头没有现成的,

2012-09-20 20:49:46 946

转载 Spring MVC入门

这篇文章将教你快速地上手使用 Spring 框架. 如果你手上有一本《Spring in Action》, 那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看, 否则那将是一场恶梦!首先, 我需要在你心里建立起 Spring MVC 的基本概

2011-10-09 11:38:12 522

转载 java读写文件大全

非原创 转自http://blog.csdn.net/smartcat86/article/details/4085739使用Java操作文本文件的方法详解 摘要: 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个

2011-10-09 10:44:20 572

原创 XFire构建web service客户端的五种方式

本文主要源于先前看到的一篇文章,为了自己以后查看方便也就转载过来了原文链接:http://blog.csdn.net/jadyer/article/details/6082948另外还有第四种,第五种方法,是从别处看到的 ,在本文最后和大家分享一下

2011-07-31 10:48:24 1631

原创 XFire + Spring构建Web Services服务器端(二)

本篇介绍XFire + Spring构建Web Services服务器端的第二种办法。两种办法的不同之处在于:第一种办法的ServletClass是org.codehaus.xfire.spring.XFireSpringServlet,这种办法服务的声明在Spr

2011-07-31 09:58:43 1507

空空如也

空空如也

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

TA关注的人

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