自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(132)
  • 资源 (7)
  • 问答 (2)
  • 收藏
  • 关注

转载 spring中多数据源配置

项目中我们经常会遇到多数据源的问题,尤其是数据同步或定时任务等项目更是如此。多数据源让人最头痛的,不是配置多个数据源,而是如何能灵活动态的切换数据源。例如在一个spring和hibernate的框架的项目中,我们在spring配置中往往是配置一个dataSource来连接数据库,然后绑定给sessionFactory,在dao层代码中再指定sessionFactory来进行数据库操作。

2017-05-31 06:24:14 534

转载 Minor GC和FUllGC的区别

在Plumbr的工作过程中遇到GC间隙功能探测问题使我不得不关注相关文章,书籍,简报。自始至终,我不止一次迷惑于 Minor, Major and Full GC 的用法。为了搞清楚这些疑惑我写这篇博客。这篇博客期望读者了解JVM 底层 GC机制。jvm heap区 分为 Eden,Survivor,Tenured/Old区。分代概念以及不同的GC算法超出了了此次讨论的范围。M

2017-05-30 15:42:00 7967 1

转载 Redis集群搭建与简单使用

Redis集群搭建与简单使用介绍安装环境与版本用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master、3 salve 环境。redis 采用 redis-3.2.4 版本。两台虚拟机都是 CentOS ,一台 CentOS6.5 (IP:192.168.31.245),一台 CentOS7(IP:192.168.31.210) 。安装过程1. 下载并解压

2017-05-21 15:22:25 357

转载 springmvc+dubbo的maven项目

一、软件环境 1、zookeeper 下载地址:https://zookeeper.apache.org/releases.html 下载最新版的zookeeper,我这里使用的版本是 zookeeper-3.4.8(当前最新版3.5.1) 2、springMVC (maven方式引入) 3、dubbo (maven方式引入)二、项目搭建 这里我搭建了三个项目,分别为d

2017-05-20 10:34:49 688

转载 java异步读取网络

