自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Shell函数的7种用法介绍

1. 在shell文件内部定义函数并引用: 复制代码代码如下:[~/shell/function]# cat factorial.sh #!/bin/bashfunction factorial{factorial=1for (( i=1;i <= $1;i++ ))        do        factorial=$[ $factorial * $i ]      ...

2017-12-07 15:10:03 731 1

原创 【Shell脚本】逐行处理文本文件 && 空格变换行

参考: http://www.cnblogs.com/dwdxdy/archive/2012/07/25/2608816.html 经常会对文体文件进行逐行处理,在Shell里面如何获取每行数据,然后处理该行数据,最后读取下一行数据,循环处理.有多种解决方法如下:1.通过read命令完成.read命令接收标准输入,或其他文件描述符的输入,得到输入后,read命令将数据放入一个...

2017-12-06 11:08:04 1242

原创 Kryo 使用指南

1、Kryo 的简介Kryo 是一个快速序列化/反序列化工具,其使用了字节码生成机制(底层依赖了 ASM 库),因此具有比较好的运行速度。Kryo 序列化出来的结果,是其自定义的、独有的一种格式,不再是 JSON 或者其他现有的通用格式;而且,其序列化出来的结果是二进制的(即 byte[];而 JSON 本质上是字符串 String);二进制数据显然体积更小,序列化、反序列化时的...

2017-12-05 20:14:03 1363

原创 spring session序列化问题排查

严重: Servlet.service() for servlet [spring] in context with path [/] threw exceptionorg.springframework.data.redis.serializer.SerializationException: Cannot serialize; nested exception is org.sprin...

2017-12-01 19:07:23 1353

原创 spring mvc统一异常处理(@ControllerAdvice + @ExceptionHandler)

spring 封装了非常强大的异常处理机制。本文选取@ControllerAdvice + @ExceptionHandler 这种零配置(全注解),作为异常处理解决方案! @ControllerAdvice,是spring3.2提供的新注解,从名字上可以看出大体意思是控制器增强。让我们先看看@ControllerAdvice的实现:12345...

2017-12-01 17:09:13 482

原创 [摘录] Maven中的DependencyManagement和Dependencies

这里介绍一个在父项目中的根结点中声明dependencyManagement和dependencies的区别dependencyManagementMaven 使用dependencyManagement 元素来提供了一种管理依赖版本号的方式。通常会在一个组织或者项目的最顶层的父POM 中看到dependencyManagement 元素。使用pom.xml 中的dependencyMa...

2017-12-01 15:36:49 209

原创 springboot注解

@RestController和@RequestMapping注解我们的Example类上使用的第一个注解是 @RestController 。这被称为一个构造型(stereotype)注解。它为阅读代码的人们提供建议。对于Spring,该类扮演了一个特殊角色。在本示例中,我们的类是一个web @Controller ,所以当处理进来的web请求时,Spring会询问它。@RequestMa...

2017-12-01 09:44:50 215

原创 Spring 4 xml 注解配置谅解

《Spring in Action》4th Edition 学习笔记 Spring 注入 bean 可以有如下三种方式: 自动注入显式注入(java 配置)显式注入(xml 配置)自动注入 自动注入主要使用如下的技术: Component scanning:Spring 自动发现需要在应用上下文中生成的 beanAutowiring:...

2017-12-01 09:39:10 282

原创 利用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 250

原创 git查看commit的内容

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

2017-11-29 14:55:44 562

原创 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 233

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

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

2017-11-29 13:37:39 890

原创 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 439

原创 Java内存模型之重排序

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

2017-11-29 09:44:18 168

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

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

2017-11-28 10:01:45 3899

原创 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 680

原创 阿里巴巴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 351

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

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

2017-11-23 17:07:54 237

原创 技巧集: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 843

原创 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 1756

原创 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 228

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

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

2017-11-20 18:27:42 459

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

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

2017-11-20 18:21:43 166

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

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

2017-11-20 17:15:20 122

原创 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 170

原创 数据库连接池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 654

原创 RocketMQ存储篇——MapedFileQueue

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

2017-11-16 18:28:06 193

原创 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 419

原创 Spring MVC-ContextLoaderListener和DispatcherServlet

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

2017-11-15 09:35:51 156

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

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

2017-11-15 09:35:08 450

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

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

2017-11-15 09:35:01 99

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

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

2017-11-15 09:29:07 111

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

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

2017-11-15 09:28:57 472

原创 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 786

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

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

2017-11-14 09:43:29 159

原创 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 959

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

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

2017-11-14 09:36:53 8767

原创 如何在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 253

原创 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 411 1

原创 常见网关种类

kong caddyopenresty nginx plusTraefikfabio zuulspring Gateway

2017-11-13 09:37:37 2170

servlet购物车

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

2010-06-03

javascript通讯录

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

2010-05-24

jsp.通讯录管理系统

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

2010-05-24

空空如也

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

TA关注的人

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