自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

java的平凡之路

博客的文章都是平时学习或者遇到其他人写的不错的文章分享,也是做一个记录,希望大家喜欢

  • 博客(920)
  • 资源 (3)
  • 收藏
  • 关注

转载 Vue.js——vue-resource全攻略

概述上一篇我们介绍了如何将$.ajax和Vue.js结合在一起使用,并实现了一个简单的跨域CURD示例。Vue.js是数据驱动的,这使得我们并不需要直接操作DOM,如果我们不需要使用jQuery的DOM选择器,就没有必要引入jQuery。vue-resource是Vue.js的一款插件,它可以通过XMLHttpRequest或JSONP发起请求并处理响应。也就是说,$.ajax能做的事情,vu...

2018-08-06 15:49:46 672

转载 Vue.js更深入的认识、理解和部署优化

原文链接:http://caibaojian.com/step-in-vue-js.htmlVue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式。本文旨在帮助大家认识Vue.js,了解Vue.js的开发流程,并进一步理解如何通过Vue.js来构建一个中大型的前端项目,同时做好相应的部署与优化工作。·文章将以PPT图片附加文字介绍的形式展...

2018-08-02 17:00:48 788

转载 vue--vuex详解

 Vuex    什么是Vuex?       官方说法:Vuex 是一个专为 Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。      个人理解:Vuex是用来管理组件之间通信的一个插件    为什么要用Vuex?      我们知道组件之间是独立的,组件之间想要实现通信,我目前知道的就只有...

2018-08-02 16:13:57 407

转载 当ThreadLocal碰上线程池

ThreadLocal使用ThreadLocal可以让线程拥有本地变量,在web环境中,为了方便代码解耦,我们通常用它来保存上下文信息,然后用一个util类提供访问入口,从controller层到service层可以很方便的获取上下文。下面我们通过代码来研究一下ThreadLocal。新建一个ThreadContext类,用于保存线程上下文信息public class ThreadC...

2018-07-31 15:52:29 1221

转载 Linux 下 yum源配置文件 repo 文件学习

什么是repo文件?repo 文件是 Linux 中yum源(软件仓库)的配置文件,通常一个 repo 文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用! YUM的工作原理并不复杂,每一个 RPM软件的头(header)里面都会纪录该软件的依赖关系,那么如果可以将该头的内容纪录下来并且进行分...

2018-07-25 15:57:00 9722

转载 高并发解决方案--负载均衡

1,什么是负载均衡?当一台服务器的性能达到极限时,我们可以使用服务器集群来提高网站的整体性能。那么,在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据每台服务器的负载情况将请求分配给某一台后端服务器去处理。那么在这个过程中,调度者如何合理分配任务,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均衡问题。下面详细介绍负载均...

2018-07-05 14:08:07 744

转载 TCP 三次握手原理,你真的理解吗?

问题描述场景:JAVA的client和server,使用socket通信。server使用NIO。1.间歇性得出现client向server建立连接三次握手已经完成,但server的selector没有响应到这连接。2.出问题的时间点,会同时有很多连接出现这个问题。3.selector没有销毁重建,一直用的都是一个。4.程序刚启动的时候必会出现一些,之后会间歇性出现。分析问题正常TCP建连接三次握...

2018-07-05 14:07:29 622

转载 HttpClient 4.3连接池参数配置及源码解读

 目前所在公司使用HttpClient 4.3.3版本发送Rest请求,调用接口。最近出现了调用查询接口服务慢的生产问题,在排查整个调用链可能存在的问题时(从客户端发起Http请求->ESB->服务端处理请求,查询数据并返回),发现原本的HttpClient连接池中的一些参数配置可能存在问题,如defaultMaxPerRoute、一些timeout时间的设置等,虽不能确定是由于此连接...

2018-07-03 15:49:32 441

转载 HttpClient 4.3连接池参数配置及源码解读

 目前所在公司使用HttpClient 4.3.3版本发送Rest请求,调用接口。最近出现了调用查询接口服务慢的生产问题,在排查整个调用链可能存在的问题时(从客户端发起Http请求->ESB->服务端处理请求,查询数据并返回),发现原本的HttpClient连接池中的一些参数配置可能存在问题,如defaultMaxPerRoute、一些timeout时间的设置等,虽不能确定是由于此连接...

