- 博客(25)
- 收藏
- 关注
原创 JavaSE面试题——9.重载和重写的区别?
方法重载指在同一个类中,多个方法之间,方法名相同,参数列表不同,用于执行不同的处理逻辑方法重载是Java编译时多态的体现,编译期会根据参数类型和长度来确定调用的方法方法重载发生在编译期同一个类多个方法之间方法的参数列表必须不同构造方法也可以进行重载方法重载与返回类型和修饰符无关方法重写指子类重写父类的某个方法,用于对父类的方法重新定义,方法重写发生在子类中,通过方法重写来实现多态,方法重写是运行时多态,运行时根据实际类型来选择方法,方法的符号引用会在运行时进行解析,之后在类加载的解析阶段
2022-03-31 10:23:05
610
2
原创 JavaSE面试题——8.成员变量和局部变量有什么区别?
语法规则不同:成员变量定义在类在中,任何方法和代码块之外局部变量则是定义在代码块或者方法中或者方法的参数作用域不同:成员变量可以被类中的所有方法进行调用局部变量只能在定义的方法或代码块中使用内存中的存储方式不同:使用static修饰的成员变量,属于类的变量,储存在JVM的方法区中没有使用static修饰的成员变量属于对象的成员变量,随着对象存储在堆内存中局部变量属于某个代码块或方法,存储在栈内存中方法栈帧的局部变量表中生命周期不同:成员变量属于对象的一部分,它随着对象的创建而创建,随着
2022-03-31 10:21:11
587
原创 JavaSE面试题——7.为什么重写equals方法时必须重写hashcode方法?
如果两个对象相等(即:调用equals方法返回为true),那么他们的hashcode值也一定要相等如果两个对象的hashcode值相等,那么这两个对象并不一定相等(即:调用equals方法返回可能为fasle)所以在重写equals方法的时候,为保证hashcode值也相等就必须也同时重写hashcode方法,否则将导致该对象不能在基于hash表的集合中正常使用,如:HashMap、HashTable、HashSet等集合重写equals方法时重写hashcode方法,可以减少equals方法调用的
2022-03-25 22:13:48
1704
5
原创 JavaSE面试题——6.静态方法和实例方法有何不同?
静态方法和实例方法的不同有三点调用方式不同静态方法调用可以使用“对象名。方法名”或“类名。方法名”,但是实例方法只能使用“对象名。方法名”调用访问内容不同静态方法只能访问类的静态成员(静态方法和静态属性)不允许访问实例成员,而实例方法即可以访问静态方法和实例方法初始化时机不同静态方法在类加载的时候被初始化,并且只会被初始化一次,而实例方法会在创建对象的时候被初始化,每次创建对象都会被初始化JavaSE面试题整理JavaSE面试题——1.面向对象和面向过程有什么区别?JavaSE面试题——
2022-03-24 21:40:27
361
2
原创 JavaSE面试题——5.面向对象的三大特征:封装、继承、多态
封装:封装的目的是隐藏对象内部的实现细节,以提高安全性和简化编程。指把一个对象的属性隐藏在对象内部,不允许对象外部直接访问对象内部的数据,只能通过可以被外界访问的方法来操作这些属性继承:继承是代码复用的一种机制,以已存在的类为基础建立新类的技术,新类被称为子类,已存在的类被称为父类,子类自动继承父类的非私有的属性和方法,从而达到代码复用的效果JAVA中只支持单继承,不支持多继承多态:顾名思义,多态表示一个对象具有多种形态,具体表现为父类的引用指向子类对象,使程序的拓展性更强,提高了系统的灵活性
2022-03-24 21:05:15
4740
4
原创 JavaSE面试题——4.Int 和 Integer 有什么区别?
int是基本类型 Integer是引用类型int的默认值是0, Integer的默认值是nullint比较的时候使用== , Integer比较的时候使用equalsInteger 有一个内部缓存的存在,在-128 - 127 之间可以使用 ==进行比较,它会直接取缓存,在大于127或者小于-128时就不一定相等了,需要使用equals来进行比较我们在平时使用的时候,一些临时的对象使用int比较好,因为它是分配在栈上的我们在定义一些实体类的时候,最好使用Integer,这样的话在序列化和反序列
2022-03-21 22:13:55
871
28
原创 JavaSE面试题——3.== 和 equals 的区别
== 是运算符 equals是方法当比较基本类型时,==比较的是值是否相等当比较引用类型时,比较的是他们的地址值是否相等equals默认实现是,比较地址值是否相等我们可以根据业务需要重写equals方法里的比较规则思考:Interger = 129 与 int = 129 是否相等?JavaSE面试题JavaSE面试题——1.面向对象和面向过程有什么区别?JavaSE面试题——2.接口和抽象类的区别...
2022-03-20 20:16:51
702
20
原创 JavaSE面试题——2.接口和抽象类的区别
一、接口和抽象类的相同点① 接口和抽象类都不能被实例化,它们用于被其他类实现和继承② 接口和抽象类都可以包含抽象方法,实现接口或继承抽象类的普通子类都必须实现这些抽象方法二、接口和抽象类的区别① 接口里只能包含抽象方法,静态方法和默认方法,不能为方法提供实现,也就是方法不能书写方法体,而抽象类中的普通方法可以为方法提供实现② 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是被public static final 修饰的常量,常量必须赋值③ 接口中不能包含构造器,而抽象类中
2022-03-19 22:02:39
2515
10
原创 JavaSE面试题——1.面向对象和面向过程有什么区别?
面向过程:在我理解,面向过程就是把一件事情拆分成一个个的方法和数据,然后按照一定的顺序去执行这些方法,每一个方法都可以看做是一个过程优点:因为面向过程不需要实例化对象,所以面向过程的性能要好于面向对象缺点:设计出的系统耦合性比较高,不易于维护和拓展面向对象:在我理解,面向对象就是把一件事情抽象成一个对象,赋予这个对象它的属性和方法,让这个对象去执行他自己的方法优点:设计出的系统耦合性比较低,系统更加灵活,易于复用、拓展和维护缺点:面向对象的性能比面向过程低
2022-03-17 10:21:18
619
28
原创 spring-boot-maven-plugin 报红解决办法
spring-boot-maven-plugin 报红源码 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId>
2022-03-02 12:53:42
1083
7
原创 Swagger2快速入门及使用
什么是Swagger?前后端集成联调,前端或者后端无法做到“及时协商,尽早解决”,最终导致问题集中爆发Swagger解决这个问题 管理API接口 生成API文档 + 测试 (postman)要求:SpringBoot + jdk1.8 以上开始使用1.导入依赖 注意版本:2.9.2<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swa
2022-02-14 15:05:56
652
13
原创 Vue+Axios+SpringBoot前后端分离项目解决跨域问题
什么是跨域?不同服务器,不同项目,不同端口,满足以上三点任意一点的都是跨域请求如何解决?①前端在Vue-Cli的核心配置文件main.js中,创建axios实例时允许使用凭证(Session)/** * 导入axios */import axios from 'axios';/** * 创建axios实例 */ let axiosInstance = axios.create({ baseURL: 'http://localhost/VueServe/', //设置服务端基础
2022-02-14 11:26:52
996
7
原创 HTTP请求简单理解
HTTP请求包含三部分分别为 请求行 请求头 请求体请求行:method + request-URI + http-version请求头:User-Agent:产生请求的浏览器类型。Accept:客户端可识别的内容类型列表。Host:主机地址请求体:参数体,get没有请求体,post方法中,会把数据以key value形式发送请求,一般为JSON字符串形式...
2022-02-12 20:39:32
602
1
原创 forEach(System.out::println)用法
等同于增强foreach@SpringBootTestclass MybatisPlusApplicationTests { @Autowired private UserMapper userMapper; @Test void contextLoads() { List<User> users = userMapper.selectList(null);// users.forEach(System.out::print
2022-02-10 20:11:57
2460
原创 SpringBoot整合Druid配置监控页,非常详细
监控页地址: localhost/druid/login.html登录后yaml配置 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.17</version>
2022-01-23 19:22:31
3710
1
原创 配置SSH密钥实现免登录
1.打开Git Bash Here 输入ssh-keygen -t rsa2.再次输入cat ~/.ssh/id_rsa.pub,得到公钥3.将公钥放入gitee4.输入ssh -T git@gitee.com5.输入Yes
2022-01-21 19:00:41
557
原创 Git入门就看这一篇
1.版本控制用于管理多人协同开发项目的技术常见的版本控制器: git svn版本控制分为三类 分别为本地版本控制 集中版本控制 分布式版本控制本地版本控制记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,如RCS。集中版本控制 SVN所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改分布式版本控制 Git安全隐患:每个人拥有全部的代码不会因为服务器损坏或者网络问题,造成不能工作的情况!Git与SVN的主要区别SVN是集中
2022-01-21 18:22:00
123
原创 SpringBoot注入Web原生组件
1.注解方式@WebServlet@WebFilter@WebListener@ServletComponentScan(basePackages = “com.wgd”) :指定原生Servlet组件都放在哪里,写在主启动类上2.配置类方式servlet ==> ServletRegistrationBeanfilter ==> FilterRegistrationBeanlistener ==>ServletListenerRegistrationBean/**
2022-01-16 16:55:08
163
原创 Mybatis封装MybatisUtils类
为了保证 SqlSessionFactory 在整个应用中只有一个对象,也为了更方便的使用 SqlSession 对象,我们对 SqlSessionFactory 对象和 SqlSession 对象做简单的封装处理。public class MybatisUtil { private static final SqlSessionFactory FACTORY = getSqlSessionFactory(); private static SqlSessionFactory getS
2021-11-27 12:55:56
728
2
原创 Mybatis模糊查询的几种方式
1.使用concat函数<select id="likeSelectByName" parameterType="string" resultType="goods"> select * from tbl_goods where g_name like concat('%',#{g_name},'%')</select>2.使用字符串拼接<select id="likeSelectByName" parameterType="string" resultTyp
2021-11-27 12:48:01
300
原创 Mybatis入门就看这一篇
Mybatis1.简介1.1什么是Mybatis百度百科: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了[google code](https://baike.baidu.com/item/google code/2346604),并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。官方文档
2021-11-02 23:56:49
134
原创 第一个Mybatis程序
Mybatis1.简介1.1什么是Mybatis百度百科: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了[google code](https://baike.baidu.com/item/google code/2346604),并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。官方文档
2021-10-29 21:04:07
138
原创 Vue的v-if与v-show区别
v-if与v-show区别 <div v-if="price>50">v-if</div> <div v-show="price<50">v-show</div>当price<50时 v-if处的标签为(占位符)当price>50时 v-show的标签为<div style="display: none;">v-show</div>Vue中显隐方法常用两种v-show只编译一次,隐藏只
2021-10-26 17:09:51
307
原创 前端中文数据请求到后端出现乱码问题
前端数据传到后端出现乱码问题已经设置过响应时的编码response.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");但是依然出现乱码问题,解决方案如下:将前端数据使用encodeURL进行编码,重点:需要进行两次encodeURL 编码let username = encodeURI(encodeURI(document.getElementById("username").val
2021-10-26 17:01:02
11567
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人