自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chenxinchongcn的博客

java技术学习与交流空间

  • 博客(67)
  • 资源 (1)
  • 收藏
  • 关注

转载 Spring Test 整合 JUnit 4 使用总结

这两天做Web开发,发现通过spring进行对象管理之后,做测试变得复杂了。因为所有的Bean都需要在applicationContext.xml中加载好,之后再通过@Resource去取得。如果每次都要整个业务流做的差不多了再去测试,这样效率很低,也很麻烦。如果单独去写一个测试用类,这样太繁琐了。于是想起Spring有一个测试框架,能够整合JUnit进行测试,于是便拿出来试试~1. 加入依赖...

2019-01-24 17:27:53 305

原创 高德地图工具包

package com.ybdc.yy.base.basis.utils.map;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.math.BigDecimal;import java.net.URI...

2019-01-24 17:27:18 496

转载 SpringBoot之CommandLineRunner接口和ApplicationRunner接口

我们在开发中可能会有这样的情景。需要在容器启动的时候执行一些内容。比如读取配置文件,数据库连接之类的。SpringBoot给我们提供了两个接口来帮助我们实现这种需求。这两个接口分别为CommandLineRunner和ApplicationRunner。他们的执行时机为容器启动完成的时候。这两个接口中有一个run方法,我们只需要实现这个方法即可。这两个接口的不同之处在于:ApplicationRu...

2018-06-15 15:11:49 296

转载 JDK1.8新特性

JDK1.8新特性总的来说,JDK在以下方面具有新特性: 1. 速度更快 – 红黑树 2. 代码更少 – Lambda 3. 强大的Stream API – Stream 4. 便于并行 – Parallel 5. 最大化减少空指针异常 – Optional1、HashMap中的红黑树HashMap中链长度大于8时采取红黑树的结构存储。红黑树,除了添加,效率高于链表结构。2、ConcurrentH...

2018-06-15 15:10:30 386 1

转载 使用Nexus搭建Maven私服

原文:http://www.cnblogs.com/luotaoyeah/p/3791966.html1 . 私服简介  私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。                      ...

2018-06-13 11:22:13 161

转载 微服务架构下分布式事务解决方案 —— 阿里GTS

原文地址:https://yq.aliyun.com/articles/5420201 微服务的发展微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务,这样可以降低开发难度、增强扩展性、便于敏捷开发。当前被越来越多的开发者推崇,很多互联网行业巨头、开源社区等都开始了微服务的讨论和实践。Hailo有160个不同服务构成,NetFlix有大约600个服务。国内方面,阿里巴巴、腾讯、360、京...

2018-03-26 09:25:10 651

转载 基于Zookeeper的分布式锁

全部代码下载:CSDN链接:CSDN链接;写文章不易,欢迎大家采我的文章,以及给出有用的评论,当然大家也可以关注一下我的github;多谢;1.分布式锁的由来:在程序开发过程中不得不考虑的就是并发问题。在java中对于同一个jvm而言,jdk已经提供了lock和同步等。但是在分布式情况下,往往存在多个进程对一些资源产生竞争关系,而这些进程往往在不同的机器上,这个时候jdk中提供的已经不能满足。分布...

2018-03-20 22:45:44 141

转载 Zookeeper核心工作机制(zookeeper特性、zookeeper数据结构、节点类型)

10.1 zookeeper特性1、Zookeeper:一个leader,多个follower组成的集群.2、全局数据一致:每个server保存一份相同的数据副本,client无论连接到哪个server,数据都是一致的3、分布式读写,更新请求转发,由leader实施4、更新请求顺序进行,来自同一个client的更新请求按其发送顺序依次执行5、数据更新原子性,一次数据更新要么成功(半数以上节点成功)...

2018-03-20 22:30:08 320

转载 通俗理解ZooKeeper是如何保证数据一致性的

