自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

转载 metaq

本来只是想看下metaq的文档,结果发现好乱,现在metaq其实有两个大分支了,一个是庄晓丹维护的已开源的,另外一个是淘宝内部的,本质结构原理没太大区别,只不过开源的已经去掉了对淘系相关的依赖。然后淘系的metaq已经到3.*版本了,但是文档比较乱,深入到细节时,发现好乱,一个点有好几种说法,火大,干脆自己看metaq的源码,有点意思,做个笔记记录下,怕我以后忘记了。有少量的章节和图片从内网拿来的

2017-05-25 10:09:17 394

转载 http协议

关于HTTP协议,一篇就够了HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,

2017-05-24 14:42:36 432

转载 docker

Docker —几个概念的理解2016-06-10 04:46 by wish123, 2909 阅读, 0 评论, 收藏, 编辑本文从一种使用场景来引出docker,并讨论了什么是镜像,容器,仓库,以及docker的相关概念。试想一种使用场景:我的wordpress 博客网站现在部署在阿里云服务器上,但是在后期的使用中我有可能有这样一种需求,阿里云太贵,我可能实在付不起每

2017-05-24 14:38:30 391

转载 RocketMQ基本概念及原理介绍

基本概念ProducerGroup通常具有同样属性(处理的消息种类-topic、以及消息处理逻辑流程—分布式多个客户端)的一些producer可以归为同一个group。在事务消息机制中,如果某条发送某条消息的producer-A宕机,使得事务消息一直处于PREPARED状态并超时,则broker会回查 同一个group的其他producer,确认这条消息应该commit还是roll

2017-05-23 15:42:39 895

转载 aop两种代理方式

原文地址:http://blog.csdn.NET/u013126379/article/details/52121096一、原理区别Java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。1、如果目标对

2017-05-23 14:55:33 378

转载 ibatis源码学习1_整体设计和核心流程

背景介绍ibatis实现之前,先来看一段jdbc代码:Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/learnworld"; Connection con = DriverManager.getConnection(url, "root","learnworld")

2017-05-19 22:19:21 299

转载 ibatis 批量入库优化

标签:最近做pos数据文件解析及入库的开发,其中pos的流水文件一个文件中就包含8000多条数据,每次插入数据库执行的sql都是相同的。因此考虑到使用批量插入来提升效率。查看ibatis的文档,看到提供了startBatch和executBatch两个方法,看名字大概就知道这两个方法和批量执行有关。我立马在之前的for循环外面加上了这两个方法:sqlMap.getSql

2017-05-19 17:02:52 1293

转载 设计模式之六大原则

目录:设计模式六大原则(1):单一职责原则设计模式六大原则(2):里氏替换原则设计模式六大原则(3):依赖倒置原则设计模式六大原则(4):接口隔离原则设计模式六大原则(5):迪米特法则设计模式六大原则(6):开闭原则设计模式六大原则(1):单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题

2017-05-18 10:20:48 354

转载 webservice

核心技术

2017-05-17 16:31:41 237

转载 dubbo

由于dubbo官网已经打不开了,这里是我的云盘 共享http://pan.baidu.com/s/1pJ7o9PT官网给出的 zk安装官网给出的 dubbo-admin安装1.下载dubbo-admin-2.5.4.war包,放在tomcat/webapps下更改dubbo.properties 文件

2017-05-17 09:50:37 278

转载 KAFKA

2.3 kafka 应用场景日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer,例如hadoop、Hbase、Solr等。消息系统:解耦和生产者和消费者、缓存消息等。用户活动跟踪:Kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic

2017-05-16 15:55:54 186

转载 TCP/IP、Http、Socket的区别?

作者:xiaocui链接:https://www.zhihu.com/question/39541968/answer/81841947来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。网络由下往上分为  物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。  通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HT

2017-05-16 14:33:29 403

转载 Redisson 分布式锁实现分析

