随笔分类 - java
摘要:下面直接上代码*(我是直接用的for循环初始化开始做的,也可以使用递归解决)* 这是树节点类 package com.edu.dataStructure.treeDemo; import java.util.*; /** * <p> * 自己创建的树节点 * </P> * */ public cla
阅读全文
摘要:Mybatis事务管理 事务管理方式 Transaction接口 public interface Transaction { Connection getConnection() throws SQLException; void commit() throws SQLException; voi
阅读全文
摘要:sqlSession 是mybatis的核心操作类,其中对数据库的crud都封装在这个中,是一个顶级接口,其中默认实现类是DefaultSqlSession这个类, 为什么说DefaultSqlsession不是线程安全的? 首先我们都知道mybatis在底层都是使用的JDBC,而JDBC这本来就是
阅读全文
摘要:SpringMVC执行流程 用户发送请求,经过前端控制器Dispacherservlet(Controller的核心)将url交给处理器映射器HandlerMapping处理 处理器映射器HandlerMapping处理url,返回HandlerExecutionChain(可能包含拦截器,一定包含
阅读全文
摘要:Spring的循环依赖 什么是循环依赖? 循环依赖并不能彻底解决,就算非构造方法注入也不能,为什么? "二级缓存"如何解决循环依赖? spring为什么用"三级缓存"去解决循环依赖? 总结"三级缓存"的精妙之处 构建过程: 构造AService对应的bean的过程: 扫描类 >BeanDefinit
阅读全文
摘要:spring的bean生命周期 狭义层面: class >new UserService() >填充属性 >Aware(接口) >初始化 >aop(操作) > 单例池<Map<BeanName,对象>> 广义层面: class >beanDefinition >new UserService() >
阅读全文
摘要:关于mybatis的执行流程和源码 Mybatis解析 select * from user where name =? and pwd=? 1. statement:select * from user where name = and pwd=(采用直接拼接的方式,有sql注入的风险) 2. p
阅读全文
摘要:Class RandomAccessFile 介绍 该类的实例支持读取和写入随机访问文件。 随机访问文件的行为类似于存储在文件系统中的大量字节。 有一种游标,或索引到隐含的数组,称为文件指针 ; 输入操作读取从文件指针开始的字节,并使文件指针超过读取的字节。 如果在读/写模式下创建随机访问文件,则输
阅读全文
摘要:堆的内存结构图: 堆的逻辑结构图 代码调试堆: package com.edu.jvm; /** * @作者 five-five * @创建时间 2020/10/8 */ public class Test05 { public static void main(String[] args) { /
阅读全文
摘要:JVM的位置 JVM内存图(.java文件编译过程) 详细架构图: 类加载的全过程: 类加载器的作用: 1)根类加载器(Bootstrap class loader):它用来加载 Java 的核心类,是用原生代码来实现的,并不继承自 java.lang.ClassLoader(负责加载$JAVA_H
阅读全文
摘要:Thread 基本介绍: 线程是程序中执行的线程。 Java虚拟机允许应用程序同时执行多个执行线程。 基本方法: 构造方法: Thread() 分配一个新的 Thread对象。 Thread(Runnable target) 分配一个新的 Thread对象。 Thread(Runnable targ
阅读全文
摘要:线程管理 线程池技术 什么是线程池 可以以 new Thread( () -> { 线程执行的任务 }).start(); 这种形式开启一个线程. 当 run()方法运行结束,线程对象会被 GC 释放. 在真实的生产环境中,可能需要很多线程来支撑整个应用,当线程数量非常多时 ,反而会耗尽 CPU 资
阅读全文
摘要:使用内部锁 要操作的MyValue类 package com.edu.productCustomerDesign; /** * @作者 five-five * @创建时间 2020/9/23 */ public class MyValue { private String val; private
阅读全文
摘要:JVM编译器 前端编译器:.java文件到.class文件 JIT 编译器:从字节码到机器码 AOT 编译器:源代码到机器码 这三种编译器的编译速度和编译质量如下: 编译速度上,解释执行 > AOT 编译器 > JIT 编译器。 编译质量上,JIT 编译器 > AOT 编译器 > 解释执行。 JVM
阅读全文
摘要:首先先提供线程生命周期图,方便理解 线程同步 线程同步机制简介 线程同步机制是一套用于协调线程之间的数据访问的机制.该机制可以保障线程安全. Java 平台提供的线程同步机制包括: 锁, volatile 关键字, final 关键字,static 关键字,以及相关的 API,如 Object.wa
阅读全文
摘要:线程的创建 写一个类去继承Thread类,重写run()方法 写一个类去实现Runable接口 public class MyThread extends Thread { @Override public void run() { for (int i=1;i<=100;i++){ System.
阅读全文
摘要:Spring容器的refresh()【创建刷新】; 1、prepareRefresh()刷新前的预处理; 1)、initPropertySources()初始化一些属性设置;子类自定义个性化的属性设置方法; 2)、getEnvironment().validateRequiredProperties
阅读全文
摘要:首先看看JDK的Observer接口 public interface Observer { void update(Observable o, Object arg); } 也就一个更新的方法,这里是要写自己要处理事情的逻辑(代码干活的地方) 然后就是Observable类,因为方法过多不好阅读,
阅读全文
摘要:第一种克隆模式(浅克隆) /** * @作者 five-five * @创建时间 2020/8/6 */ public class Demo01 implements Cloneable{ private int id=0; private String student="123132"; publ
阅读全文

浙公网安备 33010602011771号