自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 资源 (3)
  • 收藏
  • 关注

原创 利用junit对springMVC的Controller进行测试

平时对junit测试service/DAO层已经很熟悉不过了,但是要测试controller层,不能总重启服务器吧,那么我们就用junit4模拟请求,测试controller层的方法。 代码示例:import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;impor...

2017-11-30 16:26:43 263

原创 git查看commit的内容

git查看commit的内容     在push之前有时候会不放心是不是忘记加某些文件,或者是不是多删了个什么东西,这时候希望能够看看上次commit都做了些什么。一开始想到的是用gitdiff,但是gitdiff用于当前修改尚未commit的时候较为方便,一旦commit后,需要指定上次节点的名称(一个hash值),不方便。这种时候用gitlog更合适,因为commit的内容会以lo...

2017-11-29 14:55:44 577

原创 Git学习笔记(九) 历史穿梭

版本表示法:git rev-parse--git-dir显示Git版本库的位置   --show-cdup显示当前工作区目录的深度  --parseopt解析命令行参数$ git rev-parse --symbolic --branches 显示分支$ git rev-parse --symbolic --tags 显示里程碑$ git rev-parse --symbolic...

2017-11-29 14:54:55 250

原创 gitLab 全局hooks和custom_hooks,以及服务器端自动更新和备份(一)

 写代码的时候,git push到远程代码库后,往往还要连到服务器上pull代码才能进行测试。代码push后自动更新测试服务器的代码也算是一种刚需了。gitLab的钩子分为两大类:1.web hooks            2.custom hooks,这是调用git原生钩子,这里的钩子也有两种类型:(1)全局钩子 (2)每个项目对应的钩子。这几天踩了很多坑,才用一种迂回的方法解...

2017-11-29 13:37:39 943

原创 Jenkins进阶-Gitlab使用Webhook实现Push代码自动部署(3)

1.Jenkins 安装完成以后,首先我们在Jenkins中需要安装一下,Gitlab Hook Plugin 插件;2.插件安装完成我们创建任务,在任务重构建触发器下获取回调URL;注意:1注意:     默认Jjenkins自带的变量不包含Jenkins这层目录,尤其采用tomcat部署的同学注意,直接把Jenkins.war放在tomcat的we...

2017-11-29 11:32:58 449

原创 Java内存模型之重排序

在执行程序时,为了提供性能,处理器和编译器常常会对指令进行重排序,但是不能随意重排序,不是你想怎么排序就怎么排序,它需要满足以下两个条件:在单线程环境下不能改变程序运行的结果;存在数据依赖关系的不允许重排序如果看过LZ上篇博客的就会知道,其实这两点可以归结于一点:无法通过happens-before原则推导出来的,JMM允许任意的排序。as-if-serial语义as-i...

2017-11-29 09:44:18 176

原创 PMD、FindBug、checkstyle、sonar这些代码检查工具的区别?各自的侧重点是什么?

可以说都是代码静态分析工具,但侧重点不同。pmd:基于源代码分析,主要面向安全编码规则,如“避免声明同名变量”,包括风格类、类型使用等等,具备一定的数据流分析和路径分析能力。checkstyle:基于源代码,与pmd类似,但更侧重编码的语法风格,分析深度不及pmd。findbugs:基于字节码分析,大量使用数据流分析技术,侧重运行时错误检测,如空指针引用等,分析深度大于前述两个。sonar:定位...

2017-11-28 10:01:45 3974

原创 jquery datatable layui 表格宽度

layui + jquery datatable 表格设置宽度 layui样式影响到了表格宽度,导致一直没生效,手动设置表格宽度    _tableObj = $('#dataTable'); _tableObj.width("2000px");  https://datatables.net/reference/option/columns.wi...

2017-11-23 22:20:33 699

原创 阿里巴巴Java代码规约插件p3c-pmd使用指南与实现解析

阿里巴巴Java代码规约插件安装阿里Java代码规约插件有Eclipse插件和IDEA插件。Eclipse插件安装Eclipse版插件支持4.2(Juno,JDK1.8+)及以上版本,通过 Help -- Install New Software 然后输入https://p3c.alibaba.com/plugin/eclipse/update 即可看到安装列表。可以通过 He...

2017-11-23 17:09:49 390

原创 静态分析工具PMD使用说明 (文章来源: Java Eye)

