Java课程
文章平均质量分 92
是棍子啊
这个作者很懒,什么都没留下…
展开
-
Spring 自动注册Bean(xml配置文件解析)
然后将Resource封装为Document实例对象.针对不同标签进行解析(<bean>/<beans>/<import>/<alias>)注册BeanDefinition。将Resource转为为输入流资源InputResource.是整个bean加载的核心部分,它是Spring注册及加载bean的默认实现。,不同的地方是在XmlBeanFactory中使用了自定义的XML读取器。会根据nameSpace判断是进行默认标签解析还是自定义标签解析。将配置文件转换为Resource资源实例。原创 2024-08-06 23:46:24 · 377 阅读 · 0 评论 -
Spring-Boot概述
并且,当我们需要修改某些配置的时候,也不需要直接在项目源码上进行修改了,可以通过外部化配置,就可以将修改生效。SpringBoot是整合Spring生态圈技术栈的一站式框架,是简化Spring技术栈的快速开发脚手架,缺点是SpringBoot迭代快,变化快,且封装很深,内部原理复杂,不容易精通。中获取到文件中需要自动配置的类,以全类名反射的创建方式,将这些值作为自动配置类导入到容器中,自动配置类就生效,帮我们进行自动配置工作;表明这个类是SpringBoot的主配置类(启动类)原创 2024-07-31 00:03:22 · 667 阅读 · 0 评论 -
并发与多线程(三) 并发容器和线程池
我们平时最常用的HashMap其实不是线程安全的,多线程使用场景下,即想线程安全,又想拥有Map的能力,我们可以选择 HashTable ,因为它是针对我们常用的方法上面加上了 synchronized 锁,但是在高并发的场景下,效率低是它的弊端。那么,当执行读操作的时候,对数据是没有修改的,所以,无须对数据进行加锁操作。● 首先,当有任务要执行的时候,会计算线程池中存在的线程数量与核心线程数量(corePoolSize)进行比较,如果小于,则在线程池中创建线程,否则,进行下一步判断。原创 2024-07-26 00:00:35 · 680 阅读 · 0 评论 -
并发与多线程(二) ReentrantLock/ReadWriteLock/CountDownLatch/CyclicBarrier
包含了JAVA中并发和多线程相关的核心类.原创 2024-07-23 23:22:18 · 625 阅读 · 0 评论 -
并发与多线程(一) 线程与锁
JMM(JAVA内存模型)中,针对多线程并行操作的场景,主要是围绕保证多个线程间可以有效地、正确地协同工作。原创 2024-07-23 00:16:40 · 1035 阅读 · 0 评论 -
JVM基础
我们平常开发编写的java语言代码都是是需要JVM虚拟机来进行编译,解析,运行的.JVM会把我们的java源码编译成Class字节码文件,然后就可以在安装了JVM的不同操作平台去运行,也就是java语言”一次编译,到处运行”的跨平台性,这是因为JVM虚拟机屏蔽了与操作平台相关的信息,为程序运行构建了相同的运行环境. JVM在运行时涉及到的存储区域称为运行时数据区,主要包括: 堆(heap)、方法区、程序计数器(pc寄存器)、虚拟机栈(JVM Stacks)、本地方法栈. 其中堆原创 2024-06-07 01:07:12 · 1991 阅读 · 0 评论 -
MyBatis原理
后两者其实都是基于JDBC的封装后的ORM框架,国内基本以为主流。ORM允许开发人员使用面向对象的方式来操作数据库,可以不需要直接编写SQL查询语句。① 注册驱动和数据库信息② 获得Connection,并使用它打开Statement对象③ 通过Statement对象执行SQL语句,并获得结果对象ResultSet④ 通过代码将ResultSet对象转化为POJOJO对象⑤ 关闭数据库资源。原创 2024-05-29 23:35:27 · 1467 阅读 · 0 评论 -
设计原则和设计模式
提供一个创建产品族的接口,而不需要明确指定要创建的具体类, 其每个子类可以生产一系列相关的产品。原创 2024-04-21 22:56:53 · 1731 阅读 · 1 评论 -
Java之反射&泛型
Java的反射机制是指代码(程序)在运行状态中,对于任意一个类,都能够知道并获得这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取类的信息以及动态调用对象的方法的功能称为java的反射机制。要想动态获取一个类的信息,必须先要获取到该类的字节码文件(Class)对象。如图是类的正常加载过程:反射的关键就在于编译加载后的Class文件泛型主要是为了让开发人员在开发时可以在某个场景中定义使用统一的某种类型, 使代码更规范更安全.原创 2024-04-29 23:35:34 · 424 阅读 · 0 评论 -
Java容器-ArrayList、LinkedList、HashMap
它将键值对存储在一个数组中,数组中每个元素都是一个链表的头节点。但它的增加删除在某些场景下可能比较慢,比如在集合的头部新增或删除一个元素,那么所有旧的元素的位置都会发生变化,如果加上扩容导致数据拷贝,而数据量较多,那么效率会很低.的一个实现类,它的增删效率比较高,因为它是节点存储,双向链表实现,每个节点都记录了上一个节点和下一个节点的地址,针对于增加或修改只需要修改前后节点就可以,所以效率比较高. 对于查询在某些场景下效率会比较差,比如恰好要查询最后一个元素,那么就需要从头遍历到最后才能找到。原创 2024-05-06 22:40:28 · 704 阅读 · 0 评论 -
MySQL基础原理
而提供了事务处理、回滚、崩溃修复能力和多版本并发控制等事务安全性很高的功能,成为目前主要使用的一种存储引擎, 也是mysql的默认存储引擎,底层采用数据结构.原创 2024-05-22 22:44:51 · 867 阅读 · 1 评论