![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试常问
文章平均质量分 92
总结各类面试常见的问题
峰回路转
让时间说真话
展开
-
数据库之查询数据记录
文章目录一、 基本查询1.1 查询所有数据1.2 查询指定列的信息1.3 条件查询1.4 运算符查询二、模糊查询 、滤重和别名2.1 模糊查询2.2 滤重、别名以及列运算三、排序查询及聚合函数3.1排序查询3.2 聚合函数3.3 保留小数点数3.4 其他聚合函数四、分组查询及查询语句的执行顺序4.1 分组查询4.2查询语句的执行顺序4.3 where和having的区别一、 基本查询1.1 查询所有数据格式为:select * from 表名,意为查询表的所有数据。1.2 查询指定列的信息原创 2020-11-06 16:30:39 · 2535 阅读 · 0 评论 -
有关Java的HashMap的各种问题都在这里
文章目录1. HashMap是怎么get元素的?2. HashMap是怎么put元素的?3. HashMap的底层实现4. HashMap多线程操作导致的死循环问题5. HashMap 的⻓度为什么是2的幂次⽅?6.HashMap的key可以是任何对象吗?7. 为什么HashMap采用使用数组+链表的形式?8. 我⽤LinkedList代替数组结构可以吗?9. HashMap的扩容机制10. HashMap与HashTable的区别?11. HashMap与HashSet的区别1. HashMap是原创 2020-08-19 16:54:34 · 543 阅读 · 0 评论 -
HashMap的扩容机制
文章目录先讲扩容原理子问题1:HashMap是怎么get元素的?子问题2: HashMap是怎么put元素的?子问题3:hash算法子问题4:HashMap的resize子问题5:HashMap的key可以是任何对象吗子问题6:为什么HashMap采用使用数组+链表的形式?子问题7:我⽤LinkedList代替数组结构可以吗?先讲扩容原理在jdk1.7的时候,扩容需要满足如下两个条件:(1)存放新值的时候当前已有的元素的个数必须大于等于阈值(2)存的放新值的时候当前存放数据发生了hash碰撞而在原创 2020-08-19 16:40:04 · 1340 阅读 · 3 评论 -
面试遇到的问题
文章目录一、有关项目图床项目1. 怎么判断上传的文件是不是图片的,如果文件没有后缀名或者强制改为png的后缀名呢?2. 怎么实现的防盗链,refer是可以伪造的,你怎么解决他?3. 服务器有没有流量及访问量的限制,如果被恶意的大量ip访问该怎么解决?4. 现在的项目是上传到一台服务器上,可能需要上传到多台服务器上,该怎么解决?如果是每台服务器上的都存着一样的东西,会造成一定资源的浪费,该怎么优化?一、有关项目图床项目1. 怎么判断上传的文件是不是图片的,如果文件没有后缀名或者强制改为png的后缀名呢?原创 2020-08-19 14:26:03 · 140 阅读 · 0 评论 -
JVM篇3:GC各种垃圾回收机制及垃圾回收的算法及收集器
本文主要介绍对象引用类型、各种垃圾回收机制及垃圾回收的算法及收集器原创 2020-08-05 17:19:09 · 342 阅读 · 0 评论 -
JVM篇2:Java中的对象你整明白了吗
本文主要从源头介绍Java对象的创建过程、对象如何访问及堆中对象的分配原创 2020-08-05 12:21:49 · 141 阅读 · 0 评论 -
JVM篇1:Java的内存区域(运行时数据区)
本文主要介绍Java的内存区域划分及各区域特点原创 2020-08-04 22:32:26 · 199 阅读 · 0 评论 -
Java集合框架2:常见问题
文章目录1.List,Set,Map三者的区别?2.ArrayList与LinkedList的区别?3.List的遍历选择4.双向链表与双向循环链表的不同5.ArrayList和Vector有什么区别呢?为什么用ArrayList取代Vector呢?6.HashMap与HashTable的区别?7.HashMap 的⻓度为什么是2的幂次⽅?8.HashMap与HashSet的区别9. HashSet如何检查重复呢?1.List,Set,Map三者的区别?List:List是对付顺序的好帮手,它的接口存原创 2020-08-04 16:25:56 · 177 阅读 · 0 评论 -
Java集合框架1:概念篇
初始Java集合框架1.集合的定义:可以把多个对象的引用放进一个类似于“容器”里。2.集合的分类:Collection:主要由List(有序可重复)、Set(无序不可重复)、Queue(队列实现)接口组成。Map:代表具有映射关系的键值对集合。java.util.Collection下的关系图: java.util.Map下的关系图:3.将集合框架又可以分为以下几个部分:(1)数据结构:List、Queue、Deque(双端队列)、Set、Map(2)比较器:Comparator(比原创 2020-08-01 20:00:24 · 230 阅读 · 0 评论 -
Java中String与Integer的互换方法及原理
String转Integer调用方法调用Integer.parseInt(String s) 方法调用Integer.valueOf(String s) 方法这两种方法,不管是哪种方法,其内部最终还是会调用parseInt(String s, int radix)这个方法,这里的radix 是想转换成多少进制的一个参数,范围是[2,36]最终调用的parseInt(String s, int radix)的源码如下:public static int parseInt(Strin原创 2020-06-23 16:42:15 · 902 阅读 · 0 评论 -
浅谈进程和线程的异同
文章目录定义相同点不同点定义进程:是执行中一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。进程是表示资源分配的的基本概念,又是调度运行的基本单位,是系统中的并发执行的单位。线程:单个进程中执行中每个任务就是一个线程,线程是进程中执行运算的最小单位。相同点进程和线程都有ID/寄存器组、状态和优先权、信息块,创建后都可更改自己的属性,都可与父进程共享资源、都不能直接访问其他无关进程或线程的资源。不同点(1)一个线程只能属于一个进程,但是一个进程可以拥有多个线程。多线程原创 2020-05-16 00:07:32 · 566 阅读 · 0 评论 -
谈谈Java中String、StringBuffer、StringBuilder
文章目录String类的特点为什么要有StringBuffer和StringBuilderString、StringBuffer、StringBuilder的区别:String类的特点任何的字符串常量都是String对象,⽽且String的常量⼀旦声明不可改变,如果改变对象内容,改变的是其引⽤的指向⽽已。如果不懂什么是不可变,可以去看下这个文章:传送门为什么要有StringBuffer和StringBuilder通常来讲String的操作⽐较简单,但是由于String的不可更改特性,为了⽅便原创 2020-05-15 22:11:21 · 149 阅读 · 0 评论 -
谈谈Java不可变对象及我们能创建一个包含可变对象的不可变对象吗?
文章目录谈谈不可变对象创建一个不可变类不可变类对于开发者来说有如下好处:不可变对象的好处:不变模式弱不变模式强不变模式不变和只读的区别再谈可变与不可变不可变对象一定不可变吗我们能创建一个包含可变对象的不可变对象吗?谈谈不可变对象可变对象:相对于不可变类,可变类创建实例后可以改变其成员变量值,开发中创建的大部分类都属于可变类。不可变对象:是指一个对象的状态在对象被创建之后就不再变化。不可变对象对于缓存是非常好的选择,因为你不需要担心它的值会被更改。那么对象是类实例化而来,怎么创建一个不可变原创 2020-05-15 21:55:59 · 1541 阅读 · 2 评论 -
谈谈Java接口和以及它和抽象类的区别
文章目录抽象类以及应用谈谈接口接口的定义与使用接口的使用限制接口的应用抽象类与接⼝的区别个人感想抽象类以及应用具体的这篇文章里有提及:传送门谈谈接口接口的定义与使用接⼝定义:接⼝就是抽象⽅法和全局常量的集合,在Java中接⼝使⽤interface关键字定义定义一个接口:interface IMessage{public static final String MSG = "I am a boy" ; // 全局常量public abstract void print() ; /原创 2020-05-15 00:23:11 · 349 阅读 · 0 评论 -
浅谈Java的抽象类及其意义
文章目录什么是抽象类对于抽象类的使⽤原则抽象类的相关规定抽象类的意义什么是抽象类抽象类只是在普通类的基础上扩充了⼀些抽象⽅法⽽已,所谓的抽象⽅法指的是只声明⽽未实现的⽅法(即没有⽅法体)。所有抽象⽅法要求使⽤abstract关键字来定义,并且抽象⽅法所在的类也⼀定要使⽤abstract关键字来定义,表示抽象类。定义一个抽象类:抽象类中包含有抽象⽅法,也可以有普通方法,⽽抽象⽅法不包含⽅法体,即没有具体实现。因此抽象类不能直接产⽣实例化对象。对于抽象类的使⽤原则所有的抽象类必须有⼦类。抽原创 2020-05-13 22:04:27 · 2831 阅读 · 0 评论 -
浅谈Java的基本数据类型及及其包装类
文章目录Java基本数据类型Java八种基本数据类型对应的包装类基本数据类型与包装类的区别Java基本数据类型Java有8种基本类型整数类型有三种表示形式,分别是十进制、八进制(以0开头)、十六进制(以0X或者0x开头)。对于long型的数值,如果值大于int型数值最大值或者小于int型数值的最小值时,应该在数值的末尾加上L或者l(小写的L),来表示该数值是long型的。如long num=2147483650L;默认情况下,Java中的小数都是double型的,若要声明一个小数是float型原创 2020-05-13 21:42:10 · 157 阅读 · 0 评论 -
equals、==和hashCode有什么区别
文章目录前言正文1.功能不同2.定义不同3.运行速度不同4.扩展资料前言在我们平时写代码的时候总是能见到equals与==,好多人感觉他们的用法一样,其实不然,具体请看下边的文章。正文1.功能不同"=="是判断两个变量或实例是不是指向同一个内存空间。"equals"是判断两个变量或实例所指向的内存空间的值是不是相同。最令大家疑惑的可能是这个,这个例子将完美诠释上边的说法:原因是因...原创 2020-03-14 21:36:11 · 558 阅读 · 0 评论