摘要: &与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0例如下面的程序段。public class data13{public static void main(String[] args){int a=129;int b=128;System.out.pr... 阅读全文
posted @ 2015-05-16 18:18 243573295 阅读(2438) 评论(0) 推荐(0) 编辑
摘要: |或运算符或运算符用符号“|”表示,其运算规律如下:两个位只要有一个为1,那么结果就是1,否则就为0下面看一个简单的例子。public class data14{public static void main(String[] args){int a=129;int b=128;System.out... 阅读全文
posted @ 2015-05-16 18:15 243573295 阅读(360) 评论(0) 推荐(0) 编辑
摘要: ^按位异或如果操作的两位数是相同的,比如都是1或者都是0,则结果为0,否则为1.如public class data16{public static void main(String[] args){int a=15;int b=2;System.out.println("a 与 b 异或的结果是:... 阅读全文
posted @ 2015-05-16 18:14 243573295 阅读(344) 评论(0) 推荐(0) 编辑
摘要: ~取反非运算符用符号“~”表示,其运算规律如下:如果位为0,结果是1,如果位为1,结果是0下面看一个简单例子。public class data15{public static void main(String[] args){int a=2;System.out.println("a 非的结果是:... 阅读全文
posted @ 2015-05-16 18:11 243573295 阅读(299) 评论(0) 推荐(0) 编辑
摘要: >>右移 右移,道在二进制中,假设用一个32位的Int表示一个64,那么高位就都是0,所以当我们把整个二进制数右移,如0100000 >> 2 = 0001000,可以看到右移两位后的数变成了8,可以分析出其实右移就是一个除以2的操作例:对于非2,4,8,16,64的数也可以试验一下:System... 阅读全文
posted @ 2015-05-16 18:04 243573295 阅读(4066) 评论(0) 推荐(3) 编辑
摘要: 在Java源代码中,字面值用于表示固定的值(fixed value)。数值型的字面值是最常见的,字符串字面值可以算是一种,当然也可以把特殊的null当做字面值。字面值大体上可以分为整型字面值、浮点字面值、字符和字符串字面值、特殊字面值。1. 整型字面值从形式上看是整数的字面值归类为整型字面值。例如:... 阅读全文
posted @ 2015-05-16 16:03 243573295 阅读(5499) 评论(0) 推荐(1) 编辑
摘要: java基本数据类型八中byte = Byteshort = Shortchar = Characterint = Integerlong = Longfloat = Floatdouble = Doubleboolean = Boolean本文通过几个简单的转换关系连接顺序运行一个实例查看输出结果... 阅读全文
posted @ 2015-05-16 15:44 243573295 阅读(492) 评论(0) 推荐(0) 编辑
摘要: 介绍 操作系统能同时运行几个程序,每个独立运行的程序又称之为进程。 对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程。线程提供了多任务处理的能力 用进程和线程的观点来研究软件是当今普遍采用的方法,进程和线程的概念的出现,对提高软件的并行性有着重要的意义。现在的大型应用软件无一不是... 阅读全文
posted @ 2015-05-15 17:05 243573295 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 事务的实现方式实现方式共有两种:编码方式;声明式事务管理方式。基于AOP技术实现的声明式事务管理,实质就是:在方法执行前后进行拦截,然后在目标方法开始之前创建并加入事务,执行完目标方法后根据执行情况提交或回滚事务。声明式事务管理又有两种方式:基于XML配置文件的方式;另一个是在业务方法上进行@Tra... 阅读全文
posted @ 2015-05-14 17:32 243573295 阅读(480) 评论(0) 推荐(0) 编辑
摘要: Session执行一些sql语句把内存中的对象的状态同步到数据库,这个过程被称为session清理.在默认情况下,Session会在下面的时间点清理缓存。1 当应用程序调用net.sf.hibernate.Transacation的commit()方法的时候,commit()方法先清理缓存,然后再向... 阅读全文
posted @ 2015-05-14 01:05 243573295 阅读(730) 评论(0) 推荐(0) 编辑
摘要: Hibernate查询缓存一级缓存和二级缓存都只是存放实体对象的,如果查询实体对象的普通属性的数据,只能放到查询缓存里查询缓存还存放查询实体对象的id。查询缓存的生命周期不确定,当它关联的表发生修改,查询缓存的生命周期就结束。这里表的修改指的是通过hibernate修改,并不是通过数据库客户端软件登... 阅读全文
posted @ 2015-05-14 01:00 243573295 阅读(629) 评论(0) 推荐(0) 编辑
摘要: Hibernate二级缓存二级缓存需要sessionFactory来管理,它是进初级的缓存,所有人都可以使用,它是共享的。 当Hibernate根据ID访问数据对象的时候,首先从Session一级缓存中查;查不到,如果配置了二级缓存,那么从二级缓存中查;查不到,再查询数据库,把结果按照ID放入到缓存... 阅读全文
posted @ 2015-05-14 00:54 243573295 阅读(1128) 评论(0) 推荐(0) 编辑
摘要: 二级缓存的策略 当多个并发的事务同时访问持久化层的缓存中的相同数据时,会引起并发问题,必须采用必要的事务隔离措施。 在进程范围或集群范围的缓存,即第二级缓存,会出现并发问题。因此可以设定以下4种类型的并发访问策略,每一种策略对应一种事务隔离级别。● 只读缓存(read-only) 如果应用程序需要... 阅读全文
posted @ 2015-05-14 00:44 243573295 阅读(344) 评论(0) 推荐(0) 编辑
摘要: hibernate提供的一级缓存 hibernate是一个线程对应一个session,一个线程可以看成一个用户。也就是说session级缓存(一级缓存)只能给一个线程用,别的线程用不了,一级缓存就是和线程绑定了。 hibernate一级缓存生命周期很短,和session生命周期一样,一级缓存也称... 阅读全文
posted @ 2015-05-14 00:21 243573295 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 缓存和连接池的区别: 缓存和池都是放在内存里,实现是一样的,都是为了提高性能的。但有细微的差别 池是重量级的,里面的数据是一样的,比如一个池里放100个Connection连接对象,这个100个都是一样的。 缓存里的数据,每个都不一样。比如读取100条数据库记录放到缓存里,这100条记录都不一... 阅读全文
posted @ 2015-05-14 00:04 243573295 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 一对多 和多对一 一般是看需求来确定的,很多时候都是设置成双向的 举个最最普通的离子 :一个班级里面有多个学生 多个学生属于一个班级 从学生表来看 就是多对一的关系 从班级表来看就是一对多的关系 需求上如果说是从学生表想看到班级 那么就设置成多对一的关系 如果想从班级看到学生 就设置成一对多的关系... 阅读全文
posted @ 2015-05-14 00:01 243573295 阅读(515) 评论(0) 推荐(0) 编辑
摘要: Hibernate是一个持久层框架,经常访问物理数据库。为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。 Hibernate向我们提供的主要的操纵数据库... 阅读全文
posted @ 2015-05-13 23:57 243573295 阅读(254) 评论(0) 推荐(0) 编辑
摘要: JDK动态代理此时代理对象和目标对象实现了相同的接口,目标对象作为代理对象的一个属性,具体接口实现中,可以在调用目标对象相应方法前后加上其他业务处理逻辑。代理模式在实际使用时需要指定具体的目标对象,如果为每个类都添加一个代理类的话,会导致类很多,同时如果不知道具体类的话,怎样实现代理模式呢?这就引出... 阅读全文
posted @ 2015-05-13 22:30 243573295 阅读(314) 评论(0) 推荐(0) 编辑
摘要: JDK的动态代理机制只能代理实现了接口的类,而不能实现接口的类就不能实现JDK的动态代理,cglib是针对类来实现代理的,他的原理是对指定的目标类生成一个子类,并覆盖其中方法实现增强,但因为采用的是继承,所以不能对final修饰的类进行代理。 且CGLib构造的代理类是目标类的一个子类(需要实... 阅读全文
posted @ 2015-05-13 22:27 243573295 阅读(193) 评论(0) 推荐(0) 编辑
摘要: JAVA的静态代理与动态代理比较 静态代理类: 由程序员创建或由特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。动态代理类: 在程序运行时,运用反射机制动态创建而成。 动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的... 阅读全文
posted @ 2015-05-13 22:24 243573295 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 代理模式是对象的结构模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。代理模式是常用的Java 设计模式,它的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理... 阅读全文
posted @ 2015-05-13 22:11 243573295 阅读(270) 评论(0) 推荐(0) 编辑
摘要: JDK的动态代理依靠接口实现代理模式代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服... 阅读全文
posted @ 2015-05-13 01:05 243573295 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 我们书写执行一个功能的函数时,经常需要在其中写入与功能不是直接相关但很有必要的代 码,如日志记录,信息发送,安全和事务支持等,这些枝节性代码虽然是必要的,但它会带 来以下麻烦:枝节性代码游离在功能性代码之外,它下是函数的目的,这是对OO是一种破坏枝节性代码会造成功能性代码对其它类的依赖,加深类之间的... 阅读全文
posted @ 2015-05-12 23:59 243573295 阅读(235) 评论(0) 推荐(0) 编辑
摘要: Spring中定义了5中不同的事务隔离级别:1. ISOLATION_DEFAULT(一般情况下使用这种配置既可) ; 这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别。 2. ISOLATION_READ_UNCOMMITTED (未提交)... 阅读全文
posted @ 2015-05-12 23:02 243573295 阅读(455) 评论(0) 推荐(0) 编辑
摘要: read uncommited (读未提交) 最低级别,可读取未提交事物的数据,这会导致脏读,比如:某时刻会话a修改了一个数据,但还未提交,此时会话b,读取了该数据,这是,会话a回滚了事物,这就导致数据出现了不一致状态,这就是脏读!read commited (提交读) 避免了脏读,但会导致不... 阅读全文
posted @ 2015-05-12 22:52 243573295 阅读(424) 评论(0) 推荐(0) 编辑
摘要: spring事物的传播属性(7种)REQUIRED(默认) 业务方法需要在一个容器里运行。如果方法运行时,已经处在一个事务中,那么加入到这个事务,否则自己新建一个新的事务。 存在事物,则使用当前事物;没有事物,创建新的事物NOT_SUPPORTED 声明方法不需要事务。如果方法没有关... 阅读全文
posted @ 2015-05-12 22:40 243573295 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 连接查询通过连接运算符可以实现多个表查询。语法 FROM join_table join_type join_table [ON (join_condition)] 其中join_table指出参与连接操作的表名,连接可以对同一个表操作,也可以对多表操作,对同一个表操作的连接又称做自连接。join_... 阅读全文
posted @ 2015-05-12 22:17 243573295 阅读(253) 评论(0) 推荐(0) 编辑
摘要: alias (别名) 在 SQL 上的用处。最常用到的别名有两种: 栏位别名及表格别名。简单地来说,栏位别名的目的是为了让 SQL 产生的结果易读。在之前的例子中,每当我们有营业额总合时,栏位名都是 SUM(Sales)。 虽然在这个情况下没有什么问题,可是如果这个栏位不是一个简单的总合,而是一个复... 阅读全文
posted @ 2015-05-12 21:37 243573295 阅读(1401) 评论(0) 推荐(0) 编辑
摘要: 如何对函数产生的值来设定条件呢?举例来说,我们可能只需要知道哪些店的营业额有超过 $1,500。在这个情况下,我们不能使用WHERE的指令。那要怎么办呢?很幸运地,SQL 有提供一个HAVING的指令,而我们就可以用这个指令来达到这个目标。HAVING子句通常是在一个 SQL 句子的最后。一个含有H... 阅读全文
posted @ 2015-05-12 21:34 243573295 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 分组查询语法为:SELECT "栏位1", SUM("栏位2") FROM "表格名" GROUP BY "栏位1";示范:算出每一间店 (Store_Name) 的营业额 (Sales)SELECT Store_Name, SUM(Sales) FROM Store_Information GRO... 阅读全文
posted @ 2015-05-12 21:30 243573295 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 常用函数AVG (平均)COUNT (计数)MAX (最大值)MIN (最小值)SUM (总合)运用函数的语法是:SELECT "函数名"("栏位名") FROM "表格名";举例来说,若我们要由我们的示范表格中求出 Sales 栏位的总合,SELECT SUM(Sales) FROM Store_... 阅读全文
posted @ 2015-05-12 21:25 243573295 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 经常需要能够将抓出的资料做一个有系统的显示。这可能是由小往大 (ascending) 或是由大往小 (descending)。在这种情况下,我们就可以运用ORDER BY这个指令来达到我们的目的。ORDER BY的语法如下:SELECT "栏位名" FROM "表格名" [WHERE "条件"]OR... 阅读全文
posted @ 2015-05-12 21:23 243573295 阅读(210) 评论(0) 推荐(0) 编辑
摘要: LIKE是另一个在WHERE子句中会用到的指令。基本上,LIKE能让我们依据一个套式 (pattern) 来找出我们要的资料。相对来说,在运用IN的时候,我们完全地知道我们需要的条件;在运用BETWEEN的时候,我们则是列出一个范围。LIKE的语法如下:SELECT "栏位名" FROM "表格名"... 阅读全文
posted @ 2015-05-12 21:20 243573295 阅读(265) 评论(0) 推荐(0) 编辑
摘要: WHERE指令可以被用来由表格中有条件地选取资料。 这个条件可能是简单的 (像上一页的例子),也可能是复杂的。复杂条件是由二或多个简单条件透过AND或是OR的连接而成。一个 SQL 语句中可以有无限多个简单条件的存在。复杂条件的语法如下:SELECT "栏位名" FROM "表格名" WHERE "... 阅读全文
posted @ 2015-05-12 21:17 243573295 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 查询表时不一定每一次都要将表格内的资料都完全抓出。在许多时候,我们会需要选择性地抓资料。就我们的例子来说,我们可能只要抓出营业额超过 $1,000 的资料。要做到这一点,需要用到WHERE这个指令。这个指令的语法如下:SELECT "栏位名" FROM "表格名" WHERE "条件";例如:若要由... 阅读全文
posted @ 2015-05-12 21:15 243573295 阅读(155) 评论(0) 推荐(0) 编辑
摘要: DISTINCT 找出表格内的不同资料的值语法SELECT DISTINCT "栏位名" FROM "表格名";例如:要在以下的表格,Store_Information,找出所有不同的店名时,SELECT DISTINCT Store_Name FROM Store_Information;结果:... 阅读全文
posted @ 2015-05-12 21:13 243573295 阅读(174) 评论(0) 推荐(0) 编辑
摘要: SELECT 将资料从数据库中的表格内选出指令SELECT "栏位名" FROM "表格名";例如:查询Store_Information表中所有的的Store_NameSELECT Store_Name FROM Store_Information; 阅读全文
posted @ 2015-05-12 21:10 243573295 阅读(123) 评论(0) 推荐(0) 编辑
摘要: BETWEEN从一个范围 (range) 内抓出数据库中的值。BETWEEN这个子句的语法如下:SELECT "栏位名" FROM " 表格名" WHERE "栏位名" BETWEEN '值一' AND '值二';这将选出栏位值包含在值一及值二之间的每一笔资料。举例来说,若我们要由Store_Inf... 阅读全文
posted @ 2015-05-12 21:06 243573295 阅读(204) 评论(0) 推荐(0) 编辑
摘要: IN、NOT IN这个指令可以让我们依照一或数个不连续 (discrete) 的值的限制之内抓出数据库中的值in和not inin:存在与...里面的not in:不存在与..里面的其指令语法SELECT "栏位名" FROM "表格名" WHERE "栏位名" IN ('值一', '值二', ..... 阅读全文
posted @ 2015-05-12 21:02 243573295 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 当程序需要第k+1层中的某个数据时d,会首先在它的缓存k层中寻找。如果数据刚好在k层中,就称为缓存命中(cache hit)。 终端用户访问加速节点时,如果该节点有缓存住了要被访问的数据时就叫做命中,如果没有的话需要回原服务器取,就是没有命中。 取数据的过程与用户访问是同步进行的,所以即使是... 阅读全文
posted @ 2015-05-12 20:54 243573295 阅读(1004) 评论(0) 推荐(1) 编辑