JAVA 基本功
贺艳峰
这个作者很懒,什么都没留下…
展开
-
JDK 中 HashTable 中 tableSizeFor方法 引发的异或思考
JDK 中 HashTable 中 tableSizeFor方法 引发的异或思考 问题思考? 好奇如何实现的? >>> 这个符号在java里是无符号右移的意思 验证: 分别输入 的谁 2 和 9 验证返回结果分别是2 和16 异或 技巧总结 和 实际编码中的应用 异或的3个特点: 0 异或任何数 = 任何数 1 异或任何数 = 任何数取反 任何数异或自己 = 把自己置为0 异或的几个常见用途 使某些特定位翻转 eg: 10100001 第二位和第三位进行翻转 10100001原创 2021-03-14 17:09:52 · 116 阅读 · 0 评论 -
1-n 求和 禁止用for循环 和 替换 字符串对敏感信息脱敏处理
//1-n 求和 禁止用for循环 public static int sum(int n) { if (n == 1) { return n; } else { return n + sum(n - 1); } } //对身份证 年月日进行脱敏 /** * 将字符串开始位置到结束位置之间的字符用指定字符替换 * @param sourceStr 待处理字符串 * @param begin 开始位置 * @param end 结束位置原创 2020-08-26 23:51:04 · 142 阅读 · 0 评论 -
JAVA 面试突击 Collection集合 整理
外框为虚线的表示接口,边框为实线的表示类; 箭头为虚线的表示实现了接口,箭头为实线的表示继承了类 从图中可以看出,集合的根节点是 Collection,而 Collection 下又提供了两大常用集合,分别是: List:使用最多的有序集合,提供方便的新增、修改、删除的操作; Set:集合不允许有重复的元素,在许多需要保证元素唯一性的场景中使用 1)Vector Vector 是 Java 早期...原创 2020-03-04 00:13:23 · 181 阅读 · 0 评论 -
JAVA 面试突击 集合详解之 Map + 面试题
原创 2020-08-19 23:13:32 · 120 阅读 · 0 评论 -
JAVA面试突击多线程
进程和线程之间的区别 进程是操作系统的操作单位;一个进程 由一个和多个线程来组成执行任务; 程序运行依靠进程,进程的实际执行单元就是线程; JAVA中如何创建线程 1: 继承Thread类 重写run方法 2: 实现 Runnable接口 实现run方法 3: 实现Callable接口 实现call方法 4: java8 可以使用lambad 表达式 new Thread(() -> {线程...原创 2020-08-19 23:13:14 · 145 阅读 · 0 评论 -
JAVA突击面试 消息队列
消息队列使用的场景? 应用解耦: 用户下单,订单系统通知库存系统 削封填谷: 秒杀活动 日志系统 :客户端负责将日志采集,然后写入消息队列,消息队列再统一做数据的转发和存储 RabbitMq 优点 可靠性,RabbitMq持久化支持,保证了消息的稳定性; 高并发 集群部署简单 社区活跃 插件多 RabbitMq 角色 生产者: 消息的创建者,负责创建和推送数据 消费者:消息的接收方 代理者:...转载 2020-03-07 20:39:58 · 109 阅读 · 0 评论