自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

零度的博客专栏

全栈式学徒长成记--工欲善其事必先利其器,不积小流无以成江海,不积跬步无以至千里!

  • 博客(25)
  • 资源 (14)
  • 收藏
  • 关注

转载 MySQL主从同步(GTID方式)

这是一种最简单的主从同步复制方式,添加一台新的MySQL服务作为slave服务,并在此服务上回放master上所有的事务,当slave服务启动后,会去读取master上全部的binary log,这种方式简单快捷,但是需要耗费时间。1、master服务设为只读如果已经配置了主从同步并且正在运行,先将master所有服务设为只读,然后确保slave上所有服务已经将数据同步更新

2017-04-20 16:04:24 1148

转载 MySQL主从同步(binlog方式)与主从切换

1 主从同步配置1、部署环境:     机器A:192.168.2.63(主)      机器B:192.168.2.94(从)       MySQL:5.6.*以上 2、主(master)配置: 修改mysql安装目录下my.ini配置文件log_bin=mysql-bin-1 #文件名mysql-bin-1server_id=1 #服务ID,用于

2017-04-20 15:19:49 3955

原创 java socket实现文件传输分别基于BIO、NIO、AIO实现

为了加强对socket及java IO流编程的回顾,本文作了一个文件传输的实例。针对java不同对IO流的不同实现,本文也分别基于BIO、NIO、AIO实现三种传输,同时本文采用了缓冲输入/输出流来包装输出流,再采用数据输入/输出输出流包装缓冲流,加快传输的速度。最后本文基于大文件对三种方式基本传输效率对比。对于每一种传输方式分别实现服务端和客户端,并通过服务端发送文件到客户端,(同理可以实现客户

2017-04-14 15:03:11 1835

转载 Java IO最详解

初学java,一直搞不懂java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂。而且没有结合到java7 的最新技术,所以自己来整理一下,有错的话请指正,也希望大家提出宝贵意见。首先看个图:(如果你也是初学者,我相信你看了真个人都不好了,想想java设计者真是煞费苦心啊!) 这是java io 比较基本的一些处理流,除此之外我们还会提到一些比

2017-04-14 11:00:43 669

转载 数据流图DFD画法

数据流图(DFD- Data Flow Diagram)让系统分析者弄清楚“做什么”的问题,其重要性就不言而喻了。那么我们怎么画数据流图呢?数据流图与系统流程图又有什么区别呢?步骤1数据流图里包含的内容 数据流图描述的是系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。因为数据流图是逻辑系统的图形表示,即使不是专业的计算机技术人员

2017-04-13 17:05:23 16644

转载 UML类图几种关系的总结

在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)         1. 泛化(Generalization)        【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的

2017-04-13 12:52:53 692

翻译 二进制文件与文本文件的区别

一、文本文件与二进制文件的定义  大家都知道计算机的存储在物理上是二进制的,所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的。这两者只是在编码层次上有差异。简单来说,文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自定义编码。  从上面可以看出

2017-04-12 14:01:26 465

转载 Java回调机制解读

模块间调用在一个应用系统中,无论使用何种语言开发,必然存在模块之间的调用,调用的方式分为几种:(1)同步调用同步调用是最基本并且最简单的一种调用方式,类A的方法a()调用类B的方法b(),一直等待b()方法执行完毕,a()方法继续往下走。这种调用方式适用于方法b()执行时间不长的情况,因为b()方法执行时间一长或者直接阻塞的话,a()方法的余下代码是无法执行下去的,这样会造成整个流

2017-04-12 11:37:54 499

转载 BlockingQueue的基本原理

1. 前言BlockingQueue即阻塞队列,它算是一种将ReentrantLock用得非常精彩的一种表现,依据它的基本原理,我们可以实现Web中的长连接聊天功能,当然其最常用的还是用于实现生产者与消费者模式,大致如下图所示: 在Java中,BlockingQueue是一个接口,它的实现类有ArrayBlockingQueue、DelayQueue、 LinkedBloc

2017-04-12 10:44:10 636

转载 ReentrantLock使用详解(3)之测试锁与超时

