前言
String 类型是我们使用最频繁的数据类型,没有之一。那么提高 String 的运行效率,无疑是提升程序性能的最佳手段。
我们本文将从 String 的源码入手,一步步带你实现字符串优化的小目标。不但教你如何有效的使用字符串,还为你揭晓这背后的深层次原因。
本文涉及的知识点,如下图所示:
在看如何优化 String 之前,我们先来了解一下 String 的特性,毕竟知己知彼,才能百战不殆。
第一家是美团
美团的话,三面下来,设计的内容知识也是挺广的吧,有MySQL、Redis、Kafka、线程、算法、+、volatile、线程、并发、设计模式等等…
一面问题:MySQL+Redis+Kafka+线程+算法
-
mysql知道哪些存储引擎,它们的区别
-
mysql索引在什么情况下会失效
-
mysql在项目中的优化场景,慢查询解决等
-
mysql有什么索引,索引模型是什么
-
B-树与B+树的区别?为什么不用红黑树
-
mysql主从同步怎么做
-
乐观锁与悲观锁的区别?
-
binlog日志
-
redis 持久化有哪几种方式,怎么选?
-
redis 主从同步是怎样的过程?
-
redis 的 zset 怎么实现的?
-
redis key 的过期策略
-
hashmap 是怎样实现的?为什么要用红黑树,而不用平衡二叉树?为什么在1.8中链表大于8时会转红黑树?HashMap为什么线程不安全的?
-
如何实现线程安全的hashmap?
-
select 和 epoll的区别
-
http与https的区别,加密怎么加的?
-
raft算法详细讲解
-
Kafka 选主怎么做的?
-
kafka如何保证生产与消费都是同步的?
-
kafka 怎么保证不丢消息的
-
redis如何保证高可用
-
算法:剪绳子(贪心或递归解决)