随笔分类 - java
摘要:首先创建一个接口 UserDao 然后创建一个实现类 UserDaoImpl 当我们需要对已有的接口进行增强时,我们就可以使用Proxy,创建接口的代理对象 对于Proxy类的newProxyInstance方法的第三个参数,可以使用匿名内部类,如上。也可以通过创建实现InvocationHandl
阅读全文
摘要:实现原理:动态代理。动态代理分为两种情况。 一是有接口的情况,通过实现接口的类代理对象实现动态代理,利用JDK的动态代理 二是没有接口的情况 通过创建当前类的子类代理对象,通过CGLIB实现动态代理
阅读全文
摘要:可以使用配置类替换配置文件,实现完全注解开发。
阅读全文
摘要:如下: 然后简单的测试一下 4 开启扫描的细节问题 先给一个配置,这个看懂开启扫描的配置就ok了 实现注入的一般步骤 准备一个UserDaoImp的对象,实现UserDao接口 然后我们简单的测试一下 @Qualifier 要和 @Autowired一起使用。如果UserDao有多个实现类,我们就可
阅读全文
摘要:应用场景:把一些相对固定的配置提取出来,单独放到一个property文件中。以数据库连接池的配置为例 我们不用外部属性文件的做法是这样的 如果使用外部属性文件 1 创建property属性文件 2 在spring配置文件中,引入context命名空间 3 引入外部属性文件并且读取属性
阅读全文
摘要:自动装配的规则有两种,一种是通过属性名称 要求: bean的id值需要和类属性的名称一致 也可以根据类型自动装配
阅读全文
摘要:初始化方法和销毁的配置 我们可以手动关闭容器,从而触发销毁方法 这里注意:ApplicationContext接口没有实现close方法,我们使用它的子接口ClassPathXmlApplicationContext接口来调用关闭容器的方法。 考虑后置处理器,总计有7步 后置处理器:实现BeanPo
阅读全文
摘要:作用域:对象是单实例还是多实例 默认为单实例 通过bean标签下的scope属性可以设置是单实例还是多实例
阅读全文
摘要:创建一个类,实现FactoryBean接口,并且实现接口的方法 测试一下
阅读全文
摘要:>>>>在集合中注入类 课程类 在学生类里添加List<Course>属性,并设置set方法 配置Spring文件,利用ref把类对象添加到List中 >>>>把集合注入的属性提取出来 创建一个book类,有一个集合list 在spring配置文件中 引入util命名空间 使用utils将集合内容抽
阅读全文
摘要:先说结论:不是。 经过JIT逃逸分析,未发生逃逸的,会被编译器优化未栈上分配 TaoBao VM GCIH技术,off-heap进行对象分配
阅读全文
摘要:版权声明:源出处:尚硅谷JVM 博客来源于大佬整理 堆空间的参数设置 -XX:PrintFlagsInitial: 查看所有参数的默认初始值 -XX:PrintFlagsFinal:查看所有的参数的最终值(可能会存在修改,不再是初始值) 具体查看某个参数的指令: jps:查看当前运行中的进程 jin
阅读全文
摘要:版权声明:源出处:尚硅谷JVM 博客来源于大佬整理 新概念:TLAB(堆当中的线程私有缓存区域) 为什么有TLAB(Thread Local Allocation Buffer) 众所周知堆区是线程共享区域,任何线程都可以访问到堆区中的共享数据。由于对象实例的创建在JVM中非常频繁,因此在并发环境下
阅读全文
摘要:版权声明:源出处:尚硅谷JVM 博客来源于大佬整理 常用调优工具 1.JDK命令行 2.Eclipse:Memory Analyzer Tool 3.Jconsole 4.VisualVM 5.Jprofiler 6.Java Flight Recorder 7.GCViewer 8.GC Easy
阅读全文
摘要:版权声明:源出处:尚硅谷JVM 博客来源于大佬整理 年轻代与老年代 1.存储在JVM中的java对象可以被划分为两类: 一类是生命周期较短的瞬时对象,这类对象的创建和消亡都非常迅速 另外一类对象时生命周期非常长,在某些情况下还能与JVM的生命周期保持一致 2.Java堆区进一步细分可以分为年轻代(Y
阅读全文
摘要:版权声明:源出处:尚硅谷JVM 博客来源于大佬整理 一个进程对应一个jvm实例,一个运行时数据区,又包含多个线程,这些线程共享了方法区和堆,每个线程包含了程序计数器、本地方法栈和虚拟机栈。 核心概述 1.一个jvm实例只存在一个堆内存,堆也是java内存管理的核心区域 2.Java堆区在JVM启动的
阅读全文
摘要:版权声明:源出处:尚硅谷JVM 博客来源于大佬整理 本地方法栈 1.Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法(一般非Java实现的方法)的调用 2.本地方法栈,也是线程私有的。 3.允许被实现成固定或者是可动态拓展的内存大小。(和Java虚拟机栈在内存溢出方面情况是相
阅读全文
摘要:版权声明:源出处:尚硅谷JVM 博客来源于大佬整理 本地方法接口 在讲Java虚拟机运行时数据区中本地方法栈之前,我们先来说说运行时数据区之外的一个叫本地方法接口的东西简称JNI(Java Native Interface) 简单来讲,一个Native Method就是一个java调用非java代码
阅读全文

浙公网安备 33010602011771号