JAVA
eotteon__ireum
要成为有趣的大人.
展开
-
基于代理类的AOP实现
在Spring中默认使用JDK动态代理实现AOP编程。使用org.springframework.aop.framework.ProxyFactoryBean创建代理是Spring AOP实现的最基本方式。Spring的通知类型根据Spring中通知在目标类方法的连接点位置,可以分为6种如下类型:(1)环绕通知环绕通知(org.aopalliance.intercept.MethodInterceptor)是在目标方法执行前和执行后实施增强,可以应用于日志记录、事务处理等功能。(2)前置通知前置原创 2021-11-03 21:01:16 · 271 阅读 · 0 评论 -
Spring AOP的动态代理
Spring AOP的动态代理在业务处理代码中,通常都有日志记录、性能统计、安全控制、事务处理、异常处理等操作。尽管使用OOP可以通过封装或继承的方式达到代码的重用,但仍然存在同样的代码分散到各个方法中。因此,采用OOP处理日志记录等操作,不仅增加了开发者的工作量,而且提高了升级维护的困难。为了解决此类问题,AOP思想应运而生。AOP采取横向抽取机制,即将分散在各个方法中的重复代码提取出来,然后在程序编译或运行阶段,再将这些抽取出来的代码应用到需要执行的地方。这种横向抽取机制,采用传统的OOP是无法办到的原创 2021-11-03 20:10:42 · 226 阅读 · 0 评论 -
Java中的Set类
Set集合不包含重复元素,包括HashSet、TreeSet和LinkedHashSet三种类型。HashSet:快速访问。TreeSet:排序Set。LinedHashSet:记录插入时的顺序。Set接口的特性,Set接口继承了Collection接口,Set集合中不能包含重复的元素,每个元素必须是唯一的,只要将元素加入set中,重复的元素会自动移除。...原创 2021-11-03 19:56:56 · 308 阅读 · 0 评论 -
并发并行、串行并行、串口并口的区别
并发:Concurrency,以可独立执行的进程集合的方式编程。并行:Parallelism,以可同时执行的计算机指令方式编程。并发并行并发,是在同一个cpu上同时(不是真正的同时,而是看来是同时,因为cpu要在多个程序间切换)运行多个程序。并发编程的目标是充分的利用处理器的每一个核,以达到最高的处理性能。并行,是每个cpu运行一个程序。并发,就像一个人(cpu)做两件事(程序),轮换着每件事做一点,表面上两件事都在做。并行,就是2个人做2件事,两件事也同时在做。串行通信和并行通信这里的.原创 2021-11-03 19:52:46 · 809 阅读 · 0 评论 -
什么是非线程安全
非线程安全:在运行中不提供数据访问保护,这就可能导致多个线程先后更改数据,最后所得的数据是脏数据。线程安全:多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。HashMap是线程不安全的。...原创 2021-11-03 19:28:39 · 944 阅读 · 0 评论 -
javaee常用代码
web.xml<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version=原创 2021-10-28 20:05:49 · 233 阅读 · 0 评论 -
Bean的作用域、生命周期、注解
Bean的作用域singleton作用域当将bean的scope设置为singleton时,Spring IoC容器仅生成和管理一个Bean实例(单例)。使用id或name获取Bean实例时,IoC容器将返回共享的Bean实例。由于singleton是scope(范围)的默认方式,因此有两种方式将bean的scope设置为singleton。配置文件示例代码如下:<bean id="constructorInstance" class="instance.BeanClass"/>或原创 2021-10-28 19:40:47 · 384 阅读 · 0 评论 -
Bean的实例化
Spring框架实例化Bean有三种方式:构造方法实例化、静态工厂实例化和实例工厂实例化(其中,最常用的实例方法是构造方法实例化)。构造方法实例化在Spring框架中,Spring容器可以调用Bean对应类中无参数构造方法来实例化Bean,这种方式称为构造方法实例化。静态工厂实例化使用静态工厂实例化Bean时,要求开发者在工厂类中创建一个静态方法来创建Bean的实例。配置Bean时,class属性指定静态工厂类,同时还需要使用factory-method属性指定工厂类中的静态方法。实例工厂实例化原创 2021-10-26 22:32:22 · 100 阅读 · 0 评论 -
IOC(Inversion of Control控制反转)DI(Dependency Injection,依赖注入)
控制反转(Inversion of Control),是Spring框架的核心,用来消减计算机程序的耦合问题。依赖注入(Dependency Injection)是IOC的另一种说法,从不同的角度,描述相同的概念。从Spring容器的角度来看,Spring容器负责将被依赖对象赋值给调用者的成员变量,相当于为调用者注入它所依赖的实例,这就是Spring的依赖注入。控制反转是一种通过描述(在Spring中可以是XML或注解)并通过第三方去产生或获取特定对象的方式(用new创建对象实例不利于低耦合)。在S原创 2021-10-26 21:40:54 · 161 阅读 · 0 评论 -
final关键字
final关键字的作用是:1、用来修饰一个引用。2、用来修饰一个方法,该方法将成为最终方法,无法被子类重写,但仍然可以被继承。3、用来修饰类,该类将成为最终类,无法被继承;当我们需要让一个类永远不被继承,此时就可以用final修饰。...原创 2021-10-26 19:30:25 · 73 阅读 · 0 评论 -
ArrayList和LinkedList的区别
它们一个是Array(动态数组)的数据结构,一个是Link(链表)的数据结构,此外,它们两个都是对List接口的实现。前者是数组队列,相当于动态数组;后者为双向链表结构,也可当作堆栈、队列、双端队列 。...原创 2021-10-25 20:44:46 · 73 阅读 · 0 评论 -
static{}是什么意思
static{}中的代码表示是在类装载的时候执行一次,且仅执行一次【静态初始化块的作用就是:提升程序性能。】static关键字:方便在没有创建对象的情况下进行调用(方法/变量)。在类中,用static声明的成员变量为静态成员变量,也成为类变量。类变量的生命周期和类相同,在整个应用程序执行期间都有效。static修饰的成员变量和方法,从属于类普通变量和方法从属于对象静态方法不能调用非静态成员,编译会报错被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通原创 2021-10-25 20:42:29 · 1954 阅读 · 0 评论 -
重载和重写的区别
重载:Overload重写:Override方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特殊的要求,不能根据返回类型进行区分。...原创 2021-10-25 19:11:06 · 92 阅读 · 0 评论 -
jar包、JavaBean、EJB、POJO、DAO
jar: Java Archive File,Java存档文件。是一种与平台无关的文件格式,可将多个文件合成一个文件。jar 包与 zip 包非常相似——准确地说,它就是 zip 包,所以叫它文件包。jar 与 zip 唯一的区别就是在 jar 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,该文件是在生成 jar 文件的时候自动创建的,作为jar里面的"详情单",包含了该Jar包的版本、创建人和类搜索路径Class-Path等信息,当然如果是可执行Jar包,会包含Main-..原创 2021-10-24 22:09:51 · 4364 阅读 · 0 评论 -
接口与抽象类的区别
接口与抽象类:对应`interface`与`abstract`关键字。抽象类:被abstract关键字修饰的类。在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。被abstract关键字修饰的方法称为抽象方法,抽象方法只有方法的声明,没有方法体。抽象类不能被实例化只能被继承;包含抽象方法的一定是抽象类,但是抽象类不一定含有抽象方法;抽象类中的抽象方法的修饰符只能为pub..原创 2021-10-24 20:08:39 · 101 阅读 · 0 评论 -
.dll动态链接库
.dll,动态链接库。英文为Dynamic Link Library。DLL是一个包含可由多个程序,同时使用的代码和数据的库。优点:可以更为容易地将更新应用于各个模块,而不会影响该程序的其他部分。 使用较少的资源,当多个程序使用同一个函数库时,DLL 可以减少在磁盘和物理内存中加载的代码的重复量。...原创 2021-10-24 19:03:57 · 55 阅读 · 0 评论 -
类的实例化
人是一个“类”,实例化这个类==>“赵四”“钱三”。原创 2021-10-24 19:00:29 · 63 阅读 · 0 评论