自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 juc面试学习笔记

juc面试 CAS是什么 Compare And Set 比较并且交换 /* * 1、CAS是什么? ==>compareAndSet * 比较并交换 * */ public class CASDemo { public static void main(String[] args){ AtomicInteger atomicInteger = new AtomicInteger(5); System.out.println(atomicInteger.c

2021-04-25 20:42:07 188

原创 volatile

volatile理解 java虚拟机提供的轻量级的同步机制 保证可见性 不保证原子性 禁止指令重排 JMM(java内存模型) 一种规范或者规则,定义了程序中的各种变量的访问方式 线程解锁前,必须把共享内存变量的值刷新回到主内存 线程加锁前,必须读取主内存的最新值到自己的工作内存 加解锁是同一把锁 工作内存+主内存,线程之间通信通过主内存完成 ...

2021-04-20 17:14:14 144

原创 cloud

2021-04-09 07:16:35 162

原创 负载均衡

LB负载均衡(Load Balance)是什么 简单的说就是将用户的请求平摊的分配到多个服务上,从而达到系统的HA(高可用)。 常见的负载均衡有软件Nginx,LVS,硬件 F5等。 Ribbon本地负载均衡客户端 VS Nginx服务端负载均衡区别 Nginx是服务器负载均衡,客户端所有请求都会交给nginx,然后由nginx实现转发请求。即负载均衡是由服务端实现的。 Ribbon本地负载均衡,在调用微服务接口时候,会在注册中心上获取注册信息服务列表之后缓存到JVM本地,从而在本地实现RPC远程服务调用技

2021-04-08 22:37:06 159

原创 线程池

线程池 池化技术 程序运行,本质:占用系统的资源!优化资源的使用=》池化技术 池化技术:事先准备好一些资源,有人用,就来拿,用完返回池 线程池的好处: 1、降低资源的消耗 2、提供响应的速度 3、方便管理 线程服用、可以控制最大并发数、管理线程 线程池:三大方法、7大参数、4种拒绝策略 三大方法 //使用线程池要用线程池创建线程 public class Demo1 { public static void main(String[] args) { // ExecutorServic

2021-04-02 07:29:10 170

原创 JUC

JUC juc java8一个工具类包 现程和进程 进程:一个程序,程序的集合,一个进程包含多个线程 线程:进行运算调度的最小单位 Tread ,Runnable,Callable java不可以开启进程,是由本地方法调用开启线程的 并发和并行 并发:多线程操作同一个资源,交替执行 并行:同时执行不同的任务,同时执行 并发本质:充分利用CPU资源 线程有几个状态 6个状态 NEW:新生 RUNNABLE:运行 BLOCKED:阻塞 WAITING:等待 TIMED_WAITING:超时等待 TERMINAT

2021-04-01 07:31:13 213 1

原创 Synchronized和lock区别

Synchronized内置的java关键字,Lock是一个java类 Synchronized无法判断获取锁的状态,Lock可以判断是否获取到了锁 Synchronized会自动释放锁,Lock必须要手动释放锁,如果不释放会出现死锁(操作难度高,更安全) Synchronized线程1(获得锁),线程2(一直等待),Lock不会一定会一直等待。 Synchronized可重入锁,不可以中断,非公平锁;Lock,可重入锁,可以判断锁,非公平(可自己设置) Synchronized适合锁少量代码同步问题,L.

2021-03-31 13:54:32 125

原创 事务的隔离性及隔离级别

事务的隔离性及隔离级别 事务的四大特性(ACID) 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持久性(Durability) MyISAM与InnoDB 的区别 InnoDB支持事务,MyISAM不支持事务 InnoDB支持外键 InnoDB是聚集索引,使用B+Tree作为索引结构 B+Tree和B-Tree 事务的隔离性 脏读 一个事务在处理过程中读取了另一个未提交的事务中的数据 不可重复读 对于数据中的某个数据,一个事务范围多次查询返回了不同的数据值,

2021-03-25 07:48:38 257

原创 springcloud+mybatis+springboot2项目启动问题

建立springcloud的项目问题 1.springcloud依赖于springboot的版本,引入依赖的时候需要版本对应 后续补充版本对应关系图 2.这里引入的是mybaits 2.1.4 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId>

2021-03-20 09:27:00 195

原创 SpirngSecurity

SpirngSecurity 原理 三个过滤器(过滤器链) FilterSecurityInterceptor:方法过滤器 ExceptionTranslationFilter:异常过滤器 UsernamePasswordAuthenticationFilter:对/login的post请求拦截,校验表单中用户名,密码。 … 过滤器加载: DelegatingFilterProxy来加载所有的过滤器 两个重要接口: UserDetailsService接口:实现这个接口来从数据库查找用户名和密码。 1.创建

2021-03-16 00:24:20 247

转载 面试

面试造火箭

2021-03-15 07:15:19 152

原创 Redis事务

Redis事务 Redis事务没有没有隔离级别的概念! Redis单条命令式保存原子性的,但是事务不保证原子性! redis的事务: 开启事务(multi) 命令入队(…) 执行事务(exec) 127.0.0.1:6379> multi OK 127.0.0.1:6379> set k1 v1 QUEUED 127.0.0.1:6379> set k2 v2 QUEUED 127.0.0.1:6379> get k2 QUEUED 127.0.0.1:6379> exec 1

2021-03-14 00:15:13 98

原创 三种特殊数据类型

三种特殊数据类型 Geospatial 地理位置 getadd # getadd 添加地理位置 # 规则:两级无法直接添加,我们一般会下载城市数据,直接通过java程序一次性导入! # 有效的经度从-180度到180度。 # 有效的纬度从-85.05112878度到85.05112878度。 # 当坐标位置超出上述指定范围时,该命令将会返回一个错误。 # 127.0.0.1:6379> geoadd china:city 39.90 116.40 beijin (error) ERR invalid

2021-03-14 00:14:37 435

原创 Redis 五大基本数据类型

Redis 五大基本数据类型 Redis-Key 127.0.0.1:6379> keys * # 查看所有的key 127.0.0.1:6379> EXISTS name # 判断当前的key是否存在 127.0.0.1:6379> move name 1 # 移除当前的key 127.0.0.1:6379> EXPIRE name 10 # 设置key的过期时间,单位是秒 127.0.0.1:6379> ttl name # 查看当前key的剩余时间 127.0.0.1:6

2021-03-14 00:14:00 184

原创 Linux安装redis

Linux安装redis 1、下载安装包! redis-5.0.8.tar.gz 2、解压Redis的安装包! 程序/opt 3、进入解压后的文件,可以看到我们redis的配置文件 [root@great-walk-2 opt]# ls redis-5.0.7 redis-5.0.7.tar.gz [root@great-walk-2 opt]# tar zxvf redis-5.0.7.tar.gz 4、基本的环境安装 yum install gcc-c++ make make install

2021-03-13 11:58:05 120

原创 springboot文件上传

文件上传 文件上传的自动配置: //MultipartProperties文件上传的配置放在这个类中 @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ Servlet.class, StandardServletMultipartResolver.class, MultipartConfigElement.class }) @ConditionalOnProperty(prefix = "spring.servlet.multipa

2021-03-10 07:04:08 159

原创 Springboot拦截器原理

1.拦截器原理 根据当前请求,找到**HandlerExecutionChain**** 【可以处理请求的handler以及handler的所有 拦截器】 先来顺序执行 所有拦截器的 preHandle方法 如果当前拦截器prehandler返回为true。则执行下一个拦截器的preHandle 如果当前拦截器返回为false。直接 倒序执行所有已经执行了的拦截器的 afterCompletion; 如果任何一个拦截器返回false。直接跳出不执行目标方法 所有拦截器都返回True。执

2021-03-09 22:56:16 418

原创 mybatis学习笔记

遇到问题: //xml乱码解决新增字符集 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> mybatis工具类 public class MybatisUtils { private static SqlSessionFactory sqlSessionFactory; stat

2021-03-09 22:33:04 95

原创 Springboot2(学习笔记五)

(尚硅谷学习视频) 尚硅谷 1、视图解析原理流程 1、目标方法处理的过程中,所有数据都会被放在 ModelAndViewContainer 里面。包括数据和视图地址 2、方法的参数是一个自定义类型对象(从请求参数中确定的),把他重新放在 ModelAndViewContainer 3、任何目标方法执行完成以后都会返回 ModelAndView(数据和视图地址)。 4、processDispatchResult 处理派发结果(页面改如何响应) • 1、render(mv, request, response

2021-03-08 23:16:15 282

原创 JVM学习笔记(一)

JVM(参考狂神说学习视频)类加载器和双亲委派机制Native方法区栈三种JVM堆 类加载器和双亲委派机制 百分之99的JVM调优都是在堆中调优,Java栈、本地方法栈、程序计数器是不会有垃圾存在的。 jvm体系结构 类加载器 Car—>getClass–>getclassloader Car1、Car2、Car3不同的实例,每个hascode都不一样 Car Class的hascode都是一样的 双亲委派机制 //双亲委派机制:安全  // 1. APP–>EXC—B0OT(最终执行

2021-02-28 23:31:04 98

原创 springboot2学习笔记(三)

springboot2参数处理原理复杂参数 参数处理原理 HandlerMapping中找到能处理请求的Handler(Controller.method()) 为当前Handler 找一个适配器 HandlerAdapter; RequestMappingHandlerAdapter 适配器执行目标方法并确定方法参数的每一个值 HandlerAdapter 0-支持方法标注@RequestMapping 1-支持函数编程 … 执行目标方法 // Actually invoke the handler

2021-02-25 00:02:28 111

原创 Springboot2学习笔记(二)

目录请求参数处理请求映射原理普通参数与基本注解@MatrixVariable(矩阵变量): 请求参数处理 1、rest使用与原理 •Rest风格支持(使用HTTP请求方式动词来表示对资源的操作) /user GET-获取用户 DELETE-删除用户 PUT-修改用户 POST-保存用户 但是表单只支持get和post请求,要实现delete和put请求需要使用 核心Filter;HiddenHttpMethodFilter 使用方法: //开启filter注解 spring.m

2021-02-23 23:38:55 297

原创 mysql安装步骤以及问题---解压版本

下载mysql解压版本,这里用的是5.7.19,下载完成后直接解压,我的安装目录为D:\2021\soft\mysql-5.7.19 添加环境变量,再path后添加D:\2021\soft\mysql-5.7.19\bin 编辑 my.ini 文件,注意是 “/” \可能后面初始化失败 [mysqld] basedir=D:/2021/soft/mysql-5.7.19/ datadir=D:/2021/soft/mysql-5.7.19/data/ port=3306 #skip-grant-..

2021-02-07 14:07:51 169

原创 springMVC学习笔记 ---注解开发

注解开发 配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://ja

2021-02-05 22:59:00 200

原创 javaweb学习笔记(五)--filter

Filter 用途: 处理乱码 编写过滤器 public class CharacterEncodingFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println("初始化过滤器"); } @Override public void doFilter(

2021-01-21 22:40:02 246 2

原创 javaweb学习笔记(四)

cookie

2021-01-21 07:20:17 242 2

原创 JAVAWEB学习笔记(三)

HttpServletRequest 获取前端传递参数 十三点

2021-01-17 15:04:15 96

原创 JAVAWEB学习笔记(二)

HttpServletResponse 向浏览器发送数据的方法 public PrintWriter getWriter() throws IOException; public ServletOutputStream getOutputStream() throws IOException; 浏览器发送响应头的方法 public void setCharacterEncoding(String charset); public void setContentLength

2021-01-17 10:52:59 106

原创 学习javaweb笔记(一)

servletContext用法共享数据请求转发读取资源文件 共享数据 // 存数 ServletContext context = this.getServletContext(); String username="张三"; context.setAttribute("username",username); // 取数 ServletContext servletContext = this.getServletContext();

2021-01-17 00:09:30 109

jdk8中文版.rar

jdk1.8中文版.CHM

2021-04-01

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

TA关注的人

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