人无信不立,业不勤不精
我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。
【一】NIO服务器编程结构 【二】Netty3.x服务端线程模型
【一】五种IO模型:(1)阻塞IO(2)非阻塞IO(任务提交,工作线程处理,委托线程等待工作线程处理结果的同时,也可以做其他的事情)(3)IO复用模型.(委托线程接收多个任务,将任务提交给工作线程。委托线程等待多个工作线程结果,等待到其中一个,处理其中一个具体的工作)(4)信号驱动模型(5)异步IO模型【二】网络编程(1)网络编程的基本模型:Client/Server模型,也就是两个进程之间进行相互通信。
一、修改字段默认值 alter table 表名 drop constraint 约束名字 ------说明:删除表的字段的原有约束 alter table 表名 add constraint 约束名字 DEFAULT 默认值 for 字段名称 -------说明:添加一个表的字段的约束并指定...
转载地址:http://shiyanjun.cn/archives/325.html Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦 合)。
SQL总结 连表查询 连接查询包括合并、内连接、外连接和交叉连接,如果涉及多表查询,了解这些连接的特点很重要。 只有真正了解它们之间的区别,才能正确使用。 1、Union UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
【一】char和varChar的区别 区别: 1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (10),表示你存储的字符将占10个字节(包括7个空字符),而同样的VARCHAR2 (10)则只占用3个字节的长度,10只是最大值,当你存储的字符小于10时,按实际长度存储。
转载:http://www.iteye.com/topic/1122740 1、预备知识 aop概念请参考【http://www.iteye.com/topic/1122401】和【http://jinnianshilongnian.
方法1: 原版PFX证书 openssl pkcs12 -in myssl.pfx -nodes -out server.pem 提取私钥 openssl rsa -in server.
(1)spring抛出异常的点:org.springframework.orm.jpa.EntityManagerFactoryUtils public static DataAccessException convertJpaAccessExceptionIfPossible(RuntimeE...
【一】简易的数据源配置 (1)配置文件 jdbc:mysql://localhost:3306/mobile_thinks root shangxiaofei ...
【一】spring事务管理(1)spring的事务管理,是基于aop动态代理实现的。对目标对象生成代理对象,加入事务管理的核心拦截器==>org.springframework.transaction.interceptor.TransactionInterceptor。
【一】spring的远程调用提供的基础类 (1)org.springframework.remoting.support.RemotingSupport ===>spring提供实现的远程调用客户端实现的基础类 ===>例子:org.
【一】springMVC之url和bean映射原理和源码解析 映射基本过程 (1)springMVC配置映射,需要在xml配置文件中配置 (2)配置后,该配置将会交由org.springframework.web.servlet.config.MvcNamespaceHandler处理,该类会转交给org.springframework.web.servlet.config.AnnotationDrivenBeanDefinitionParser做解析。
一:Advice(通知)(1)定义在连接点做什么,为切面增强提供织入接口。在spring aop中主要描述围绕方法调用而注入的切面行为。(2)spring定义了几个时刻织入增强行为的接口 =>org.
【一】获取范型接口的实现类的范型类型 (1)范型接口 package org.springframework.context; import java.util.EventListener; public interface ApplicationListener extends Even...
【一】相关源代码类 (1)spring的事件发布监听机制的核心管理类:org.springframework.context.event.SimpleApplicationEventMulticaster. =>该类的初始化是放在项目加载时,在ioc容器xml配置文件解析加载完毕后,注册bean创建前后置处理实现类(BeanPostProcessor 接口实现),beanFactory配置处理(BeanFactoryPostProcessor接口实现)后,初始化该事件发布监听机制的核心类。
【一】org.springframework.beans.factory.config.BeanFactoryPostProcessor接口==>该接口实现方法的执行时机:该接口void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException方法是在DefaultListableBeanFactory容器解析完xml,将IOC容器所有的bean形成BeanDefinition注册进去后,在实例化bean前执行该方法。
【spring以及第三方jar的案例】在spring中的aop相关配置的标签,线程池相关配置的标签,都是基于该种方式实现的。包括dubbo的配置标签都是基于该方式实现的。【一】原理 ===>spring在解析xml标签,一旦不是以开头的元素,就会走org.springframework.beans.factory.xml.BeanDefinitionParserDelegate的parseCustomElement(Element ele)方法解析自定义的标签 ===>在该方法里会根据xml中的命名空间去查询该标签对应的NamespaceHandler接口的实现类去解析该配置标签。
【一】初始化IOC的bean的时候Spring会执行的一些回调方法 (1)spring bean创建的前置处理 =>ApplicationContextAwareProcessor 在创建bean的时候调用 bean.
一:含义作用 ==>BeanPostProcessor接口是众多Spring提供给开发者的bean生命周期内自定义逻辑拓展接口中的一个 二:接口定义 package org.springframework.
1)几个重要概念 ZooKeeper:客户端入口 Watcher:客户端注册的callback ZooKeeper.SendThread: IO线程 ZooKeeper.EventThread: 事件处理线程,处理各类消息callback ClientCnxnSocketNIO...
Zookeeper的Client直接与用户打交道,是我们使用Zookeeper的interface。了解ZK Client的结构和工作原理有利于我们合理的使用ZK,并能在使用中更早的发现问题。本文将在研究源码的技术上讲述ZK Client的工作原理及内部工作机制。
三个三个一组看: 1. 第一段表示文件所有者对此文件的操作权限 2. 第二段表示文件所有者所在组对些文件的操作权限 3. 第三段表示除上述两种外的任何用户/组对此文件的操作权限 r读取:4 w写入:2 x执行:1 加起来就好了。
1. 连接ftp服务器 格式:ftp [hostname| ip-address] a)在Linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可。
什么是KIE? KIE是jBoss里面一些相关项目的统称,下图就是KIE代表的一些项目,其中我们比较熟悉的就有jBPM和Drools。 这些项目都有一定的关联关系,并且存在一些通用的API,比如说涉及到构建(building)、部署(deploying)和加载 (loading)等方面的,这些API就都会以KIE作为前缀来表示这些是通用的API。
kmodule.xml文件存放在src/main/resources/META-INF/文件夹下。 1 2 3 4 5 6 7 8 9 View Code 这个kmodule.xml的文件的定义非常简单,其实也很容易理解: 一个kmodule里面包含了两个kbase,这个也是我们这个例子里面的两个用例,分别对应drl规则文件的例子,一个是对应Excel表格的规则例子。
在有些术语使用的时候,我有时候会用KIE项目、KIE引擎或者Drools项目、Drools引擎,大家应该理解KIE是Drools等项目的一个统称,所以在大多数情况下KIE或者特指Drools都是差不多的。
使用Git时会出现各种各样的问题,下面是几种情况下怎么反悔的操作 一,未加入缓存区,撤销文件修改 git checkout -- file 二,已加入缓存区,撤销文件提交 git reset HEAD file 或git rm --cached file 三,已...
【一】一致性hash算法,基本实现分布平衡。 1 package org.ehking.quartz.curator; 2 3 import java.util.SortedMap; 4 import java.
《一》节点改变事件的监听 1 public class CauratorClientTest { 2 3 //链接地址 4 private static String zkhost="172.19.27.246:2181"; 5 //sessionTimeoutMs会话超时时间,单位为毫秒。
项目结构图 (1)ZK协调分配 ===>集群中的每一个定时服务器与zookeeper交互,由集群中的master节点进行任务划分,并将划分结果分配给集群中的各个服务器节点。 ===>保证每台定时服务器的节点持有唯一的定时任务。
Curator Framework提供了简化使用zookeeper更高级的API接口。它包涵很多优秀的特性,主要包括以下三点: 自动连接管理:自动处理zookeeper的连接和重试存在一些潜在的问题;可以watch NodeDataChanged event和获取updateServerList;Watches可以自动被Cruator recipes删除; 更干净的API:简化raw zookeeper方法,事件等;提供现代流式API接口 Recipe实现:leader选举,分布式锁,path缓存,和watcher,分布式队列等。
(1)quartz本身可以支持集群化,是基于数据库做协调,现在构想基于zookeeper做协调实现集群化定时系统 流程图如下:
【一】测试目的(ClassLoader的作用) 1:测试涉及三个jar包,nonbankcard-configure-0.0.1-SNAPSHOT.jar,nonbankcard-persist-0.0.
1当线程的线程体内部无捕获异常,将异常抛出线程体外,不同情况下,程序处理机制 测试类 1 package com.ehking.bankchannel.domesticremit.facade.impl; 2 3 import java.
(1)根据支付宝提示下载安装控件的压缩包 aliedit.tar.gz (2)解压安装 (3)重启浏览器就可以了
一:springAOP底层实现是基于动态代理实现的。增强和切面,以及通知。是在动态代理生成的代理类inoke方法中调用实现 1 //+++++++++++++aop动态代理+++++++++++++++++++++++ 2 3 4 /** 5 * 通知,表示增强。
一:项目中有一些key,value的简单配置 org.apache.commons.configuration.DatabaseConfiguration可以轻松解决 二:配置项目的xml中bean 1 2 3 4 ...
转载:http://www.toutiao.com/a6392135944652587266/?tt_from=weixin&utm_campaign=client_share&app=news_article&utm_source=weixin&iid=7704173001&utm_medium=toutiao_ios&wxshare_count=1 synchronized是基于jvm底层实现的数据同步,lock是基于Java编写,主要通过硬件依赖CPU指令实现数据同步。
不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略, 调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。
一个规则的语法信息【1】条件部分(LSH部分)===>规则pattern之间的连接条件符号: (1)LHS 部分是由一个或多个条件组成,条件又称之为 pattern(匹配模式),多个 pattern之间用可以使用 and 或 or 来进行连接,同时还可以使用小括号来确定 pattern 的优先级 (2)pattern 没有符号连接,在 Drools,当中在 pattern 中没有连接符号,那么就用 and 来作为默认连接,所以在该规则的 LHS 部分中两个 pattern 只有都满足了才会返回 true。
前言 在日常Java开 发中,我们经常碰到java.lang.NoClassDefFoundError这样的错误,需要花费很多时间去找错误的原因,具体是哪个类不见了?类 明明还在,为什么找不到?而且我们很容易把java.lang.NoClassDefFoundError和 java.lang.ClassNotfoundException这两个错误搞混,事实上这两个错误是完全不同的。
Drools官网:http://www.jboss.org/drools Drools and jBPM consist out of several projects:(Drools软件包提供的几个部分的功能) Drools Guvnor (Business Rules Manager) (规...
当一个对象(客户端)不能或者不想直接引用另一个对象(目标对象),这时可以应用代理模式在这两者之间构建一个桥梁--代理对象。 按照代理对象的创建时期不同,可以分为两种: 静态代理:事先写好代理对象类,在程序发布前就已经存在了; 动态代理:应用程序发布后,通过动态创建代理对象。
最近在研究JBPM工作流引擎,发现JBPM是基于Drools的,官方文档查看得知Drools是一款规则引擎。兴趣之下,仔细了解了下 Drools,Drools作为JBoss出品的一款开源推理和规则引擎,被广泛的应用在各个领域,如JBPM也是基于Drools的。
1SpringMvc的Controller是线程安全的吗? (1)由于是单例,tomcat的多线程环境访问,属性必须是不可变的,如果可变,会产生脏数据,线程不安全 2Spring的事务管理 (1)aop代理,jdbc提供了事务管理的代码。commit,rollback
jdk的动态代理的条件: ===>要实现动态代理的首要条件是:被代理类必须实现一个接口,回想一下前面的分析吧。当然了,现在也有很多技术如CGLIB可以实现不需要接口也可以实现动态代理的方式。 动态代理的应用 代理模式应用得非常广泛,大到一个系统框架、企业平台,小到代码片段、事务处理,稍不留意就用到代理模式。
(1)当RuleBase中有规则添加或删除,利用观察者模式实现,一旦有变动,规则引擎其他组件也做出相应的改变。(2)学习思想:当一个应用中涉及多个组件,为了实现易扩展,解耦思想。可以利用观察者模式实现。
http://www.cnblogs.com/xwdreamer/archive/2012/06/03/2532832.html 一:java的数据结构 在Java编程语言中,最基本的结构就是两种,一种是数组,一种是模拟指针(引用),所有的数据结构都可以用这两个基本结构构造,HashMap也一样。