随笔分类 -  java

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

上一页 1 2 3 4 5 6 ··· 12 下一页