自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 Java中常见RuntimeException异常有哪些以及产生原因

文章目录NullPointerException空指针异常ArrayIndexOutOfBoundsException数组下标越界NumberFormatException数字格式化异常ClassCastException类型转换异常ParseException转换异常StringIndexOutOfBoundsException 字符串下标越界异常NullPointerException空指针异常//产生原因:调用空对象的方法或属性时 String str = null;

2021-01-22 18:57:35 1742

原创 spring学习笔记

1.Spring框架:Spring框架是一款轻量级的开发框架主要有三大特点:Spring框架是一个容器(能够管理项目中的所有容器,常用的就是ApplicationContext,容器本身是存放Bean和Bean之间的依赖关系的),IOC(控制反转)和DI(依赖注入),AOP(面向切面编程)spring集成了很多框架,使得JAVAmake simple2.IOC和DI:IOC(对象的创建和依赖关系都有Spring进行完成创建和注入,反转控制就是反转的对象的创建方式,使得原本我们创建反转给了程序的

2021-08-31 20:30:31 138

原创 2021-08-29Mybatis学习笔记

MyBatis:- Mybatis一级缓存:同一个SqlSession生命周期里用一个SqlSession 可以通过配置使得在查询前清空缓存(flushCache = FlushCachePolicy.TRUE)不同的SqlSession之间的缓存是相互隔离的Mybatis二级缓存:存在于同一个SqlSessionFactory生命周期里更新时会刷新缓存,以namesapce为单位更新开启二级缓存要注意 实现实体类的序列化与反序列化如何开启二级缓存:在mybatis-con

2021-08-29 15:57:08 176

原创 2021-08-29java学习笔记

Servlet:用Java编写的服务端程序,主要功能是交互式的浏览和修改数据,生成动态的WEB内容工作模式:客户端发送请求至浏览器->服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容并将其传给服务器->服务器将响应传回给客户端。四个常用的方法:init(),service(),destory(),getServletconfig(),getServletInto()方法Servlet生命周期:实例化,初始化,服务,销毁JSP:Java

2021-08-29 15:53:48 158

原创 Redis学习笔记之缓存雪崩-缓存穿透-缓存击穿

缓存雪崩当缓存服务器端重启或者大量缓存集中在某个时间段失效时,所有的请求会直接请求到后端系统+主数据库中去,从而导致系统的崩溃解决方案在缓存失效后,通过加锁或者队列来控制读数据库写缓存的线程数量。比如对某个key只允许一个线程查询数据和写缓存,其他线程等待。启用限流策略做二级缓存,A1为原始缓存,A2为拷贝缓存,A1失效时,可以访问A2,A1缓存失效时间设置为短期,A2设置为长期。不同的key,设置不同的过期时间,让缓存失效的时间点尽量均匀。缓存穿透大多数缓存系统,都会按照K

2021-08-27 15:09:27 150

原创 学习笔记-LogBack日志框架

配置logback.xml<?xml version="1.0" encoding="UTF-8"?><!-- scan属性:默认为true,Logback将会扫描配置文件,如果配置文件发生改变时,会自动加载 scanPeriod属性:Logback扫描配置文件时间间隔,默认单位为毫秒,可配置单位为毫秒、秒、分、时 milliseconds, seconds, minutes or hours debug属性:默认为false,是否打印Logback内部信息,当为true时可以查

2021-08-25 08:58:24 388

原创 2021-08-23学习笔记 使用Thymeleaf作为视图

配置Thymeleaf视图解析器配置三个启用Thymeleaf与Spring集成的bean:ThymeleafViewResolver:将逻辑视图名称解析为Thymeleaf模板视图;SpringTemplateEngine:处理模板并渲染结果;TemplateResolver:加载Thymeleaf模板。SpringMvcConfig相关的配置@EnableWebMvc@ComponentScanpublic class SpringmvcConfig implements WebMv

2021-08-23 20:28:32 302

原创 2021-08-23学习笔记

RedirectAttribute:重定向前会将数据放入flash中,重定向后,此时Flash的数据取出放到请求中,并从FlashMap中删除,如果重新打开页面,数据则会丢失@ResponseBody:用于将Controller的方法返回的对象转换为指定格式的数据,比如json,通过Response响应给客户端,返回给页面。@RequestBody:主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的).Multipart文件上传:1.容器启动时,加载"文件上传配置参数"2.在sp

