自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

仙路看近行远

路漫漫其修远兮,吾将上下而求索。

  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 spring bean生命周期学习

第一章 IoC容器IoC定义:Inverse of Control 控制反转。将new接口实现类的权利交到第三方类(导演类)中。导演类负责实例化接口的实现类,然后注入到依赖类中。类加载器和反射。通过反射的方式可以将配置文件中定义字符串变成类的实例(先通过全名限定,利用类加载器加载类进jvm),然后根据依赖关系注入到其他类中。资源访问接口 ——Resource接口的不同实现类负责...

2019-10-04 20:55:47 179

原创 thrift框架TThreadPoolServer类图

2019-10-04 20:45:39 185

原创 mysql innodb存储引擎学习 (2)

接上:https://blog.csdn.net/qq_32250495/article/details/99099152四、表4.1 索引组织表。在innoDB中,表都是按照主键顺序组织存放的,这种存储方式的表称为索引组织表。innoDB会按照如下方式选择或创建主键: 首先判断表中是否有非空的唯一索引,如果有则为主键。如果没有则innnoDB自动创建一个6字节大小的指针。4.2...

2019-10-04 20:42:24 268

原创 mysql innodb存储引擎学习(1)

mysql & innodb存储引擎一、mysql体系结构 mysql从体系上可以分为三个层次,连接层、sql层、存储引擎层。1.1 连接层 通过socket等方式接受客户端的连接,数据I/O,线程处理,处理通信协议,密码验证等功能。1.2 sql层 包含权限判断、查询缓存、解析器、预处理、查询优化器、缓存和执行计划。在一条sql语句在服务端被反序列出来后都...

2019-08-10 18:52:03 181

原创 B树原理及java实现

本代码为参考算法导论所写,主要记录B树数据结构的实现原理及方式。本代码主要实现了B树的插入和删除的操作过程。详细注释了插入分裂,删除合并的逻辑规则。本代码未讲过仔细的调试和详尽的测试,但可以作为学习和研究B树结构原理,实现方式的参考。package tree;/** * B树特征 * 每个节点必须包含 t-1 -> 2t-1个key,t>=2。根节点可以只有1个...

2019-05-02 13:49:32 454

原创 查找一个字符串中最大回文子串

给定一个字符串,查找该字符串中的最大回文子串。如: "a" 最大回文子串为 "a" 大小为1 "aa" 最大回文子串为"aa" 大小为2 "aaa" 最大回文子串为"aaa" 大小为3 "aba" 最大回文子串为"aba" 大小为3 "character" 最大回文子串为"carac" 大小为5该问题是一个...

2019-04-23 10:37:08 1880

原创 红黑树java实现ADT

一、封装ADT 此类为参考算法导论用java编写。package tree;import java.util.concurrent.LinkedBlockingQueue;/** * 红黑树ADT(Abstract Data Struct) * 本类纯属虚构,如有雷同纯属巧合。本类为个人学习研究编写,如有问题可指正。 * * * 红黑树是avl树的一种,一般a...

2019-04-16 00:37:19 265

原创 《架构整洁之道》&《 重构改善既有代码的设计》 整合

 一、重构定义:在不改变软件可观察行为的前提下,对软件内部进行调整(使用重构手法),以提高其可理解性,降低其修改成本。 -- 重点在两点: 1. 不改变软件的可观察行为。2. 提高其可理解性。两个目的:1. 添加新功能。 2. 重构。 --重构就只管修改程序结构,不要添加新功能。 添加新功能就不要修改既有代码。两者混合进行会使得程序朝不可理解的方向发展。ps: 重构与设计模式具有辩...

2019-01-14 20:45:26 5343 1

原创 Zookeeper客户端学习

package com.test.com.test.zookeeper;import org.apache.zookeeper.AsyncCallback;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.KeeperException;import org.apache.zookeeper.Watch...

2018-10-04 15:43:00 258

原创 单元测试框架TestNG、Mockito、Unitils-Spring及示例

一. TestNG 对Junit的扩展可通过xml脚本同时运行多个caseTestNG运行时将经过一下几个阶段:1. 类级初始化资源处理 @BeforeClass注解标记2. 方法级别初始化资源处理 @BeforeMethod3. 执行测试用例中的方法 @Test4. 方法级别的销毁 @AfterMethod5. 类级别的销毁 ...

2018-09-16 15:01:26 1225

原创 Effective Java精髓

Effective Java 第一章:创建和销毁对象1. 使用静态工厂方法——优点:1. 可以提供多种方式的方法签名。                  2. 不必每次都返回一个新的实例。                   3. 可以返回本类的一个子类实例。                  4. 使用静态类型推导:public static <k,v> Ha...

2018-09-07 19:21:24 420

转载 logback、log4j、log4j2三种日志框架性能检测——为什么用log4j2。

注意:此博客为转载 https://blog.csdn.net/yjh1271845364/article/details/70888262 作为记录日志已经成为系统开发中不可或缺的一部分. 但是针对logback, log4j和log4j2. 究竟改如何选择? 到底性能如何? 今天我们做一个实际的测评. 相信看完这篇文章, 对这三个日志框架会有很清楚的一个了解.实验环境OS: Mac...

2018-09-04 13:24:41 12180 1

原创 用java实现各种排序算法

package Com.Sort;/** * 各种高级排序方法的实现 * * @author Jane */ public class AdvanceSort {// 打印数组public static <T extends Comparable<? super T>> void print(T[] a) { for (T t : a) { System

2017-08-10 18:07:44 340

原创 一个Lua脚本操作Redis的简单例子

本例子的lua脚本实现 遍历 Redis中指定模式的键,然后替换每个键中与模式匹配的值,使之变为指定的值。 Redis中的键如下所示:127.0.0.1:6379> keys *1) "string.tmd.2"2) "test"3) "string.tmd.1"Redis 键对应的值为: 很明显客户端获取到的是一个序列化了的String 值,但是avata字段http连接依然呈现规则。ge