2018-07-03 15:49:32 373

转载 Netty,HttpAsyncClient和阻塞I/O(Httpclient)比较

客户端比较Netty 4.0.8(无连接池)Apache HttpAsyncClient 4.0-beta4(启动连接池)Apache HttpClient 4.3(启用连接池)测试设置在服务器端,在Amazon EC2云中设置了一组服务器。它们都服务相对静态的内容,其中唯一的变化是可以从客户端的查询参数控制的有效载荷的大小。每个服务器运行300个线程的Tomcat应用程序。客户端在我的笔记本电脑...

2018-06-27 16:45:55 1939

转载 异步httpclient---HttpAsyncClient的使用

这两天研究了一下异步的httpclient ---- httpAsyncClient原来使用httpclient都是同步的,如果项目中有大量的httpclient的话,可能会造成阻塞,如果使用异步请求的话可以避免这些问题可以用在调用第三方接口或者不需要知道请求返回结果的场景下于是写了一个工具类来封装了同步异步httpclientgithub地址:https://github.com/a638817...

2018-06-26 14:25:58 4284

转载 基于Netty4的HttpServer和HttpClient的简单实现

Netty的主页:http://netty.io/index.html使用的Netty的版本:netty-4.0.23.Final.tar.bz2 ‐ 15-Aug-2014 (Stable, Recommended)Http 消息格式:Http request:Method path-to-resource HTTPVersion-numberHeader-name-1: value1Hea...

2018-06-26 11:36:54 208

转载 netty的http client连接池设计

使用netty作为http的客户端,pool又该如何进行设计。本文将会进行详细的描述。1 复用类型的选型1.1 channel 复用多个请求可以共用一个channel模型如下:                     特点:       1:callback队列为回调队列。 不同的callback通过一个全局的id进行标识。发送的时候会把该id发到服务端,服务端在回复的时候必须把该id再返回到客户...

2018-06-25 17:16:59 2476

转载 Netty之ChannelOption

在用netty作为底层网络通信的时候关于ChannelOption的参数让我一直模糊不清楚,于是去看一下linux网络编程,发现ChannelOption的各种属性在套接字选项中都有对应  下面简单的总结一下ChannelOption的含义已及使用的场景  1、ChannelOption.SO_BACKLOG    ChannelOption.SO_BACKLOG对应的是tcp/ip协议liste...

2018-06-25 15:46:24 260

转载 Netty笔记4-如何实现长连接

一个简单的长连接demo分为以下几个步骤:创建连接(Channel)发心跳包发消息,并通知其他用户一段时间没收到心跳包或者用户主动关闭之后关闭连接​ 看似简单的步骤,里面有两个技术难点:如何保存已创建的Channel这里我们是将Channel放在一个Map中,以Channel.hashCode()作为key其实这样做有一个劣势,就是不适合水平扩展,每个机器都有一个连接数的上线,如果需要实现多用...

2018-06-25 11:30:50 631

转载 Netty入门教程3——Decoder和Encoder

什么是Decoder和Encoder​ 在学习Decoder和Encoder之前,首先要了解他们在具体是个什么东西。在Netty里面,有四个核心概念,这个在第一篇文章提到的,他们的分别是:Channel,一个客户端与服务器通信的通道ChannelHandler,业务逻辑处理器,分为ChannelInboundHandler和ChannelOutboundHandlerChannelInboun...

2018-06-25 11:26:36 389

转载 Netty入门教程2——动手搭建HttpServer

认识Http请求在动手写Netty框架之前,我们先要了解http请求的组成,如下图:HTTP request component partsHTTP Request 第一部分是包含的头信息HttpContent 里面包含的是数据,可以后续有多个 HttpContent 部分LastHttpContent 标记是 HTTP request 的结束,同时可能包含头的尾部信息完整的 HTTP reque...

2018-06-25 11:26:01 175

转载 Netty入门教程——认识Netty

