草庐IT

day35-IO流02

JavaOI流024.常用的类4.1文件字节流输入流-FileInputStreamInputStream抽象类是所有类字节输入流的超类InputStream常用的子类:FileInputStream:文件字节输入流BufferedInputStream:缓冲字节输入流ObjectInputStream:对象字节输入流常用方法:输入流的唯一目的是提供通往数据的通道,程序可以通过这个通道读取文件中的数据。read方法提供了一个从输入流读取数据的基本方法,read方法的格式如下:返回值方法说明intread()从输入流中读取数据的下一个字节intread(byte[]b)从输入流中读取一定数量的字

day03-2-应用线程02

JavaGUI-坦克大战03-27.线程的应用027.3.坦克大战4.0版坦克大战4.0版增加功能:功能1.让敌人的坦克也能够发射子弹(可以有多个子弹)功能2.当我方坦克集中敌人坦克时,敌人的坦克就消失,如果能做出爆炸的效果更好功能3.让敌人的坦克也可以自由随机地上下左右移动功能4.控制我方坦克和敌人坦克在规定的范围内移动7.3.1功能1:敌方发射子弹功能1思路:在敌人坦克类使用Vector保存多个Shot当每创建一个敌人坦克时,就给该敌人坦克初始化一个Shot对象,同时启动Shot线程在绘制敌人坦克时,需要遍历敌人坦克对象Vector,绘制所有的子弹,当子弹isLive==false时,就从

day03-2-应用线程02

JavaGUI-坦克大战03-27.线程的应用027.3.坦克大战4.0版坦克大战4.0版增加功能:功能1.让敌人的坦克也能够发射子弹(可以有多个子弹)功能2.当我方坦克集中敌人坦克时,敌人的坦克就消失,如果能做出爆炸的效果更好功能3.让敌人的坦克也可以自由随机地上下左右移动功能4.控制我方坦克和敌人坦克在规定的范围内移动7.3.1功能1:敌方发射子弹功能1思路:在敌人坦克类使用Vector保存多个Shot当每创建一个敌人坦克时,就给该敌人坦克初始化一个Shot对象,同时启动Shot线程在绘制敌人坦克时,需要遍历敌人坦克对象Vector,绘制所有的子弹,当子弹isLive==false时,就从

day16-声明式事务-02

声明式事务-023.事务的传播机制事务的传播机制说明:当有多个事务处理并存时,如何控制?比如用户去购买两次商品(使用不同的方法),每个方法都是一个事务,那么如何控制呢?也就是说,某个方法本身是一个事务,然后该方法中又调用了其他一些方法,这些方法也是被@Transactional修饰的,同样是事务。问题在于:里层方法的事务是被外层方法事务管理?还是它本身作为一个独立的事务呢?这就涉及到事务的传播机制问题。3.1事务传播机制种类事务传播的属性/种类:传播属性说明REQUIRED(默认)如果有事务在运行,当前的方法就在这个事务内运行,否则,就启动一个新的事务,并且在自己的事务内运行REQUIRES_

day16-声明式事务-02

声明式事务-023.事务的传播机制事务的传播机制说明:当有多个事务处理并存时,如何控制?比如用户去购买两次商品(使用不同的方法),每个方法都是一个事务,那么如何控制呢?也就是说,某个方法本身是一个事务,然后该方法中又调用了其他一些方法,这些方法也是被@Transactional修饰的,同样是事务。问题在于:里层方法的事务是被外层方法事务管理?还是它本身作为一个独立的事务呢?这就涉及到事务的传播机制问题。3.1事务传播机制种类事务传播的属性/种类:传播属性说明REQUIRED(默认)如果有事务在运行,当前的方法就在这个事务内运行,否则,就启动一个新的事务,并且在自己的事务内运行REQUIRES_

day06-SpringMVC底层机制简单实现-02

SpringMVC底层机制简单实现-02https://github.com/liyuelian/springmvc-demo.git4.任务3-从web.xml动态获取容器配置文件4.1分析任务3:MyDispatcherServlet(自定义的前端分发器)在创建并初始化自定义的spring容器时,可以动态地从web.xml中获取到配置的容器文件。我们之前实现的时候,是直接在MyWebApplicationContext中指定要读取的容器文件。改进:在web.xml中通过init-param指定容器文件,然后通过读取web.xml获取即可。这样可以动态地读取容器文件,不需要改变源代码。4.2

day06-SpringMVC底层机制简单实现-02

SpringMVC底层机制简单实现-02https://github.com/liyuelian/springmvc-demo.git4.任务3-从web.xml动态获取容器配置文件4.1分析任务3:MyDispatcherServlet(自定义的前端分发器)在创建并初始化自定义的spring容器时,可以动态地从web.xml中获取到配置的容器文件。我们之前实现的时候,是直接在MyWebApplicationContext中指定要读取的容器文件。改进:在web.xml中通过init-param指定容器文件,然后通过读取web.xml获取即可。这样可以动态地读取容器文件,不需要改变源代码。4.2

day11-面向对象02

面向对象027.继承继承的本质是对某一批类的抽象,从而实现对现实世界更好地建模extends的意思是“扩展”。子类是父类的扩展。Java类中只有单继承,没有多继承!(一个儿子只能有一个爸爸,一个爸爸可以有多个儿子)继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends表示子类和父类之间,从意义上讲应该具有“isa”的关系object类super方法重写子类继承了父类,就会有父类的全部方法!(私有的东西无法被继承)例子1:packageli.oop.demo05;//父类:P

day11-面向对象02

面向对象027.继承继承的本质是对某一批类的抽象,从而实现对现实世界更好地建模extends的意思是“扩展”。子类是父类的扩展。Java类中只有单继承,没有多继承!(一个儿子只能有一个爸爸,一个爸爸可以有多个儿子)继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends表示子类和父类之间,从意义上讲应该具有“isa”的关系object类super方法重写子类继承了父类,就会有父类的全部方法!(私有的东西无法被继承)例子1:packageli.oop.demo05;//父类:P

02-分布式事务之Seata入门

二、Seata学习2.1、Seata介绍2.1.1、Seata背景Seata是2019年1月份蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案。致力于提供高性能和简单易用的分布式事务服务,为用户打造一站式的分布式解决方案官网地址:http://seata.io/zh-cn/其中的文档、播客中提供了大量的使用说明、源码分析2.1.2、Seata架构Seata事务管理中有三个重要的角色:TC(TransactionCoordinator)-事务协调者:维护全局和分支事务的状态,协调全局事务提交或回滚TM(TransactionManager)-事务管理器:定义全局事务的范围、开始全局事务、提交或回滚