java基础问题集锦一
- java基础知识:
- ArrayList与LinkedList的区别以及底层实现原理
- ArrayList
- add操作实现
- 扩容系数
- ArrayList
- HashMap与CouncurrentHashMap
- HashMap
- put操作
- 扩容机制
- HashMap
- 线程安全问题
- JVM结构
- 多线程synchronized的使用
- Spring ThreadLocal使用
- redis数据类型
- mysql索引底层(BTree)实现原理以及mysql数据库优化
- mysql事务的隔离级别
- mysql的四大特性:原子性、一致性、隔离性、持久性
- mysql隔离级别:
- ① Serializable (串行化):可避免脏读、不可重复读、幻读的发生。
② Repeatable read (可重复读):可避免脏读、不可重复读的发生。
③ Read committed (读已提交):可避免脏读的发生。
④ Read uncommitted (读未提交):最低级别,任何情况都无法保证。
注: 在MySQL数据库中,支持上面四种隔离级别,默认的为Repeatable read (可重复读);而在Oracle数据库中,只支持Serializable (串行化)级别和Read committed (读已提交)这两种级别,其中默认的为Read committed级别。
- 二分查找算法(折半查找)
- 算法思想:(前提条件:已排序的数组中查找)
1、确定中间位置mid 数组的开始low 数组的结束high
2、需要查找的数与mid做判断,如果所查询的数大于mid,改变low,置low=mid+1,如果所查询的数小于mid,改变high,置high=mid-1。如果所查询的数等于mid下标所在的数,则查询到目标(循环条件当low<=high时)public class BinarySearch { /** * 二分查找算法 * * @param srcArray 有序数组 * @param key 查找元素 * @return key的数组下标,没找到返回-1 */ public static void main(String[] args) { int srcArray[] = {3,5,11,17,21,23,28,30,32,50,64,78,81,95,101}; System.out.println(binSearch(srcArray, 0, srcArray.length - 1, 81)); } // 二分查找递归实现 public static int binSearch(int srcArray[], int start, int end, int key) { int mid = (end - start) / 2 + start; if (srcArray[mid] == key) { return mid; } if (start >= end) { return -1; } else if (key > srcArray[mid]) { return binSearch(srcArray, mid + 1, end, key); } else if (key < srcArray[mid]) { return binSearch(srcArray, start, mid - 1, key); } return -1; } // 二分查找普通循环实现 public static int binSearch(int srcArray[], int key) { int mid = srcArray.length / 2; if (key == srcArray[mid]) { return mid; } int start = 0; int end = srcArray.length - 1; while (start <= end) { mid = (end - start) / 2 + start; if (key < srcArray[mid]) { end = mid - 1; } else if (key > srcArray[mid]) { start = mid + 1; } else { return mid; } } return -1; } }
- 算法思想:(前提条件:已排序的数组中查找)
转载于:https://www.cnblogs.com/easong/p/8955755.html
java基础问题集锦一相关推荐
- 10.66道经典的Java基础面试题集锦为何晴空
"JavaPlanformStandardEdition"是Java语言的标准平台技术,是所有Java开发的语言基础,更是大数据.分布式开发思想建模的初期,此阶段的Java语义.语 ...
- 自整理Java面试题集锦(Java基础 1)
Java基础 1. JDK和JRE有什么区别? JDK是java的开发工具包,而JRE是java的运行时环境,开发工具包中包含运行时环境.对于安装软件来说,理论上只需要JRE,但一般都一起安装.而JR ...
- 面试常问集锦——Java基础部分
java基础部分 <我想进大厂>之Java基础夺命连环16问 https://mp.weixin.qq.com/s?__biz=MzkzNTEwOTAxMA==&mid=22474 ...
- [转载] Java笔试题集锦
参考链接: 关于Java中文件名和类名的误解 Java笔试题集锦 1.MVC的各个部分都有那些技术来实现?如何实现? 答:MVC是Model-View-Controller的简写."Mode ...
- 数据库索引高频面试题:传智播客java基础入门第二版答案
在校生 如果你是在校生,你应该趁着在学校的时间夯实基础(比如计算机系统.算法.编译原理等等)不要动不动去搞什么项目,你也搞不出一个让面试官很满意的项目出来,所以根本没必要在项目上面浪费太多的时间. 如 ...
- 2016最新Java笔试题集锦
更新时间:2015-08-13 来源:网络投诉删除 [看准网(Kanzhun.com)]笔试题目频道小编搜集的范文"2016最新Java笔试题集锦",供大家阅读参考 ...
- Java面试题集锦(含答案)
Java面试题集锦 Java基础 1.ArrayList.Vector和LinkedList有什么区别? 答:ArrayList底层实现是数组,查找快,增删慢,线程不安全 Vector 和ArrayL ...
- JAVA基础面试题目
精选30道Java笔试题解答 http://www.cnblogs.com/lanxuezaipiao/p/3371224.html 经典的Java基础面试题集锦 http://www.codeceo ...
- Java基础入门语法和安装
1. Java概述 1.1 Java语言背景介绍(了解) 语言:人与人交流沟通的表达方式 计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言 Java语言是美国Sun公司(Stanford Un ...
最新文章
- TensorFlow编程结构
- golang 切片排序
- STM8S单片机修改工程编译器配置
- 把本地修改的Docker镜像推送到Docker hub
- java 内存和实际内存_请问更改eclipse内存和更改jvm内存是一会事儿吗?
- JavaScript实现继承的方式,不正确的是:
- [css] 如何在白天和黑夜自动切换页面的颜色?
- 应用开发框架之——业务规则脚本化
- STL中queue(队列)介绍
- 金牛判势 精品起涨预警 主升浪起爆点指标 通达信绝对精准买点指标选股公式
- Linux SSH服务启动,如何打开22端口?如何开启ssh远程链接
- 汉语拼音音节的歧义指数
- python菱形继承参数问题_菱形继承问题
- STM32H7B0 HAL OSPI配置的一次失败原因分享
- 为什么Elasticsearch查询变得这么慢了?
- TensorFlow batch
- 哈希表实现电话号码查询系统(c++)
- 信道编码和交织的有效总结和理解
- python 提取元组中的值_如何从Python元组中提取数据?
- vue后台系统管理项目-角色权限分配管理功能