自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (5)
  • 收藏
  • 关注

原创 当实现一个第三方的接口时应该怎么做?

当实现一个第三方的接口时应该怎么做?最近在做一个CDC数据同步的需求,需要将消费者接口改为另外一种接口来实现数据同步。工作中我们会遇到很多这类问题,很多时候可能由于时间紧就放弃草草了事,也可能是没有意识到这样的需求还会发生变化,但世事无常。我在此分享一下我的解决方案,欢迎留言与我探讨。拿到需求的第一直觉可能是下面这样:第一直觉://mq回调接口public interface Messa...

2020-03-17 00:19:20 815

原创 MyBatis原理(2)-执行流程 4 Mapper的执行

执行方式2:[code="java"] DeptMapper mapper = openSession.getMapper(DeptMapper.class); Dept dept2= mapper.select(d);[/code]DefaultSqlSession#getMapper[code="java"] @Override public T g...

2018-09-07 11:15:42 275

原创 MyBatis原理(2)-执行流程 3 处理结果集

DefaultResultSetHandler#handleResultSets 处理结果集[code="java"]@Override public List handleResultSets(Statement stmt) throws SQLException { ErrorContext.instance().activity("handling results...

2018-09-07 10:24:09 270

原创 MyBatis原理(2)-执行流程 2

[code="java"] @Override public List query(MappedStatement ms, Object parameterObject, RowBounds rowBounds, ResultHandler resultHandler) throws SQLException { BoundSql boundSql = ms.getBound...

2018-08-31 17:47:38 111

原创 MyBatis原理(2)-执行流程 1 BoundSql生成

MyBatis执行两种方式:1.[code="java"] SqlSession openSession = sqlSessionFactory.openSession(); Dept d = new Dept(); d.setId(1506720); Object dept = openSession.selectOne("dao.DeptDAO1.select",d)...

2018-08-31 17:09:53 1869

原创 MyBatis原理(1)-启动流程3- mapper 加载

1.接着上一篇文章解析mapper第一步[code="java"] mapperElement(root.evalNode("mappers"));[/code][code="java"] private void mapperElement(XNode parent) throws Exception { if (parent != null) { for ...

2018-08-25 22:27:37 423

原创 MyBatis原理(1)-启动流程2

1.XMLConfigBuilder.parse[code="java"] public Configuration parse() { if (parsed) { throw new BuilderException("Each XMLConfigBuilder can only be used once."); } parsed = t...

2018-08-24 17:21:42 138

原创 MyBatis原理(1)-启动流程1

[b]概述:本文按三个部分依次循序渐进对mybatis源码-原理进行分析[/b]1.MyBatis 启动流程2.MyBatis 执行流程3.MyBatis 核心组件[b]第一部分 启动流程[/b][code="java"]String resource = "mybatis.xml"; InputStream inputStream = Resources.get...

2018-08-23 17:10:13 283

原创 2.Lambda 表达式

在说一下Lambda表达式之前,我们先了解下为什么java要引入Lambda表达式在java8 之前要将行为参数化我们有两种选择:1.策略模式,根据参数传入的具体实现决定方法的实现 2.匿名内部类。1的缺点是要新增新的行为必须创建新的行为并实现接口;2的缺点是不得不写很多模板代码,可读性差。引入Lambda 前提条件在很多函数式编程语言中允许将函数作为值,Jav...

2018-05-29 19:24:31 164

1.接口默认方法

在java8中接口可以实现默认方法 ,使用default 关键字[code="java"]package com.dx;public interface Caculate { default int sum( int i,int k){ return i+k; } void sayHello(String msg);...

2018-05-28 23:36:49 129

原创 1. 内存区域

JVM内存区域划分:方法区、虚拟机栈、本地方法栈、堆、程序计数器Java堆(java Heap):(when)堆是被所有线程共享的一块区域,由虚拟机启动时创建。(what)用来存放对象实例和数组;(where)Java堆可以处在不连续的内存空间中,只要在逻辑上连续即可,堆的大小可以自动扩展也可以使用虚拟机参数限制 -Xmx 最大-Xms 最小,当对象在堆上无法申请到可用内存时会抛出 Out...

2018-05-27 14:17:27 71

原创 1.并发简介

1、单道程序,即在内存中只有一个程序运行,在这个程序结束之前其他程序无法使用内存。2、多道程序:多道程序设计技术是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序(我们后来常说的内核)控制下,相互穿插运行,两个或两个以上程序在计算机系统中同处于开始到结束之间的状态, 这些程序共享计算机系统资源。多道程序的发展,在一定程度上促进了操作系统和多cpu的发展。3、为什么后来会引入进...

2018-05-24 23:19:45 74

原创 jdk1.7之ConcurrentLinkedDeque

假设一个应用场景:需要模拟车辆一天的运行轨迹,并且实时监控,就需要不断的像已有的数据集合中添加新的数据,并且遍历集合。在传统的java集合包中的集合中像 ArrayList HashMap等;在同一线程中传统集合是不允许修改的,也就是遍历时不能修改,添加,删除等操作。多个线程就更不行了。为此java.util.concurrent包中提出了一些解决方法:使用Collections.s...

2016-08-15 00:11:10 180

原创 jdk1.7之 try-catch-resource

JDK 1.7 引入了 java.lang.AutoCloseable 接口,用来自动关闭像InputStream,OutputStream这样的一些资源,只要该类实现了此接口 就可以使用 try-catch-resource 块将声明部分包括在其中,执行完毕后资源会自动关闭,没有必要再去写 in.close() 类似的代码。这样的好处是:在手动释放jdbc连接的时候,需要关闭 Connect...

2016-08-14 23:11:46 480

原创 java 选择排序

[code="java"]public class SelectSort { public static void main(String[] args) { int[] a = { 5, 7, 9, 2, 4, 365, 65536, 6, 34, 421, 2, 14, 51, 57, 90, 7 }; for(int i = 0; i < a.length-1 ;...

2015-07-24 22:54:03 76

原创 java 实现冒泡排序

[code="java"]public class Bubble { public static void main(String[] args) { int[] a = { 5, 7, 9, 2, 4, 365, 65536, 6, 34, 421, 2, 14, 51, 57, 90, 7 }; // 遍历数组 将相邻的两个元素比较 左边的元素大于右边的元素就交换位...

2015-07-24 22:52:58 60

java 二分查找实现

[code="java"]public class BinaryChop { private int a[]; private int nElements ; public int find(int searchKey){ int lower = 0; int upper = nElements -1; int curIn; while(true)...

2015-07-24 22:49:57 49

原创 为什么要复写equals()的同时最好复写hashcode()

我们都知道所有的类都从Object继承了equals()和hashcode(),先来看看equals(),和hashcode()在Object中的实现:[code="java"]public boolean equals(Object obj) { return (this == obj); }public native int hashCode();[...

2014-05-24 13:18:21 539

Social,Engineeing.pdf

Social,Engineeing, Hacking Techniques &Intrusion; Detection

2019-01-08

BackTrack5+中文指南

BackTrack5费了大力才弄到的。。蹭网必备啊。呵呵。。

2011-12-18

bios设置教程

bios全面设置。帮助设置一些电脑的启动方面的很简单但很有用。

2011-12-14

C+Primer+Plus中文版(第五版)+的课后编程练习答案

C+Primer+Plus中文版(第五版)+的课后编程练习答案,非扫描.适合初学者

2011-12-14

国外php注入工具

PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。

2011-12-14

空空如也

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

TA关注的人

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