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 · 110 阅读 · 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 · 138 阅读 · 0 评论 -
JAVA 面试突击 Collection集合 整理
外框为虚线的表示接口,边框为实线的表示类;箭头为虚线的表示实现了接口,箭头为实线的表示继承了类从图中可以看出,集合的根节点是 Collection,而 Collection 下又提供了两大常用集合,分别是:List:使用最多的有序集合,提供方便的新增、修改、删除的操作;Set:集合不允许有重复的元素,在许多需要保证元素唯一性的场景中使用1)VectorVector 是 Java 早期...原创 2020-03-04 00:13:23 · 178 阅读 · 0 评论 -
JAVA 面试突击 集合详解之 Map + 面试题
原创 2020-08-19 23:13:32 · 116 阅读 · 0 评论 -
JAVA面试突击多线程
进程和线程之间的区别进程是操作系统的操作单位;一个进程 由一个和多个线程来组成执行任务;程序运行依靠进程,进程的实际执行单元就是线程;JAVA中如何创建线程1: 继承Thread类 重写run方法2: 实现 Runnable接口 实现run方法3: 实现Callable接口 实现call方法4: java8 可以使用lambad 表达式 new Thread(() -> {线程...原创 2020-08-19 23:13:14 · 124 阅读 · 0 评论 -
JAVA突击面试 消息队列
消息队列使用的场景?应用解耦: 用户下单,订单系统通知库存系统削封填谷: 秒杀活动日志系统 :客户端负责将日志采集,然后写入消息队列,消息队列再统一做数据的转发和存储RabbitMq 优点可靠性,RabbitMq持久化支持,保证了消息的稳定性;高并发集群部署简单社区活跃插件多RabbitMq 角色生产者: 消息的创建者,负责创建和推送数据消费者:消息的接收方代理者:...转载 2020-03-07 20:39:58 · 101 阅读 · 0 评论