java秋招个人整理总结
文章平均质量分 93
收集了各种资料的精华
富江川
交流_学习
展开
-
秋招—springMVC
RestController:@RestController注解是springMVC提供的一个复合注解,标识在控制器的类上,就相当于为类添加了@Controller注解,并且为其中的每个方法添加了@ResponseBody注解。控制器是Spring MVC中的一个关键组件,它负责接收来自客户端的HTTP请求,并根据请求的信息决定如何处理和响应这些请求。拦截器是Spring MVC中的拦截器链的一部分,它可以在请求到达控制器之前和响应返回客户端之前执行一些操作。Spring MVC是一个MVC的开源框架。原创 2023-09-09 23:08:24 · 60 阅读 · 0 评论 -
秋招—Mybatis
Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。MyBatis 可以使用 XML 或注解来配置和映射原生信息将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。原创 2023-09-09 22:40:21 · 50 阅读 · 0 评论 -
秋招—Spring复习
定义一个自定义类。原创 2023-09-09 15:53:28 · 252 阅读 · 1 评论 -
秋招—JVM下
GC发展阶段:Serial => Parallel(并行)=> CMS(并发)=> G1 => ZGC。原创 2023-09-02 15:03:48 · 71 阅读 · 0 评论 -
秋招—JVM中
与程序计数器一样,Java 虚拟机栈(后文简称栈)也是线程私有的,它的生命周期和线程相同,随着线程的创建而创建,随着线程的死亡而死亡。除了一些 Native 方法调用是通过本地方法栈实现的(后面会提到),其他所有的 Java方法调用都是通过栈来实现的(也需要和其他运行时数据区域比如程序计数器配合)。方法调用的数据需要通过栈进行传递,每一次方法调用都会有一个对应的栈帧被压入栈中,每一个方法调用结束后,都会有一个栈帧被弹出。不同线程中所包含的栈帧是不允许存在相互引用。原创 2023-09-01 23:03:51 · 45 阅读 · 1 评论 -
秋招—JVM上
JVM支持两种类型的类加载器。原创 2023-09-01 22:53:21 · 76 阅读 · 1 评论 -
秋招—MySQL性能优化
除非有特别的原因使用 NULL 值,应该总是让字段保持 NOT NULL。原创 2023-08-30 15:50:26 · 40 阅读 · 0 评论 -
秋招—MySQL中
索引是一种用于快速查询和检索数据的数据结构,其本质可以看成是一种排序好的数据结构。索引底层数据结构存在很多种类型,常见的索引结构有: B 树, B+树 和 Hash、红黑树。在 MySQL 中,无论是 Innodb 还是 MyIsam,都使用了 B+树作为索引结构。BTree 索引:MySQL 里默认和最常用的索引类型。**只有叶子节点存储 value,非叶子节点只有指针和 key。**存储引擎 MyISAM 和 InnoDB 实现 BTree 索引都是使用B+Tree。原创 2023-08-29 17:12:14 · 88 阅读 · 1 评论 -
秋招—MySQL下
READ-UNCOMMITTED(读取未提交): 最低的隔离级别,一个事务在执行过程中,**既可以访问其他事务未提交的新插入的数据,又可以访问未提交的修改数据。**如果一个事务已经开始写数据,则另外一个事务不允许同时进行写操作,但允许其他事务读此行数据。此隔离级别可防止丢失修改,可能会导致脏读、幻读或不可重复读。READ-COMMITTED(读取已提交): 一个事务在执行过程中,既可以访问其他事务成功提交的新插入的数据,又可以访问成功修改的数据。读取数据的事务允许其他事务继续访问该行数据。原创 2023-08-30 15:48:52 · 37 阅读 · 0 评论 -
秋招—MySQL上
顾名思义,关系型数据库(RDBMS,Relational Database Management System)就是一种建立在关系模型的基础上的数据库。关系模型表明了数据库中所存储的数据之间的联系(一对一、一对多、多对多)。关系型数据库中,我们的数据都被存放在了各种表中(比如用户表),表中的每一行就存放着一条数据(比如一个用户的信息)。大部分关系型数据库都使用 SQL 来操作数据库中的数据。并且,大部分关系型数据库都支持事务的四大特性(ACID)。有哪些常见的关系型数据库呢?原创 2023-08-15 15:39:58 · 44 阅读 · 0 评论 -
秋招—数据库基础知识和SQL语法
数据库: 数据库(DataBase 简称 DB)就是信息的集合或者说数据库是由数据库管理系统管理的数据的集合。数据库管理系统: 数据库管理系统(Database Management System 简称 DBMS)是一种操纵和管理数据库的大型软件,通常用于建立、使用和维护数据库。数据库系统: 数据库系统(Data Base System,简称 DBS)通常由软件、数据库和数据管理员(DBA)组成。数据库管理员。原创 2023-08-15 15:17:53 · 214 阅读 · 0 评论 -
秋招—并发下
通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。如果想实现每一个线程都有自己的专属本地变量该如何解决呢?JDK 中自带的类正是为了解决这样的问题。ThreadLocal类主要解决的就是让每个线程绑定自己的值,可以将ThreadLocal类形象的比喻成存放数据的盒子,盒子中可以存储每个线程的私有数据。如果你创建了一个变量,那么访问这个变量的每个线程都会有这个变量的本地副本,这也是变量名的由来。他们可以使用get()和set()原创 2023-08-14 16:11:19 · 43 阅读 · 0 评论 -
秋招—并发中
悲观锁总是假设最坏的情况,认为共享资源每次被访问的时候就会出现问题(比如共享数据被修改),所以每次在获取资源操作的时候都会上锁,这样其他线程想拿到这个资源就会阻塞直到锁被上一个持有者释放。也就是说,共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程。像 Java 中**和等独占锁就是悲观锁思想**的实现。悲观锁通常多用于写比较多的情况下(多写场景),避免频繁失败和重试影响性能。原创 2023-08-09 16:18:23 · 46 阅读 · 1 评论 -
秋招—并发上
字节码解释器通过改变程序计数器来依次读取指令,从而实现代码的流程控制,如:顺序执行、选择、循环、异常处理。在多线程的情况下,程序计数器用于记录当前线程执行的位置,从而当线程被切换回来的时候能够知道该线程上次运行到哪儿了。需要注意的是,如果执行的是 native 方法,那么程序计数器记录的是 undefined 地址,只有执行的是 Java 代码时程序计数器记录的才是下一条指令的地址。所以,程序计数器私有主要是为了线程切换后能恢复到正确的执行位置。原创 2023-07-31 23:49:31 · 57 阅读 · 3 评论 -
秋招—java集合
Java 集合, 也叫作容器,主要是由两大接口派生而来:一个是Collection接口,主要用于存放单一元素;另一个是Map接口,主要用于存放键值对。原创 2023-07-27 14:18:48 · 289 阅读 · 1 评论 -
秋招—java IO知识点
IO 即,输入和输出。数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,远程主机)的过程即输出。数据传输过程类似于水流,因此称为 IO 流。IO 流在 Java 中分为输入流和输出流,而根据数据的处理方式又分为字节流和字符流。Java IO 流的 40 多个类都是从如下 4 个抽象类基类中派生出来的。Reader: 所有的输入流的基类,前者是字节输入流,后者是字符输入流。Writer: 所有输出流的基类,前者是字节输出流,后者是字符输出流。(抽象基类)输入流输出流字节流。原创 2023-07-21 11:29:00 · 73 阅读 · 1 评论 -
秋招—java其他重要知识点
如果我们需要持久化 Java 对象比如将 Java 对象保存在文件中,或者在网络传输 Java 对象,这些场景都需要用到序列化。序列化: 将数据结构或对象转换成二进制字节流的过程反序列化:将在序列化过程中所生成的二进制字节流转换成数据结构或者对象的过程对于 Java 这种面向对象编程语言来说,我们序列化的都是对象(Object)也就是实例化后的类(Class),但是在 C++这种半面向对象的语言中,struct(结构体)定义的是数据结构类型,而 class 对应的是对象类型。原创 2023-07-20 10:03:59 · 73 阅读 · 0 评论 -
秋招—java基础下
Java 泛型(Generics)是 JDK 5 中引入的一个新特性。使用泛型参数,可以增强代码的可读性以及稳定性。编译器可以对泛型参数进行检测,并且通过泛型参数可以指定传入的对象类型。比如这行代码就指明了该ArrayList对象只能传入Person对象,如果传入其他类型的对象就会报错。并且,原生List返回类型是Object,需要手动转换类型才能使用,使用泛型后编译器自动转换。原创 2023-07-18 09:27:47 · 69 阅读 · 1 评论 -
秋招—java基础中
关于深拷贝和浅拷贝区别浅拷贝:浅拷贝会在堆上创建一个新的对象(区别于引用拷贝的一点),不过,如果原对象内部的属性是引用类型的话,浅拷贝会直接复制内部对象的引用地址,也就是说拷贝对象和原对象共用同一个内部对象。深拷贝:深拷贝会完全复制整个对象,包括这个对象所包含的内部对象。那什么是引用拷贝呢?简单来说,引用拷贝就是两个不同的引用指向同一个对象。图中,Address指的是类中包含的其他引用类型数据。原创 2023-07-17 10:23:07 · 76 阅读 · 1 评论 -
秋招—java基础上
从各大学习视频和复习网站总结的复习精华,供自己复习和日常开发使用。原创 2023-07-12 23:21:58 · 105 阅读 · 1 评论