- 博客(15)
- 收藏
- 关注
原创 多线程面试题
1、进程和线程的区别进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程,进程在执行过程中拥有独立的内存单元,而多个线程共享内存资源,减少切换次数,从而效率更高。线程是进程的一个实体,是cpu调度和分派的基本单位,是比程序更小的能独立运行的基本单位。同一个进程的多个线程之间可以并发执行2、并行和并发的区别并发:一个处理器同时处理多个任务,cpu通过时间片切换轮流执行不同的任务并行:多个处理器或者是多核处理器同时处理多个不同的任务,两个线程互不抢占cpu资源,
2022-04-05 17:49:38
748
原创 springmvc请求流程
1、springmvc请求流程图2、springmvc请求流程1、 用户向服务端发送一次请求,这个请求会先到前端控制器DispatcherServlet(也叫中央控制器)。2、DispatcherServlet接收到请求后会调用HandlerMapping处理器映射器。由此得知,该请求该由哪个Controller来处理(并未调用Controller,只是得知)3、DispatcherServlet调用HandlerAdapter处理器适配器,告诉处理器适配器应该要去执行哪个Controller
2022-04-04 17:52:47
1941
原创 docker下载镜像报错:Get https://registry-1.docker.io/v2/
docker下载镜像报错:Get https://registry-1.docker.io/v2/1、ErrorError response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled (Client.Timeout exceeded while awaiting headers).2、解决方案vi /etc/docker/daemon.json{ "registry-mir
2022-03-28 15:27:41
2606
原创 springBoot集成RabbitMQ
1、工程结构2、创建生产者工程工程名:springboot-rabbitmq-producer2.1 引入以下依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency><dependency> <g
2022-03-23 21:44:42
2223
原创 RabbitMQ实现收发消息
RabbitMQ实现收发消息1 环境准备1.1 安装Erlang官方下载地址:http://www.erlang.org/downloads注意:在搭建RabbitMQ环境过程中,由于版本问题导致环境一直搭建不起来,以下是RabbitMQ与Erlang的版本对应关系RabbitMQ版本Erlang最低要求Erlang最高要求3.7.7 - 3.7.1220.3.x21.x3.7.0 - 3.7.619.320.3.x1.2 配置环境变量1.3
2022-03-23 17:07:20
2393
原创 java连接Redis
java连接Redis1、安装redis(windows)下载连接:https://github.com/microsoftarchive/redis/releases2、启动redis3、创建maven工程,引入依赖<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.3.0
2022-03-22 10:57:45
1059
原创 CGLib动态代理
CGLib动态代理由于Jdk动态代理是通过被代理类的接口创建代理对象的,因此JDK动态代理只能代理实现了接口的类的对象,如果一个类没有任何接口,该如何产生代理对象?CGLib动态代理,是通过创建代理类的子类来创建代理对象的,因此即使没有实现任何接口的类也可以通过CGLib产生代理对象1、添加CGLib依赖<dependency> <groupId>cglib</groupId> <artifactId>cglib</a
2022-03-05 10:29:19
330
1
原创 Jdk动态代理
Jdk动态代理1、创建接口package com.cn.fb.proxy2;/** * @interface: Calculate * @Description: Calculate * @Author: liangyongyong * @Date: 2022/3/4 11:37 * @Version: 1.0.0 */public interface Calculate { public int add(int a, int b); public int subt
2022-03-05 09:53:05
86
原创 封装Servlet统一处理请求
封装Servlet统一处理请求1、编写BaseController2、子类继承BaseController前端需要每次传入action表示需要执行controller中的方法BaseControllerpackage com.cn.fb.controller;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRe
2022-02-12 15:06:39
518
原创 MyBatis实现一对多多层Collection集合嵌套关系实现
MyBatis实现一对多多层Collection集合嵌套关系实现1、Mybatis连接工具类package com.cn.fb.utils;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFac
2022-02-12 14:33:01
2546
1
原创 解决IDEA控制台无法输入
解决IDEA控制台无法输入现象如下:第一步:工具中help --Edit Constom VM Options…第二步: 打开配置,添加-Deditable.java.test.console=true重新启动IDEA,问题即可解决
2021-12-08 19:31:35
1937
1
原创 map集合遍历的4种方式
Map集合遍历的4种方式通过加强for循环map.keySet(),然后通过key获取到value值通过加强for循环只遍历键或者值通过Map.Entry<String, String>的加强for循环遍历输出键key和值valueIterator遍历获取package com.cn.common.task;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import ja
2021-12-08 15:13:33
221
原创 List集合遍历的5种方式
List遍历方式list遍历分为以下五种for循环foreach迭代器Iterator遍历List集合自带迭代器JDK8新特性Lambdapackage com.cn.common;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.ListIterator;public class Start { public static voi
2021-12-06 17:14:13
646
原创 数组扩容(每次增加1个长度)
数组扩容初始化User[]长度为5,每次增加1个长度并且将user添加到数组中public static User[] arrayExpansion(User[] oldUser, User user) { User[] newUserArray = new User[oldUser.length + 1]; for (int i = 0; i < oldUser.length; i++) { newUserArray[i] = oldUser[i];
2021-12-06 14:08:37
635
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人