09 2020 档案
摘要:前言 生产者-消费者模式是一个经典的多线程设计模式。 在生产者-消费者模式中,通常有两类线程,即若干个生产者和消费者线程。 生产者线程负责提交用户请求 消费者线程负责处理生产者提交的任务。 内存缓冲区 缓存生产者提交的任务或数据,供消费者使用。 开发需要解决的问题: 生产者线程与消费者线程对内存缓冲
阅读全文
摘要:前言 一直有小伙伴要我分享面经,说自己想面互联网公司,无奈经验太少想多看看其他人是怎么面的。我这两天刚好和一个刚拿到猿辅导offer的朋友吃了个饭,他向我说了说自己的面试经历。粉丝朋友是末流211毕业的,工作了两年了!然后五月份左右的时候辞职的,辞职之后问我要了面试资料进行学习,对自己的知识点进行梳
阅读全文
摘要:类和对象 什么是类 类是一组相关属性和行为的集合,可以看作是一类事物的模板,比如说:无论中年人、老年人还是小孩,都有身高、体重(这是属性),都会吃饭、睡觉(这是行为),那么我们就可以抽取出这些共有的属性和行为,封装为一个类。类由两部分组成: 属性:事物的状态信息 行为:事物能够做啥 什么是对象 对象
阅读全文
摘要:前言 代理模式(Proxy Pattern),23种java常用设计模式之一。代理模式的定义:代理类对被代理对象提供一种代理以控制对这个对象的访问。代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。个人理解:在生活中我们常常把不必要的事情丢给别人去完成,而这些不必要
阅读全文
摘要:环境搭建 注解的方式是通过配置类的方式来注入组件,注解注入要比XML注入的方式简单,注解注入也需要在前者的基础上,添加一个spring-context的包,也是实际开发中常用的方式。 准备所需Jar包 Spring注解之组件注册 Spring提供了许多的注解配置,这样我们就可以通过注解的方式实现组件
阅读全文
摘要:## 剖析@SpringBootApplication注解 创建一个SpringBoot工程后,SpringBoot会为用户提供一个Application类,该类负责项目的启动: ```@SpringBootApplicationpublic class SpringbootSeniorApplic
阅读全文
摘要:前言 关于MyBatis总结了一个思维导图希望对大家有帮助 什么是 Mybatis? Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement 等繁杂的过程。程序员直接编写原生态
阅读全文
摘要:什么是 Spring Boot? SpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品,是用来简化 spring 初始搭建和开发过程使用特定的方式进行配置,创建了独立的 spring 引用程序 main 方法运行。同时Spri
阅读全文
摘要:前言 2020年已经接近到9月份了,很多粉丝朋友都对金九银十雀雀欲试了吧!也有很多朋友向我求教经验,因为我自己工作相对于稳定,在这里给大家分享一个粉丝朋友的经历,他作为一个曾经的菜鸡面试者,在不断的失败中成长,最终斩获了多份offer,因此特别想在此分享一下他的面试成长之路。文章内容篇幅较长,希望大
阅读全文
摘要:Spring MVC拦截器 拦截器是Spring MVC中强大的控件,它可以在进入处理器之前做一些操作,或者在处理器完成后进行操作,甚至是在渲染视图后进行操作。 拦截器概述 对于任何优秀的MVC框架,都会提供一些通用的操作,如请求数据的封装、类型转换、数据校验、解析上传的文件、防止表单的多次提交等。
阅读全文
摘要:一、什么是代理 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。 代理模式UML图: 结构示意图: 为了保持行为的一致性,代理类和委托类通常会实现相同的接口,所以在访问者看来两者
阅读全文
摘要:前言 什么是线程:程序中负责执行的哪个东东就叫做线程(执行路线,进程内部的执行序列),或者说是进程的子任务。 Java中实现多线程有几种方法 继承Thread类; 实现Runnable接口; 实现Callable接口通过FutureTask包装器来创建Thread线程; 使用ExecutorServ
阅读全文
摘要:前言 LinkedList底层是基于双向链表,链表在内存中不是连续的,而是通过引用来关联所有的元素,所以链表的优点在于添加和删除元素比较快,因为只是移动指针,并且不需要判断是否需要扩容,缺点是查询和遍历效率比较低。下面会给大家详细的剖析一下底层源码! 结构 LinkedList 继承关系,核心成员变
阅读全文
摘要:前言 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变量、参数和包等都可以被标注,和 Javadoc(也就是所说的文档注释) 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java
阅读全文
摘要:线程是否要锁住同步资源 锁住 悲观锁 不锁住 乐观锁 锁住同步资源失败 线程是否要阻塞 阻塞 不阻塞自旋锁,适应性自旋锁 多个线程竞争同步资源的流程细节有没有区别 不锁住资源,多个线程只有一个能修改资源成功,其它线程会重试无锁 同一个线程执行同步资源时自动获取资源偏向锁 多个线程竞争同步资源时,没有
阅读全文
摘要:前言 异常是在程序中导致程序中断运行的一种指令流,当异常发生时,程序将直接中断,不再执行后续的任何操作! 示例:两数相除,若不处理任何异常,则只有在正确输入两个数字时,才能显示出运算结果。 public static void main(String[] args) { Scanner scanne
阅读全文
摘要:前言 官网:Mybatis-plus官方文档 简化 MyBatis ! 创建数据库 数据库名为mybatis_plus 创建表 创建user表 DROP TABLE IF EXISTS user; CREATE TABLE user ( id BIGINT(20) NOT NULL COMMENT
阅读全文
摘要:并发与并行 并发:两个或者多个事件在同一时间段发生(交替执行) 并行:两个或者多个事件在同一时刻发生(cpu多核、同时执行) 线程与进程 进程:是一个内存中运行的应用程序,有自己独立的内存空间,一个应用程序至少有一个进程,一个进程至少有一个线程; 线程: 线程是进程中的一个执行单元,是CPU调度和分
阅读全文
摘要:前言 说jvm的内存模型前先了解一下物理计算机的内存处理。 物理计算器上用户磁盘和cpu的交互,由于cpu读写速度速度远远大于磁盘的读写速度速度,所以有了内存(高速缓存区)。但是随着cpu的发展,内存的读写也跟不上cpu的读写速度了,cpu的产商就给每个cpu加入了一个高速缓存,也就是下面的结构。
阅读全文
摘要:查找元素索引位置 基本查找 根据数组元素找出该元素第一次在数组中出现的索引 public class TestArray1 { public static void main(String[] args) { //定义一个数组 int[] arr={10,20,70,10,90,100,1,2};
阅读全文
摘要:前言 spring作为一个容器,可以管理对象的生命周期、对象与对象之间的依赖关系。可以通过配置文件,来定义对象,以及设置其与其他对象的依赖关系。 main测试类 public static void main(String[] args) { ApplicationContext applicati
阅读全文
浙公网安备 33010602011771号