总结 难度:⭐⭐⭐⭐⭐学到的知识:⭐⭐⭐⭐☆ 算法 题目描述 String转Long,需要考虑各种异常情况。 设计测试用例。 一些要点 Java中,int占4个字节,long占8个字节。以long为例,其取值范围为$$-2^{63}到2^{63}-1$$,不要轻易对下界取反,因为会溢出。Java中提供了Long.MAX_VAlUE和Long.MIN_VALUE来获取long的上下界。其他类型,byte(非bit)占1字节,short占2字节,float4字节,double8字节,char2字节。对象占几个字节? ClassMaNong{ intcount; booleanflag; Obje...

  655OvFktQQaY   2023年11月02日   24   0   0 面经b站b站面经

目标 首先从最简单的HashMap开始实现,其次是HashTable,最后实现concurrentHashMap,因为不同版本的concurrentHashMap实现不同,此处选用JDK1.8版本的实现。目前仅实现了HashMap的部分内容。其次实现会对场景进行简化,加入必要的注释,并且使其写法更易懂(但是并非最简洁),与实际java.util或juc包下的类有出入。因为这几个Map均实现了Map接口,所以我这里实现去针对Map中的通用方法进行筛选。以HashMap为例,需要实现的方法如下: publicclassMyHashMap<K,V>{ publicVget(Object...

  655OvFktQQaY   2023年11月02日   35   0   0 hashmap手写代码手写代码hashmap

综合类 1.mysql如何提高并发量?连接池的常用大小? 思考的点包括哪些? 硬件方面: 使用SSD提高IO速度; 增加内存来提供更大的缓冲区,减少IO操作 多核处理器:提供更多的并行能力 MYSQL配置优化 调整innodb_buffer_pool_size(存储引擎的内存缓冲池大小),应调整为系统总内存的60%-80% 调整innodb_log_file_size,适当增大日志文件大小可以提高写入性能 使用持久连接:避免频繁建立和关闭连接 查询优化:索引+避免复杂查询+优化数据表(optimizetable)+数据库结构优化(消除数据冗余,使用更适当的数据类型) 读写分离 数据库...

场景 该场景来源自他人分享。一张邀请绑定表,一个用户绑定了几十万个记录。索引列为uid-用户的id,create_time-关系的创建时间。查询需求比较简单:根据创建时间倒序,取一页的记录 selectfrombindwhereuid=xxxorderbycreate_timedesclimit10; 分析 第一次查询比较慢,后续查询会变快,原因可能是第一次需要将几十万的数据页加载到Bufferpool,后续可以直接从内存中读取。 通过explain发现索引命中了创建时间,而非预期的uid,如果该用户上次绑定是在上个月,那他需要扫描这个所有的新增绑定,才能找到他的那10条数据。这样非常不稳...

希望通过本篇回答以下问题: 不同锁的适用场景,加锁、释放锁的方式? 不同锁在具体情况下会锁定哪些数据? 什么样的生产环境下会产生死锁,如何解决? 引子 锁的引入通常是为了处理并发问题,保证数据安全。 MySQL中有哪些锁?需要分不同维度来回答。 按照使用方式上:排它锁、共享锁 按照加锁粒度上:全局锁、表级锁、行级锁 按照思想上:乐观锁、悲观锁 按使用方式划分 共享锁 概念Sharelock,也叫读锁。当对象被锁定时,允许其他事务读取该对象,也允许其他事务从该对象上获取共享锁,但是不能写入。 适用场景说是优势更合适:允许多个事务同时读数据,提高系统的并发读能力。 加锁、释放锁方式 ...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~