2017-08-10 17:53:24 6606 1

原创 用java构建一个优先队列

package Com.Tree;public class BinaryHeap> { //定义初始化大小 private int currentSize; private final static int DEFAULT_CAPACITY=100; private AnyType[] array; public BinaryHeap() { this(DEFAULT_CAP

2017-08-09 12:22:21 635

原创 用java实现一颗平衡二叉树ADT

平衡二叉树是一颗能够确保能在O(lgn)渐进时间界进行查找的树。我编写一个类来对平衡二叉树进行操作,包括,添加元素,删除元素,查找元素等操作。我建议:对于数据结构,如果都能够自己编写一遍,不仅能够摸清其中的奥妙,而且可以快速入手其他结构。简单实现代码如下:可以直接复制使用,或者转为自己的jar文件package Com.Tree;import java.util.Comparator;

2017-08-08 17:26:30 502

原创 使用javaNIO实现C/S模式的通信

NIO使用非阻塞IO的方式实现,服务器与客户端的交流,适用于大量连接,而数据量少的情况。通过一个线程轮询所有的通道,处理注册的事件,而主线程可以继续干其他的事情。这样所有的I/O都交给一个线程处理,减少了线程IO的切换。如果具体学习NIO的架构和原理请点击下面的连接点击打开链接 http://ifeve.com/selectors/以下为一个使用NIO实现的C/S通信模式,对应简单例子

2017-08-07 00:17:16 1132

原创 java程序计算两个大整数相乘

方法1 :用两个字符串保存输入的大整数,然后用第二个字符串的每一位去乘第一个字符串的数字值,最后将每次的结果错位相加即可。时间复杂度高O(n^2)方法2:将两个大整数X,Y每次分割成两半,第一个分割成AB,第二个分割成CD。所以最后结果XY=(A*10^n/2 +B)(C*10^m/2+D);进行分解可得XY=AC*10^(n+m)/2+AD*10^n/2 +BC*10^m/2 +BD;

2017-08-02 14:27:32 6778

原创 设计模式之状态模式

一、定义:当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。Allow an object to alter its behavior when its internal state changes. The object will appear to change its class.状态模式最终要的是对其状态进行分装,几个内在状态之间进行切换。当一个状态改变时,就设置场景

2017-08-01 18:13:56 205

原创 设计模式之备忘录模式

一、定义:在不破坏封装性的前提下,捕获对象的内部状态,并在该对象之外保存这个状态。这样就可以恢复到原先保存的状态。 Without violating encapsulation,capture and externalize an object's internal state so that the object can be restored to this state later.备忘

2017-08-01 16:14:09 219

原创 设计模式之访问者模式

一、定义:分装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the cla

2017-08-01 15:02:38 213

原创 设计模式之观察者模式

一、定义:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。Define a one -to - many dependency between objects so that when one object changes state , all its dependents are notified and updated automatic

2017-07-31 20:19:11 211

原创 设计模式之适配器模式

一、定义:将一个类的接口变成另一个客户端所期待的另一种接口,从而使原本因接口不匹配二无法在一起的工作能够在一起工作。Convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn't otherwise because of

2017-07-31 18:10:10 188

原创 策略模式

一、定义:定义一组算法,将每个算法都分装起来,并且使它们之间可以互换。Define a family of algorithms, encapsulate each one, and make them interchangeable.策略模式分装了算法,使用算法为了达到一个目的,但是过程不同。正如条条大路通罗马,随你换那条路走。二、简单代码示例public abstract clas

2017-07-31 17:36:23 252

原创 设计模式之装饰模式

一、定义:动态的给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。Attach additional responsibilites to an object dynamically keeping the same interface. Decorators provide a flexible alternativer to subclass for extendin

2017-07-31 17:12:46 176

原创 设计模式之责任链模式

一、定义:责任链模式使第一个对象处理请求,然后一次向下传递请求,直到有一个合适的对象能够处理他,从而避免的调用者依次去询问各个对象造成的多耦合关系。Avoid coupling the sender  of a request to its receiver by giving more than one object a chance to handle the request. Chain t

2017-07-31 16:43:47 160

原创 设计模式之命令模式

一、定义:将一个请求分装成一个对象,从而让你使用不同的请求吧客户端参数化,对请求排队 或者记录请求日志,可以提供命令的撤销和恢复功能。Encapsulate a request as an object, thereby letting you parameterize clients with different requests,queue or log requests,and suppor

2017-07-31 15:51:50 166

原创 寻找平面内共线点数最多的直线和点数

import java.awt.Point;import java.util.HashSet;import java.util.Set;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in);

