- 博客(17)
- 收藏
- 关注
原创 SSM知识
这种异常处理方式下,会给所有或者指定的 Controller 织入异常处理的逻辑(AOP),当 Controller 中的方法抛出异常的时候,由被@ExceptionHandler 注解修饰的方法进行处理。多个拦截器时每个方法的执行顺序,preHandle()会按照配置的顺序执行,postHandle()和afterComplation()按照配置的反序执行。不过,大部分 Bean 实际都是无状态(没有定义可变的成员变量)的(比如 Dao、Service),这种情况下, Bean 是线程安全的。
2023-08-07 23:32:18 74
原创 java基础知识
继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。通过使用继承,可以快速地创建新的类,可以提高代码的重用,程序的可维护性,节省大量创建新类的时间 ,提高我们的开发效率。String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可以更改的,但后两者的对象是变量,是可以更改的。重写发生在运行期,是子类对父类的允许访问的方法的实现过程进行重新编写。
2023-08-06 21:49:55 70
原创 JVM八股
初始化零值完成之后,虚拟机要对对象进行必要的设置,例如这个对象是哪个类的实例、如何才能找到类的元数据信息、对象的哈希码、对象的 GC 分代年龄等信息。每个线程在创建的时候都会创建一个虚拟机栈,每次方法调用都会创建一个栈帧,每个栈帧都包含:局部变量表、操作数栈、动态链接和返回地址,栈帧随着方法的调用而创建,随着方法的结束而销毁。根据老年代的特点提出的一种标记算法,标记过程仍然与“标记-清除”算法一样,但后续步骤不是直接对可回收对象回收,而是让所有存活的对象向一端移动,然后直接清理掉端边界以外的内存。
2023-08-05 21:51:47 81 1
原创 juc(二)
抽象队列同步器,主要用来构建锁和同步器,使用 AQS 能简单且高效地构造出应用广泛的大量的同步器,比如我们提到的 ReentrantLock,Semaphore,其他的诸如 ReentrantReadWriteLock,SynchronousQueue等等皆是基于 AQS 的。可重入锁 也叫递归锁,指的是线程可以再次获取自己的内部锁。比如一个线程获得了某个对象的锁,此时这个对象锁还没有释放,当其再次想要获取这个对象的锁的时候还是可以获取的,如果是不可重入锁的话,就会造成死锁。
2023-08-04 17:02:21 68 1
原创 算法训练Day8| LeetCode344. 反转字符串(双指针);541. 反转字符串II(模拟);offer5. 替换空格(双指针后序);151.反转字符串中的单词(综合);off58.左旋字符串
字符串
2022-11-23 19:09:52 35
原创 算法训练Day7| LeetCode454. 四数相加II(Map作哈希表);383.赎金信(数组作哈希表);15.三数之和(双指针);18.四数之和(双指针)
哈希表
2022-11-22 14:01:01 52
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人