7 qchery

尚未进行身份认证

暂无相关描述

等级
博文 216
排名 3w+

Cglib动态代理实现解析

在JDK动态代理源码解读已经知道了JDK动态代理的实现逻辑,这里我们来学习一下Cglib的实现逻辑。以方便对动态代理有一个全面的认识。首先,我们来看一下生成代理类的时序图,对比起JDK的实现,它复杂了很多。整体看上去比较难以理解,那我们来看下这些类图,可能更加清晰些。来看看入口类Enhancer,它继承自AbstractClassGenerator,而Abs...

2018-04-11 23:05:14

JDK 动态代理源码解读

在Jdk动态代理使用的过程中,程序入口为Proxy.newProxyInstance,通过对程序调用的跟踪,可以得到如下时序图。在newProxyInstance方法里面,主要做了两件事情:一、生成指定的代理类;二、使用InvocationHandler创建一个代理类实例;publicstaticObjectnewProxyInstance(ClassL...

2018-04-09 23:08:54

设计模式 之 代理模式

代理(Proxy)是一种设计模式,为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式一般由以下三部分组成:抽象角色:通过接口或抽象类声明真实角色实现的业务方法。代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。真实角色...

2018-04-03 22:45:59

使用 Docker 部署 Springboot 应用

在SpringBoot实战之优雅终止服务中已经介绍了几种Springboot应用的部署方式,今天来介绍一种新的部署方式,让应用部署更加简单高效。对于微服务架构来说,服务拆分的越多,运维的成本也就越高,以前的一个系统只需要部署一次就可以了,但拆分成多个服务后,就需要多次部署了,为了简化部署流程,容器化成了该问题的最佳解决方案。这里假定大家对Springboot应用的搭建及D...

2018-03-27 23:49:10

Docker-Compose入门

Compose是一个用户定义和运行多个容器的Docker应用程序。在Compose中你可以使用YAML文件来配置你的应用服务。然后,只需要一个简单的命令,就可以创建并启动你配置的所有服务。使用Compose基本会有如下三步流程:在Dockfile中定义你的应用环境,使其可以在任何地方复制。在docker-compose.yml中定义组成应用程序的服务,以便它们

2018-01-24 21:14:25

Drools Workbench 中文规则问题

在Workbench与kie-server搭建及使用一文中,我们介绍了如何快速地搭建Workbench及kie-server服务。但如果尝试过该方法的同学应该会发现一个问题,中文的规则怎么就匹配不成功呢?这也许会让很多学习Drools的小伙伴头疼,毕竟Drools的中文资料太少,并没有什么可以参考的标准。踩坑实录下面我来分享一下我解决这个问题的一个思路。首先,

2018-01-16 00:32:16

Workbench 与 kie-server 搭建及使用

​本篇文章基于Drools7.5.0.Final,6.x版本与7.x在安装上基本类似,但7.x提供了docker镜像,使得workbench及kie-server的安装比6.x容易了很多倍。​首先需要准备Docker环境,Docker的安装过程不在此赘述,可以参考官网安装教程或者菜鸟教程。安装完成后,由于Docker仓库在国外,下载速度可能会很慢,所以

2018-01-09 22:34:02

SpringBoot 实战 之 优雅终止服务

由于SpringBoot是一个微服务框架,其生产部署的方式也需要尽可能的简单,与常规的Web应用有着一个巨大的不同之处,它可以内嵌一个Web容器,如:Tomcat、Jetty等,不再需要将应用打包成容器规定的特定形式。对于SpringBoot来说,打包成一个简单的Jar包直接使用java-jar即可启动,这是一种非常优雅的方式,但同时也带来了一定的问题,如:应用如何停止...

2017-12-01 11:42:58

VirutalBox 下安装 CentOS

环境准备宿主机:MacOS64位操作系统虚拟机软件:VirtualBox5.1.26CentOS镜像:CentOS-6.4-i386-minimal.iso,32位,不包含视窗界面的最小化版本,大小为315M左右。虚拟电脑创建首先,在VirtualBox上新建一个虚拟电脑,填写虚拟电脑名称,并选择系统类型及版本号,注意,VirtualBox版本里面没有CentOS的选项,请选择

2017-07-29 14:58:45

Drools 简介

现实生活中,规则无处不在。对于某些企业级应用,诸如欺诈检测软件,购物车,活动监视器,信用和保密应用之类的系统,经常会有大量的、错综复杂的业务规则配置,而且随着企业管理者的决策变化,这些业务规则也会随之发生更改。我们开发人员不得不一直处理软件

2017-07-09 22:44:17

VirtualBox 主宿访问及上网配置

需求:1.宿主机需要通过固定的IP访问虚拟机2.虚拟机需要可以访问外网已有条件及约束:1.宿主机已经可以访问外网2.上网使用的IP地址若是静态IP会经常出现冲突3.虚拟机系统版本CentOS6.4首先,我们大体的看一下Vbox的四种网络设置的功能及区别:1.单网卡如果只有一张虚拟网卡,我们来考虑下Vbox四种网络设置是否能实现需求:NAT:主机不能访

2017-06-30 11:23:45

Drools WorkBench 安装(Mysql版)

声明:安装手册使用的安装包为kie-drools-wb-6.5.0.Final-tomcat7.war,下载链接为https://download.jboss.org/drools/release/6.5.0.Final/kie-drools-wb-6.5.0.Final-tomcat7.war。1.在Tomcat7中安装bitronix事务管理器拷贝下面的

2017-06-28 11:26:13

Spring 调用 RESTful 服务

RestTemplate是客户端访问RESTful服务的核心类。它在概念上类似于Spring中的其他模板类,如JdbcTemplate和JmsTemplate及其他Spring组合项目中的模板类。RestTemplate的行为是通过提供回调方法及配置HttpMessageConverter进行自定义的,HttpMessageConverter将对象封送到Http请

2017-05-14 10:39:35

SpringBoot实战 之 数据库

1.数据库配置1.1.In-Memory数据库SpringBoot可以自动配置嵌入式数据库,如:H2,HSQL和Derby等。不需要提供任何连接URL,只需将构建依赖关系包含到要使用的嵌入式数据库中即可。以HSQL配置In-Memory数据库:"org.hsqldb:hsqldb:2.4.0"使用内存嵌入式数据库开发应用程序通常很方便。显然,内存数据库不提供持久存储;在应用程序

2017-05-06 13:54:53

SpringBoot实战 之 接口日志篇

在本篇文章中不会详细介绍日志如何配置、如果切换另外一种日志工具之类的内容,只用于记录作者本人在工作过程中对日志的几种处理方式。1.Debug日志管理在开发的过程中,总会遇到各种莫名其妙的问题,而这些问题的定位一般会使用到两种方式,第一种是通过手工Debug代码,第二种则是直接查看日志输出。Debug代码这种方式只能在开发环境适用,一旦程序移交部署,就只能通过日志来跟踪定位了。

2017-05-03 21:54:28

SpringBoot实战 之 异常处理篇

在互联网时代,我们所开发的应用大多是直面用户的,程序中的任何一点小疏忽都可能导致用户的流失,而程序出现异常往往又是不可避免的,那该如何减少程序异常对用户体验的影响呢?其实方法很简单,对异常进行捕获,然后给予相应的处理即可。但实现的方式却有好多种,例如:try{...}catch(Exceptione){doSomeThing();}像这种标准的try-catch

2017-05-01 14:34:31

SpringBoot实战 之 外部配置篇

SpringBoot允许你外部化你的配置,以便你可以在不同的环境中使用相同的应用程序代码。你可以使用properties文件、YAML文件、环境变量和命令行参数来外部化配置。可以使用@Value注解直接将属性值注入到Bean里面,也可以通过@ConfigurationProperties将属性绑定到结构化对象中。1.配置注入1.1.@Value注入SpringBoot会默认加

2017-04-29 22:20:07

SpringBoot实战 之 数据交互篇

1.序SpringBoot非常适合Web应用开发,我们可以使用它轻松地建立一个Web服务。在SpringBoot入门里面,我们已经使用其实现一个非常简单的接口,输出了HelloWorld!下面我们模拟真实的场景来学习SpringBoot应用开发。2.数据格式(Json)在现实的项目场景中,前后分离已经成了Web开发的基调,全栈的时代已经逐渐远去,后端负

2017-04-28 23:03:35

SpringBoot实战 之 入门篇

SpringBoot简介SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。SpringBoot可以轻松创建一个基于Spring且独立运行的生产级应用。SpringBoot安装SpringBoot的安装有很多种方式,最简单的一种是直接将

2017-04-23 15:19:41

Drools 之 KieModule 版本管理

序Drools作为一个优秀的开源规则引擎,它的功能无疑是非常强大的。与普通的规则硬编码相比,Drools有着非常多的优点,比如:规则的动态更新、规则配置的可视化等。规则动态更新的简单描述使用或了解过Drools的小伙伴们应该知道它里面定义了很多的概念,其中有一个比较重要的就是KieModule,而Drools的规则动态更新也就是基于对KieModule地动态加载。由于一般在现实的使

2017-04-02 22:35:18
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!