2017-07-18 12:05:11 621

原创 判断单链表有环的三种方法

判断链表是否有环的三种方法 1. 在节点ListNode中增加一个域,用于记录此节点是否已经被访问,如下ListNode中被注释掉代码。此方法简单,能找出环开始的节点,但是增加了链表的开销。如果链表非常大 则需要十分大的内存来保存此域。2. 使用链表逆序的方法。从头结点开始一直将链表逆序,头结点的next域为空。如果有环的话链表逆序必定会回到头节点而终止。这种做法同样简单,确保O(n)时间...

2017-07-18 11:24:37 3127

原创 图的深度搜索和回溯

题:输入如下所示 每一个“ . ” 都是可以通行的,而每一个“ # ”表示不能通行,现在要从左下角走遍所有位置,走到右下角。请问有多少种走法输入: 有多组数据 以0 0表示结束. 第一行表示有n行,m列。接下来n行,m列输入图的案例2 2....2 3#.....3 4............0 0输出:一行表示走法数114java编程实现impor

2017-05-15 10:22:21 328

原创 linux结构化shell编程学习

#!/bin/bash //第一行指定此脚本使用的shellset -- $(getopt -q ab:cd $@) //格式化命令行参数trap "echo 我要捕获终止程序型号不让程序终止" SIGINT //捕获命令行信号file_name=$HOME/sentinel//if结构if [ -f $file_name ] //通过判断命令的返回码来执行the

2017-05-14 19:03:55 518

原创 设计模式之中介者模式

1.定义:中介者模式,也称为调停者模式。封装一系列的对象交互,中介者使各对象不需要显示的相互作用,从而使其耦合松散,而且可以独立的改变他们之间的交互。Define an object that encapsulates how a set of objects interact. Meditator promotes loose coupling by keeping objects from r

2017-05-10 21:39:14 205

原创 设计模式之原型模式

1.定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。Specify the kind of objects to create using a prototypical instance, and create new objects by copying this prototype.2. 代码示例public class Protype implements Cl

2017-05-10 10:20:41 218

原创 设计模式之代理模式

1. 定义:为其他对象提供一种代理以控制对这个对象的访问。Provide a surrogate or placeholder for another object to control access to it.2. 简单示例代码public interface DBOperation { //定义最高抽象的接口,此接口定义了对一个数据库表的一些操作。

2017-05-08 23:27:55 218

原创 设计模式之建造者模式

1. 建造者模式定义:将一个复杂对象的构建与她的表示分离,使得同样的建造过程可以创建不同的表示。Separate the construction of a complex object from its representation so that the same construction process can create different representations.2.

2017-05-08 13:03:34 188

原创 设计模式之模板模式

1.模板方法定义: 定义一个操作中的算法框架,而将一些步骤延迟到子类中。这样使得子类可以不改变一个算法的结构即可从定义该算法的某些特定步骤。Define the skeleton of an algorithm in an operation, deferring some steps to subclass. Template Method lets subclass redefine cert

2017-05-07 21:19:17 251

原创 设计模式之工厂模式

工厂模式属于创建模式,包括简单工厂和抽象工厂。    简单工厂专门用来创建一类产品的产品类,由产品抽象类,产品类,工厂组成。调用者只根据抽象类进行调用,而具体的实例创建和规约则交给工厂去实现。其定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。(Define an interface for creating an object, but let su

2017-05-03 13:30:39 251

原创 设计模式之单例模式

1.单例模式定义:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例(Ensure a class has only one instance, and provide a global point of access to it).2.单例模式好处:对于需要频繁创建和销毁的对象使用单例模式可以节省开销,对于重量级对象而言性能十分明显。减轻GC的压力,从而缩短GC停顿时间。

2017-05-01 20:59:20 214

原创 对C#Chart控件使用整理

前一篇博客C#char控件的使用心得简述一个使用chart控件的例子此处详细整理一下chart控件的使用。要使用好Chart控件我们先得明确它的结构。如下图所示:(只画出了大概结构,更多的细节会使得图片可视性差)1. 一个chart可以包含多个chartArea。 chartArea是具体的坐标区域。2. 每一个chartArea主要包含X轴,Y轴,副X轴(上方),副Y

2017-04-20 12:14:03 27985 3

转载 Tcp常用知识点归纳

http://blog.csdn.net/lostyears/article/details/7104349 。此篇博客中详细讲解了TCP连接和断开方式 和其中存在的一些问题。我在此简要整理一遍。一.TCP连接 TCP连接基于三次握手,使得客户端和服务器都进入数据发送就绪状态。其与UDP同为传输层协议。1. 客户端先服务器发送一个包。包结构主要为: 发送序列(假设为200),同步标识(

2017-04-18 13:36:16 1643

android java Mysql API文档

可以用.chw的方式查看文档,通过索引查找函数。

2016-03-26

空空如也

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

TA关注的人

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