自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 计算三次立方根

背景 腾讯后台开发岗位的第三次面试中,面试官问到了如下的题目: 给定一个函数原型如下 float cubicRoot(float num, float maxRange) { } 需要完成该函数,该函数的作用是计算一个浮点数的三次立方根,且结果需要满足maxRange这个范围的误差 思路 这个题目面试官其实考察的是使用二分的做法来逼近目标值,因为在[1,+∞)的范围内的话,f(x)=x^3是单调递增的,因此确立一个上下界,最简单就是以l = 0, r = targetNum为上下界,每次判断中间值的三

2021-10-03 16:05:47 683

原创 剑指offer2——字符串排列

原题链接:https://leetcode-cn.com/problems/zi-fu-chuan-de-pai-lie-lcof/ 原题 输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例: 输入:s = "abc" 输出:["abc","acb","bac","bca","cab","cba"] 限制: 1 <= s 的长度 <= 8 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/.

2021-09-09 10:10:45 164

原创 剑指offer2——最小的K个数

原题链接:https://leetcode-cn.com/problems/zui-xiao-de-kge-shu-lcof/ 原题 输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例 1: 输入:arr = [3,2,1], k = 2 输出:[1,2] 或者 [2,1] 示例 2: 输入:arr = [0,1,2,1], k = 1 输出:[0] 限制: 0 <= k <= arr.leng.

2021-08-26 21:02:09 178

原创 SpringMVC中使用hibernate-validator的坑

SpringMVC中使用hibernate-validator maven依赖 <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version> &l

2021-08-24 22:18:06 721

原创 ArrayList源码分析

ArrayList源码分析 其继承了AbstractList类,并实现了Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess这些接口 其不是线程安全的 Vector是List的古老实现类,其是线程安全的 一. 构造函数 1. 默认构造函数 private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = new

2021-08-24 22:12:50 137

原创 Java synchronized关键字实践

Java synchronized关键字实践 synchronized可以在Java中对某一个对象的实例、某个对象进行上锁。 synchronized 关键字最主要的三种使用方式: 1.修饰实例方法: 作用于当前对象实例加锁,进入同步代码前要获得 当前对象实例的锁 synchronized void method() { //业务代码 } 2.修饰静态方法: 也就是给当前类加锁,会作用于类的所有对象实例 ,进入同步代码前要获得 当前 class 的锁。因为静态成员不属于任何一个实例对象,是类成员( s

2021-08-24 22:12:01 213

原创 Java锁总结

一. 乐观锁与悲观锁 1.乐观锁 乐观锁不对资源进行加锁,当需要修改资源时,会先保留资源的旧值,然后待到开始修改时,先将现在的至与之前保留的值进行比较,若相等,则说明这个值没有被其他线程修改过,则可以正常修改,若不相等,则说明该资源已经被修改过,则终止修改过程(该过程根据不同的实现执行不同的操作,比如报错或者自动重试)。 实现这个过程的算法为CAS算法。 CAS算法 CAS算法涉及到三个操作数,分别是old,代表需要操作的资源在内存中的原先值,以及current,代表当前内存中的值和val代表将要写入的值。

2021-08-24 22:10:58 164

原创 MYSQL数据库相关知识点总结

一. 关系型数据库 建立在关系模型的基础上的一种数据库,关系模型表明了数据库中锁存储的数据之间的联系(一对一、一对多、多对多) 关系型数据库中数据被存放在各种表中,表中的每列存放着一条数据,每一行是一个数据记录。 大部分关系数据库支持事务的四大特性(ACID) 常见的关系型数据库:MySQL,SQL server,SQLite、Oracle 二. MyISAM和InnoDB引擎的区别 MyISAM引擎只支持表级锁,而不支持行级锁,InnoDB支持行级锁 MyISAM引擎不支持外键,而InnoDB支持 My

2021-08-24 22:09:07 212

空空如也

空空如也

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

TA关注的人

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