我在上面的这篇博客中,曾经写到过线程在获取锁的过程中是无法中断的。但是ReentrantLock提供了tryLock()、tryLock(long timeout, TimeUnit unit)、lock.lockInterruptibly()tryLock() 方法试图申请一个锁,在成功获得锁后返回true,否则,立即返回false,而且线程可以立即离开去做其他的事情。try

2017-04-12 10:23:59 5449

转载 ReentrantLock使用详解(2)之Condition

(1) ReentrantLock的条件对象通常,线程进入临界区,却发现在某一条件满足之后才能执行,条件对象就是用来管理那些已经获得了锁,但是却不能做有用工作的线程。一个锁对象可以有一个或多个相关的条件对象,我们可用lock.newCondition()方法获得一个条件对象。[java] view plain copy print?Reentrant

2017-04-12 10:15:52 497

转载 ReentrantLock使用详解(1)之lock/unlock

在大多数实际的多线程应用中,两个或两个以上的线程需要共享对同一数据的存取。如果两个线程存取相同的对象,并且每一个线程都调用了一个修改该对象状态的方法,那么线程彼此踩了对方的脚,根据各线程访问数据的次序,可能会产生讹误的对象。这样的一种现象称之为竞争条件。当然多个线程共享一个变量在实际的应用中有时难以避免,但是我们可以通过java提供的一些技术来避免线程彼此踩脚的行为发生。java提供了

2017-04-12 10:08:08 1371

翻译 Elasticsearch基础教程

基础概念    Elasticsearch有几个核心概念。从一开始理解这些概念会对整个学习过程有莫大的帮助。    接近实时(NRT)        Elasticsearch是一个接近实时的搜索平台。这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒)。           集群(cluster)        一个集群就是由一个

2017-04-11 11:26:13 443

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

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

2017-04-11 10:25:15 875

转载 java并发编程实战笔记

每一个想学习Java多线程的人,手里至少有这本书或者至少要看这本书,2012年在看这本书的时候,当时正开发支付平台的后台应用,正好给了我大量的实践机会。强烈建议大家多看几遍。代码中比较容易出现 bug 的场景:不一致的同步,直接调用 Thread.run ,未被释放的锁,空的同步块,双重检查加锁,在构造函数中启动一个线程, notify 或 notifyAll 通知错误, Obje

2017-04-11 09:40:55 875

转载 Twitter的分布式自增ID算法snowflake (Java版)

概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移到Cassandra,因为Cass

2017-04-10 09:06:43 655

转载 Spring线程池和JDK线程池的区别及与FutureTask配合使用得到任务执行结果

API  文档中很清楚,SpringFrameWork 的 ThreadPoolTaskExecutor 是辅助 JDK 的 ThreadPoolExecutor  的工具类,它将属性通过 JavaBeans 的命名规则提供出来,方便进行配置。1.JDK之ThreadPoolExecutor的使用 Spring中的ThreadPoolTaskExecutor是借助于JDK并发包中的java

2017-04-07 15:54:47 9276 1

转载 finally中使用return会吃掉catch中抛出的异常&finally中抛出的异常会吃掉catch中的return

1:当一个方法既有throws又有catch的时候,直接catch异常的引用不再throws2:finally中的return语句会使异常丢失3:finally中重新抛出的异常会覆盖catch的异常今天学习大神的文章:深入理解java异常处理机制 学到一个有意思的知识点。如果在finally中使用return会吃掉catch中抛出的异常。看例子:

2017-04-06 11:28:16 597

转载 Spring Validation Example – Spring MVC Form Validator

When we accept user inputs in any web application, it become necessary to validate them. We can validate the user input at client side using JavaScript but it’s also necessary to validate them at serv

2017-04-06 10:42:30 1282

转载 内部类加载顺序及静态内部类单例模式