ZooKeeper是个集群,内部有多个server,每个server都可以连接多个client,每个client都可以修改server中的数据ZooKeeper可以保证每个server内的数据完全一致,是如何实现的呢?答:数据一致性是靠Paxos算法保证的,Paxos可以说是分布式一致性算法的鼻祖,是ZooKeeper的基础Paxos的基本思路:(深入解读zookeeper一致性原理)假设有一个社...

2018-03-20 22:08:34 2069

转载 单点登录原理与简单实现

一、单系统登录机制1、http无状态协议  web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系  但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必须鉴别浏览器请求...

2018-03-16 14:19:40 150

转载 深入理解 Spring 事务原理

一、事务的基本原理Spring事务 的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行:    获取连接 Connection con = DriverManager.getConnection()    开启事务con.setAutoCommit(true/false);    执行CRUD   ...

2018-03-13 16:09:03 121

转载 spring-session使用配置(分布式共享session配置)

1. 添加依赖  dependency> groupId>org.springframework.sessiongroupId> artifactId>spring-session-data-redisartifactId> version>1.2.0.RELEASEversion>dependency>2. spring-mvc.xml配置文

2017-12-13 21:06:36 239

转载 redis集群启动脚本

CentOs7搭建基于Redis-4.0.2的集群环境之图文详解前言:我在当前的项目建设过程中,使用到了 Redis 的集群,主要是用来减轻数据库的压力和页面加载速度,说的直接点就是增强用户的体验感,其实 Redis 集群搭建看似简单(我当时也是这么想的),但在实际 Redis 集群搭建的过程中也遇到了一些问题,但通过不懈的努力再加上各种解决问题的手段,最后终于解决

2017-11-29 16:33:44 8234

转载 解决redis集群ruby版本过低

安装 Redis 接口时异常 ,系统 ruby 版本过低 !输入命令 " gem install redis " 出现 " ERROR:  Error installing redis redis requires Ruby version >= 2.2.2. " ,如下图:根据错误信息可知,Redis需要Ruby版本不能小于2.2.2版本,查看系统默认

2017-11-29 15:58:29 8641 2

转载 redis集群

集群教程本文档翻译自 http://redis.io/topics/cluster-tutorial 。本文档是 Redis 集群的入门教程, 从用户的角度介绍了设置、测试和操作集群的方法。本教程不包含晦涩难懂的分布式概念, 也没有像 Redis 集群规范 那样包含 Redis 集群的实现细节, 如果你打算深入地学习 Redis 集群的部署方法, 那么推荐你在阅

2017-11-29 15:57:17 370

转载 java中Class对象详解和类名.class, class.forName(), getClass()区别

一直在想.class和.getClass()的区别,思索良久,有点思绪,然后有网上搜了搜,找到了如下的一篇文章,与大家分享。 原来为就是涉及到Java的反射~~~~~Java反射学习所谓反射,可以理解为在运行时期获取对象类型信息的操作。传统的编程方法要求程序员在编译阶段决定使用的类型,但是在反射的帮助下,编程人员可以动态获取这些信息,从而编写更加具有可移植性的代码。

2017-11-16 14:13:45 403

转载 jenkins的安装配置,插件配置,安装插件,配置maven,jdk路径,配置安装插件,项目配置,自动构建配置

1、下载jenkins,下载地址:https://jenkins.io/12、运行命令,启动jenkins将jenkins上传到:/home/tuzq/software 安装JDK,maven 运行如下命令:nohup java -jar jenkins.war –httpPort=8888 & 3、在浏览器访问http://192.168.

2017-11-10 15:38:49 794

转载 Jenkins+Maven+SVN自动部署配置文档

基本版本JenKins:2.19.1, Maven:3.1环境要求:Java 7256MB free memory1GB+ free disk spaceJenkins官网: https://jenkins.io/index.html官方文档:https://wiki.jenkins-ci.org/display/JENKINS/Ho

2017-11-07 15:11:34 317

转载 svn + jenkins + maven 实现java环境的自动化构建和部署

