Java NIO框架MINA用netty性能和链接数、并发等压力测试参数好于mina。

特点:
1。NIO弥补了原来的I/O的不足,它再标准java代码中提供了高速和面向块的I/O
原力的I/O库与NIO最重要的区别是数据打包和传输方式的不同,原来的I/O以流的方式处理数据,而NIO以块的方式处理数据;

2.NIO以通道channel和缓冲区Buffer为基础来实现面向块的IO数据处理,MINA是开源的。

JavaNIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。

Java NIO非堵塞技术实际是采取Reactor模式,或者说是Observer模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。

Java NIO出现不只是一个技术性能的提高,会发现网络上到处在介绍它,因为它具有里程碑意义,从JDK1.4开始,Java开始提高性能相关的功能,从而使得Java在底层或者并行分布式计算等操作上已经可以和C或Perl等语言并驾齐驱。

如果至今还是在怀疑Java的性能,说明思想和观念已经完全落伍了,Java一两年就应该用新的名词来定义。从JDK1.5开始又要提供关于线程、并发等新性能的支持,Java应用在游戏等适时领域方面的机会已经成熟,Java在稳定自己中间件地位后,开始蚕食传统C的领域。

原理:
NIO 有一个主要的类Selector,这个类似一个观察者,只要我们把需要探知socketchannel告诉Selector,我们接着做别的事情,当有事件发生时,他会通知我们,传回一组SelectionKey,我们读取这些Key,就会获得我们刚刚注册过的socketchannel,然后,我们从这个Channel中读取数据,放心,包准能够读到,接着我们可以处理这些数据。Selector内部原理实际是在做一个对所注册的channel的轮询访问,不断的轮询(目前就这一个算法),一旦轮询到一个channel有所注册的事情发生。比如数据来了,他就会站起来报告,交出一把钥匙,让我们通过这把钥匙来读取这个channel的内容。在使用上,也在分两个方向,一个是线程处理,一个是用非线程,后者比较简单。

事务:

通过以下锁住这个表的某一条记录,先获得TM表共享锁,再获得TX某特定行记录的行锁。当事务提交时候释放锁,事务配置为:
private List<TableLock> loadTableLock(final String tableName) {
return (List<TableLock>) this.getHibernateTemplate().execute(new HibernateCallback<Object>() {
@Override
public List<TableLock> doInHibernate(Session session)
throws HibernateException, SQLException {
String sql = "from TableLock tableLock where lock_table_name = ?";
Query q = session.createQuery(sql);
int index = 0;
q.setLockMode("tableLock", LockMode.UPGRADE);
q.setString(index++, tableName);
return q.list();
}
});
}

在sf-remoting-server-1.0.jar的beans-database.xml里
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="proxyTargetClass" value="true" />
<property name="beanNames">
<list>
<value>*Biz</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>transactionInterceptor</value>
</list>
</property>
</bean>

简繁体查询已经修复 2016.03.01

补码,审核,小组补码

用 Network Time Protocol 同步后台时间

lookup-method 方法注入

-- Add/modify columns
alter table TT_ADDRINPUT_RS_KAFKA add src_id NUMBER(20) not null;
-- Add comments to the columns
comment on column TT_ADDRINPUT_RS_KAFKA.src_id
is '源记录ID';

-- Add/modify columns
alter table TT_ADDRINPUT_RS_KAFKA modify op_tm timestamp;

grant select on sss_addr.TM_REGION_CONFIG to aip;
grant select on sss_addr.TM_SEGMENT_KEY to aip;

grant select on sss_addr.TM_SEGMENT_VALUE to aip;
grant select on sss_addr.TM_RULE_BASE to aip;

grant select on sss_addr.TM_BASE_RULE to aip;
grant select on sss_addr.TM_ADDTESS_TRANS_CONFIG to aip;

create public synonym TM_REGION_CONFIG for sss_addr.TM_REGION_CONFIG;
create public synonym TM_SEGMENT_KEY for sss_addr.TM_SEGMENT_KEY;
create public synonym TM_SEGMENT_VALUE for sss_addr.TM_SEGMENT_VALUE;
create public synonym TM_RULE_BASE for sss_addr.TM_RULE_BASE;
create public synonym TM_BASE_RULE for sss_addr.TM_BASE_RULE;
create public synonym TM_ADDTESS_TRANS_CONFIG for sss_addr.TM_ADDTESS_TRANS_CONFIG;

早上来,部署myeclipse代码到本机jboss里看看能否识别。
log4j不能打印,只能用slf4j,apache log4j。

通过改名字换JBOSS , 会导致Could not reserve enough space for object heap,需要重启myeclipse才行

from TableLock tableLock where lock_table_name = ? TT_BILL_HASRCHD;

process_rest_data 分中心到中转场需要重置数据,因为中转场容易断掉

SVN不能识别大小姐

通过dbms_job创建 的JOB在dba_jobs记实
通过dbms_scheduler创建 的JOB在dba_scheduler_jobs记实
oracle 10g推出dbms_scheduler以代替 dbms_job

571x自行维护要半小时,一般在早上10点15左右。。

substr(字符串,截取开始位置,截取长度)

GUI车标重置后台响应时间过长有待解决

