Java中事务的概念】的更多相关文章

| 版权声明:本文为博主原创文章,未经博主允许不得转载. 前言: 在学习事务确实有不少弯路,那么今天笔者就用例子讲解一下事务,让初学者少走一些弯路. [回顾事务]问:什么是事务? 答:用专业术语来说事务指的是逻辑上的一组操作,这组操作要么全部成功,要么全部失败. 举个银行转账的例子: ①张三账上有2000元,李四账号也有2000元.张三要向李四转账1000元,正常来说应该是张三账上-1000元,李四账上+1000元.最后张三账上还剩1000元,李四账上3000元.这样就完成了一个转账的操作. ②…
1.什么是JAVA事务? 通常的观念认为,事务仅与数据库相关. 事务必须服从ISO/IEC所制定的ACID原则.ACID是原子性(atomicity).一致性(consistency).隔离性 (isolation)和持久性(durability)的缩写. 事务的原子性:表示事务执行过程中的任何失败都将导致事务所做的任何修改失效. 事务的一致性:表示当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态. 事务的隔离性:表示在事务执行过程中对数据的修改,在事务提交之前对其他事务不可…
一.包的概念:创建,使用. 1.新建包: 最上面一行,之前不能再有其它代码了. package 包名; 注意:包名一般都有命名的规范.例如:com.itnba.maya.zy(从大到小). 2.使用包: import 包名.*; import 包名.类名; 例如:import com.itnba.maya.zy.*; 注意:import不要放在package的上面上 package com.itnba.maya.zy; import com.itnba.maya.zyy.*; //从别的包里引用…
接口 初期理解,可以是一个特殊的抽象类 当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示 class 用于定义类 interface 用于定义接口 接口定义时,格式特点: 1.接口中常见的定义,一个是常量,一个是抽象方法 2.接口中成员都有固定的修饰符 常量:public static final 显示声明或默认声明(final见补充) 方法:public abstract 记住:接口中的成员都是public的 接口是不可以创建对象的,因为有抽象方法. 需要被子类全部实现,否则子类也…
掌握Java中锁是Java多线程编程中绕不开的知识,只有知道理解Java各种锁才能在编码过程中灵活运用,写出更高效的多线程程序.而理解掌握锁的第一步,可从宏观上对比理解一下各种锁概念. 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁 上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内容是对每个锁的名词进行一定的解释. 公平锁/非公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁.非…
接口接口在java中是一个抽象的类型,是抽象方法的集合,接口通常使用interface来声明,一个类通过继承接口的方式从而继承接口的抽象方法.接口并不是类,编写接口的方式和类的很相似,但是他们属于不同的概念,类描述的是对象的属性和方法,接口则包含类要实现的方法.除非实现接口的类是抽象类,否则该类要定义接口中所有的方法.接口无法被实例化,但是可以被实现,一个实现接口的类必须实现接口内所藐视的所有的方法,否则就必须声明为抽象类.接口与类的相似点:1.一个接口可以有多个方法.2.接口文件保存在.jav…
强引用(StrongReference) 强引用就是指在程序代码之中普遍存在的,比如下面这段代码中的object和str都是强引用: 1 2 Object object = new Object(); String str = "hello"; 只要某个对象有强引用与之关联,JVM必定不会回收这个对象,即使在内存不足的情况下,JVM宁愿抛出OutOfMemory错误也不会回收这种对象.比如下面这段代码: 1 2 3 4 5 6 7 8 9 10 public class Main {…
Java 中的包package, 就是电脑中的文件夹.我们平时在工作中,文件太多时,都会新建文件夹进行分类管理,java 中的包也是类似的道理,当我们的类太多时,也需要进行分类管理,这时我们就会把类文件放到包中,就是把这个.class文件放到了一个文件夹中,这样也能有效地避免了命名冲突. 当我们对java源文件进行编译时,它会生成一个.class 文件,如果我们在java源文件的顶部,指定一个包名(package net;), 编译时,这个包名会生成一个文件夹,在这里就是net文件夹,编译好的.…
今天寡人遇到一个问题,扫描非关系数据库中的图(由node和rel组成),将其转化成由寡人自定义的gnode和gedge组成的图. gnode类包含结点的id,label和包含此gnode的gedge的链表:gedge类包含gnode类型的startnode和endnode. 寡人伏案敲打键盘,不到一盏灯的时间里便写出了一个递归的深度优先遍历算法,心中不免感到被自己的才智深深的折服. 但寡人发觉有哪里不太对,寡人在纸上画一例以试之,发现果然有问题: 为避免重复扫描相同的node,在处理此node之…
继承是类的三大特性之一,是java中实现代码重用的重要手段之一.       java中只支持单继承,即每个类只能有一个父类.       继承表达的是is a的关系,或者说一种特殊和一般的关系.       例如DOS is a Pet.       同样,我们可以让学生继承人.让苹果继承水果.让三角形继承几何图形.         在java中,继承(Interitance)通过extends关键字来实现,其中SubClass成为子类SuperClass称为父类.基类或超类.        …
Java对对象和基本的数据类型的处理是不一样的.和C语言一样,当把Java的基本数据类型(如int,char,double等)作为入口参数传给函数体的时候,传入的参数在函数体内部变成了局部变量,这个局部变量是输入参数的一个拷贝,所有的函数体内部的操作都是针对这个拷贝的操作,函数执行结束后,这个局部变量也就完成了它的使命,它影响不到作为输入参数的变量.这种方式的参数传递被称为"值传递".而在Java中用对象的作为入口参数的传递则缺省为"引用传递",也就是说仅仅传递了对…
数组的定义形式: 动态初始化方式: 1.声明并开辟数组 String str[]=new String[3];//3表示数组的长度 2.分布完成 String str[]=null; str=new String[3]; 静态初始化 1.简化格式 String str [] = {"1","2","3"}; 2.完整格式 String str = new String[]{"1","2","3&q…
概念: 简答来说,多态(Polymorphism)是具有表现多种形态的能力的特征.    更专业的说法是:同一个实现接口,使用不同的实例而执行不同的操作. 好处: 通过多态可以减少类中代码量,可以提高代码的可扩展性和可维护性.   继承是多态的基础,没有继承就没有多态.…
数组概念: 数组其实也是一个容器,可以用来存储固定个数相同类型的数据数组的定义 数组中存储的数据叫做元素 特点: 1.数组是引用数据类型 2.数组的长度是固定的,也就是说可以存储固定个数的数据 3.数组中的元素的类型必须一致,也就是说数组中存储的多个数据的数据类型一致 注意: 数组有定长特性,长度一旦指定,不可更改. 和水杯道理相同,买了一个2升的水杯,总容量就是2升,不能多也不能少.…
1.什么是二维数组?有几种表达方式?分别是什么? 答:多维数组即数组的数组,即数组的元素也是数组. 例:int[] [] a = {{1},{1,2},{1,2,3}}; 有三种方式 1).int [] [] a;  2).int [] a1 [];  3).int a2 [] []; *强烈推荐用第1种,不容易混淆a的数据类型: 2.多维数组的创建过程是什么? 答: 例:int [] [] a = new int [2] []; a[0] = {1,2,3}; a[1] = {4,5,6};…
接口的特点: 接口中只有抽象方法和全局常量 public interface className{} 范例:简单的代码模型 interface A{ public static final String str = "Hello"; public abstract void print(); //如果不加public abstract 也会默认是public类型的抽象方法 } interface B{ public void fun(); } interface D{ void get…
抽象类 public abstract class A{} 抽象类中可以定义抽象方法和普通方法:抽象方法指的是没有方法体的方法 public abtract void function();//抽象方法 由于抽象方法没有方法体,所以不能够直接被调用,那么抽象类就不能够被直接实例化产生的对象,所以抽象类: 1.抽象类必须有子类(子类可以是抽象类也可以是普通类) 2.非抽象类继承抽象类必须覆写抽象类中的所有抽象方法,一个子类只能够继承一个抽象类,单继承局限: 3.抽象类的实例化方式通过子类完成,采用…
内部类和外部类可以互相访问私有属性 1.普通内部类实例化方式 外部类.内部类 对象 = new 外部类().new 内部类(); class Outer{//外部类 private String msg = "hello word"; class Inner{//定义一个内部类 public void print(){ // Outer.this表示外部类的当前对象 System.out.println(Outer.this.msg); } } } public class Test{…
容器:顾名思义,装东西的器物至于spring中bean,aop,ioc等一些都只是实现的方式具体容器哪些值得我们借鉴,我个人觉得是封装的思想.将你一个独立的系统功能放到一个容器之中,可以当做一个大的接口被别人使用,也可以更好的规范标准就比如我们的捐款箱,放在那里,可以投掷一毛.五毛.一块.十块等等,但是这个容器的功能就是:供别人捐款使用在我们需要的时候可以带着这个容器去任何地方使用如果你的系统是放置在你的电脑上的散乱的文件的话,用的时候去找对应文件,等于是把捐款丢在地上,那么可想而知,使用起来多…
常量:在程序执行过程中,其值不发生改变的量.分类:A:字面值常量B:自定义常量字面值常量A:字符串常量(用“”括起来的内容).举例:"hello"B:整数常量 (所有的整数)举例:100,200C:小数常量 (所有小数)举例:10.23,110.11D:字符常量 (用‘’括起来的内容单个字符)举例:'A',错误的:'ab',E:空常量举例:null 有符号数据表示法在计算机内,有符号数有三种表示法:原码.反码.和补码.所有数据的运算都是采用补码进行的.原码:就是二进制定点表示法,即最高…
4.this关键字(this key word) 继上一小节,(3.一个对象可能有多个参考)this是当中的一个参考!指向他自己. class MyTestDate {    int year;    int month;    MyTestDate(int year, int month, int day) {/* 为了学习this的用法,本例中,我们故意用了两个相同的year,一个是全类作用范围的(整个类中都有效马克-to-win):int year; 另外一个是,只有本块儿才起作用的块作用…
封装(Encapsulation)是类的三大特性之一, 就是将类的状态信息隐藏在类的内部,不允许外部程序直接访问, 而是通过该类提供的方法来实现对隐藏信息的操作和访问. 简而言之,就是隐藏内部实现,提供对外方法.…
多态性是指同一操作作用于某一类对象,可以有不同的解释,产生不同的执行结果. 多态存在的三个必要条件 需要存在继承和实现关系 同样的方法调用而执行不同操作,运行不同代码. 在运行时父类或者接口的引用变量可以引用 其子类的对象. 多态的作用 多态通过分离做什么和怎么做,从另一个角度将接口和实现进行分离. 多态则消除了类型之间的耦合关第. 多态的存在 public class AnimalDemo{ public static void main(String [] args){ Animal dog…
接口的特点: A:接口用关键字interface表示 interface 接口名 {} B:类实现接口用 implements 表示 class 类名 implements 接口名 {} C:接口不能实例化 那么,接口如何实例化呢? 按照多态的方式来实例化. D:接口的子类 a:可以是抽象类.但是意义不大. b:但是可以具体类.要重写结构中的所有抽象方法.(推荐方案) 由此可见: A:具体类多态(几乎没有) B:抽象类多态(常用) C:接口多态(最常用)//定义动物培训接口interface A…
Java中Clone的概念大家应该都很熟悉了,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如何工作的?      1. Clone和Copy      假设现在有一个User对象,User u1=new User(“U1001”,“Jason”,25),通 常我们会有这样的赋值User u2=u1,这个时候只是简单了copy了一下reference,u2和u1都指向内存中同一个object,这样u2或者u1的一个操作都可能影响到对方.打个比方,如果我…
1.java中的域 所谓的域,翻译成英文就是field, 也就是我们常说的字段,或者说是属性. 比如类的字段(属性),局部的,全局的.所谓域,其实是“field”的翻译 然后实例域,就是 实例("object" )的"field".包括实例域和静态域,静态域又叫类域. java中对象中的数据称为实例域(instance field). 2.静态域 如果将域定义为static,那么每个类中只有一个这样的域.而每一个对象对于所有的实例域却都有自己的一份拷贝.例如,假定需…
以前一直对于java中容器的概念不理解,虽然学习过,但始终没有认真理解过,这几天老师提出了这样一个问题,你怎么理解java中的容器.瞬间就蒙了.于是各种搜资料学习了一下,下面是我学习后整理出来的的一些心得.欢迎各路大神指教 在书写程序时,我们常常需要对大量的对象引用进行管理.为了实现有效的归类管理,我们常常将同类的引用放置在同一个数据容器中. java容器的组成 一.Collection接口:定义了存取一组对象的方法,他的子接口Set和List分别定义了存取方法.Set中的数据对象没有顺序且不可…
Java中的方法 概念: 为什么要有方法: 提高代码的复用性 什么是方法: 完成特定功能的代码块 格式: 修饰符 返回值类型 方法名(参数){ 方法体语句: return 返回值: } 1.修饰符:例如public static. 2.返回值类型:功能结果的数据类型 3.方法名:这个不用多说了吧 4.参数: 实际参数===就是实际参与运算的 形式参数===就是方法定义的,用于接收实际参数 5.参数类型:就是传入参数的类型 6.参数名:变量名 7.方法体语句:就是完成功能的代码 8.return:…
面试中经常遇到Clone的相关知识,今天总算是把Clone理解的比较透彻了!Java中Clone的概念大家应该都很熟悉了,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如何工作的?     1. Clone和Copy     假设现在有一个User对象,User u1=new User(“U1001”,“Jason”,25),通常我们会有这样的赋值User u2=u1,这个时候只是简单了copy了一下reference,u2和u1都指向内存中同一个ob…
Java中锁的概念 自旋锁 : 是指当一个线程在获取锁的时候,如果锁已经被其他线程获取,那么该线程将循环等待,然后不断判断锁是否能够被成功获取,直到获取到锁才会退出循环. 乐观锁 : 假定没有冲突,在修改数据时如果发现数据和之前获取的不一致,则读最新数据,修改后重试修改 悲观锁 :假定会发生并发冲突,同步所有对数据的相关操作,从读数据就开始上锁 独享锁(写) : 给资源加上写锁,拥有该锁的线程可以修改资源,其他线程不能再加锁(单写) 共享锁(读) : 给资源加上读锁后只能读不能改,其他线程也只能…