- 博客(30)
- 收藏
- 关注
原创 redis使用与并发问题
一、redis相关问题redis安装启动报错Window 环境下 redis-server.exe 启动失败,一闪而过,闪退问题Redis介绍SpringBoot集成Redis缓存SpringBoot整合redis缓存(一)redis-benchmark 压力测试工具windows 下 redis卡住二、常用命令切换数据库select index查看数据库大小dbsize查看数据库所有数据keys *清除当前数据库flushdb清空所有数据库flushall三、缓存穿透、缓存击穿
2021-06-26 17:35:36 310
转载 3Y面试宝典
` ???? 对线面试官面试系列【对线面试官】简历【对线面试官】Java注解【对线面试官】Java泛型【对线面试官】Java NIO【对线面试官】Java反射 && 动态代理【对线面试官】多线程基础一周两篇持续更新中,文章首发公众号☕️ 原创电子书下面的文章都有对应的原创精美PDF,在持续更新中,可以来找我催更~47页的SpringMVC92页的Mybatis129页的多线程141页的Servlet158页的JSP76页的集合64页的JDBC105
2021-06-19 10:24:27 657
原创 后台登陆测试
一个user表tokenredis缓存报文加解密授权登录:QQ、微信多次密码输入错误后,冻结账户创建一个SpringBoot项目 https://www.cnblogs.com/little-rain/p/11063967.htmlSpringBoot 中的 ServletInitializer https://blog.csdn.net/qq_28289405/article/details/81279742深入理解SPI机制 https://www.jianshu.com/p/3a3
2021-06-16 22:31:31 188
原创 集合框架相关整理
Java8容器源码-目录ArrayList底层数据结构是数组。线程不安全它是动态数组,可以扩容(int[] aa = new int[5],是静态数组不可扩容) ,add(E e),调用copyOf() // 扩容为原来的1.5倍 int newCapacity = oldCapacity + (oldCapacity >> 1); // 拷贝一个新的数组放进去 elementData = Arrays.copyOf(elementData, newCapacity);
2021-06-11 16:41:18 1091
原创 人人开发--知识点记录
一、@RestController和@Controller区别Controller, RestController的共同点都是用来表示Spring某个类的是否可以接收HTTP请求Controller, RestController的不同点@Controller标识一个Spring类是Spring MVC controller处理器@RestController: @RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。如果只
2021-06-06 21:46:59 253
原创 面试题整理(更新中)
常用5大接口和实现类线程池的参数是怎么计算的https://www.jianshu.com/p/2a80237c3c60threadlocal是从什么时间开始创建,什么时间回收。https://www.zhihu.com/question/21709953TCP与http之间区别。UDP与TCP区别,TCP与http区别https://www.cnblogs.com/baizhanshi/p/8482612.htmlint fol (int n){n<2 return..
2021-05-28 21:50:00 282 3
原创 AOP相关面试题整理
IOC过程:加载 xml 配置文件,遍历其中的标签遍历标签,通过反射加载 beanClass,Class.forName(className),创建bean,beanClass.newInstance()遍历 标签,利用反射将 bean 相关字段访问权限设为可访问,将属性和引用的字段填充进bean将 bean 注册到 bean 容器中 beanMap.put(id, bean);IOC 容器解决循环依赖缓存用途singletonObjects用.
2021-05-28 21:21:34 1959
原创 IOC相关面试题整理
IOC功能模拟实现什么是IOC?把创建和管理bean的过程转移给了第三方,而这个第三方就是Spring IOC.何为控制,控制的是什么?是bean的创建、管理的权利,控制bean的整个生命周期。什么是反转?对象的创建这个权利交给了Spring容器,而不是自己去控制,就是反转。何为依赖,依赖什么?程序运行需要依赖外部的资源,提供程序内对象的所需要数据、资源。什么是注入?配置文件把资源从外部注入到内部,容器加载了外部的文件、对象、数据,然后把这些资源注入给程序内的对象,维护了程序内外对象之间
2021-05-28 21:20:47 666
转载 SpringMVC相关面试题整理
一、SpringMVC的实现过程初始化容器,扫描所有bean并实例化Aspect Weaver 完成对切面的织入依赖注入初始化请求处理器责任链预处理请求路径"/"静态资源处理,如果是静态资源,则将请求转发给default servlet 处理如果是JSP资源,则使用forward进行转发controller处理器 : 依靠容器的能力,建立起请求路径,请求方法和Controller方法里的映射请求路径:遍历所有@RequestMapping的标记类,循环遍历里面@RequestMapp
2021-05-28 21:19:49 172
原创 SpringAOP如何解决循环依赖
什么是循环依赖?先看代码:public class A {private B b;// 省略set/get方法}public class B {private A a;// 省略set/get方法}可以看到A类里有一个属性是B类对象,而B类里也有一个属性是A类对象,则我们可以称A类对象与B类对象之间互相循环依赖。然后我们对把这俩个类纳入到IOC容器中进行管理,现在进行xml配置: 当配置好xml以后,我们创建容器,并且调用getBean方法来获取某个对象,那么
2021-05-25 10:43:24 504
原创 idea查看程序结构快捷键
https://www.cnblogs.com/jpfss/p/11022761.html查看方法调用链:navigate–>call Hierarchy (ctrl+alt+h)Find Usage"可以查看一个Java类、方法或变量的直接使用情况。 alt+F7IntelliJ IDEA中可以在主菜单中选择Analyze | Dataflow from/to Here两个命令查看表达式、变量和方法参数的传递关系树。...
2021-05-25 10:21:31 556
转载 AOP名词解释
什么是 AOPAOP(Aspect-Oriented Programming), 即 面向切面编程 , 它与 OOP( Object-Oriented Programming, 面向对象编程) 相辅相成, 提供了与 OOP 不同的抽象软件结构的视角. 在 OOP 中, 我们以类(class)作为我们的基本单元, 而 AOP 中的基本单元是 Aspect(切面)。Aspect(切面)aspect 由 pointcount 和 advice 组成, 它既包含了横切逻辑的定义, 也包括了连接点的定义. Sp
2021-05-24 22:23:10 957
转载 java中元注解有四个: @Retention @Target @Document @Inherited
1、@Retention:注解的保留位置@Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含@Retention(RetentionPolicy.CLASS) // 默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得@Retention(RetentionPolicy.RUNTIME) // 注解会在class字节码文件中存在,在运行时可以通过反射获取到2、@Target:注解的作用目标@
2021-05-24 22:21:46 111
原创 CountDownLatch的实现与其底层AQS
文章目录1、[CountDownLunch介绍](https://www.jianshu.com/p/e233bb37d2e6)1.1 背景:1.2 概念1.3 源码1.4 示例2、使用场景3、[源码分析](https://zhuanlan.zhihu.com/p/115924916)4、[AQS基本原理](https://www.cnblogs.com/zofun/p/12206759.html)5、总结:1、CountDownLunch介绍1.1 背景:countDownLatch是在java1
2021-05-19 15:47:59 478
转载 SpringMVC + SSM整合-狂神笔记
1、回顾MVC1.1、什么是MVCMVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。**Model(模型):**数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据
2021-05-18 21:43:05 649
原创 springMVC注意事项
18-May-2021 17:23:36.993 信息 [http-nio-8080-exec-10] org.springframework.web.servlet.FrameworkServlet.initServletBean Initializing Servlet 'springmvc'18-May-2021 17:23:37.018 警告 [http-nio-8080-exec-10] org.springframework.context.support.AbstractApplicatio
2021-05-18 18:46:14 582
原创 Spring整合MyBatis
spring-dao.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans
2021-05-14 21:43:16 71
原创 mapperLocations属性通配符classpath*
在classpath后面的*必不可少,缺少型号的话后面的通配符不起作用。 **表示可以表示任意多级目录,如:上述配置可以查到【com/huaxin/framework/system/dao/UserDaoMapper.xml】 *表示多个任意字符注意:value=“classpath*:com/huaxin/**/*Mapper.xml” ,.xml前面必须有字母.如果写成 value=“classpath*:com/huaxin/**/*.xml”
2021-05-14 21:34:38 4103 2
原创 代理模式和spring的AOP
代理模式和spring的AOP为什么要学习代理模式,因为AOP的底层机制就是动态代理!代理模式:静态代理动态代理学习aop之前 , 我们要先了解一下代理模式!静态代理静态代理角色分析抽象角色 : 一般使用接口或者抽象类来实现真实角色 : 被代理的角色代理角色 : 代理真实角色 ; 代理真实角色后 , 一般会做一些附属的操作 .客户 : 使用代理角色来进行一些操作 .真实角色和代理角色实现同一个抽象类,在代理角色里面注入真实角色,然后添加附属操作,使用
2021-05-14 18:22:02 176
原创 pom.xml里面的springframework版本要统一
https://www.cnblogs.com/wuxie1989/p/8987402.html版本号不一致报错五月 14, 2021 4:43:56 下午 org.springframework.context.support.AbstractApplicationContext refresh警告: Exception encountered during context initialization - cancelling refresh attempt: org.springframewo
2021-05-14 16:44:28 754
转载 Spring的@Transaction
https://blog.csdn.net/qq_33589510/article/details/116747832?spm=1001.2014.3001.5506务必确认调用被@Transactional注解标记的方法被public修饰,并且是通过Spring注入的Bean进行调用。由于异常处理不正确,导致虽然事务生效,但出现异常时没回滚。Spring默认只对被@Transactional注解的方法出现RuntimeException和Error时回滚,所以若方法捕获了异常,就需要通过手写代码处
2021-05-14 15:17:12 129
原创 spring的注解@Autowired和@Component
注解1、使用注解需要添加<beans xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"/><context:annotation-config
2021-05-13 11:06:18 828
原创 java各种锁总结
线程锁+分布式锁+AQS锁+synchronized()1.synchronized 时jvm内部机制,只能在一个tomcat进程锁,适合单机,集群无法实现线程锁集群环境下要使用分布式锁1.Boolean resule = stringRedisTemplate.opsForValue.setIfAbsent(“lockKey”,“suo”)//==jedis.setnx(k,v) 首先判断当前redis是否有"lockKey",没有则赋值成功,result=true,执行线程,结束后删除strin
2021-04-27 22:05:34 144
原创 数据库调优
1.数据库服务器的内核优化2.my.cnf配置,搭配压力测试进行调试3.sql语句调优1.使用缓存优化查询1.currentdate() now() 条件变量会导致缓存失效2.explain检测sql查询3.给搜索字段建立索引(聚集索引和非聚集索引)4.limit 1(明确只有一行数据的时候)5.永久连接(在一些极端的环境中,apache会发出http请求,创建子进程请求数据库)6.选择正确的数据库引擎(myISAM,innoDB)7.在进行大量delete insert 时会锁表 需要
2021-04-27 22:02:59 84
转载 Java基础框架
一.JavaWeb servler1.sessioncontext session cookie的区别jsp内置对象jsp语法 <!-- jsp表达式 在_jspService方法内--> <%= 变量表达式 输出%> <!-- jsp脚本片段 在_jspService方法内--> <% %> <!--jsp声明表达式 在类里面--> <%! %><%--jsp注释不会再客户端显示--%
2021-04-27 22:02:08 118
转载 Spring Boot
Spring Bootpom.xml父依赖主要管理项目的资源过滤及插件<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.3.RELEASE</version> <relativePath/>
2021-04-27 21:52:47 120
原创 ssm整合(就用它了)
ssm整合1. 创建一个maven工程导入依赖<!--依赖: junit, 数据库驱动, 连接池, servlet, jsp, jstl, mybatis, mybatis-spring, spring, spring-jdbc--><dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4
2021-04-27 21:49:33 494
原创 markdown快捷键学习
输入 [ toc ] 然后回车,即可创建一个“目录”文章目录一级标题#二级标题##三级标题###四级标题####五级标题#####六级标题###### (前面加#,几个代表几级)一级标题#二级标题##三级标题###四级标题####五级标题#####六级标题###### (前面加#,几个代表几级)引用内容 ( >)String a = "dfd ";//(```java或者~~~java或者Ctrl + Shift + K 插入代码)无序列表 (* + - 都可以创建一个无序
2021-04-27 21:47:19 61
原创 Tomcat服务器虚拟目录的映射方式
Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。那么在Tomcat服务器中,如何进行虚拟目录的映射呢?总共有如下的几种方式:1、虚拟目录的映射方式一:在server.xml文件的host元素中配置找到server.xml文件的host元素,如下图所示: 在这对标签加上即可将在F盘下的JavaWebDemoProject这个JavaWeb应用映射到JavaWebApp这个虚拟目录上,JavaWebApp这个虚拟目录是由Tomcat服务器
2021-04-27 21:45:54 275
转载 MyBatis学习(一)
参照:遇见狂神说https://www.bilibili.com/video/BV1NE411Q7Nx?p=2&spm_id_from=pageDriverMmyBatis需要掌握的东西JDBCMysqlJava基础MavenJunitSSM框架:学习配置文件。 最好的方式是查看官方文档1、简介1.1、什么是MyBatisMyBatis 是一款优秀的持久层框架它支持自定义 SQL、存储过程以及高级映射MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取
2021-04-24 22:44:06 143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人