![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习专栏
学习笔记
成神之路D
这个作者很懒,什么都没留下…
展开
-
Java_Java基础:int类型计算
提供两个int型,a和b。原创 2024-07-05 14:51:01 · 134 阅读 · 0 评论 -
Java_Spring框架:Bean的生命周期
销毁(Destruction):当Bean不再被需要时,Spring会调用Bean的销毁方法进行资源释放和清理工作。Bean的销毁阶段只有在容器关闭时才会触发,或者在使用单例作用域的Bean时,当Bean不再被引用时被垃圾回收器回收。以上是Spring框架中Bean的典型生命周期阶段,每个阶段都提供了相应的扩展点,可以在不同阶段进行自定义操作。属性赋值(Population):在实例化后,Spring会通过依赖注入(Dependency Injection)或者属性赋值的方式,将Bean的属性值设置好。原创 2024-07-03 13:56:07 · 124 阅读 · 1 评论 -
Java_MyBatis框架:MyBatis框架
MyBatis的执行流程先加载配置文件再通过SqlSessionFactoryBuilder创建SqlSessionFactory对象获取SqlSession生成代理对象执行Excutor匹配执行SQL语句MyBatis的一级缓存和二级缓存一级缓存:也叫SqlSession级缓存,无需手动开启,可直接使用,为每个SqlSession单独分配的缓存空间,多个SqlSession之间的缓存不共享。二级缓存:namespace级别缓存,即一个mapper一个缓存,相互独立互不影响,同一个n原创 2024-07-05 09:45:00 · 243 阅读 · 0 评论 -
Java_Spring框架:AOP
AOP采取横向抽取机制,将分散在各个方法中的重复代码提取出来,在程序编译或运行时,再将这些提取出来的代码应用到需要执行的地方。AOP:面向切面编程。原创 2024-07-04 10:30:00 · 128 阅读 · 0 评论 -
Java_多线程:ThreadLocal
ThreadLocal,即线程本地变量。如果你创建了一个ThreadLocal变量,那么访问这个变量的每个线程都会有这个变量的一个本地拷贝,多个线程操作这个变量的时候,实际是操作自己本地内存里面的变量,从而起到线程隔离的作用,避免了线程安全问题。ThreadLocalMap内部维护了Entry数组,每个Entry代表一个完整的对象,key是ThreadLocal本身,value是ThreadLocal的泛型值。弱引用:只要垃圾回收机制一运行,不管JVM的内存空间是否充足,都会回收该对象占用的内存。原创 2024-07-03 10:30:00 · 489 阅读 · 0 评论 -
Java_多线程:线程和死锁
多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。原创 2024-07-02 20:18:23 · 1170 阅读 · 0 评论 -
Java_网络通信:http和https
HTTP: 是互联网上应用最为广泛的一种网络通信协议,基于TCP,可以使浏览器工作更为高效,减少网络传输。HTTPS: 是HTTP的加强版,可以认为是HTTP+SSL(Secure Socket Layer)。在HTTP的基础上增加了一系列的安全机制。一方面保证数据传输安全,另一位方面对访问者增加了验证机制。是目前现行架构下,最为安全的解决方案。原创 2024-07-04 09:00:00 · 228 阅读 · 0 评论 -
Java_网络通信:TCP和UDP
TCP和UDP,三次握手四次挥手原创 2024-07-03 10:30:00 · 157 阅读 · 1 评论 -
Java_多线程:线程池
线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险。原创 2024-07-02 18:32:53 · 1338 阅读 · 0 评论 -
Java_多线程:实现多线程
【代码】Java_多线程:实现多线程。原创 2024-07-02 17:25:54 · 550 阅读 · 0 评论 -
Java_Java基础:int 和 Integer
非new生成的Integer变量和new Integer()生成的变量比较时,结果为false。(因为非new生成的Integer变量指向的是java常量池中的对象,而new Integer()生成的变量指向堆中新建的对象,两者在内存中的地址不同)Integer变量和int变量比较时,只要两个变量的值是向等的,则结果为true(因为包装类Integer和基本数据类型int比较时,java会自动拆包装为int,然后进行比较,实际上就变为两个int变量的比较)的(因为new生成的是两个对象,其。原创 2024-07-01 16:05:55 · 483 阅读 · 0 评论 -
Java_JVM:垃圾收集算法
我们常用的垃圾回收器一般都采用分代收集算法。原创 2024-06-30 19:57:13 · 362 阅读 · 0 评论 -
Java_JVM:如何判断对象可以被回收?JVM的永久代中会发生垃圾回收么?
垃圾回收不会发生在永久代,如果永久代满了或者是超过了临界值,会触发完全垃圾回收(FullGC)。如果你仔细查看垃圾收集器的输出信息,就会发现永久代也是被回收的。这就是为什么正确的永久代大小对避免Full GC是非常重要的原因。请参考下Java8:从永久代到元数据区 (注:Java8中已经移除了永久代,新加了一个叫做元数据区的native内存区)原创 2024-06-30 10:00:00 · 144 阅读 · 0 评论 -
Java_Java基础:深拷贝、浅拷贝和引用拷贝
浅拷贝只复制了对象本身,不会复制对象内部的数据。深拷贝递归地复制了对象及其所有子对象的内容。引用拷贝是将一个对象的引用赋值给另一个变量,使得两个变量指向同一个对象。原创 2024-06-29 09:45:00 · 183 阅读 · 0 评论 -
Java_Java基础:HashCode详解
这种方式将集合分成若干个存储区域,每个对象可以计算出一个哈希码,可以将哈希码分组,每组分别对应某个存储区域,根据一个对象的哈希码就可以确定该对象应该存储的那个区域。在产生hash冲突时,两个不相等的对象就会有相同的 hashcode 值。集合要添加新的元素时,先调用这个元素的hashCode方法,就一下子能定位到它应该放置的物理。果这个位置上已经有元素了,就调用它的equals方法与新元素进行比较,相同的话就不存了,不相。如果这个位置上没有元素,它就可以直接存储在这个位置上,不用再进行任何比较了;原创 2024-06-28 17:20:53 · 357 阅读 · 0 评论 -
Java_Java基础:String的特性
String是引用类型,以下是其特点:原创 2024-06-29 09:30:00 · 93 阅读 · 0 评论 -
Java_Java基础:IO流
Java_Java基础:IO流。原创 2024-06-28 17:10:16 · 720 阅读 · 0 评论 -
Java_Java基础:static关键字
虽然使用类实例化的对象也能够调用该属性,但是该属性是属于类所有,所有该类的实例化对象和该类共享一个值,即操作的是同一个值。静态内部类与普通内部类不同,它可以直接通过外部类的类名访问,并且不需要依赖于外部类的实例。被static修饰的内部类完全独立于其所在的外部类,不属于外部类的对象,可以认为两个类是完全没有关系的两个类。简单的来说被static修饰的方法,可以认为是属于类的,只要类进行加载以后,则就可以进行使用。被static修饰的属性,可以认为是属于类的,只要类进行加载以后,便可以使用。原创 2024-06-26 23:00:07 · 749 阅读 · 0 评论 -
Java_Java基础:final关键字
被final修饰的类不可以被继承被final修饰的方法不可以被重写被final修饰的变量不可以被改变。如果修饰引用,那么表示引用不可变,引用指向的内容可变被final修饰的方法,JVM会尝试将其内联,以提高运行效率被final修饰的常量,在编译阶段会存入常量池中原创 2024-06-26 17:25:18 · 70 阅读 · 0 评论 -
Java_Java基础:instanceof关键字的作用
其中 obj 为一个对象,Class 表示一个类或者一个接口,当 obj 为 Class 的对象,或者是其直接或间接子类,或者是其接口的实现类,结果result 都返回 true,否则返回false。instanceof 严格来说是Java中的一个双目运算符,用来测试一个对象是否为一个类的实例,用法。原创 2024-06-26 17:20:58 · 335 阅读 · 0 评论 -
Java_Java基础:异常
定义:Exception类本身,以及Exception的子类中除了"运行时异常"之外的其它子类都属于被检查异常。定义:RuntimeException及其子类都被称为运行时异常。定义:Error类及其子类。原创 2024-06-26 17:13:29 · 150 阅读 · 0 评论 -
Java_Java基础:Object中常用的方法
getClass():获取类的class对象。hashCode():获取对象的hashCode值equals():比较对象是否相等,比较的是值和地址,子类可重写以自定义。clone():克隆方法。toString():如果没有重写,应用对象将打印的是地址值。notify():随机选择一个在该对象上调用wait方法的线程,解除其阻塞状态。该方法只能在同步方法或同步块内部调用。如果当前线程不是锁的持有者,该方法抛出一个IllegalMonitorStateException异常。notifyall原创 2024-06-26 17:02:04 · 101 阅读 · 0 评论 -
Java_Java基础:抽象类和接口
抽象类和接口都是Java中的重要概念,它们都可以用来定义抽象的数据类型。抽象类可以包含非抽象方法,而接口只能包含抽象方法。类只能继承一个抽象类,但可以实现多个接口。抽象类可以有构造方法,而接口不能有构造方法。抽象类可以有成员变量,而接口只能有常量。抽象类的方法可以有public、protected和default访问修饰符,而接口的方法只能有public访问修饰符。抽象类的子类必须实现所有抽象方法,而实现接口的类必须实现所有接口中的方法。抽象类可以有普通方法,而接口不能有普通方法。原创 2024-06-25 12:11:12 · 507 阅读 · 0 评论 -
Java_Java基础:hashCode()和equals()的关系
Java 对于 equals() 方法和 hashCode() 方法是这样规定的:原创 2024-06-25 12:00:28 · 201 阅读 · 0 评论 -
Java_Java基础:HashMap和HashTable
当get()方法返回null值时,即可以表示 HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键, 而应该用containsKey()方法来判断。原创 2024-06-24 11:32:44 · 1021 阅读 · 0 评论 -
Java_Java基础:throw、throws和异常
throw:原创 2024-06-24 09:45:00 · 1168 阅读 · 0 评论 -
Java_Java基础:String、StringBuffer和StringBuilder
执行速度由快到慢:StringBuilder > StringBuffer > String。原创 2024-06-23 18:03:50 · 476 阅读 · 0 评论 -
Java_Spring框架:依赖注入
在依赖注入中,您不必创建对象,但必须描述如何创建它们。您不是直接在代码中将组件和服务连接在一起,而是描述配置文件中哪些组件需要哪些服务。由 IoC 容器将它们装配在一起。构造函数注入setter 注入接口注入在 Spring Framework 中,仅使用构造函数和 setter 注入。原创 2024-06-20 19:09:22 · 177 阅读 · 0 评论 -
Java_Spring框架:优点
优点好处。原创 2024-06-20 19:05:02 · 280 阅读 · 0 评论 -
Java_Java基础:集合详解
集合精讲原创 2024-06-19 22:31:19 · 1804 阅读 · 2 评论 -
MySQL_subString和substr
substring(str0,str1)表示从字符串的第几个截取到第几个,如果第一个参数写了,第二个参数没有写的话,那么代表着从第一个参数的索引开始截取到字符串的末尾。但是和slice不同的是,slice中参数是负值,那么倒着开始数,而substring参数是负值的话,代表着往前数几位,它是不能倒着开始数的。substr (开始的索引,长度),表示从第几个开始,一直往后截取第二个参数的大小的长度。此时得到的为字符串a从下标为1的位置开始截取到下标为5的位置的值(不包括下标为5的值),也就是2345;原创 2024-06-19 10:00:00 · 148 阅读 · 0 评论 -
MySQL_索引
B+树和B树最主要的区别在于的问题B树:非叶子节点和叶子节点都会存储数据。B+树:所有的数据都会出现在叶子节点。叶子节点形成一个单向链表。非叶子节点仅仅起到索引数据作用,具体的数据都是在叶子节点存放的。原创 2024-06-18 14:24:20 · 785 阅读 · 0 评论 -
JSP_四大作用域对象
JSP有四大作用域对象,存储数据和获取数据的方式一样,不同的是有差别。原创 2024-06-18 11:54:19 · 115 阅读 · 1 评论