什么是Netty?Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。Netty 是一个广泛使用的 Java 网络编程框架(Netty 在 2011 年获得了Duke's Choice Award,见https://www.java.net/dukeschoice/2011)。它活跃和成长于用户社区,像大型公司 Facebook...

2018-06-25 11:25:15 191

转载 Supervisor安装与配置(Linux/Unix进程管理工具)

Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,...

2018-06-21 18:08:33 188

转载 supervisor 从安装到使用

一、安装源码安装先下载最新的supervisor安装包:https://pypi.python.org/pypi/supervisor , 如:cd /usr/local/srcwget https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419eae/super...

2018-06-21 18:07:28 2323

转载 服务发现 - consul 的介绍、部署和使用

什么是服务发现相关源码: spring cloud demo微服务的框架体系中,服务发现是不能不提的一个模块。我相信了解或者熟悉微服务的童鞋应该都知道它的重要性。这里我只是简单的提一下,毕竟这不是我们的重点。我们看下面的一幅图片:图中,客户端的一个接口,需要调用服务A-N。客户端必须要知道所有服务的网络位置的,以往的做法是配置是配置文件中,或者有些配置在数据库中。这里就带出几个问题:需要配置N个服...

2018-06-21 17:25:11 3509

转载 Consul 入门指南

一、安装 Consul  Consul 下载地址:https://www.consul.io/downloads.html,下载后解压就是一个可执行的二进制文件consul,配置好环境变量,检查 consul 是否可用:[root@localhost ~]# consul Usage: consul [--version] [--help] <command> [<args&g...

2018-06-21 17:06:38 2203 1

转载 consul怎么在windows下安装

Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件, 由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源。Consul 支持健康检查, 并允许 HTTP 和 DNS 协议调用 API 存储键值对。命令行超级好用的虚拟机管理软件 vgrant 也是 HashiCorp 公司开发的产品。一致性协议采用 ...

2018-06-21 16:41:58 475

转载 JAVA NIO2模式之Proactor( JDK7 AIO异步网络IO初探)

 按照《Unix网络编程》的划分,IO模型可以分为:阻塞IO、非阻塞IO、IO复用、信号驱动IO和异步IO,按照POSIX标准来划分只分为两类:同步IO和异步IO。如何区分呢?首先一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作,同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO,因此阻塞IO、非阻塞IO、IO复用、信号驱动IO都是同步I...

2018-06-08 09:28:17 429

转载 利用JDK7的NIO2.0进行I/O读写和文件操作监控

最近在学习新的jdk 7提供的NIO 2.0,发现这个东东提供的java.nio.file包里的若干类,大大的方便了文件读写操作,而且编码相当简单,做了很好的封装。它的一个核心类就是Path。下面就是windows系统下新增,删除,拷贝,move文件的简单示例,注意,需要JDK7的编译和运行环境[java] view plaincopyimport static java.nio.file.Sta...

2018-06-08 09:28:10 427

转载 Java NIO系列教程(十二) Java NIO与IO

当学习了Java NIO和IO的API后,一个问题马上涌入脑海:我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异、它们的使用场景,以及它们如何影响您的代码设计。Java NIO和IO的主要区别下表总结了Java NIO和IO之间的主要差别,我会更详细地描述表中每部分的差异。IO                           NIO面向流     ...

2018-06-08 09:28:03 146

转载 Java NIO系列教程(十一) Pipe

Java NIO 管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。这里是Pipe原理的图示:创建管道通过Pipe.open()方法打开管道。例如:1Pipe pipe = Pipe.open();向管道写数据要向管道写数据,需要访问sink通道。像这样:1Pipe.SinkChannel sinkChannel ...

2018-06-08 09:27:58 173

转载 Java NIO系列教程(十) Java NIO DatagramChannel

Java NIO中的DatagramChannel是一个能收发UDP包的通道。因为UDP是无连接的网络协议,所以不能像其它通道那样读取和写入。它发送和接收的是数据包。打开 DatagramChannel下面是 DatagramChannel 的打开方式:1DatagramChannel channel = DatagramChannel.open();2channel.socket().bind(...

2018-06-08 09:27:50 183

转载 Java NIO系列教程(九) ServerSocketChannel

Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样。ServerSocketChannel类在 java.nio.channels包中。这里有个例子:01ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();02 03...

2018-06-07 17:06:43 197

转载 Java NIO系列教程(八) SocketChannel

Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道。可以通过以下2种方式创建SocketChannel:打开一个SocketChannel并连接到互联网上的某台服务器。一个新连接到达ServerSocketChannel时,会创建一个SocketChannel。打开 SocketChannel下面是SocketChannel的打开方式:1SocketChannel s...

2018-06-07 17:00:56 183

转载 Java NIO系列教程(七) FileChannel

Java NIO中的FileChannel是一个连接到文件的通道。可以通过文件通道读写文件。FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下。打开FileChannel在使用FileChannel之前,必须先打开它。但是,我们无法直接打开一个FileChannel,需要通过使用一个InputStream、OutputStream或RandomAccessFile来获取一个File...

2018-06-07 16:14:40 182

转载 Java NIO系列教程(六) Selector

Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。下面是本文所涉及到的主题列表:为什么使用Selector?Selector的创建向Selector注册通道SelectionKey通过Selector选择通道wakeUp()close()完整的示例为什么使用...

2018-06-07 16:10:16 205

转载 Java NIO系列教程(五) 通道之间的数据传输

在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel(译者注:channel中文常译作通道)传输到另外一个channel。transferFrom()FileChannel的transferFrom()方法可以将数据从源通道传输到FileChannel中(译者注:这个方法在JDK文档中的解释为将字节从给定的可读取字节通道传输到此通道的文件中)。...

2018-06-07 15:43:21 138

转载 Java NIO系列教程(四) Scatter/Gather

Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在中文经常翻译为通道)中读取或者写入到Channel的操作。分散(scatter)从Channel中读取是指在读操作时将读取的数据写入多个buffer中。因此,Channel将从Channel中读取的数据“分散(scatter)”到多个Buffer中。聚集(gather...

2018-06-07 15:36:50 128

转载 Java NIO系列教程(三) Buffer

Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。下面是NIO Buffer相关的话题列表:Buffer的基本用法Buffer的capacity,position和limitBuffer的类...

2018-06-07 15:08:17 175

转载 Java NIO系列教程(二) Channel

Java NIO的通道类似流,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。通道可以异步地读写。通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:Channel的实现这些是Java NIO中最重要的通道的实现:FileChannelDatagramChannel...

2018-06-07 11:41:08 231

转载 Java NIO系列教程(一) Java NIO 概述

Java NIO 由以下几个核心部分组成:ChannelsBuffersSelectors虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使用的工具类。因此,在概述中我将集中在这三个组件上。其它组件会在单独的章节中讲到。Channel 和 Buff...

2018-06-07 11:40:25 182

转载 HttpClient 4.3连接池参数配置及源码解读

目前所在公司使用HttpClient 4.3.3版本发送Rest请求,调用接口。最近出现了调用查询接口服务慢的生产问题,在排查整个调用链可能存在的问题时(从客户端发起Http请求->ESB->服务端处理请求,查询数据并返回),发现原本的HttpClient连接池中的一些参数配置可能存在问题,如defaultMaxPerRoute、一些timeout时间的设置等,虽不能确定是由于此连接池...

2018-06-07 10:34:59 3089

转载 Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)

本文会从传统的BIO到NIO再到AIO自浅至深介绍,并附上完整的代码讲解。    下面代码中会使用这样一个例子:客户端发送一段算式的字符串到服务器,服务器计算后返回结果到客户端。    代码的所有说明,都直接作为注释,嵌入到代码中,看代码时就能更容易理解,代码中会用到一个计算结果的工具类,见文章代码部分。    相关的基础知识文章推荐:    Linux 网络 I/O 模型简介(图文)    Ja...

2018-06-06 12:07:19 233

转载 Linux 网络 I/O 模型简介(图文)

1、介绍    Linux 的内核将所有外部设备都看做一个文件来操作(一切皆文件),对一个文件的读写操作会调用内核提供的系统命令,返回一个file descriptor(fd,文件描述符)。而对一个socket的读写也会有响应的描述符,称为socket fd(socket文件描述符),描述符就是一个数字,指向内核中的一个结构体(文件路径,数据区等一些属性)。    根据UNIX网络编程对I/O模型...

2018-06-06 11:18:55 340

51CTO下载-社区视频监控系统VC++MFC源代码

SFDGH反复各回个话的复试地方法过后果后的发挥规范化付首付供货商

2011-03-18

院前心电图远程实时快速网络传输模式建立

fbndnfmvnbnxcvcgfdbgnbnbnxzxf

2011-03-18

51CTO下载-社区视频监控系统VC++MFC源代码

发个环境斤斤计较见见就发广告干哥哥古古怪怪古古怪怪

2011-03-18

空空如也

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

TA关注的人

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