简单的来说,Java NIO 提供了一种异步非阻塞模型,使得网络请求都可以并发执行。服务器端采用这种模型,响应速度将大大提高,Apache,Nginx 都是这种模型。本文介绍的是客户端如何采用这种模型来提高客户端访问网络的速度。1. 使用范例public static void main(String[] args) throws Exception { //初始化 N

2017-05-10 09:59:34 828

转载 全面理解java中NIO机制

本文简介: JDK 1.4 中引入的新输入输出 (NIO) 库在标准 Java 代码中提供了高速的、面向块的 I/O。本实用教程从高级概念到底层的编程细节,非常详细地介绍了 NIO 库。您将学到诸如缓冲区和通道这样的关键 I/O 元素的知识,并考察更新后的库中的标准 I/O 是如何工作的。您还将了解只能通过 NIO 来完成的工作,如异步 I/O 和直接缓冲区。◆  输入/输出:概念性描述

2017-05-10 09:25:40 665 1

原创 使用zookeeper对进程进行加锁

/** * 主要实现进程间的锁利用zookeeper的 *  * @author yc *  */public class MyLock {private CountDownLatch runFlag = new CountDownLatch(1);private ZooKeeper zk = null;private String path = "/zk-lo

2017-05-10 08:33:52 751

转载 maven构建一个springmvc项目

1、新建一个Maven Project 2、选择工作空间 3、搭建Web工程,我们选择maven-archetype-webapp类型 4、填写项目参数,如图 5、以上步骤完成时的工程结构目录 6、可以查看或修改发布目录 7、确保勾选上Dynamic Web Module和Java 8、

2017-05-06 10:02:27 3130

转载 http协议讲解

HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应(

2017-05-31 20:31:27 273

转载 基于注解spring中多数据源配置

前一段时间研究了一下spring多数据源的配置和使用,为了后期从多个数据源拉取数据定时进行数据分析和报表统计做准备。由于之前做过的项目都是单数据源的,没有遇到这种场景,所以也一直没有去了解过如何配置多数据源。后来发现其实基于spring来配置和使用多数据源还是比较简单的,因为spring框架已经预留了这样的接口可以方便数据源的切换。先看一下spring获取数据源的源码:可以

2017-05-31 06:32:37 383

转载 spring中多数据配置2

最近开发一个数据同步的小功能,需要从A主机的Oracle数据库中把数据同步到B主机的Oracle库中。当然能够用dmp脚本或者SQL脚本是最好,但是对于两边异构的表结构来说,直接导入不可行。然后在需要实时同步的情况下用存储过程也不可行了。写一个数据同步的小程序是个不错的选择。使用框架的封装和连接池是必须的,spring是首选,这里我们同样需要Spring的多数据源连接配置方式。 其实再进行项目

2017-05-31 06:30:30 234

转载 tomcat的目录结构

而Tomcat6.0的目录结构则比5.5简化了很多 目录如下:/bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件/conf:存放Tomcat服务器的各种全局配置文件,其中包括server.xml(Tomcat的主要配置文件)、tomcat-users.xml和web.xml等配置文件/lib:存放所需的所有jar文件(整合了原来tomcat5.5中的comm

2017-05-30 11:28:28 279

转载 zookeeper配置文件讲解

配置-zoo.cfg这是zookeeper的主要配置文件,因为Zookeeper是一个集群服务,集群的每个节点都需要这个配置文件。为了避免出差错,zoo.cfg这个配置文件里没有跟特定节点相关的配置,所以每个节点上的这个zoo.cfg都是一模一样的配置。这样就非常便于管理了,比如我们可以把这个文件提交到版本控制里管理起来。其实这给我们设计集群系统的时候也是个提示:集群系统一般有很多配置,应

2017-05-30 10:57:17 286

转载 redis中的数据类型及存储结构

Redis支持五中数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及zset(sortedset:有序集合)。Redis定义了丰富的原语命令,可以直接与Redis服务器交互。实际应用中,我们不太会直接使用这些原语命令,Redis提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang

2017-05-30 10:54:35 19216 1

转载 Redis中的事务

5.1开始事务MULTI 命令的执行标记着事务的开始:当客户端处于非事务状态下时, 所有发送给服务器端的命令都会立即被服务器执行。Redis 的事务不可嵌套, 当客户端已经处于事务状态, 而客户端又再向服务器发送 MULTI 时, 服务器只是简单地向客户端发送一个错误, 然后继续等待其他命令的入队。MULTI 命令的发送不会造成整个事务失败, 也不会

2017-05-30 10:51:51 238

转载 Redis中配置文件讲解

进入Redis的安装包,里面的“redis.conf”就是默认的配置文件,启动Redis Server的时候,可以指定加载某个路径下的配置文件“redis-server [path of configuration file]”。默认的配置文件中,首先约定了存储单位:1k => 1000 bytes1kb => 1024 bytes1m => 1000000 b

2017-05-30 10:50:25 606

转载 redis中的主从同步与集群管理

8.1 主从同步原理像MySQL一样,Redis是支持主从同步的,而且也支持一主多从以及多级从结构。主从结构,一是为了纯粹的冗余备份,二是为了提升读性能,比如很消耗性能的SORT就可以由从服务器来承担。Redis的主从同步是异步进行的,这意味着主从同步不会影响主逻辑,也不会降低Redis的处理性能。主从架构中,可以考虑关闭主服务器的数据持久化功能,只让从服务器进行持

2017-05-30 10:47:42 509

转载 Redis中集群概念讲解

Cluster1、Redis 集群的分片特征在于将键空间分拆了16384个槽位,每一个节点负责其中一些槽位2、Redis提供一定程度的可用性,可以在某个节点宕机或者不可达的情况下继续处理命令.3、Redis 集群中不存在中心(central)节点或者代理(proxy)节点     集群的最大节点数量也是 16384 个(推荐的最大节点数量为 1000 个),同理每个主节点可以负

2017-05-30 10:38:53 985

转载 java中分代思想

文章出处:http://ifeve.com/jvm-yong-generation/聊聊JVM的年轻代1.为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕

2017-05-30 00:34:01 756

转载 hadoop中集群提交任务运行

集群模式运行1/将工程打成jar包,上传到服务器,然后用hadoop命令提交  hadoop jar wc.jar cn.itcast.hadoop.mr.wordcount.WCRunner2/在linux的eclipse中直接运行main方法,也可以提交到集群中去运行,但是,必须采取以下措施:      ----在工程src目录下加入 mapred-site.xml  和  yar

2017-05-29 17:28:15 2552

转载 js中使用正则表达式

js正则表达式中test,exec,match方法的区别说明test test 返回 Boolean,查找对应的字符串中是否存在模式。var str = "1a1b1c";var reg = new RegExp("1.", "");alert(reg.test(str)); // trueexec exec 查找并返回当前的匹配结果,并以数组的形式返回。

2017-05-29 10:47:45 225

转载 正则表达式具体使用

1匹配验证-验证Email是否正确Java | 复制1234567891011121314public static void main(String[] args) {    // 要验证的字符串    Strin

2017-05-29 10:40:14 190

转载 正则表达式手册

表达式全集字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。串行“\\”匹配“\”而“\(”则匹配“(”。^匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。

2017-05-29 10:34:00 181

转载 js中表单提交进行校验

之前做东西接触过表单验证提交,但是都是为了完成工作,做完就做完了,没有注过表单验证提交有几种方法,各方法都有啥区别。今天瞎折腾了一下,对他们研究了一下,如下是我个人的理解: submit:从字面上看是“提交”的意思,专门为提交而生。他既可以接受点击提交表单也能接受Enter(回车键)提交表单(也就是表单里的控件在获取焦点的时候回车直接提交表单),这样就比较人性化。f

2017-05-29 10:26:04 730

转载 mybatis中采用模糊匹配得到另一种用法

需求:一个搜索框同时对userId和title进行模糊查询。第一次: where> if test="disId!=null and disId != '' " > and DIS_ID = #{disId} if> if test="category!=null" > and CATEGORY = #

2017-05-27 18:24:47 549

转载 mybaits中返回类型为boolean类型

在Mybatis中,有时候需要返回布尔值 ,来确定某个记录行是否存在。 例如:        说明: Mybatis是根据查询到的记录数进行转换的(1=true,0=false) 需要注意的地方:如果查询到多条记录(大于1),返回的却是false, 这时就与我们的期望的刚好相反。这里,可以换其它方法,可以通过返回记录数,进行判断,也可以保证记录在数据库是唯一的。

2017-05-27 15:56:19 23350 8

转载 mybaits中set标签的使用

MyBatis在生成update语句时若使用if标签,如果前面的if没有执行,则可能导致有多余逗号的错误。使用set标签可以将动态的配置SET 关键字,和剔除追加到条件末尾的任何不相关的逗号。 没有使用if标签时,如果有一个参数为null,都会导致错误,如下示例:Xml代码id="updateByPrimaryKeySelective" parameterType=

2017-05-27 15:50:44 412

转载 mybaits中多个参数传入使用

据我目前接触到的传多个参数的方案有三种。第一种方案 DAO层的函数方法 ?1PublicUser selectUser(String name,String area);对应的Mapper.xml  ?123

2017-05-27 14:34:10 405

转载 sql语句常用语

mysql> SHOW VARIABLES LIKE 'character_set_%';+--------------------------+----------------------------+| Variable_name | Value |+--------------------------+----------------------------+| charac

2017-05-26 23:02:00 398

转载 spring和redis集群的整合

上面两篇介绍了redis集群的配置合一些基本的概念,所以接下来当然是要在项目中使用咯,redis的java支持已经做的非常好了,所以我们来试着使用这些api来进行redis的操作,首先我们需要操作redis的架包: redis.clients jedis 2.7.3 我们需要做的仅仅是在spring配置文件中注入这

2017-05-26 22:00:07 232

转载 springmvc实现多文件上传

springMVC实现多文件上传的方式有两种,一种是我们经常使用的以字节流的方式进行文件上传,另外一种是使用springMVC包装好的解析器进行上传。这两种方式对于实现多文件上传效率上却有着很大的差距,下面我们通过实例来看一下这两种方式的实现方式,同时比较一下在效率上到底存在着多大的差距。1.下载相关jar包。需要引入的jar出了springMVC的jar包外,还需要引入com.springs

2017-05-26 08:49:05 482

转载 springmvc实现上传文件

1、万变不离其宗,要实现文件的上传需要对应的JAR包:1、commons-fileupload-1.2.2.jar2、commons-io-2.0.1.jar 2、要实现SpringMVC的文件上传,需要配置一下文件: 1 SpringMVC上传文件时,需要配置MultipartResolver处理器 --> 2 bean id=

2017-05-26 08:45:37 217

转载 使用ajax上传文件

通过传统的form表单提交的方式上传文件:Html代码  form id= "uploadForm" action= "http://localhost:8080/cfJAX_RS/rest/file/upload" method= "post" enctype ="multipart/form-data">       h1 >测试通过Rest接口上传文件 h1>

2017-05-26 08:44:37 554

转载 获取当前服务器的ip地址

InetAddress addr = InetAddress.getLocalHost();        String ip=addr.getHostAddress();//获得本机IP        String address=addr.getHostName();//获得本机名称

2017-05-24 21:58:57 7756

转载 bean的xml对象编写

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans.xsd">   

2017-05-22 18:26:08 216

转载 ContextLoaderListener的作用

ContextLoaderListener监听器的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。至于ApplicationContext.xml这个配置文件部署在哪,如何配置多个xml文件,书上都没怎么详细说明。现在的方法就是查

2017-05-22 16:01:11 212

转载 Spring加载resource时classpath*:与classpath:的区别

在使用spring时,经常会看到类似 classpth:、classpath*: 这样的前缀,不管是加载spring xml配置文件还是其配置文件中加载资源文件都会看到这两种前缀配置,其实这两种前缀是有区别的,下面将举例详细解释。[一]、测试项目准备我们以spring中加载properties资源文件为例讲解,目录结构大致如下:src├─main│ ├─filters

2017-05-22 15:39:10 3848

转载 activeMQ和spring集成的配置文件讲解

生产者:ActiveMQConnectionFactory类方法:setUserName(String userName) setBrokerURL(String brokerURL)setPassword(String password)                                ------------------

2017-05-22 15:33:24 2784

转载 hibernate中的n+1问题

什么时候会遇到1+N的问题? 前提:hibernate默认表与表的关联方法是fetch="select",不是fetch="join",这都是为了懒加载而准备的。   1)一对多() ,在1的这方,通过1条sql查找得到了1个对象,由于关联的存在 ,那么又需要将这个对象关联的集合取出,所以合集数量是n还要发出n条sql,于是本来的1条sql查询变成了1 +n条 。   

2017-05-22 15:31:42 339

转载 Maven的ActiveMQ+spring的简单使用

本文主要是示范基于Maven的ActiveMQ+spring的简单使用,基于ActiveMQ消息代理的Spring JMS消息配置,以及定时任务的使用。JMS简介JMS提供了应用之间的异步通信机制,当异步发送消息时,客户端不需要等待服务端处理消息结果。构建JMS两个主要概念:消息代理(message broker)和目的地(destination)。

2017-05-22 13:15:09 552

java性能权威指南高清

java进阶必备书籍,高清版。带目录结构。方便阅读,书中内容讲的透彻

2018-12-28

kafka源码解析与实战

kafka高级进阶必备书籍,高清版。带目录结构。方便阅读,书中内容讲的透彻

2018-12-28

深入java内存模型

java进行必备书籍,高清版。带目录结构。方便阅读,书中内容讲的透彻

2018-12-28

jvm和gc详解及调优

java进阶必备书籍,高清版。带目录结构。方便阅读,书中内容讲的透彻

2018-12-28

阿里巴巴java开发手册

java入门必备书籍,高清版。带目录结构。方便阅读,书中内容讲的透彻

2018-12-28

mysql高性能高清版

mysql进阶必读书籍,高清版带书签方便阅读。最新中文版

2018-12-28

java实现走迷宫

java实现走迷宫

2016-03-14

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

TA关注的人

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