- 博客(13)
- 收藏
- 关注
原创 Spring AOP的基础篇
1.Spring AOP的概念1.1 基本概念1.2 名词概念2.Spring AOP基本Demo1.Spring基本jar包:上一篇介绍的spring的核心jar包:context, bean,core,expression,aop2.Spring-AOP基础jarspring-aspects: 传递依赖 aspectjweaver3.Spring-AOP增强jarcglibaopallianceaspectjweaverpom...
2022-01-03 00:44:53
313
原创 静态代理和JDK动态代理
1.代理模式的介绍定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。以一个简单的例子:当我们打游戏的时候,找代练,需要给代练自己的帐号。代练就是一个代理,这里的重点的是需要将自己的帐号给代练, 也就是需要将被代理对象要执行的方法传给代理者去执行。2.实现上面简单的例子(静态代理)public interface IGamePlayer { boolean login(Str
2021-12-29 22:30:20
323
原创 Spring四个核心包
1. Beans spring IOC的基础实现,包含访问配置文件、创建和管理bean等,所有应用都用到。 spring-beans-jar实际使用的Jar包,它才是要导入到项目中 spring-beans-javadoc.jar JavaDoc文档 sprin-beans-sources.jar 源码2.core spring-core-jar :spring的核心工具包spring-c...
2021-12-12 17:24:14
4642
原创 死锁原因、检测方法、避免死锁方法
1.死锁的概念:多个线程在运行过程中因争夺资源而造成的一种相互获取锁,但获取不到所的僵局。例子:小明玩篮球,小张玩足球,然后小明想玩足球,小张想玩篮球,但此时小张占有足球不放弃资源,小张想玩篮球,小明也不放弃资源,造成小明和小张僵持的局面,造成死锁。用code实现如下:package DeadLock1;public class DeadLock { private static Object basketball = new Object(); private static O
2021-06-23 23:21:08
530
原创 notifyAll()会立刻释放锁吗?
不会。需要等到synchronized里面的代码块执行玩才会在释放锁。案例 : 工厂共需要生产30个产品(产品1~产品30), 生产者每生产5个产品就会通知消费者来消费,等到5件产品消费完了然后再通知生产者继续生产,直到30个产品都被生产和消费后结束。生产一个产生默认需要200ms, 消费一个产品需要100毫秒。package FactoryAndCustomer;import java.util.LinkedList;public class Factory { private L
2021-06-22 22:36:44
579
原创 线程间协作通信
1.线程协作的目的:让线程按照定义好的顺序执行。主要介绍等待通知机制:wait() notify() notifyAll()2.wait():等待(释放锁) notify():随机通知、唤醒此锁下的正在等待的线程 notifyAll():通知、唤醒所有此锁下的正在等待的线程。 线程间的通信需要在保证线程安全的情况下进行。3.一个例子例子A:轮流打印AAAAA,BBBBB相隔1s.package TestWorkWithEachOther;public class...
2021-06-21 22:00:09
134
原创 Lock锁--线程4
Lock锁原理:互斥锁,抢不到锁的线程会进入等待队列直到再次被唤醒特点:加锁和解锁的过程需要手动进行,不易操作,但很灵活。按照线程3的买票案例package LockTest;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class window extends Thread{ private static int num = 100; p
2021-06-11 16:58:34
161
原创 线程Tread方式的理解
使用Thread创建的时候Thread thread = new Thread();开启一个线程不能直接用Thread thread = new Thread();thread.start();因为Thread有两个构造方法,一个无参构造,一个有参构造,并且Thread里的源码: @Override public void run() { if (target != null) { target.run(); }
2021-05-26 22:29:48
328
原创 IO流
作为初学者,学完IO流,写此文,作为总结。希望对自己有所帮助流:是一种抽象概念,动态的概念,是对数据传输的总称。流的本质就是数据传输。IO流:用来处理设备间数据传输问题。内存—>硬盘(output写出去)硬盘—>内存(input读进来)相对路径:相对于本工程的路径绝对路径:磁盘路径IO流按照数据类型分类:字节流(InputStream,OutputStream)和字符流(Reader/Writer)节点流(FileInputStream,FileReader),处理流(Buffe
2021-05-26 00:22:54
99
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1