自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

末路狂奔》》》》

宁静以致远,温文尔雅。

  • 博客(263)
  • 收藏
  • 关注

转载 Java 并发工具包 java.util.concurrent 用户指南

译序本指南根据 Jakob Jenkov 最新博客翻译,请随时关注博客更新:http://tutorials.jenkov.com/java-util-concurrent/index.html。本指南已做成中英文对照阅读版的 pdf 文档,有兴趣的朋友可以去 Java并发工具包java.util.concurrent用户指南中英文对照阅读版.pdf[带书签] 进行下载。

2017-03-22 11:00:47 658

转载 【MySQL】insert批量插入优化方案

对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像报表系统,每天花费在数据导入上的时间可能会长达几个小时或十几个小时之久。因此,优化数据库插入性能是很有意义的。经过对MySQL innodb的一些性能测试,发现一些可以提高insert效率的方法,供大家参考参考。一条SQL语句插入多条数据常用的插入语句如:INSERT INTO `

2017-03-22 10:38:05 971

转载 【MySQL】悲观锁&乐观锁

悲观锁与乐观锁是两种常见的资源并发锁设计思路,也是并发编程中一个非常基础的概念。本文将对这两种常见的锁机制在数据库数据上的实现进行比较系统的介绍。悲观锁(Pessimistic Lock)悲观锁的特点是先获取锁,再进行业务操作,即“悲观”的认为获取锁是非常有可能失败的,因此要先确保获取锁成功再进行业务操作。通常所说的“一锁二查三更新”即指的是使用悲观锁。通常来讲在数据库上的悲观

2017-03-22 10:14:19 864

转载 RabbitMQ消息队列(五):Routing 消息路由[转]

上篇文章中,我们构建了一个简单的日志系统。接下来,我们将丰富它:能够使用不同的severity(严重程度)来监听不同等级的log。比如我们希望只有error的log才保存到磁盘上。1. Bindings绑定    上篇文章中我们是这么做的绑定:channel.QueueBind(queueName, EXCHANGE_NAME, ROUTING_KEY);//con

2017-02-25 15:19:31 3483

转载 RabbitMQ消息队列(四):分发到多Consumer(Publish/Subscribe)[转]

上篇文章中,我们把每个Message都是deliver(提供)到某个Consumer。在这篇文章中,我们将会将同一个Message deliver(提供)到多个Consumer中。这个模式也被成为 "publish / subscribe"。    这篇文章中,我们将创建一个日志系统,它包含两个部分:第一个部分是发出log(Producer),第二个部分接收到并打印(Consumer)。 我们

2017-02-25 15:18:28 1124

转载 RabbitMQ消息队列(三):任务分发机制[转]

在上篇文章中,我们解决了从发送端(Producer)向接收端(Consumer)发送“Hello World”的问题。在实际的应用场景中,这是远远不够的。从本篇文章开始,我们将结合更加实际的应用场景来讲解更多的高级用法。   当有Consumer需要大量的运算时,RabbitMQ Server需要一定的分发机制来balance每个Consumer的load。接下来我们分布讲解。 

2017-02-25 15:17:46 643

转载 RabbitMQ消息队列(二):"Hello, World"[转]

2. Sending第一个program send.cs:发送Hello world 到queue。正如我们在上篇文章提到的,你程序的第9行就是建立连接,第12行就是创建channel,第14行创建名字为hello的queue。 1 using System; 2 using RabbitMQ.Client; 3 using System.Text; 4 5

2017-02-25 15:17:04 450

转载 RabbitMQ消息队列(一): Detailed Introduction 详细介绍[转]

1. 历史    RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere M

2017-02-25 15:16:16 463

转载 Java List 生成 树Java List 生成 树

Java List 生成 树Java List 生成 树package com.victop.ibs;import java.util.ArrayList;import java.util.List;import org.apache.commons.collections.CollectionUtils;public class TreeBuilder

2017-02-25 14:19:02 1018

转载 mybatis 中 foreach collection的三种用法

转载:http://blog.sina.com.cn/s/blog_b0d90e8c0102v1q1.htmlforeach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有 item,index,collection,open,separator,close。    item表示集合中每一个元素进行迭代时的别名,    in

2017-02-23 11:41:10 4259

转载 单例模式的七种写法

第一种(懒汉,线程不安全): Java代码  public class Singleton {      private static Singleton instance;      private Singleton (){}        public static Singleton getInstance() {      if (instance == nu

2017-02-05 11:22:09 339

转载 redis中的事务、lua脚本和管道的使用场景

事务Redis中的事务并不像MySQL中那么完美,只是简单的保证了原子性。redis中提供了四个命令来实现事务,MULTI:类似于mysql中的BEGIN;EXEC:类似于COMMIT;DISCARD类似于ROLLBACK;WATCH则是用于来实现mysql中类似锁的功能。具体的使用方法非常简单,例如:127.0.0.1:6379> multiOK127.0.0.1:6379> i

2017-01-06 15:23:35 500

转载 Redis事务介绍

Redis事务介绍概述相信学过MySQL等其他数据库的同学对事务这个词都不陌生,事务表示的是一组动作,这组动作要么全部执行,要么全部不执行。为什么会有这样的需求呢?看看下面的场景:微博是一个弱关系型社交网络,用户之间有关注和被关注两种关系,比如两个用户A和B,如果A关注B,则B的粉丝中就应该有A。关注这个动作需要两个步骤完成:在A的关注者中添加B;在B的

2016-12-22 17:41:14 430

转载 spring data Redis 集成jedis操作 redis中的数据。

这篇文章主要说spring data Redis 集成jedis操作 redis中的数据。还有一个和spring mvc 的小整合。实现了对用户的添加查询操作,后期有需要大家可以自己扩展。代码目录结构如下下面列出几个主要的文件吧,最后面有整个工程的下载pom.xml[html] view plain copyproje

2016-12-21 15:08:53 960

原创 架构师养成(1)TCP/IP协议簇

一,定义:首先贴一段百科的介绍            TCP/IP协议簇是Internet的基础,也是当今最流行的组网形式。TCP/IP是一组协议的代名词,包括许多别的协议,组成了TCP/IP协议簇。其中比较重要的有SLIP协议、PPP协议、IP协议、ICMP协议、ARP协议、TCP协议、UDP协议、FTP协议、DNS协议、SMTP协议等。TCP/IP协议并不完全符合OSI的七层参考模型。传统

2016-12-18 22:26:01 544

转载 linux下查询进程占用的内存方法总结

linux下查询进程占用的内存方法总结假设现在有一个「php-cgi」的进程 ,进程id为「25282」。现在想要查询该进程占用的内存大小。linux命令行下有很多的工具进行查看,现总结常见的几种方式:通过进程的 status[root@web3_u ~]# cat /proc/25282/statusName: php-cgiState: S (sleepin

2016-12-12 18:42:37 5512

转载 构建高并发高可用的电商平台架构实践

从各个角度总结了电商平台中的架构实践,由于时间仓促,定了个初稿,待补充完善,欢迎大家一起交流。转载请声明出处:http://blog.csdn.net/yangbutao/article/details/12242441作者:杨步涛关注分布式架构、大数据、搜索、开源技术QQ:306591368技术Blog:http://blog.csdn.NET/yangbutao 一

2016-12-09 18:05:05 659

转载 wildfly standalone 模式配置成linux 服务

1.配置文件新增配置文件 /etc/default/wildfly.conf##jdk环境JAVA_HOME="/usr/local/jdk" ## JBOSS_HOME是Wildfly的安装根目录 JBOSS_HOME="/usr/local/wildfly8" ## 这里需要改为执行wildfly的用户 JBOSS_USER=root ## 指定运行模式 JBO

2016-12-08 17:48:38 1022

转载 TCP和UDP的区别

TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。TCP/IP协议集包括应用层,

2016-12-08 16:12:27 547

转载 linux下安装配置jdk8

作为Java开发人员,在Linux下安装一些开发工具是必备技能,本文以安装jdk为例,详细记录了每一步的操作命令,以供参考。0.下载jdk8登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择对应jdk版本下载。(可在Windows下下载完成后,通过文件夹共享

2016-12-07 23:13:10 427

转载 MySQL的语句执行顺序

MySQL的语句一共分为11步,如下图所标注的那样,最先执行的总是FROM操作,最后执行的是LIMIT操作。其中每一个操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入,只是这些虚拟的表对用户来说是透明的,但是只有最后一个虚拟的表才会被作为结果返回。如果没有在语句中指定某一个子句,那么将会跳过相应的步骤。下面我们来具体分析一下查询处理的每一个阶段FORM: 对FROM的左

2016-11-20 22:11:11 511

转载 mysql中join后on、where的区别

可能只看这两个关键字看不出任何的问题。那我们使用实际的例子来说到底有没有差异。    例如存在两张表A,B表数据如下: 语句一Sql代码select  A.ID as AID, B.ID as BID   from A left join B on A.ID = B.ID where B.ID<3   语句二Sql代码

2016-11-20 21:29:19 15212

转载 Mysql Explain 详解2

Mysql Explain 详解一.语法explain 例如: explain select * from t3 where id=3952602;二.explain输出解释+----+-------------+-------+-------+-------------------+---------+---------+-------+------+

2016-11-19 00:04:14 309

转载 MYSQL explain详解

MYSQL explain详解explain显示了MySQL如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。先解析一条sql语句,看出现什么内容EXPLAINSELECTs.uid,s.username,s.name,f.email,f.mobile,f.phone,f.postalcode,f.addressFR

2016-11-18 23:47:54 338

转载 windows 下配置 Nginx 常见问题

windows 下配置 Nginx 常见问题因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦。至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置。我的系统是win7旗舰版的,到官网下载最新版本 nginx/Windows-1.7.9 解压到英文目录下(我刚开始是放到中文目录下的,启动时会有问题,下面常见错误里会讲到)。一、 

2016-11-10 11:22:54 394

转载 nginx 负载均衡时,一台tomcat宕机时的问题 自动切换

如果Nginx没有仅仅只能代理一台服务器的话,那它也不可能像今天这么火,Nginx可以配置代理多台服务器,当一台服务器宕机之后,仍能保持系统可用。具体配置过程如下:1. 在http节点下,添加upstream节点。upstream linuxidc {      server 10.0.6.108:7080;      server 10.0.0.85:8980;}

2016-11-10 11:19:32 40120 6

转载 nginx的upstream目前支持5种方式的分配

1、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 例如: upstream bakend { server 192.168.0.14 weight=10; server 192.168.0.15 weight=10;

2016-11-10 11:09:24 568

转载 win7下安装nginx

环境介绍:Win7 64位SP1Nginx版本:nginx/1.8.0参考链接http://nginx.org/en/docs/windows.html1.  下载nginx1.8.0版本:http://nginx.org/download/nginx-1.8.0.zip2. 解压软件到对应位置,并重命名文件夹为nginx3. 启动nginx服务:

2016-11-10 10:24:07 504

转载 使用Spring Session做分布式会话管理

在Web项目开发中,会话管理是一个很重要的部分,用于存储与用户相关的数据。通常是由符合session规范的容器来负责存储管理,也就是一旦容器关闭,重启会导致会话失效。因此打造一个高可用性的系统,必须将session管理从容器中独立出来。而这实现方案有很多种,下面简单介绍下:  第一种是使用容器扩展来实现,大家比较容易接受的是通过容器插件来实现,比如基于Tomcat的tomcat-redis

2016-11-09 16:23:42 609

转载 项目使用git初始化流程

github一直都是在上面拿资源。感觉有点愧对大众。是不是应该奉献自己的力量给github来推动开源的发展呢。 在两个月前第一次在github新建项目,并且push了一套比赛的源码。但。。。今天竟然忘了怎么用git了。又复习了一次。所以这次打算在这里作个笔记。给自己做个的或是给git新手做的也好吧。为互联网贡献一点力量。一: 安装git和配置就不说了。二:进入到等下要push的

2016-11-02 14:39:14 3803

原创 java.lang.NoSuchMethodError 解决办法

出现这种问题一般是因为有不同版本的类,导致jvm不知道选择哪一个方法,直接报错 解决方案:在异常中找到该类,通过类的全名再项目中查找出该类,一般有多个地方,找到之后,就可以选择去掉其中一个。                    有时候也会出现在被重写的类中,处理方法类似。

2016-11-02 11:46:10 8122

原创 build.gradle

group 'com.ddb.oa'version '1.0-SNAPSHOT'apply plugin: 'java'apply plugin: 'war'sourceCompatibility = 1.7repositories {    maven{url "http://maven.aliyun.com/nexus/content/group

2016-11-01 23:39:10 1151

转载 在Linux上搭建mycat

在Linux上搭建mycat 环境:windows7虚拟机:Oracle VMVirtualBoxLinux: ubuntukylin-14.04.1-amd64.isoJDK:1.7MySQL:5.5 一.环境准备step1:安装虚拟机step2:修改宿主机BIOS配置,详细步骤见文章:http://blog.csdn.NET/lanonola/artic

2016-11-01 14:51:45 476

转载 Maven安装配置

想要安装 Apache Maven 在Windows 系统上, 需要下载 Maven 的 zip 文件,并将其解压到你想安装的目录,并配置 Windows 环境变量。所需工具 :JDK 1.8Maven 3.3.3Windows 7注Maven 3.2 要求 JDK 1.6 或以上版本, 而 Maven 3.0/3.1 需要 JDK 1.5 或以上1. JDK

2016-10-30 10:24:59 281

转载 ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台

摘要: 前段时间研究的Log4j+Kafka中,有人建议把Kafka收集到的日志存放于ES(ElasticSearch,一款基于Apache Lucene的开源分布式搜索引擎)中便于查找和分析,在研究此方案可行性的时候,我发现ELK(ElasticSearch, Logstash, Kibana)平台恰好可以同时实现日志收集、日志搜索和日志分析的功能,于是又去学习了一番。之后发现如果使用这三者,收

2016-10-26 10:37:49 419

原创 mycat配置mysql简单的读写分离

安装mycat在这里就不说了。。。 修改schema.xml文件      writeType="0" dbType="mysql" dbDriver="native">show SLAVE status java 项目直接连接mycat的TESTDB 即

2016-10-25 16:28:32 394

转载 mysql主从复制

怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下:1、主从服务器分别作以下操作:  1.1、版本一致  1.2、初始化表,并在后台启动mysql  1.3、修改root的密码2、修改主服务器master:   #vi /etc/my.cnf       [mysqld]       log-bin=mysql-bin   //[必须]启用二进

2016-10-25 16:23:44 248

转载 使用curl指令測試REST服務

cURL 是很方便的Rest客戶端,可以很方便的完成許多Rest API測試的需求,甚至,如果是需要先登入或認證的rest api,也可以進行測試,利用curl指令,可以送出HTTP GET, POST, PUT, DELETE, 也可以改變 HTTP header來滿足使用REST API需要的特定條件。curl的參數很多,這邊僅列出目前測試REST時常用到的:-X/--requ

2016-09-19 19:24:00 940

转载 Mysql 多表查询详解

1.前言:上篇讲到Mysql中关键字执行的顺序,只涉及了一张表;实际应用大部分情况下,查询语句都会涉及到多张表格 :1)多表连接有哪些分类;2)针对这些分类有哪些连接方法?3)这些连接方法分别作用于哪些应用场景?这篇针对这三个点通过实例来讲述,目的是穷尽所有的场景和所有的方法,并且对每个方法的使用做实例。首先先列举本篇用到的连接方法:内链接:join

2016-09-18 08:50:45 372

转载 Mysql 语句执行顺序

1.这样一个问题,作为一个开发人员需要掌握数据库的哪些东西?  在开发中涉及到数据库,基本上只用到了sql语句,如何写sql以及对其进行优化就比较重要,那些mysql的厚本书籍针对的是DBA,我们只需要学习其中的sql就可以了。2.既然会写sql是目标,那么怎么才能写好sql.学习下面几点:1)Mysql的执行顺序,这个是写sql的核心,之前遇到的一些错误就是因为对其不了解;

2016-09-18 08:49:52 679

空空如也

空空如也

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

TA关注的人

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