- 博客(14)
- 收藏
- 关注
转载 mysql乐观锁总结和实践
上一篇文章《MySQL悲观锁总结和实践》谈到了MySQL悲观锁,但是悲观锁并不是适用于任何场景,它也有它存在的一些不足,因为悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。如果加锁的时间过长,其他用户长时间无法访问,影响了程序的并发访问性,同时这样对数据库性能开销影响也很大,特别是对长事务而言,这样的开销往往无法承受。所以与悲观锁相对的,我们有了乐观锁,具体参见下面介绍:
2016-03-31 16:06:07 382
转载 mysql悲观锁总结和实践
最近学习了一下数据库的悲观锁和乐观锁,根据自己的理解和网上参考资料总结如下: 悲观锁介绍(百科): 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制
2016-03-31 15:42:15 269
转载 hibernate的各种保存方式的区别 (save/persist/merge)
hibernate的保存 hibernate对于对象的保存提供了太多的方法,他们之间有很多不同,这里细说一下,以便区别: 一、预备知识: 在所有之前,说明一下,对于hibernate,它的对象有三种状态,transient、persistent、detached 下边是常见的翻译办法: transient:瞬态或者自由态 persistent:持久化状态
2016-03-31 15:02:02 532
转载 hibernate延迟加载(get和load的区别)
一、get和load方法都是根据id去获得对应数据的,但是获得机制不同:如果使用get方法,hibernate会去确认该id对应的数据是否存在,它首先会去session中去查询(session缓存其实就hibernate的一级缓存),如果没有,再去二级缓存中去查询,如果再没有,就去数据库中查询,仍然没有找到的话,就返回null 而使用load方法的话,hibernate会认定该id对应的数据
2016-03-31 12:07:23 1281
转载 BufferedReader、FileReader、FileInputStream
BufferedReader 类 BufferedReader 由Reader类扩展而来,提供通用的缓冲方式文本读取,而且提供了很实用的readLine,读取一个文本行,从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。 一般用法: BufferedReader br = new BufferedReader(new InputStreamRea
2016-03-28 22:28:25 458
转载 struts2中<s:if>标签的使用
A:判断字符串的问题: 1、判断单个字符:<s:if test="#session.user.username=='c'"> 这样是从session中取出username的值,并且判断其是否为c,但是这样判断是不正确的,这样判断的话,根本判断不出来,要改成下面这样: 'c'.toString()"> 这样判断才能正确判断,至于原因我也不知道,在网上看到struts2中可
2016-03-28 12:15:00 599
转载 String,StringBuffer与StringBuilder的区别
String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常
2016-03-27 21:40:09 249
转载 Set实现没有重复元素
Set和数学中的集合是同一个概念,就是没有重复元素的集合。 这篇文章主要论述了Set是如何实现"没有重复元素"(no duplicate elements)的,以及阐述了什么是“重复”(duplicate),是相同的地址空间?是equals的返回值为true?是compareTo的返回值为0 ?还是有相同的hashCode?本文还给出了在什么情况下使用什么样的Set的建议。 注:本
2016-03-27 12:11:53 639
转载 java split
在项目中经常会遇到按字符分割字符串的情况,可以使用String对象的split函数进行分割。 先看实际情况: Java代码 String str = "关键词1 关键词2 关键词3"; String[] words = str.split(" "); for(String word : words){ System.ou
2016-03-26 22:31:15 245
转载 Java移位操作符
移位运算符就是在二进制的基础上对数字进行平移。按照平移的方向和填充数字的规则分为三种:>(带符号右移)和>>>(无符号右移)。 在移位运算时,byte、short和char类型移位后的结果会变成int类型,对于byte、short、char和int进行移位时,规定实际移动的次数是移动次数和32的余数,也就是移位33次和移位1次得到的结果相同。移动long型的数值时,规定实际移动的次数是移动次
2016-03-26 17:27:52 315
转载 java面试宝典5.2.3中间缓存变量
因为在计算过程中,使用了Java中间变量缓存机制。在java中,执行自增运算时,会为每一个自增操作分配一个临时变量,如果是前缀加(++i),就会“先自加1后赋值(给临时变量)”;如果是后缀加(i++),就会“先赋值(给临时变量)后自加1”。运算最终使用的,并不是变量本身,而是被赋了值的临时变量。 即 method_1方法中的 [java] view plaincopyprin
2016-03-26 12:17:17 373
原创 java枚举类型
package com.idomov.comm.conf; public enum Audit { 全部(0,"全部"),审核通过(1,"审核通过"),审核失败(2,"审核失败"),待审核(3,"待审核"); private final Integer value; private final String ladel; private Audit(Integer valu
2016-03-17 17:28:52 336
转载 JSTL c标签和Struts2 s标签常用功能对比
1. 条件标签 JSTL c:if test="${user.password == 'hello'}"> c:choose> c:when test="${user.age "> font color="blue"/> c:when> c:when test="${user.
2016-03-17 17:25:28 390
原创 javax.persistence.NoResultException: No entity found for query 异常解决办法
@Override public AddressModel getDefaultByMemberId(Long id) { // TODO Auto-generated method stub String hql = "SELECT a FROM AddressModel a WHERE a.member.memberId=:id " +"AND a.addressDefault=:ad
2016-03-17 17:22:16 2365
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人