自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java基本数据类型字节大小

2020-09-11 17:32:37 215

原创 Java面试题:快速失败(fail-fast)和安全失败(fail-safe)的区别是什么?

Java面试题文章目录Java面试题一、快速失败二、安全失败提示一、快速失败在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。原理:迭代器在遍历时直接访问集合中的内容,并且在遍历过程中使用一个 modCount 变量。集合在被遍历期间如果内容发生变化,就会改变modCount的值。每当迭代器使用hashNext()/next()遍历下一个元素之前,都会检测modCount变量是否为

2020-09-08 19:37:55 625

原创 Java面试题:值传递和引用传递(清晰易懂)

文章目录前言一、值传递和引用传递是什么?二、如何理解Java中只有值传递没有引用传递总结前言首先,不要纠结于 Pass By Value 和 Pass By Reference 的字面上的意义,否则很容易陷入所谓的“一切传引用其实本质上是传值”这种并不能解决问题无意义论战中。更何况,要想知道Java到底是传值还是传引用,起码你要先知道传值和传引用的准确含义吧?可是如果你已经知道了这两个名字的准确含义,那么你自己就能判断Java到底是传值还是传引用。这就好像用大学的名词来解释高中的题目,对于初学者根

2020-09-04 20:08:45 1164

原创 Java面试题:接口和抽象类的区别是什么?(清晰易懂)

Java面试题接口和抽象类的区别是什么?前言从设计层面来说,抽象是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。区别是什么?接口中所有的方法隐含的都是抽象的,抽象类中的方法可以是抽象的也可以是非抽象的。类可以实现多个接口,但只能继承一个抽象类。类可以选择在不全部实现抽象类和接口中抽象方法,但该类必须为抽象类。接口中声明的变量默认都是public static final修饰的,而抽象类的成员变量可以是各种类型的。接口中方法的访问修饰符默认是public,而抽象类可以

2020-09-04 19:39:14 1200

原创 Java面试题:Java中的方法覆盖(Overriding)和方法重载(Overload)是什么意思?

Java面试题Java中的方法覆盖(Overriding)和方法重载(Overload)是什么意思?方法重写的原则:重写方法的方法名称、参数列表必须与原方法的相同,返回类型可以相同也可以是原类型的子类型(从Java SE5开始支持)。重写方法不能比原方法访问性差(即访问权限不允许缩小)。重写方法不能比原方法抛出更多的异常。被重写的方法不能是final类型,因为final修饰的方法是无法重写的。被重写的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行重写。被重写的方

2020-09-04 17:37:28 306

原创 Java面试题:JDK和JRE的区别

Java面试题JDK和JRE的区别JRE: Java Runtime EnvironmentJDK: Java Development KitJRE:顾名思义是Java运行时环境,包括JVM和Java基本类库。是Java语言编写的程序运行的软件环境,是提供给需要运行Java程序的用户使用的。JDK:顾名思义是Java开发工具包,是程序员编写Java程序所需用到的Java开发工具包。JDK包含JRE同时还包括Java语言编译器Javac,Java程序的调试工具和分析工具,Java编写需要的文档等。

2020-09-04 15:39:13 311

原创 Java面试题:什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?

Java面试题什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?java的跨平台不是java源程序的跨平台 ,如果是这样,那么所以语言都是跨平台的, java源程序先经过javac编译器编译成二进制的.class字节码文件(java的跨平台指的就是.class字节码文件的跨平台,.class字节码文件是与平台无关的),.class文件再运行在jvm上,java解释器(jvm的一部分)会将其解释成对应平台的机器码执行,所以java所谓的跨平台就是在不同平台上安装了不同的jvm,而在不同平

2020-09-04 15:20:43 171

原创 Javac编译过程及优化代码(清晰易懂)

