摘要:
springboot数据访问 springboot整合JDBC JdbcTemplate是Spring对JDBC的封装,目的是使JDBC更加易于使用。JdbcTemplate是Spring的一部分。JdbcTemplate处理了资源的建立和释放。他帮助我们避免一些常见的错误,比如忘了总要关闭连接。他
阅读全文
posted @ 2022-01-06 10:59
aixueforever
阅读(189)
推荐(0)
摘要:
面向切面编程AOP AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是Spring框架中的一个重要内容,它通过对既有程序定义一个切入点,然后在其前后切入不同的执行内容,比如常见的有:打开数
阅读全文
posted @ 2022-01-06 10:51
aixueforever
阅读(194)
推荐(0)
摘要:
Springboot常用注解总结 • 项目配置注解 1、@SpringBootApplication 注解 @SpringBootApplication是一个复合注解,包含了@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentSca
阅读全文
posted @ 2022-01-06 10:45
aixueforever
阅读(217)
推荐(0)
摘要:
使用Javaweb原生组件 Javaweb的三大组件:servlet,Filter,Listener,Servlet 3.0 提供了以下 3 个注解: @WebServlet:用于声明一个 Servlet; @WebFilter:用于声明一个 Filter; @WebListener:用于声明一个
阅读全文
posted @ 2022-01-06 10:43
aixueforever
阅读(265)
推荐(0)
摘要:
文件上传 springboot可以直接使用 org.springframework.web.multipart.MultipartFile实现文件上传功能。 1.创建form表单: <!DOCTYPE html> <html lang="en" xmlns:th="http://www.w3.org
阅读全文
posted @ 2021-12-21 14:33
aixueforever
阅读(387)
推荐(0)
摘要:
过滤器 拦截器 过滤器 过滤器拦截的是URL Spring中自定义过滤器(Filter)一般只有一个方法,返回值是void,当请求到达web容器时,会探测当前请求地址是否配置有过滤器,有则调用该过滤器的方法(可能会有多个过滤器),然后才调用真实的业务逻辑,至此过滤器任务完成。过滤器并没有定义业务逻辑
阅读全文
posted @ 2021-12-21 14:30
aixueforever
阅读(426)
推荐(0)
摘要:
Rest的使用和原理 Rest风格支持(使用HTTP请求方式动词来表示对资源的操作) • 以前:/getUser 获取用户 /deleteUser 删除用户 /editUser 修改用户 /saveUser 保存用户 • 现在: /user GET-获取用户 DELETE-删除用户 PUT-修改用户
阅读全文
posted @ 2021-12-21 14:28
aixueforever
阅读(1009)
推荐(0)
摘要:
静态资源访问 静态资源目录 请求进来,先去找Controller看能不能处理。不能处理的所有请求又都交给静态资源处理器。静态资源也找不到则响应404页面。如果静态目录中存在a.png,访问localhost:8080/a.png也不会访问到a.png,而是会得到字符串"student"。因为请求进来
阅读全文
posted @ 2021-12-21 14:24
aixueforever
阅读(153)
推荐(0)
摘要:
@Autowired和@Resource的区别 @Resource 有两个常用属性name、type,所以分4种情况 指定name和type:通过name找到唯一的bean,找不到抛出异常;如果type和字段类型不一致,也会抛出异常 指定name:通过name找到唯一的bean,找不到抛出异常 指定
阅读全文
posted @ 2021-12-21 14:19
aixueforever
阅读(284)
推荐(0)
摘要:
@Conditional @Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件给容器注册bean。 创建ConfigConditional类和测试类ConfigConditionalTest @Configuration public class Conf
阅读全文
posted @ 2021-12-21 14:15
aixueforever
阅读(410)
推荐(0)
摘要:
IOC容器就是具有依赖注入功能的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。应用程序无需直接在代码中new相关的对象,应用程序由IOC容器进行组装。 查看ioc容器中的组件 public static void main(String[] args) { //1、返
阅读全文
posted @ 2021-12-21 14:12
aixueforever
阅读(313)
推荐(0)
摘要:
springboot版本控制器 SpringBoot应用的pom.xml中引入了一个父项目parent:spring-boot-starter-parent,spring-boot-starter-parent的父项目为spring-boot-dependencies。spring-boot-dep
阅读全文
posted @ 2021-12-21 14:02
aixueforever
阅读(294)
推荐(0)
摘要:
公钥私钥与数字签名数字证书 英文文章原文:http://www.youdzone.com/signature.html,在此文章基础上做了一些扩充 公钥加密,私钥解密;私钥签名,公钥验签。 私钥对摘要(某明文的hash值)进行加密,加密后产生数字签名。 Bob 有两把钥匙。Bob 的密钥之一称为公钥
阅读全文
posted @ 2021-09-26 14:19
aixueforever
阅读(1510)
推荐(0)
摘要:
设计模式六大基本原则链接:用现实生活中实例解释说明设计模式六大基本原则 后续会在这个例子上扩展,包含其余结构型模式和行为型模式,后续代码会上传GitHub。 创建型模式 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。这使得程序在判断针对某个给定实
阅读全文
posted @ 2021-09-17 18:46
aixueforever
阅读(893)
推荐(1)
摘要:
Shell脚本“syntax error: unexpected end of file” 出现"syntax error: unexpected end of file"的情况 假设文件名为a 第一种:格式问题 window下编写的shell脚本, 放到linux下运行会出现这种报错, 因为win
阅读全文
posted @ 2021-09-17 17:20
aixueforever
阅读(882)
推荐(1)
摘要:
设计模式分类 创建型模式 用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。GoF(四人组)书中提供了单例、原型、工厂方法、抽象工厂、建造者等 5 种创建型模式。 结构型模式 用于描述如何将类或对象按某种布局组成更大的结构,GoF(四人组)书中提供了代理、适配器、桥接、装饰、外观、
阅读全文
posted @ 2021-09-14 17:23
aixueforever
阅读(950)
推荐(3)
摘要:
JDK1.8源码阅读笔记(2) AtomicInteger AtomicLong AtomicBoolean原子类 Unsafe Java中无法直接操作一块内存区域,不能像C中那样可以自己申请内存和释放内存。Java中的Unsafe类为我们提供了类似C手动管理内存的能力。Unsafe类是"final
阅读全文
posted @ 2021-09-08 19:18
aixueforever
阅读(248)
推荐(1)
摘要:
通过定义两个类加载器加载同一字节码文件来证明Class实例为什么不是全局唯一的 1.将一个名为Demo(没有后缀)的字节码文件放在D盘根目录 2.定义两个类加载器 自定义ClassLoader三要素: 继承自ClassLoader,重写findClass() 获取字节码二进制流 defineClas
阅读全文
posted @ 2021-09-08 08:53
aixueforever
阅读(351)
推荐(1)
摘要:
JDK1.8源码阅读笔记(1)Object类 Object 类属于 java.lang 包,此包下的所有类在使⽤时⽆需⼿动导⼊,系统会在程序编译期间⾃动 导⼊。Object 类是所有类的基类,当⼀个类没有直接继承某个类时,默认继承Object类,也就是说任何 类都直接或间接继承此类,Object
阅读全文
posted @ 2021-09-07 12:28
aixueforever
阅读(449)
推荐(0)
摘要:
基本数据类型引用数据类型特点 1、基本数据类型的特点:直接存储在栈(stack)中的数据 2、引用数据类型的特点:存储的是该对象在栈中引用,真实的数据存放在堆内存里 引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址。当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后从堆中获得实体
阅读全文
posted @ 2021-09-07 11:33
aixueforever
阅读(2386)
推荐(0)
摘要:
哲学家就餐问题-Java语言实现死锁避免 我死锁预防是至少破坏死锁产生的四个必要条件之一,带来的问题就是系统资源利用率低且不符合开发习惯,而死锁避免不是事先釆取某种限制措施破坏死锁的必要条件,只是注意避免死锁的最终发生。 哲学家就餐问题 5 个沉默寡言的哲学家围坐在圆桌前,每人面前一盘意面。叉子放在
阅读全文
posted @ 2021-09-01 18:35
aixueforever
阅读(595)
推荐(0)
摘要:
PyQT5:信号和槽 信号和槽 Qt的主要特征之一是它使用信号和插槽在对象之间进行通信。 当潜在的事件发生时,会发出一个信号。插槽是可调用的Python,如果将信号连接到插槽,则在发出信号时将调用该插槽。如果没有连接信号,则什么也不会发生。 信号/插槽机制具有以下功能。 信号可能连接到许多插槽。 一
阅读全文
posted @ 2021-09-01 09:49
aixueforever
阅读(423)
推荐(0)
摘要:
Java并发编程工具类 CountDownLatch CyclicBarrier Semaphore使用Demo CountDownLatch countDownLatch这个类使一个线程等待其他线程各自执行完毕后再执行。 是通过一个计数器来实现的,计数器的初始值是线程的数量。每当一个线程执行完毕后
阅读全文
posted @ 2021-08-27 17:14
aixueforever
阅读(533)
推荐(0)
摘要:
Java实现一个死锁 有一个藏宝图(treasureMapFragment)分成两份jack持有treasureMapFragment1残片1,json持有残片2。jack要求必须先看到json的残图才给json看自己的残图,而json要求必须先看到jack的残图才给jack看自己的残图。双方都在请
阅读全文
posted @ 2021-08-23 16:12
aixueforever
阅读(638)
推荐(0)
摘要:
JUC原子操作类与乐观锁CAS 硬件中存在并发操作的原语,从而在硬件层面提升效率。在intel的CPU中,使用cmpxchg指令。在Java发展初期,java语言是不能够利用硬件提供的这些便利来提升系统的性能的。而随着java不断的发展,Java本地方法(JNI)的出现,使得java程序越过JV
阅读全文
posted @ 2021-08-11 12:24
aixueforever
阅读(549)
推荐(0)
摘要:
AtomicStampedReference AtomicReference解决CAS机制中ABA问题 AtomicStampedReference AtomicStampedReference它内部不仅维护了对象值,还维护了一个版本号(可以是任何一个整数,它使用整数来表示状态值)。当AtomicS
阅读全文
posted @ 2021-08-11 08:51
aixueforever
阅读(509)
推荐(0)
摘要:
Mybatis-plus<三> MybatisPlus条件构造器 Demo GitHub下载地址:https://github.com/RJvon/Mybatis_plus_demo Mybatis-plus条件构造器: https://mp.baomidou.com/guide/wrapper.h
阅读全文
posted @ 2021-08-01 22:18
aixueforever
阅读(510)
推荐(0)
摘要:
Mybatis-plus<二>通用CRUD,分页 与博客Mybatis-plus<一>为同一个Springboot项目。 Demo GitHub下载地址:https://github.com/RJvon/Mybatis_plus_demo(包含数据库建表sql,数据库数据与源代码) Mybatis-
阅读全文
posted @ 2021-08-01 15:59
aixueforever
阅读(564)
推荐(0)
摘要:
Mybatis-plus<一> Springboot框架使用MybatisPlus代码自动生成器 Mybatis-plus官网: https://mp.baomidou.com/ Demo GitHub下载地址(包含数据库建表sql,数据库数据与源代码):https://github.com/RJv
阅读全文
posted @ 2021-08-01 10:58
aixueforever
阅读(703)
推荐(0)
摘要:
Java并发之锁升级:无锁->偏向锁->轻量级锁->重量级锁 对象头markword 在lock_bits为01的大前提下,只有当是否偏向锁位值为1的时候,才表明当前对象处于偏向锁定状态;为0时,表明该对象被hash计算了 如果线程获得该偏向锁,则对象头是否偏向锁置1,标志位为01。 锁的升级过程—
阅读全文
posted @ 2021-07-28 18:57
aixueforever
阅读(1012)
推荐(0)