1. 环境说明: 系统CentOS 7 x64 IP:  10.6.0.126  1.1 首先安装配置 svn Centos 7  通过yum 安装svn 既可, 版本为1.7.14  # yum -y install subversion 安装完毕以后查看版本信息# svnse

2017-11-07 15:10:46 485

原创 java读写分离

现在大型的电子商务系统,在数据库层面大都采用读写分离技术,就是一个Master数据库,多个Slave数据库。Master库负责数据更新和实时数据查询,Slave库当然负责非实时数据查询。因为在实际的应用中,数据库都是读多写少(读取数据的频率高,更新数据的频率相对较少),而读取数据通常耗时比较长,占用数据库服务器的CPU较多,从而影响用户体验。我们通常的做法就是把查询从主库中抽取出来,采用多个从库,

2017-11-01 10:55:54 415

原创 每天一个linux命令(13):less 命令

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的

2017-08-26 09:46:10 210

转载 linux常用命令

Linux简介及Ubuntu安装常见指令系统管理命令打包压缩相关命令关机/重启机器Linux管道Linux软件包管理vim使用用户及用户组管理文件权限管理Linux简介及Ubuntu安装Linux,免费开源,多用户多任务系统。基于Linux有多个版本的衍生。RedHat、Ubuntu、Debianaa

2017-08-24 15:31:16 199

转载 Linux下Redis的安装和部署

一、Redis介绍Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,Redis支持各种不同方式的排序。

2017-08-24 15:28:03 210

转载 spring task定时调度任务

深入浅出spring task定时任务在工作中有用到spring task作为定时任务的处理,spring通过接口TaskExecutor和TaskScheduler这两个接口的方式为异步定时任务提供了一种抽象。这就意味着spring容许你使用其他的定时任务框架,当然spring自身也提供了一种定时任务的实现:spring task。spring task支持线程池,可以高效处理许多不

2017-08-01 10:20:05 287

原创 video.js

插件地址:http://www.jq22.com/jquery-info404

2017-07-11 13:53:19 185

转载 jstl格式化

首先介绍日期的格式化:(不要嫌多哦)JSTL格式化日期(本地化)类似于数字和货币格式化,本地化环境还会影响生成日期和时间的方式。http://java.sun.com/jsp/jstl/core" %>http://java.sun.com/jsp/jstl/fmt" %>Date FormattingDate Formatting and 

2017-06-27 15:03:08 344

原创 高德地图工具包

package com.ybdc.yy.base.basis.utils.map;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.math.BigDecimal;import jav

2017-06-26 11:05:53 2697

转载 深入理解Java:注解(Annotation)--注解处理器

注解处理器类库(java.lang.reflect.AnnotatedElement):  Java使用Annotation接口来代表程序元素前面的注解,该接口是所有Annotation类型的父接口。除此之外,Java在java.lang.reflect 包下新增了AnnotatedElement接口,该接口代表程序中可以接受注解的程序元素,该接口主要有如下几个实现类:  Clas

2017-06-17 15:21:37 245

转载 深入理解Java:注解(Annotation)自定义注解入门

元注解:  元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解:    1.@Target,    2.@Retention,    3.@Documented,    4.@Inherited  这些类型和它们所支持的类在java.lang

2017-06-17 15:20:49 262

转载 深入理解Java:注解(Annotation)基本概念

什么是注解(Annotation):  Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息和着任何元数据(metadata)的途径和方法。Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据。  Annotation(注解)是JDK5.0及以后版本引入的。它可以用于

2017-06-17 15:19:56 230

原创 spring mvc4处理日期格式问题

class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">text/html;charset=UTF-8text/json;charset=UTF-8application/json;charset=UTF-8 -->

2017-05-13 15:06:19 1614

转载 LOG使用规范(整理)