技术笔记5 MINA 和事务的更多相关文章

  1. c#实例化继承类,必须对被继承类的程序集做引用 .net core Redis分布式缓存客户端实现逻辑分析及示例demo 数据库笔记之索引和事务 centos 7下安装python 3.6笔记 你大波哥~ C#开源框架(转载) JSON C# Class Generator ---由json字符串生成C#实体类的工具

    c#实例化继承类,必须对被继承类的程序集做引用   0x00 问题 类型“Model.NewModel”在未被引用的程序集中定义.必须添加对程序集“Model, Version=1.0.0.0, Cu ...

  2. 技术笔记:Indy的TIdSMTP改造,解决发送Html和主题截断问题

    使用Indy来发邮件坑不少啊,只不过有比没有好吧,使用delphi6这种老工具没办法,只能使用了新一点的Indy版本9,公司限制... 1.邮件包含TIdText和TIdAttachment时会出现T ...

  3. PHP实现日志处理类库 - 【微信开发之微电商网站】技术笔记之二

    继上篇文章[微信开发之微电商网站]技术笔记之一,昨日做了日志处理的功能. 对于现在的应用程序来说,日志的重要性是不言而喻的.很难想象没有任何日志记录功能的应用程序运行在生产环境中.日志所能提供的功能是 ...

  4. 搞懂分布式技术19:使用RocketMQ事务消息解决分布式事务

    搞懂分布式技术19:使用RocketMQ事务消息解决分布式事务 初步认识RocketMQ的核心模块 rocketmq模块 rocketmq-broker:接受生产者发来的消息并存储(通过调用rocke ...

  5. IPV6技术笔记(剖析IPv4toIPv6)

    IPV6技术笔记 IPv6地址入门概念 什么是IPv6? IPv6,全称Internet Protocol version 6,即网际协议版本6,也叫互联网通信协议第六版.是互联网工程任务组(IETF ...

  6. 解决一个 MySQL 服务器进程 CPU 占用 100%解决一个 MySQL 服务器进程 CPU 占用 100%的技术笔记》[转]

    转载地址:http://bbs.chinaunix.net/archiver/tid-1823500.html 解决一个 MySQL 服务器进程 CPU 占用 100%解决一个 MySQL 服务器进程 ...

  7. MySQL技术内幕读书笔记(八)——事务

    事务的实现 ​ 事务隔离性由锁来实现.原子性.一致性.持久性通过数据库的redo log和undo log来完成.redo log称为重做日志,用来保证事务的原子性和持久性.undo log用来保证事 ...

  8. 【迷你微信】基于MINA、Hibernate、Spring、Protobuf的即时聊天系统 :1.技术简介之Mina连接

    欢迎阅读我的开源项目<迷你微信>服务器与<迷你微信>客户端 Apache MINA(Multipurpose Infrastructure for Network Applic ...

  9. mysql颠覆实战笔记(七)--白话理解事务

    今天我们学习web开发级mysql颠覆实战课程第9课没MYSQL事务(一):白话理解事务.前面有两节课第7讲:商品系统设计(四):商品属性设计之自定义属性,第8讲:商品系统设计(五):一维属性的商品价 ...

随机推荐

  1. TBB的学习

    1. TBB简介 TBB ( Thread Building Blocks, 线程构建模块) 是Intel公司开发的并行编程开发的工具.它支持Windows,OS X, Linux平台,支持的编译器有 ...

  2. 初始MapReduce

    MapReduce 概述 MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用"的核心框架 MapReduce核心功能是将用户编写的业务逻辑代码和自带 ...

  3. jvm调优的分类

    本文部分内容出自https://blog.csdn.net/yang_net/article/details/5830820 调优步骤: 衡量系统现状. 设定调优目标. 寻找性能瓶颈. 性能调优. 衡 ...

  4. 必修3第三章概率mindmaps

    % !Mode:: "TeX:UTF-8" \documentclass{article} \usepackage[screen]{geometry} \usepackage[no ...

  5. unigui的编译部署

    unigui的编译部署 unigui既可以EXE形态部署,也可以IIS的ISAPI的形态部署.关键在工程文件.dpr里面的编译开关. {$define UNIGUI_VCL} // 注释此编译开关将使 ...

  6. mooctest项目总结 【转载】

    原文链接 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3 ...

  7. 背水一战 Windows 10 (46) - 控件(ScrollViewer 基础): ScrollViewer, ScrollBar, ScrollContentPresenter

    [源码下载] 背水一战 Windows 10 (46) - 控件(ScrollViewer 基础): ScrollViewer, ScrollBar, ScrollContentPresenter 作 ...

  8. <meta http-equiv="X-UA-Compatible" content="ie=edge">的意思

    <meta http-equiv="X-UA-Compatible" content="ie=edge">vscode创建html文件默认有这串代码 ...

  9. pika配置文件说明

    # Pika 端口 port : 9221 # pika进程数量,不建议超过核心数量,pika是多线程的 thread-num : 1 # Sync 线程数量 sync-thread-num : 6 ...

  10. Spring Boot中使用Flyway来管理数据库版本

    flyway是一个开源的数据库迁移工具.类似于数据库的版本控制工具.flyway的数据库修改文件默认放在resource下的db.migration文件夹中,以V{version_number}__{ ...