2021-08-23 19:43:14 325

原创 AspectJ注解驱动实现AOP

AspectJ注解驱动实现AOP使用AspectJ 需要导入Spring AOP和 AspectJ相关jar包spring-aop-4.2.4.RELEASE.jarcom.springsource.org.aopalliance-1.0.0.jarspring-aspects-4.2.4.RELEASE.jarcom.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar目标类,定义切面类@ MethodBeforeAvice:

2021-08-22 15:05:30 326

原创 纯POJO切面方式实现AOP

纯POJO切面方式实现AOP基于AOP实现日志输出(POJO实现)JoinPoint :用于连接目标方法和当前通知方法public class LogAdvice{// "自定义"后置通知方法public void methodAfter(JoinPoint joinpoint){ System.out.println("[日志输出]:--------后置通知----------------"); }}基于AOP实现环绕通知(POJO实现)public class AdminAdv

2021-08-22 14:38:24 542

原创 JdkProxyFactory 动态代理工厂

JdkProxyFactory 动态代理工厂一、动态代理与静态代理的区别。(1)Proxy类的代码被固定下来,不会因为业务的逐渐庞大而庞大;(2)可以实现AOP编程,这是静态代理无法实现的;(3)解耦,如果用在web业务下,可以实现数据层和业务层的分离。(4)动态代理的优势就是实现无侵入式的代码扩展。通过接口实现:目标对象必须有接口` //目标对象 //被封装的对象是Object类型,接受任意类型的对象 private Object target; //构造方法

2021-08-20 20:24:18 679

原创 Spring常见的注解总结:

Spring常见的注解总结:1.用于创建对象的@Component:将资源交给Spring进行管理@Controller:控制层使用,标记时SpringMVC Controller处理器@Service:表示该类为业务层@Repostity:表示该类为数据访问层2.用于注入数据的@AutoWired:自动按类型注入@Qualifier:在自动按类型的注入的基础上,在按照bean的id注入,它在给字段注入时不能独立使用,必须和 @Autowire一起使用;但是给方法参数注入时,可

2021-08-20 20:12:55 288

原创 java集合Colletcion之set接口

set接口特点:无序不允许重复实现类HashSet类:存储结构:使用HashMap进行存储特点:无序,唯一常用方法:添加元素public boolean add(E e) { return map.put(e, PRESENT)==null; } - 一次性添加元素 public boolean addAll(Collection<? extends E> c) { boolean modified = fa

2021-05-21 16:07:25 303

原创 Java JDBC基本介绍

JDBC基本概念1.什么是JDBC是一种用于执行SQL语句的Java API,为多种关系数据库提供统一访问JDBC(Java Data Base Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,为多种关系数据库提供统一访问它由一组用Java语言编写的类和接口组成JDBC基本作用JDBC是由一系列连接(Connection)、SQL语句(Statement)和结果集(ResultSet)构成的,其主要作用概括起来有如下3个方面:建立与数据库的连接

2021-05-19 18:04:33 2486

原创 java集合Collection之list接口

list接口特点:有序,允许重复实现类:1: ArrayList:存储结构:Object[]数组优势特点:查询遍历速度较快,插入删除较慢扩容方式: 初始化 无参构造方法: 第一次添加元素时,该数组扩容为10 有参构造方法: 数组长度由构造方法的参数决定 扩容方式 当数组容量不足时,自动扩容,扩

2021-05-11 20:48:27 374

原创 java中常用API

文章目录1.API概述2.API文档的使用步骤3、Scanner的使用1.API概述API(Application Programming Interface,应用程序编程接口),是一些预先定义的函数。2.API文档的使用步骤a.查看所在包b.查找要找的类c.查看构造方法d.查看成员方法3、Scanner的使用1.Scanner概述及其API文档的使用2.Scanner的使用步骤a.导包:import java.util.Scanner;b.创建对象:Scanner input

2021-01-22 19:11:17 409 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除