在开发B/S系统时,对于LOG,需要关注:日志信息的集中采集、存储、信息检索:在WEB集群节点越来越多的情况下,让开发及系统维护人员能很方便的查看日志信息日志信息的输出策略:日志信息输出全而不乱,便于跟踪和分析问题关键业务的日志输出:基于度量数据采集、数据核查、系统安全等方面的考虑,关键业务系统对输出的日志信息有特殊的要求,需要做针对性的设计本文主要从这3个方面进行说明,重点说明日

2017-05-08 09:01:36 2276

转载 重写equal 的同时为什么必须重写hashcode?

重写equal 的同时为什么必须重写hashcode? hashCode是编译器为不同对象产生的不同整数,根据equal方法的定义:如果两个对象是相等(equal)的,那么两个对象调用 hashCode必须产生相同的整数结果,即:equal为true,hashCode必须为true,equal为false,hashCode也必须 为false,所以必须重写hashCode来保证与e

2017-04-24 16:56:42 530

原创 SQL数据类型nchar,char,varchar与nvarchar区别

nchar与char是相似的,nvarchar与varchar是相似的。char类型: 对英文(ASCII)字符占用1个字节,对一个汉字占用2个字节,CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义 char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不够的字符用空格去填。因为是固定长度,所以速度效率高。 Varchar类型:Varchar 的类

2017-04-24 13:21:09 4362 3

转载 为什么 在springmvc.xml 中 配置了<mvc:default-servlet-handler /> 一定要配置<mvc:annotation-driven >?

有没有遇到过这样的问题:为了解决SpringMVC不能调用 静态资源的问题,经常会需要在springmvc.xml中配置,但是当配置了  解决了静态资源调用的问题时,而原来@RequestMapping(value="/path1") 配置的URL地址 不能正使用了,这是问题?      其实这个问题很好解决: 只需要在springmvc.xml 中在配置一下  就OK了!   

2017-04-23 20:45:05 607

原创 <mvn:default-servlet-handler/>标签作用

servlet在找页面时,走的是dispatcherServlet路线。找不到的时候会报404加上这个默认的servlet时候,servlet在找不到的时候会去找静态的内容。另外一篇文章介绍了访问静态文件的几种方法:访问到静态的文件,如jpg,js,css  如何你的DispatcherServlet拦截 *.do这样的URL,就不存在访

2017-04-23 20:44:19 600

转载 数据库SQL优化大总结之 百万级数据库优化方案

网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.

2017-04-21 14:58:36 549

转载 巧用mybatis 的<foreach>标签的 index 属性解决批量排序值问题

简介在实际的工作中,我们往往遇到批量数据保存 或者编辑的时候需要进行 排序字段 设置保存排序顺序的问题。大多的时候,我们选择在代码中进行遍历设置,其实这种选择存在一个问题,主要是我们更多的时候其实只是为了设置一个 sort字段的值,并不进行其他相关业务逻辑的处理,这时候选择在代码中循环遍历是非常不明智的,因为我们会在mybatis中使用进行批量插入的操作,这样造成我们为了设置一个sort字

2017-04-21 14:08:15 18414 2

转载 Mybatis的<where><foreach><set>等标签详解

sql语句where条件中,需要一些安全判断,例如按性别检索,如果传入的参数是空的,此时查询出的结果很可能是空的,也许我们需要参数为空 时,是查出全部的信息。这是我们可以使用动态sql,增加一个判断,当参数不符合要求的时候,我们可以不去判断此查询条件。 下文均采用MySQL语法和函数(例如字符串链接函数CONCAT3.1 if标签 一个很普通的查询:Xml代码  

2017-04-21 13:34:48 1242

转载 Java利用ShutDownHook关闭系统资源

Java关闭钩子在Java程序中可以通过添加关闭钩子,实现在程序退出时关闭资源的功能。 使用Runtime.addShutdownHook(Thread hook)向JVM添加关闭钩子 public void addShutdownHook(Thread hook) { SecurityManager sm = System.getSecurityManage

2017-04-12 13:39:49 724

spring boot

完整的SpringBootDemo,直接使用该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置

2019-01-30

空空如也

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

TA关注的人

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