加载一个类时,其内部类是否同时被加载?下面我们做一个实验来看一下。 Java代码  public class Outer {      static {          System.out.println("load outer class...");      }            //静态内部类      static class

2017-04-05 10:36:22 9478 1

转载 java线程同步的三种方法[synchronized关键字,Lock加锁,信号量Semaphore]

java多线程的难点是在:处理多个线程同步与并发运行时线程间的通信问题。java在处理线程同步时,常用方法有:1、synchronized关键字。2、Lock显示加锁。3、信号量Semaphore。 线程同步问题引入:      创建一个银行账户Account类,在创建并启动100个线程往同一个Account类实例里面添加一块钱。在没有使用上面三种方法的情况下:代码:

2017-04-01 15:10:17 3790

转载 Java常见的几种排序算法-插入、选择、冒泡、快排、堆排等

本文就是介绍一些常见的排序算法。排序是一个非常常见的应用场景,很多时候,我们需要根据自己需要排序的数据类型,来自定义排序算法,但是,在这里,我们只介绍这些基础排序算法,包括:插入排序、选择排序、冒泡排序、快速排序(重点)、堆排序、归并排序等等。看下图:给定数组:int data[] = {9,2,7,19,100,97,63,208,55,78}一、直接插入排序(内部排

2017-04-01 11:44:05 901

转载 最大公约数(辗转相除法)证明+最小公倍数证明+其他相关证明

辗转相除算法的简介  在数论中,辗转相除法(国际上一般称为Euclidean Algorithm 或 Euclid's Algorithm,即欧几里得算法)是一种求任意两个欧几里得环(Euclidean Domain)中的单位(如:整数)的最大公约数的算法。这个算法的一个重要特点就是其不需要通过分解因式来求取最大公约数。辗转相除法正因为其易操作性与易实现性而成为了计算机编程中的一个重要

2017-04-01 11:40:24 1881

转载 数据库ACID、隔离级别与MVCC

首先需要明确事务的概念:一组原子性的SQL查询,如果数据库引擎能够成功的对数据库应用该组查询的全部语句,那么就执行该组语句,否则所有语句都不执行。事务有ACID四个特性,即:原子性:一个事务是一个不可分割的最小工作单元,其操作要么全部成功,要么全部失败;一致性:数据库总是从一个一致性状态转换为另一个一致性状态。所谓一致性状态,就是数据库的所有完整性约束(尤其注意用户定义约束

2017-04-01 11:07:08 852

转载 Linux Swap交换分区介绍总结

Swap交换分区概念 什么是Linux swap space呢?我们先来看看下面两段关于Linux swap space的英文介绍资料:Linux divides its physical RAM (random access memory) into chucks of memory called pages. Swapping is the process whereby a pa

2017-04-01 10:12:55 2062

JEE开发之IDE安装配置、SSM框架整合详细教程

JavaEE开发之myeclipseIDE安装、配置、(maven,svn)、SSM框架整合详细教程

2017-03-20

springmvc带进度条上传源码

springmvc带进度条上传源码

2016-11-07

checkStyle与findBugs-myeclipse10.6插件

checkStyle与findBugs-myeclipse10.6插件

2016-06-17

jacob库包实现word转化为html

可以使用word准换为html的库

2016-04-14

基于OSGi和Spring开发Web应用的Demo

基于OSGi和Spring开发Web应用的博文对应的代码

2015-08-11

w3cshool完整在线教程

w3c完整版的教程,相信你值得拥有,有需要的可以下载哦

2014-01-23

Hibernate_Session_Transaction

可以对hibernate的 Session 和 Transaction 有更深入的认识 希望对一些概念比较模糊的人 有帮助

2013-03-26

spring security 3 的学习的帮助文档

spring security 3 的学习的帮助文档 里面包含了 两个帖子 和 一个设计文档 ,希望对需要的朋友有用

2013-03-26

S2SH整合完美教程

struts2 spring hibernate的完整整合,包括的 配置文件和注解的不同方式

2013-01-07

Jreport—jasperreport的一个实例demo

Jreport—jasperreport的一个实例demo

2012-02-22

遗传算法基本C++实现

主要一些jsp的源代码。对学习jsp有很大帮助!

2011-05-28

gui的图像分割代码

Matlab的gui实现图像分割代码程序,

2010-05-13

matlab图像分割

matlab 图像分割程序用于图像处理,关于各种处理过程的算法实现

2010-05-05

空空如也

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

TA关注的人

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