Redisson 分布式锁实现分析redissonWhy 分布式锁java.util.concurrent.locks中包含了 JDK 提供的在多线程情况下对共享资源的访问控制的一系列工具,它们可以帮助我们解决进程内多线程并发时的数据一致性问题。但是在分布式系统中,JDK 原生的并发锁工具在一些场景就无法满足我们的要求了,这就是为什么要使用分布式锁。我总结了

2017-05-15 16:52:44 524

转载 线程池设置大小

线程池的理想大小取决于被提交任务的类型以及所部属系统的特性。在系统中一般不固定线程池的大小,而是通过某种配置机制来提供。或则根据处理器的数量来决定:我们可以通过如下代码来获取处理器的数量://获取处理器的数量 System.out.println(Runtime.getRuntime().availableProcessors());1212这行代码可以直接输出当前机器处理器

2017-05-15 13:53:33 582

转载 相关sql

Group By 和 Having, Where ,Order by这些关键字是按照如下顺序进行执行的:Where, Group By, Having, Order by。

2017-05-11 18:55:50 165

转载 跨服务器Session共享的四种方法

网站业务规模和访问量的逐步发展,原本由单台服务器、单个域名的迷你网站架构已经无法满足发展需要。  此时我们可能会购买更多服务器,并且启用多个二级子域名以频道化的方式,根据业务功能将网站分布部署在独立的服务器上;或通过负载均衡技术 (如:DNS轮询、Radware、F5、LVS等)让多个频道共享一组服务器。   OK,头脑中我们已经构思了这样的解决方案,不过进入深入开发后新的

2017-05-11 18:50:15 427

转载 自定义注解

直接上例子,新建Java Project1.新建Interface,建完在名字前加@,就成了自定义的注解[java] view plain copyimport java.lang.annotation.Documented;  import java.lang.annotation.ElementType;  import ja

2017-05-09 14:52:39 168

转载 生产者消费者

