OLTP && OLAP OLTP & OLAP这两个区别在哪OLTP (联机事务处理)OLTP 是面向顾客用于事务和查询处理用于管理数据强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作访问:主要是短的原子事务组成,并行和恢复机制OLAP (联机分析处理)OLAP 是面向市场用于数据分析,数据内容用于管理大量历史数据,提供汇总数据强调数据分析,强调SQL执行市场,强调磁盘I/O,强调分区访问:大部分都是只读操作OLTPOLAP用户操作人员,底层管理人
nio buffer 工作方式 Nio首先我们应该说在nio里 channel selector 以及buffer ,buffer可以说是货物,channel 是送货员 当然后面你能发现 他不单单是送货员那么简单,它还可以是为多个地区分拣货物,而每个地区可以有多个channel , 而 selector 就是分拣员 他负责 以下四个状态 OP_ACCEPT ,OP_CONNENT ,OP_READ ,OP_WRITE 用来确定他们
[java多线程]如何安全的退出线程 线程停止Thread提供了一个stop()方法,但是stop()方法是一个被废弃的方法。为什么stop()方法被废弃而不被使用呢?原因是stop()方法太过于暴力,会强行把执行一半的线程终止。这样会就不会保证线程的资源正确释放,通常是没有给与线程完成资源释放工作的机会,因此会导致程序工作在不确定的状态下那我们该使用什么来停止线程呢Thread.interrupt(),我们可以用他来停止线程,他是安全
web.xml中的url-pattern详解 Servlet和filter是J2EE开发中常用的技术,使用方便,配置简单。servlet和filter中的url-pattern有一些文章在里面的,总结了一些东西,以免遇到问题又要浪费时间。 一、先精确匹配,再路径匹配 (路径匹配的时候,先最长路径匹配,再最短路径匹配),至于扩展名匹配,就是单独于精确匹配和匹配的一类了,以上都找不到servlet,就用默认的servlet,配置为/。
JDK动态代理实现原理 之前虽然会用JDK的动态代理,但是有些问题却一直没有搞明白。比如说:InvocationHandler的invoke方法是由谁来调用的,代理对象是怎么生成的,直到前几个星期才把这些问题全部搞明白了。 废话不多说了,先来看一下JDK的动态是怎么用的。package dynamic.proxy; import java.lang.reflect.Invocation
AOP的底层实现-CGLIB动态代理和JDK动态代理 AOP是目前Spring框架中的核心之一,在应用中具有非常重要的作用,也是Spring其他组件的基础。它是一种面向切面编程的思想。关于AOP的基础知识,相信多数童鞋都已经了如指掌,我们就略过这部分,来讲解下AOP的核心功能的底层实现机制:如何用动态代理来实现切面拦截。 AOP的拦截功能是由java中的动态代理来实现的。说白了,就是在目标类的基础上增加切面逻辑,生成增强的目标类
message from server: "Host '192.168.1.10' is not allowed to connect to this MySQL server 在连接本机的MySQL数据库时,配置连接信息,连接发生错误,提示:message from server: "Host '192.168.1.10' is not allowed to connect to this MySQL server但是将IP地址改为localhost又能正常连接到MySQL数据库。临时处理方案:1、先用localhost方式连接到MySQL数据库,然
sql语句 rollup() 面向 oracle 带rollup 和 不带rollup的分组 区别在哪?首先我们先看 普通的(不带的)例一select deptno , job ,sum(sal) from emp group by deptno ,job order by 1 asc;例二select deptno ,job , sum(sal) from emp group by rollup(de
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor oracle 博主今天第一次学习 , 就被这个问题弄了一晚上 ,因此一定要记下来 出现这种问题的情况一般是两种:1.看看是不是监听服务没有起来2.检查有没有修改IP地址,计算机名称 除此之外在网上查资料的时候还有一种:http://blog.csdn.net/icqsky/archive/2009/07/01/4313791.aspx 如下:这个
如何使用Spring 配置各类(c3p0,dbcp,jndi)数据源以及jdbc 1.jdbc 使用org.springframework.jdbc.datasource.DriverManagerDataSource 说明:DriverManagerDataSource建立连接是只要有连接就新建一个connection,根本没有连接池的作用。 ${jdbc.driverClassName}
Mybatis 拦截器内部代码解析 Mybatis 拦截器介绍1.1 目录1.2 前言1.3 Interceptor接口1.4 注册拦截器1.5 Mybatis可拦截的方法1.6 利用拦截器进行分页 拦截器的一个作用就是我们可以拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执行这些被拦截的方法时执行自己的逻辑
关于Spring 的Classpath: 和 Classpath*: 源码解析 他这篇博客比较细的讲解了classpath与classpath*,以及通配符的使用,那些配置能成功加载到资源,那些配置加载不了资源。但是我相信仍然有很多同学不明白,为什么是这样的,知其然,不知其所以然,那么本篇文章将慢慢为你揭开神秘的面纱,让你知其然,更知其所以然。关于spring Resource的资源类型以及继承体系我们已经在上一篇文件粗略的说了一下。Spring加载Resourc
Mybatis的parameterType以及foreach标签的详解 众所周知,mybatis的传入参数可以是各种Java的基本数据类型:包含int,String,Date等。基本数据类型作为传参,只能传入一个。通过#{参数名} 即可获取传入的值 ,复杂数据类型:包含JAVA实体类、Map。通过#{属性名}或#{map的KeyName}即可获取传入的值,但是如果想传入一个collection怎么办呢?经查找后发现可以使用mapper配置文件中的foreach
使用Hibernate的setFirstResult,setMaxResults实现数据库分页 Hibernate可以使用Query.setMaxResults方法简单地设置需要查询的最大结果集。 然后Hibernate会自动根据所设置的数据库方言翻译成相应的SQL语句提交给数据库。比如如果数据库是Oracle,SQL Server等,则翻译为类似select ... top 10之类的SQL语句,若是MySQL,则翻译为select ... limit 10之类的SQL。
hibernate 懒加载 今天博主遇到了问题了~问题是这样的我写了一个DepartmengDao的一个类,内部包装了一个HibernateTemplate ,在DepartmengDao里写一个方法的时候,我要获取一个属性,xxx = hibernateTemplate.load(XXX.class,Serializable id); xxx.getName();博主当执行到第二句的时候就开始爆了一个错
DataSource和SessionFactory的区别 博主在学习hibernate以及Spring 过程中 发现 这两个框架整合的时候 发现了 Hibernate 只需要配置一个SessionFactory就可以了~ 当我们要做一些操作的时候 我们直接openSession() 就可以获取的到一个Session进行操作~, 但是如果我们要使用jdbc编程的时候只需要配置一个DataSource 也可以~那么问题来了
泛型限行上限和下限 泛型泛型的作用是给我们用来判断类型的, java代码 无泛型。 定义了两个javabean类。里面有String name public class Demo{ List list = new LinkedList(); public static void main(String[] args){ lis