Java程序员编写的程序进入Javac编译器前端编译器:把*.java文件转变成*.class文件的过程;编译期优化:降低程序员的编码复杂度、提高编码效率。编译过程大致分为一个准备过程和三个处理过程:1.准备过程:初始化插入式注解处理器。2.解析与填充符号表过程,包括:词法、语法分析。将源代码的字符流转变为标记集合,构造出抽象语法树。词法分析是将源代码的字符流转变成标记集合的过程,单个字符是程序编写时的最小单位,但标记才是编译时的最小元素。语法分析是根据标记序列构造抽象语法树的过程。(抽

2020-09-03 19:34:50 268

原创 maven依赖关系中Scope的作用(简单易懂)

maven依赖关系中Scope的作用在POM 4中,中还引入了,它主要管理依赖的部署。目前可以使用5个值:compile,缺省值,适用于所有阶段,会随着项目一起发布。provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。system,类似provided,需要显式提供包含依赖的jar,Maven不会在Reposit

2020-07-25 15:06:28 138

原创 Spring Data JPA学习三:PagingAndSortingRepository 方法常见错误

Spring Data JPA学习三:PagingAndSortingRepository 方法常见错误1.Sort创建失败Sort sort = new Sort(new Sort.Order(Sort.Direction.DESC,"id"));Spring boot 2.1版本以上Sort已经不能用new实例化了,可以用以下方式Sort sort=Sort.by(Sort.Direction.DESC,"id");源码解析 private Sort(Sort.Direction

2020-07-23 23:23:23 845

原创 Spring Data JPA学习二:JPA基础查询方法(CrudRepository方法详解)

Spring Data JPA学习二:JPA基础查询方法1.CrudRepository方法详解CrudRepository interface内容 @NoRepositoryBean public interface CrudRepository<T, ID> extends Repository<T, ID> { <S extends T> S save(S var1); <S extends T> Iterable<S&

2020-07-23 23:10:15 821

原创 Spring Data JPA学习一:整体认识JPA

Spring Data JPA学习的第一天1. 整体认识JPA市面上的ORM(Object Relational Mapping 对象映射关系)框架对比MyBatis:着力于POJO与SQL之间的映射关系,可以进行更为细致的SQL,使用起来十分灵活方便,上手简单,容易掌握,所以深受开发者喜欢,目前市场占有率很高,比较适合互联网应用公司的API场景。Hibernate :对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲地使用对象编程思维来操作数据库,着力于对象与对象之间的关系,比较

2020-07-22 23:35:18 130

原创 Java基础:反射(非常重要)

一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.反射就是把java类中的各种成分映射成一个个的Java对象例如:一个类有:成员变量、方法、构造方法、包等等信息,利用反射技术可以对一个

2020-07-19 22:52:01 133 2

原创 Java基础:HashMap浅析

Java基础:HashMap浅析哈希法的概念哈希,英文是hash,本来的意思是“切碎并搅拌”。哈希函数的运算结果就是哈希值,通常简称为哈希。哈希函数要做的事就是给一个任意大小的数据生成一个固定长度的数据,作为它的映射。HashMap的概念和原理HashMap是基于哈希表的Map接口的非同步实现,并允许null键和null值。HashMap存储的是键值对,键不可重复值可重复。HashMap的内部结构:可以看作是数组和链表的复合结构,数组被分为一个一个的桶(bucket),每个桶存储一个或多个Entr

2020-07-18 22:50:03 108

原创 Java面试:a+=a-=a*a原理解析

Java基础:a+=a-=a*a原理解析a+=a-=a*a属于Java基础中比较难以理解的,面试中也经常会遇到这个问题,本篇博客对此问题进行分享总结。1.问题代码 public static void main(String[] args) { int a = 2; a+=a-=a*a; System.out.println("a="+a); }我第一次遇见这个问题的时候,很不巧的算错了结果还和运行结果一致。在后面梳理思路时发现其中问题,反编译class文件才明白其中原理,感觉是个很

2020-07-17 21:50:35 5888

原创 Java基础:i++和++i的原理解析

Java面试题_基础:i++和++i的原理解析以前只是知道i++和++i的运算结果不明其在JVN中的运算原理,今天在次遇到这个问题,为解答心中疑惑用javap反编译class文件查到了其中原理,本篇博客对此问题进行分享总结。1.问题代码public class Test { public static void main(String[] args) { int i = 2; int a = i++ + ++i; System.out.println(a); i = 2; a =

2020-07-16 22:33:33 269

原创 Mybatis配置文件详解(很重要)

<?xml version="1.0" encoding="UTF-8"?> //设置默认的连接环境信息//连接环境信息,取一个唯一的名字 // Mybatis使用JDBC事物管理方式 //Mybatis使用连接池方式来获取连接 //四个标签用来配置与数据库交互的四个必要属性 ...

2019-05-27 22:39:19 64

ssm-shopping.zip

ssm框架电商平台实战开发,反射、泛型的实战运用。代码简洁易懂,适合ssm框架初学者。jsp前端开发,具有广泛的教学意义。

2020-07-22

空空如也

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

TA关注的人

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