- 博客(20)
- 资源 (3)
- 收藏
- 关注
原创 手把手带你分析HashMap源码-JDK1.8
文章目录HashMap的属性HashMap的构造函数HashMap常用函数1.put()/putVal()添加元素2.resize()扩容函数3.remove()删除函数4.get()获取元素函数5.replace()/replaceAll()修改元素函数最近看了遍HashMap的源码,打算写一篇HashMap的源码解析,主要针对HashMap的增删改查操作进行分析,接下来直接进入正题。先看看hashMap在jdk1.8的结构,用的是数组+链表+红黑树的结构,也叫哈希桶,在jdk1.8之前都是数组+链
2021-02-13 23:54:41 8647 1
原创 百度Java后端实习面试
百度Java后端实习面试百度应该算是我这次投实习简历第一个面我的了吧,字节实在是看不上我,简历面都过不去。2021 1.13 了解基本情况百度的工作效率是蛮快的,快的我都没做好准备,中午12点多进行的内推,下午3点就有公司的hr来了解一些基本情况了。花了将近30分钟问了一些基本的问题。自我介绍对软件工程的理解软件工程和其他计算机学科的区别和共同点为什么会选软件工程对自己项目的一个背景介绍什么时候可以入职,可以实习多久这也不能算是一次面试吧,可能就是初步了解一下个人的性格和可以实习的时
2021-01-16 00:14:45 10707 5
原创 单例模式(Singleton Pattern)介绍及实现方式
单例模式(Singleton Pattern)是Java中最简单的设计模式之一。有时因程序需要,我们只需要某个类同时保留一个对象,而不需要多个对象时,可考虑单例模式的设计。1、懒汉式 2、饿汉式 3、登记式 4、双重校验锁 5、枚举
2020-06-23 17:50:21 8427
原创 JDK1.8安装、配置、注意事项及示例
文章目录下载JDK安装配置环境变量验证示例新建JAVA_HOME(变量值为安装路径)Path配置安装成功下载JDKJava 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。网址:https://w...
2019-12-18 15:37:20 7683
原创 SQL基础概念及常用SQL操作语句
SQL语句文章目录SQL语句1.什么是SQL 2.SQL功能分类3.SQL数据类型4.DDL创建数据库修改数据库创建学生表添加一列查看表的字段信息修改一个表的字段类型删除一列修改表名查看表的创建细节修改表的字符集为gbk修改表的列名删除表5.DML查询表中的所有数据 插入操作更新操作删除操作6.DQL查询所有列结果集查询指定列的数据条件查询1.什么是SQL SQL是Structured Q...
2019-07-21 19:59:49 8761
原创 ThreadLocal原理剖析
ThreadLocal提供线程局部变量。 这些变量与普通变量不同,因为每个访问一个线程(通过其get或set方法)的线程都有其自己的,独立初始化的变量副本。通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。而使用ThreadLocal创建的变量只能被当前线程访问,其他线程则无法访问和修改。 ThreadLocal实例通常是希望将状态与线程关联的类中的私有静态字段(例如,用户ID或事务ID)供线程局部变量。 这些变量与普通变量不同,因为每个访问一个线程(通过其get或set方法)的线程都有其自己的,
2021-05-11 16:17:28 3904
原创 蚂蚁金服支付宝事业线——已OC
2021.3.5 一面45分钟自我介绍简单介绍下自己的项目项目中的一些难点是怎么解决的怎么建立索引(怎么建比较好)怎么对进行不同用户进行权限控制能说一下你是怎么接入QQ、微信登陆的,能仔细说下流程吗?你用Redis做了什么?Redis和MySQL数据不同步怎么办?你所了解的数据库连接池,能说说常用的数据库连接池吗?MySQL的事务分布式事务了解过吗?Redis的缓存穿透和缓存雪崩HashMap的底层实现Java多线程的线程安全问题Java异常Spring的IOC和AOP用过
2021-03-14 00:52:35 6129 2
原创 支付宝(网商银行)提前批一面
2021.3.4 一面(1个小时19分钟)自我介绍说说你项目中的建的表为什么要分多个表,放在一个表里不行吗?索引的原理如何找出区域里总租金第二的区域MySQL事务的四大属性事务的隔离等级MYSQL默认的隔离机制为什么InnoDB的next_key机制为什么能避免幻读说说什么是幻读,那你能知道next_key的原理了吗?说说你项目里的难点为什么要用逻辑外键,而不用数据库的外键怎么建索引,有什么技巧说说悲观锁和乐观锁的区别什么是CAS,为什么其他线程能看见这个共享变量AB
2021-03-11 23:31:08 5085
原创 JVM垃圾收集策略
JVM垃圾收集策略1.垃圾收集1.1 垃圾回收策略对内存要求苛刻的场景:想办法提高对象的回收效率,多回收掉一些对象,腾出更多内存在CPU使用率高的情况下:降低高并发时垃圾回收的频率,让CPU更多地去执行业务而不是垃圾回收1.2 垃圾回收区域堆:回收对象方法区:回收常量和类(回收频率低)1.3 对象回收的时机1.3.1 引用计数算法在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时候计数器值为零的对象就是不可能再被使用的。引
2021-02-09 22:05:40 7452
原创 JVM内存区域与HotSpot虚拟机对象详解
一、Java内存区域与内存溢出异常1.运行时数据空间Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。线程共享区域:堆,方法区线程私有区域:虚拟机栈,本地方法区,程序计数器1.1 线程私有区域1.1.1 程序计数器程序计数器是一块比较小的内存空间,它可以看作是当前线程说执行的字节码的行号指示器。为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,我们称这类内存区域为“线程私有”的区域。作用:通
2021-02-09 01:57:34 7663 1
原创 Redis基础(思维导图)附Redis工具类
Redis1、什么是RedisNoSql数据库分布式缓存中间件key-value存储提供海量数据存储访问数据存储在内存里,读取更快2、缓存方案对比 缓存方案 优点 缺点 Ehcache 基于Java开发 基于JVM缓存 简单、轻巧、方便
2021-02-04 18:54:24 7919
原创 NC71 旋转数组的最小数字
题目把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。题目大意一个非递减排序(可能存在重复数字)排序的数组中某个地方断开,将断开点的前半部分数据放到数组的末端,输出这个数组中最小的一个数。题解解法一:暴力class Solution {public: int minNumberInRotateArray(vector<int> rot
2021-01-12 14:32:40 7391
原创 数据库常见的面试题
四、数据库面试题总结4.1 MySQL4.1.1 什么是MySQL?MySQL是一种关系型数据库,在Java企业级开发中非常常用,因为MySQL是开源免费的,并且方便拓展。MySQL的默认端口号是3306。4.1.2 MyISAM和InnoDB的区别MyISAM是MySQL的默认数据库引擎(5.5版本之前)。虽然性能极佳,而且提供的大量的特性。但是MyISAM不支持事务和行级锁,而且最大的缺陷就是崩溃后无法安全恢复。InnoDB(5.5版本后引入,事务性数据库引擎),5.5版本后默认存储引擎为I
2021-01-10 22:00:08 8170
原创 计算机网络常见面试题
计算机基础文章目录计算机基础3.1 计算机网络3.1.1 OSI与TCP/IP各层的结构和功能应用层运输层网络层数据链路层物理层3.1.2 TCP三次握手和四次挥手TCP三次握手流程为什么要三次握手为什么第二次握手要传回SYN为什么传了SYN,还要传ACK四次挥手为什么要四次挥手3.1.2 TCP,UDP协议的区别3.1.3 TCP 协议如何保证可靠传输3.1.4 ARQ协议停止等待ARQ协议3.1.5 在浏览器中输入Url地址->显示主页的过程3.1.6 状态码3.1.7 HTTP长连接,短连接3
2021-01-08 17:27:09 7957
原创 Kaptcha生成图片验证码
Kaptcha简介kaptcha 是一个很有用的验证码生成工具。由于它是可配置的,有了它,你能够生成各种样式的验证码。Kaptcha 是一个可高度配置的实用验证码生成工具,可自由配置的选项如:验证码的字体验证码字体的大小验证码字体的字体颜色验证码内容的范围(数字,字母,中文汉字!)验证码图片的大小,边框,边框粗细,边框颜色验证码的干扰线验证码的样式(鱼眼样式、3D、普通模糊、…)用法前往官网http://code.google.com/p/kaptcha/下载jar包。在pom
2021-01-05 02:07:04 7717
原创 NC15029 吐泡泡(解析与代码)
题目描述链接:https://ac.nowcoder.com/acm/problem/15029来源:牛客网小鱼儿吐泡泡,嘟嘟嘟冒出来。小鱼儿会吐出两种泡泡:大泡泡"O",小泡泡"o"。两个相邻的小泡泡会融成一个大泡泡,两个相邻的大泡泡会爆掉。(是的你没看错,小气泡和大气泡不会产生任何变化的,原因我也不知道。)例如:ooOOoooO经过一段时间以后会变成oO。输入描述数据有多组,处理到文件结束。每组输入包含一行仅有'O'与'o'组成的字符串。输出描述每组输出仅包含一行,输出一行字
2020-08-14 16:58:40 8210
原创 LeetCode删除排序数组中的重复项
LeetCode26:删除排序数组中的重复项给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出...
2019-04-14 20:38:52 7399
java常用编程工具.zip
2020-08-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人