![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java面试题集
文章平均质量分 57
主要收集一些常见的面试题
kwin_zhang
本博客上的所有文章仅供学习交流使用,无任何商业用途
展开
-
HashMap底层实现原理
HashMap中的put()和get()的实现原理:存储结构-字段从结构实现来讲,HashMap是数组+链表+红黑树(JDK1.8引入)实现的。如图所示:从源码可知,hashmap里面有一个非常重要的字段就是transient Node<K,V>[] table;即哈希桶数组,明显它是一个Node的数组。Node是HashMap的一个内部类,实现了Map.Entry接口;本质上就是映射(键值对)上图中数组下标为1的位置上有3个Node对象,下标为6位置上的44,76等都是N原创 2021-08-20 17:33:43 · 370 阅读 · 0 评论 -
事务传播行为
事务传播行为 什么叫事务传播行为?听起来挺高端的,其实很简单。 即然是传播,那么至少有两个东西,才可以发生传播。单体不存在传播这个行为。 事务传播行为(propagation behavior)指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行。 例如:m...转载 2021-08-20 11:29:43 · 2991 阅读 · 0 评论 -
MySQL的优化
MySQL的优化实践中,MySQL的优化主要涉及SQL语句及索引的优化、数据表结构的优化、系统配 置的优化和硬件的优化四个方面,如下图所示:SQL语句的优化主要包括三个问题,即如何发现有问题的SQL、如何分析SQL的执行 计划以及如何优化SQL,下面将逐一解释。① 怎么发现有问题的SQL?(通过MySQL慢查询日志对有效率问题的SQL进行监控) MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间 超过阀值的语句,具体指运行时间超过long_query_ti原创 2021-08-17 19:50:53 · 116 阅读 · 0 评论 -
二分查找法
// 二分查找法; public static int binarySearch(int[] arr, int x){ int low = 0; int high = arr.length-1; while(low <= high){ int middle = (low + high)/2; if(x == arr[middle]){ return midd...原创 2021-08-17 18:56:30 · 71 阅读 · 0 评论 -
MyISAM和 InnoDB的区别:
MyISAM和 InnoDB的区别:现在最常用的存储引擎是 InnoDB,它从MySQL5.5.5版本开始成为了默认的存储引擎。对比项MyISAMInnoDB主外键不支持支持事务不支持支持行表锁表锁,即使操作一条记录也会锁住整个表,不适合高并发的操作行锁,操作时只锁住某一行,不对其他行有影响,适合高并发的操作缓存只缓存索引,不缓存真是数据不仅缓存索引,还要缓存真实数据,对内存要求高,而且,内存大小对性能有决定性的影响表空间小大关原创 2021-08-17 16:48:27 · 74 阅读 · 0 评论 -
MySQL中 where和having的区别
以前在学校里学习过SQLserver数据库,发现学习的都是皮毛,今天以正确的姿态谈一下MySQL中where和having的区别。 误区:不要错误的认为having和group by 必须配合使用。 下面以一个例子来具体的讲解: 1. where和having...转载 2021-08-17 10:00:46 · 167 阅读 · 0 评论 -
MySQL查询
两道sql题:1、用一条SQL语句查询出每门课都大于80分的学生姓名。2、删除除了自动编号不同,其他都相同的学生冗余信息。第一题数据如下:分析:每门课都大于80分,就是说学生最低分数要大于80分,我们直观看只有"王五"这个学生每门课分数都在80分以上。解决思路:这里需要用到聚合函数min(score),查询出最低分数大于80分的学生即可。使用了聚合函数,条件就需要使用having语句。第一步,查询姓名...转载 2021-08-16 18:55:17 · 795 阅读 · 0 评论 -
关于JavaBean
一、 javabean 是什么?Bean的中文含义是“豆子”,顾名思义,JavaBean是指一段特殊的Java类,就是...转载 2019-07-31 13:26:55 · 216 阅读 · 0 评论 -
HashMap,LindedHashMap,TreeMap的区别
Hashmap根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。HashMap最多只允许一条记录的键为Null,不允许多条记录的值为 Null;HashMap不支持线程的同步。如果需要同步,可以用 Collections的synchronizedMap方法使HashMap具有同步的能力(Collections.synchronizedMap(originMap)),或者使用ConcurrentHashMap。LinkedHashM原创 2021-08-11 17:22:15 · 126 阅读 · 0 评论 -
统计字符串中各种字符出现的次数
package com.example;import java.util.Scanner;/** * @author zhanghong * @date 2020/5/21 11:01 * @Description: 统计字符串中各种字符出现的次数 */public class DemoStringCount { public static void main(String[] args) { Scanner scanner = new Scanner(System原创 2020-05-21 11:17:01 · 259 阅读 · 0 评论 -
== 和equals的区别
== 和equals的区别==既可以比较基本数据类型,也可以比较引用数据类型,当比较基本数据类型是比较的是值是否相等,当比较引用数据类型时,比较的是地址是否相等;记住:new出来的东西,==比较永false;equals是Object类的方法;不是String类的方法equals比较的是引用数据类型要看equals有欸有被重写,如果没有重写比较的是地址是否相等;如果被重写了,具体问题具体...原创 2020-04-09 11:49:11 · 271 阅读 · 0 评论 -
java按位运算符
java按位运算符(操作符) 最近在看源码时,发现一些java基础有些记不清了。今天来回忆,整理一下。 按位运算符是来操作整数基本数据类型中的单个“...原创 2020-03-14 13:14:02 · 517 阅读 · 0 评论 -
Java 位运算符
Java 位运算符 &、|、^、~、<<、>>、>>> </h1> <div class="clear"></div> <div class="postBody"> 撸了N久的代码,但是突然冒出来个位运算,我就...原创 2020-03-14 12:49:53 · 222 阅读 · 0 评论 -
NIO
文章目录目标第一节:NIO简介第二节:Channel 和 Buffer第三节:Selector第四节:Buffer的使用4.1 Buffer的基本用法4.2 Buffer的capacity,position和limit第五节:FileChannel的使用5.1打开FileChannel5.2从FileChannel读取数据5.3 向FileChannel写数据5.4 关闭FileChannel第六...原创 2020-03-09 18:05:28 · 173 阅读 · 0 评论 -
Java的一些编码规约
编码规约:【强制】:所有的pojo实体类属性都必须使用包装数据类型;【强制】:RPC方法的返回值和参数都必须使用包装数据类型类;【推荐】:所有的局部变量推荐使用基本数据类型。...原创 2020-03-01 21:45:21 · 130 阅读 · 0 评论 -
Comparable和Comparator区别
Java中Comparable和Comparator区别阅读目录文章目录一、Comparable简介二、Comparator简介三、Comparable和Comparator区别比较一、Comparable简介二、Comparator简介三、Comparable和Comparator区别比较一、Comparable简介Comparable是排序接口。若一个类实现了Comparable...原创 2020-02-29 20:55:20 · 286 阅读 · 0 评论 -
【Dozer】实现数据映射
在pom文件中引入依赖 <dependency> <groupId>com.github.dozermapper</groupId> <artifactId>dozer-core</artifactId> <version>6.2.0<...原创 2020-01-22 23:43:19 · 299 阅读 · 1 评论 -
Java 注解(Annotation)
Java 注解(Annotation)分类 编程技术Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容 。 当然它...原创 2020-01-17 10:57:41 · 179 阅读 · 0 评论