声明式事务1.事务分类编程式事务Connectionconnection=JdbcUtils.getConnection();try{//1.先设置事务不要提交connection.setAutoCommit(false);//2.进行业务crud//3.提交事务connection.commit();}catch(Exceptione){//4.出现异常,回滚connection.rollback();}声明式事务(后面以一个购买商品的系统为例)2.声明式事务-使用实例2.1需求说明需求说明-用户购买商品去处理用户购买商品的业务逻辑:当一个用户去购买商品,应该包含三个步骤:通过商品id获取价
Java集合0714.HashMap14.1HashMap介绍Map接口的常用实现类:HashMap、Hashtable、PropertiesHashMap是Map接口使用频率最高的实现类HashMap是以key-value对的方式来存储数据(HashMap$Node类型)key不能重复,value可以重复。允许使用null键和null值如果添加相同的key键,则会覆盖原来的key-value,等同于修改(key不会替换,value会替换)与HashSet一样,不保证映射的顺序,因为底层是以hash表的顺序来存储的。(JDK8的HashMap底层:数组+链表+红黑树)HashMap没有实现同步
Java集合0714.HashMap14.1HashMap介绍Map接口的常用实现类:HashMap、Hashtable、PropertiesHashMap是Map接口使用频率最高的实现类HashMap是以key-value对的方式来存储数据(HashMap$Node类型)key不能重复,value可以重复。允许使用null键和null值如果添加相同的key键,则会覆盖原来的key-value,等同于修改(key不会替换,value会替换)与HashSet一样,不保证映射的顺序,因为底层是以hash表的顺序来存储的。(JDK8的HashMap底层:数组+链表+红黑树)HashMap没有实现同步
使用文件流对文件进行复制:packageio;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;/**使用文件流完成文件的复制操作/publicclassCopyDemo{publicstaticvoidmain(String[]args)throwsIOException{//FileInputStreamfis=newFileInputStream("image.jpg");//FileOutpu
使用文件流对文件进行复制:packageio;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;/**使用文件流完成文件的复制操作/publicclassCopyDemo{publicstaticvoidmain(String[]args)throwsIOException{//FileInputStreamfis=newFileInputStream("image.jpg");//FileOutpu
模型数据1.数据放入request说明:开发中,控制器/处理器中获取的数据如何放入request域,然后在前端(vue/jsp/...)取出显示?先来看一个例子应用实例需求:表单提交信息,后端获取信息,并通过request转发到另一个页面,显示信息。需要知道的是:前端提交的数据,springmvc会自动地封装到java对象中,同时springmvc会自动地将其放入request域中,这样我们就可以在跳转的下一个页面取出数据。mode_date.jsp提交数据:model_data主人id:主人名:宠物id:宠物名:VoteHandler.java:springmvc会自动将数据封装到Javab
模型数据1.数据放入request说明:开发中,控制器/处理器中获取的数据如何放入request域,然后在前端(vue/jsp/...)取出显示?先来看一个例子应用实例需求:表单提交信息,后端获取信息,并通过request转发到另一个页面,显示信息。需要知道的是:前端提交的数据,springmvc会自动地封装到java对象中,同时springmvc会自动地将其放入request域中,这样我们就可以在跳转的下一个页面取出数据。mode_date.jsp提交数据:model_data主人id:主人名:宠物id:宠物名:VoteHandler.java:springmvc会自动将数据封装到Javab
分布式互斥方法什么是分布式互斥?对于同一个共享资源,当一个程序正在使用的时候,不希望被其他程序打扰,这种排他性的资源访问方式,叫做分布式互斥,被互斥访问的共享资源被称作临界资源(CriticalResource).有什么方法可以让分布式系统里的程序互斥地访问临界资源?我们一般有三种方法:集中式算法(霸道总裁)分布式算法(民主协商)令牌环算法(轮值CEO)集中式互斥算法我们引入一个协调者程序,每个程序在访问临界资源时,先向协调者发送一个请求,如果当前没有其他程序使用这个资源,协调者直接发送授权信息给请求程序去访问;否则,协调者会按照先来后到的顺序为请求程序“排个号”。如果有程序使用完资源,则通知
分布式互斥方法什么是分布式互斥?对于同一个共享资源,当一个程序正在使用的时候,不希望被其他程序打扰,这种排他性的资源访问方式,叫做分布式互斥,被互斥访问的共享资源被称作临界资源(CriticalResource).有什么方法可以让分布式系统里的程序互斥地访问临界资源?我们一般有三种方法:集中式算法(霸道总裁)分布式算法(民主协商)令牌环算法(轮值CEO)集中式互斥算法我们引入一个协调者程序,每个程序在访问临界资源时,先向协调者发送一个请求,如果当前没有其他程序使用这个资源,协调者直接发送授权信息给请求程序去访问;否则,协调者会按照先来后到的顺序为请求程序“排个号”。如果有程序使用完资源,则通知
Java集合0511.HashSet课堂练习11.1课堂练习1定义一个Employee类,该类包括:private成员属性name,age要求:创建3个Employee对象放入HashSet中当name和age的值相同时,认为是相同员工,不能添加到HashSet集合中思路:不同对象的哈希值一般会不一样,导致在添加对象时可能会在table数组的不同位置添加,因此想要比较对象的属性值,就要重写hashCode方法,使具有相同属性的对象具有一样的hash值,这样才能在插入时比较对象的值;但不同的对象也可能具有相同的hash值,所以要重写equals方法来比较对象属性值如下图:在add()方法最终调用