- 博客(10)
- 收藏
- 关注
原创 几种常见的设计模式
模板方法模式 定义骨架,将一些步骤延迟到子类实现,一般通过继承实现,Spring 并没有使用这种方式,而是使用Callback 模式与模板方法模式配合,既达到了代码复用的效果,同时增加了灵活性。观察者模式,它表示的是一种对象与对象之间具有依赖关系,当一个对象发生改变的时候,这个对象所依赖的对象也会做出反应。工厂模式,不对外提供构造方法,使得只能按照定义好的方式获得对象,常用于封装统一的返回结果,包装类里面也有体现;单例,也是bean默认的作用域,常用于配置类等不需要重复创建且频繁使用的对象;
2023-08-04 09:41:25 151 1
原创 Java中string[] 和List<String>的区别
一直对string[]和List定义不怎么清楚,特地总结一下: string[]数组里面是存放string型的值,List是存放型的对象数组的容量是固定的,您只能一次获取或设置一个元素的值,而List的容量可根据需要自动扩充、修改、删除或插入数据。数组可以具有多个维度,而 List< T> 始终只具有一个维度。但是,您可以轻松创建数组列表或列表的列表。特定类型(Object 除外)的数组 的性能优于List的性能。这是因为 List的元素属于 Object 类型;
2023-07-23 10:55:09 925 1
原创 JVM-类加载器分类
在Java的日常应用程序开发中,类的加载几乎是由上述3种类加载器相互配合执行的,在必要时,我们还可以自定义类加载器,来定制类的加载方式。为什么要自定义类加载器?隔离加载类修改类加载的方式扩展加载源通过来自数据库的文件加载等防止源码泄漏。
2023-07-18 10:00:42 218 1
原创 git 常用命令
git commit -m "message":将暂存区的文件提交到本地仓库,创建一个新的提交记录,message 是对此次提交的简要描述。git merge [branch]:将指定分支的更改合并到当前分支,将两个分支的修改内容合并在一起。git checkout [branch]:切换到指定的分支,可以是已存在的本地分支或远程分支。git diff:比较工作区中的文件与暂存区或上次提交之间的差异,显示出具体的更改内容。git push:将本地仓库的提交推送到远程仓库,实现代码的共享和备份。
2023-07-18 09:40:51 130 1
原创 从源码角度分析包装类的128陷阱
当使用 Integer.valueOf(int) 方法创建 Integer 对象时,如果传入的整数值在缓存数组范围内,方法会直接返回缓存数组中对应位置的对象。该数组存储了在一定范围内的整数值对应的 Integer 对象,以便在需要时可以重复使用,减少对象的创建和内存消耗。对于超出缓存数组范围的整数值,例如超过 127 或小于 -128,Integer.valueOf(int) 方法会创建一个新的 Integer 对象,并返回该对象的引用。因此,任何对缓存数组中对象的修改操作都会导致创建一个新的对象。
2023-07-17 21:07:47 100 1
原创 Spring MVC的作用域
根据对象的作用域选择适当的作用域类型可以有效地管理对象的生命周期和可见性,以满足应用程序的需求,每个作用域都可以有多个不同的对象实例,这些对象在相应的作用域内是可见的。例如,在请求作用域中,可以有多个不同的请求同时进行处理,每个请求都有自己的对象实例。1. 请求作用域(Request Scope):每个HTTP请求都会创建一个新的作用域,该作用域中的对象仅在当前请求的处理期间可见。通常用于存储请求相关的数据。在Spring MVC中,作用域指的是对象在应用程序中的可见性和生命周期。
2023-07-13 12:21:42 378 1
原创 SqlSession的主要作用有
总之,SqlSession 是 MyBatis 中与数据库交互的核心对象,它提供了执行数据库操作的方法,并管理数据库连接、事务和缓存等。1. 提供对数据库的操作方法:SqlSession提供了一系列方法,用于执行数据库操作,如插入数据、更新数据、删除数据和查询数据等。2. 管理数据库连接:SqlSession 负责获取数据库连接,并在操作完成后释放连接,确保数据库连接的有效性和安全性。3. 实现事务管理:SqlSession 可以管理事务的提交、回滚和关闭,确保数据库操作的一致性和可靠性。
2023-07-13 12:08:26 596 1
原创 线程栈和jvm栈是怎样的关系
线程栈(ThreadStack)和JVM栈(JVMStack)是相关的概念,它们在Java中扮演不同的角色。1、线程栈(ThreadStack):-每个线程在Java中都有自己的线程栈。-线程栈用于存储线程执行过程中的方法调用和局部变量等信息。-每当一个方法被调用时,线程栈会为该方法创建一个栈帧(StackFrame)并入栈。-栈帧包含了方法的参数、局部变量以及方法的返回值等信息。-当方法执行完成后,栈帧出栈,控制权返回到调用
2023-07-13 11:58:36 415 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人