质量是衡量一个软件是否成功的关键要素。而对于商业软件系统,尤其是企业应用软件系统来说,除了软件运行质量、文档质量以外,代码的质量也是非常重要的。软件开发进行到编码阶段的时候,最大的风险就在于如何保证代码的易读性和一致性,从而使得软件的维护的代价不会很高。在软件开发的过程中,以下几种情形随处可见:1) 软件维护时间长,而且维护人员的积极性不高: 做过软件维护的开发人员,尤其是在接手不是...

2017-11-23 17:07:54 253

原创 技巧集:nginx作代理时,查看请求被转发到哪台服务器

使用Nginx代理多台服务器实行负载的时候,如何查看某一个请求被转发到哪台服务器上呢?upstream demo { server 127.0.0.1:8781; server 127.0.0.1:8087;}加上如下红色配置: server { listen 80; server_name ...

2017-11-23 10:05:00 880

原创 kafka运行过程中localhost.localdomain: 未知的名称或服务

kafka运行过程中出现了java.net.UnknownHostException: localhost.localdomain: localhost.localdomain: 未知的名称或服务[2016-01-17 23:17:52,291] ERROR Unknown error when running consumer:  (kafka.tools.ConsoleConsumer$...

2017-11-22 19:37:44 1830

原创 spring cloud config实现datasource的热部署

关于spring cloud config的基本使用,前面的博客中已经说过了,如果不了解的话,请先看以前的博客spring cloud config整合gitlab搭建分布式的配置中心spring cloud config分布式配置中心的高可用今天,我们的重点是如何实现数据源的热部署。1、在客户端配置数据源 [java] view plain copy ...

2017-11-21 16:44:39 238

原创 MyBatis 使用 MyCat 实现多租户的一种简单思路

本文的多租户是基于多数据库进行实现的,数据是通过不同数据库进行隔离。MyCat 基本配置首先针对多租户配置了多个数据库,在 MyCat 的 schema.xml 中配置了多个 schema。 在 server.xml 中配置了一个用户: 后面会使用 MyCat 注解(就是注释)方式根据不同的标识,将操作指向不同的数据库。过滤器识别请求匹配对应的数据库标识有很多种方式可...

2017-11-20 18:27:42 468

原创 Mycat1.6之注解&多租户

永久链接: http://gaojingsong.iteye.com/blog/2338725预览文章: 【Mycat1.6之注解&多租户】  一、Mycat之分片--节点--主机分片节点(dataNode)数据切分后,一个大表被分到不同的分片数据库上面,每个表分片所在的数据库就是分片节(dataNode)。 节点主机(dataHost)...

2017-11-20 18:21:43 184

原创 Spring+MyBatis实现数据库读写分离方案

百度关键词:spring mybatis 多数据源 读写分离  推荐第四种方案1通过MyBatis配置文件创建读写分离两个DataSource,每个SqlSessionFactoryBean对象的mapperLocations属性制定两个读写数据源的配置文件。将所有读的操作配置在读文件中,所有写的操作配置在写文件中。优点:实现简单缺点:维护麻烦,需要对原有的xml文件...

2017-11-20 17:15:20 135

原创 SQLChop、SQLWall(Druid)、PHP Syntax Parser Analysis

SQLChop、SQLWall(Druid)、PHP Syntax Parser Analysis 阅读目录catalog1. introduction2. sqlchop sourcecode analysis3. SQLWall(Druid)4. PHP Syntax Parser5. SQL Parse and Compile: Parse ...

2017-11-20 11:44:01 181

原创 数据库连接池druid wallfilter配置

使用缺省配置的WallFilter <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> ... <property name="filters" value

2017-11-20 11:38:17 694

原创 RocketMQ存储篇——MapedFileQueue

MapedFileQueue应用层访问commitlog和consumequeue文件是通过MappFileQueue来操作MapedFile类,从而间接操作磁盘上面的文件;MappFileQueue是由多个MapedFile队列组成的,该类的结果如下图所示。功能清单如下:1. 获取在某时间点之后更新的文件(getMapedFileByTime)方法getMapedFileByTi...

2017-11-16 18:28:06 206

原创 java restful 实体封装

package com.mogoroom.bs.common;public enum StatusConstant { /** * 请登录 code */ LOGIN_STATUS_ERROR("10503","Please login!"), /** * 数据不存在 */ DATA_NOT_EXIST("10504","The da...

2017-11-16 09:47:15 512

原创 Spring MVC-ContextLoaderListener和DispatcherServlet

Tomcat或Jetty作为Servlet容器会为每一个Web应用构建一个ServletContext用于存放所有的Servlet, Filter, Listener。Spring MVC 启动的时候主要涉及到DispatcherServlet 与 ContextLoaderListener。关于ContextLoaderListener和DispatcherServletCont...

2017-11-15 09:35:51 173

原创 spring http session 监听 创建 失效session

一.流程概述主要是通过扩展ServletRequestWraper来实现的。1.SessionRepositoryFilter.doFilterInternal2.会创建SessionRepositoryRequestWrapper,这里面的getSession(boolean)会从外部存储创建session---sessionRepository是RedisOperation...

2017-11-15 09:35:08 474

原创 Java内存模型之从JMM角度分析DCL

DCL,即Double Check Lock,中卫双重检查锁定。其实DCL很多人在单例模式中用过,LZ面试人的时候也要他们写过,但是有很多人都会写错。他们为什么会写错呢?其错误根源在哪里?有什么解决方案?下面就随LZ一起来分析问题分析我们先看单例模式里面的懒汉式:publicclassSingleton{privatestaticSingleton singleton;private...

2017-11-15 09:35:01 110

原创 spring的启动过程——spring和springMVC父子容器的原理

要想很好理解这三个上下文的关系,需要先熟悉spring是怎样在web容器中启动起来的。spring的启动过程其实就是其IoC容器的启动过程,对于web程序,IoC容器启动过程即是建立上下文的过程。spring的启动过程:首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext,其为后面的sprin...

2017-11-15 09:29:07 120

原创 grafana+influxdb+telegraf监控服务器cpu,内存和硬盘

监控服务器状态是运维必不可少的一部分, 通常情况, 我们用得比较多的就是graphite, 因为使用python写的, 所以对于大部分运维工程师来讲, 算是比较熟悉的语言. 但graphite毕竟比较老了, 界面体验方面不太友好, 加上graphite部署起来也不是太容易, 会给新手造成一定困扰.这里给大家介绍的是另一种监控系统grafana, 相比graphite, 优势非常大, 特...

2017-11-15 09:28:57 485

原创 spring session key 储存 官方说明

/** * <p> * A {@link org.springframework.session.SessionRepository} that is implemented using * Spring Data's {@link org.springframework.data.redis.core.RedisOperations}. In a web * en...

2017-11-14 09:44:10 821

原创 万亿级数据洪峰下的分布式消息引擎

前言通过简单回顾阿里中间件(Aliware)消息引擎的发展史,本文开篇于双11消息引擎面临的低延迟挑战,通过经典的应用场景阐述可能会面临的问题 - 响应慢,雪崩,用户体验差,继而交易下跌。为了应对这些不可控的洪峰数据,中间件团队通过大量研究和实践,推出了低延迟高可用解决方案,在分布式存储领域具有一定的普适性。在此基础上,通过对现有有限资源的规划,又推出了分级的容量保障策略,通过限流、降级,...

2017-11-14 09:43:29 167

原创 spring session spring:session:sessions:expires 源码跟踪

/** * Saves any attributes that have been changed and updates the expiration of this * session. */ private void saveDelta() { if (this.delta.isEmpty()) { return; } S...

2017-11-14 09:37:21 994

原创 Java 打印堆栈的几种方法

java 中可以通过 eclipse 等工具直接打印堆栈,但是对于某些环境中无法使用 eclipse 工具时,需要知道堆栈,如何处理呢?介绍3种方法供选择:方法一:package name.xu;public class CallStack { public static void printCallStatck() { Throwable ...

2017-11-14 09:36:53 8835

原创 如何在Kafka上创建一个Topic

脚本手工创建./bin/kafka-topics.sh –zookeeper 192.168.2.225:2183/config/mobile/mq –create –topic test.example –replication-factor 2 –partitions 24 –topic指定topic name –partitions指定分区数,这个参数需要根据broker数和数据量决...

2017-11-14 09:36:31 270

原创 Apache Hadoop与第三方Hadoop-CDH,HDP,MapR的分析与比较

一、Hadoop版本综述 目前Hadoop发行版非常多,有华为发行版、Intel发行版、Cloudera发行版(CDH)等,所有这些发行版均是基于Apache Hadoop衍生出来的,之所以有这么多的版本,完全是由Apache Hadoop的开源协议决定的:任何人可以对其进行修改,并作为开源或商业产品发布/销售。(http://www.apache.org/licenses/LICEN...

2017-11-13 09:39:12 429 1

原创 常见网关种类

kong caddyopenresty nginx plusTraefikfabio zuulspring Gateway

2017-11-13 09:37:37 2191

原创 spring中bean被多次实例化问题

1. 描述spring中提供了两种主要方式实例化bean,一种为配置文件方式,另一种为注解的形式。但如果配置文件配置不合理或者注解使用不恰当,就会造成一个bean会被多次初始化的现象发生。此时会造成一种资源的浪费,严重时甚至会影响系统的性能。但此种问题有很隐蔽,如果不仔细检查,很难发现。本人是因为系统中一个定时任务被重复执行两次,经google,baidu之后才发现此问题。 以下是几种会产...

2017-11-13 09:33:11 1660

原创 利用 Caddy 轻松实现反向代理/镜像(支持自签SSL证书)

  Caddy是一个使用 Go语言写的 HTTP Server,开发时间并不长,在性能上或许比不上 Nginx,但是在 上手难度/配置难度 上面简单的不行不行的。    并且 Caddy支持 自动签订Let’s Encrypt SSL证书,什么都不需要你管,只需要提供一个邮箱,剩下的他会自己申请、配置和续约 SSL证书! 本文转载自 逗比根据地 » 利用 Caddy 非常简单的部署...

2017-11-13 09:31:58 3014

原创 caddy 作为微服务的 API gateway

 caddy 作为微服务的 API gateway转自:http://studygolang.com/articles/9616背景大家都知道,Docker这些年让IT界产生了深刻的变革,从开发到测试到运维,处处都有它的身影。它同时也和微服务架构相互促进,并肩前行。在最新版的 Docker(CE 17.03) 里,随着 swarm mode 的成熟,在较简单的场景里已经可...

2017-11-13 09:31:46 177

原创 JavaWeb监听器

监听器的作用监听你的web应用,监听许多信息的初始化,销毁,增加,修改,删除值等。当被监听对象发生上述事件后,监听器某个方法将立即被执行。常用的有:1、统计在线人数和在线用户。2、系统加载时进行信息的初始化工作。3、统计网站的访问量。4、跟Spring结合。监听器的类型按监听的对象划分,servlet2.4规范定义的有三种1.用于监听应用程序环境对象(ServletConte...

2017-11-10 09:31:44 111

原创 浅析Cookie中的Path与domain

Path – 路径。指定与cookie关联的WEB页。值可以是一个目录,或者是一个路径。如果http://www.jb51.net/test/index.html 建立了一个cookie,那么在http://www.jb51.net/test/目录里的所有页面,以及该目录下面任何子目录里的页面都可以访问这个cookie。这就是说,在http://www.jb51.net/test/...

2017-11-10 09:26:46 116

原创 redis 超时失效key 的监听触发

redis 的key失效移除事件监听 1. 事件通过 Redis 的订阅与发布功能(pub/sub)来进行分发,故需要订阅 __keyevent@0__:expired 通道0表示db0 根据自己的dbindex选择合适的数字 2. 修改 redis.conf 文件 修改 notify-keyspace-events Ex  3. 重启redis , 即可测...

2017-11-10 09:26:30 331

原创 spring session 退出登录 清理session

/** * Allows creating an HttpSession from a Session instance. * * @author Rob Winch * @since 1.0 */ private final class HttpSessionWrapper extends ExpiringSessionHttpSession&...

2017-11-10 09:26:09 5052 1

原创 Servlet Session学习

HTTP 是一种"无状态"协议,这意味着每次客户端检索网页时,客户端打开一个单独的连接到 Web 服务器,服务器会自动不保留之前客户端请求的任何记录(每次POST,或者GET请求都从新开始握手,连接。。)。但是仍然有以下三种方式来维持 Web 客户端和 Web 服务器之间的 session 会话(让web服务器记住客户端连接):Cookies一个 Web 服务器可以分配一...

2017-11-10 09:25:58 98

servlet购物车

简单的servelt购物车。适合初学者兼用~

2010-06-03

javascript通讯录

包括一些网页设计常用的类的代码:时间日期类、鼠标事件类、状态烂特效、页面效果类、图形图象类、按钮特效类、文本特效类、信息检测类、警告提示类、菜单类、窗口特效类、综合类,框架。

2010-05-24

jsp.通讯录管理系统

jsp通讯录,实现增,删,改,查,分组,分页的功能,适合初学着兼用!

2010-05-24

空空如也

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

TA关注的人

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