class BoundedBuffer { final Lock lock = new ReentrantLock(); final Condition notFull = lock.newCondition(); final Condition notEmpty = lock.newCondition(); final Object[] items = new O

2017-05-09 11:38:10 169

转载 Java Message Service

一、简介JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。JMS允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合

2017-05-09 09:37:47 1501

转载 java代码优化

35 个 Java 代码性能优化总结代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑 的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?作者:来源:|2015-11-05 09:02 移动端 收藏  分享前言代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的

2017-05-06 19:35:35 248

转载 netty组件

1. Channel组件核心的针对BIO/NIO提供的抽象的网络通道,支持读,写,连接和绑定。ChannelA nexus to a network socket or a component which is capable of I/O operations such as read, write, connect, and bind. ChannelFactoryCr

2017-05-06 14:28:18 235

转载 jboss netty

收藏(20)Netty是JBoss出品的高效的Java NIO开发框架,关于其使用,可参考我的另一篇文章 netty使用初步。本文将主要分析Netty实现方面的东西,由于精力有限,本人并没有对其源码做了极细致的研 究。如果下面的内容有错误或不严谨的地方,也请指正和谅解。对于Netty使用者来说,Netty提供了几个典型的example,并有详尽的API doc和guide doc,本文

2017-05-06 14:03:57 1530

转载 Java中Volatile关键字详解

先补充一下概念:Java 内存模型中的可见性、原子性和有序性。可见性:  可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉。通常,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性,必须使用同步机制。  可见性,是指线程之间的可见性,一个线程修改的状态对另一个线程是可见的。也就是一个

2017-05-05 18:16:10 148

转载 threadlocal

ThreadLocal是什么  早在JDK 1.2的版本中就提供Java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。  当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影

2017-05-05 17:22:46 125

转载 面试小知识

一、String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?答:   1、String是字符串常量,StringBuffer和StringBuilder都是字符串变量。后两者的字符内容可变,而前者创建后内容不可变。2、String不可变是因为在JDK中String类被声明为一个final类。3、StringBuffe

2017-05-05 15:57:46 314

转载 springIOC

前一段时候我把Spring技术内幕的关于IOC原理一章看完,感觉代码太多,不好掌握,我特意又各方搜集了一些关于IOC原理的资料,特加深一下印象,以便真正掌握IOC的原理。IOC的思想是:Spring容器来实现这些相互依赖对象的创建、协调工作。对象只需要关系业务逻辑本身就可以了。SpringIOC容器的执行步骤是:1、资源定位,即首先要找到applicationContext.xml文件

2017-05-05 14:15:29 253

转载 cookie 和session以及小知识 的区别详解

具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。1、cookie数据存放在客户的浏览器上,session数据放在服务器上。2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗   考虑到安全应当使用session。3、session会在一定时间内保存在服务器上。当访问增多,会

2017-05-04 22:32:15 246

原创 执行顺序

父类--非静态代码块父类--构造函数父类--静态代码块父类--非静态代码块父类--构造函数子类--非静态代码块子类--构造函数子类--静态代码块父类--非静态代码块父类--构造函数子类--非静态代码块子类--构造函数

2017-05-04 22:29:26 261

转载 aop

在此大概说下上面的切入点表达式:1 execution (* com.wangku.spring.service.impl..*.*(..))2 execution : 表示执行3 第一个*号 : 表示返回值类型, *可以是任意类型4 com.wangku.spring.service.impl : 代表扫描的包5 .. : 代表其底下的子包也进行拦截 6 第二个*号 : 代表对哪

2017-05-04 19:17:07 155

转载 基础知识3

21.HashMap的工作原理是什么?HashMap内部是通过一个数组实现的,只是这个数组比较特殊,数组里存储的元素是一个Entry实体(jdk 8为Node),这个Entry实体主要包含key、value以及一个指向自身的next指针。HashMap是基于hashing实现的,当我们进行put操作时,根据传递的key值得到它的hashcode,然后再用这个hashcode与数组的长度

2017-05-04 18:06:36 172

转载 基础知识2

11.JVM内存分哪几个区,每个区的作用是什么?Java虚拟机主要分为以下一个区:方法区:1. 有时候也成为永久代,在该区内很少发生垃圾回收,但是并不代表不发生GC,在这里进行的GC主要是对方法区里的常量池和对类型的卸载2. 方法区主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据。3. 该区域是被线程共享的。4. 方法区里有一个

2017-05-04 18:05:36 163

转载 java基础知识

1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。Java 源文件被编译成能被 Java 虚拟机执行的字节码文件。Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java 虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。

2017-05-04 16:26:29 160

转载 netty应用

这是一个netty快速入门的例子,也是我的学习笔记,比较简单,翻译于官方的文档整理后把所有代码注释放在每一行代码中间,简单明了地介绍一些基础的用法。   首页这是基于netty5的例子,如果需要使用请依赖netty5的包。maven引用方式1dependency>2    groupId>io.ne

2017-05-03 10:07:16 204

转载 docker

一、Docker 简介Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用于分享、管理 Docker 容器的 Docker SaaS 平台 -- Docker HubDocker 使用客户端-服务器 (C/S) 架构模式。Docker 客户端会与 Docker 守护进程进行通信。Docker 守护进程会处理复杂繁重的任务,例如建立、运行

2017-05-02 10:05:51 316

转载 设计模式学习之适配器模式

在我们平时的开发过程中,适配器模式可以说是经常能见到的设计模式,ListView 和 RecyclerView 的 Adapter 就是典型的适配器模式,当我们在开发时,碰到要在两个完全没有关系的类之间进行交互,第一个解决方案是修改各自类的接口,但是如果无法修改源代码或者其他原因导致无法更改接口,此时怎么办?这种情况我们往往会使用一个 Adapter ,在这两个接口之间创建一个粘合剂接口,将原本无

2017-04-28 16:47:20 316

转载 Nginx配置文件详解

######Nginx配置文件nginx.conf中文详解######定义Nginx运行的用户和用户组user www www;#nginx进程数,建议设置为等于CPU总核心数。worker_processes 8; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]error_log /usr/local/ng

2017-04-28 16:32:15 195

空空如也

空空如也

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

TA关注的人

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