Fork me on GitHub
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 27 下一页
摘要: 我们在一些特定场景下,例如查询公司员工的最高薪资,以及班级的最高成绩又或者是面试中都会遇到查找最大值的问题,所以本文我们就来列举一下查询数组中最大值的 5 种方法。 首先我们来看最原始也是最“笨”的实现方法:循环对比和递归对比。 方式一:循环对比 循环对比的执行流程如下图所示: 从上图可以看出,循环 阅读全文
posted @ 2020-09-16 09:28 磊哥|www.javacn.site 阅读(3079) 评论(0) 推荐(1) 编辑
摘要: URL 去重在我们日常工作中和面试中很常遇到,比如这些: 可以看出,包括阿里,网易云、优酷、作业帮等知名互联网公司都出现过类似的面试题,而且和 URL 去重比较类似的,如 IP 黑/白名单判断等也经常出现在我们的工作中,所以我们本文就来“盘一盘”URL 去重的问题。 URL 去重思路 在不考虑业务场 阅读全文
posted @ 2020-09-10 09:22 磊哥|www.javacn.site 阅读(1492) 评论(7) 推荐(1) 编辑
摘要: 最近在看 Java 的基础知识,其中有部分是关于循环的,在 Java 中,循环的语法总共分为 3 种: for、 while、 do-while,如下图所示: 但我惊奇的发现,在之前的职业生涯中(11 年),竟从未用过 do-while(尴尬),于是问了群里的小伙伴,发现也是鲜有人用。 do-whi 阅读全文
posted @ 2020-09-06 17:44 磊哥|www.javacn.site 阅读(309) 评论(1) 推荐(0) 编辑
摘要: 阿里《Java开发手册》最新嵩山版在 8.3 日发布,其中有一段内容引起了老王的注意,内容如下: 【参考】volatile 解决多线程内存不可见问题。对于一写多读,是可以解决变量同步问题,但是如果多写,同样无法解决线程安全问题。 说明:如果是 count++ 操作,使用如下类实现:AtomicInt 阅读全文
posted @ 2020-08-25 17:04 磊哥|www.javacn.site 阅读(330) 评论(0) 推荐(1) 编辑
摘要: 定时任务在实际的开发中特别常见,比如电商平台 30 分钟后自动取消未支付的订单,以及凌晨的数据汇总和备份等,都需要借助定时任务来实现,那么我们本文就来看一下定时任务最简单的几种实现方式。 TOP 1:Timer Timer 是 JDK 自带的定时任务执行类,无论任何项目都可以直接使用 Timer 来 阅读全文
posted @ 2020-08-24 16:48 磊哥|www.javacn.site 阅读(2908) 评论(0) 推荐(0) 编辑
摘要: 年少不知优化苦,遇坑方知优化难。 ——村口王大爷 本文内容导图如下: 我之前有很多文章都在讲性能优化的问题,比如下面这些: 《switch 的性能提升了 3 倍,我只用了这一招!》 《String性能提升10倍的几个方法!(源码+原理分析)》 《局部变量竟然比全局变量快 5 倍?》 《池化技术到达有 阅读全文
posted @ 2020-08-10 16:33 磊哥|www.javacn.site 阅读(909) 评论(2) 推荐(5) 编辑
摘要: 《Java 开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,公开到业界后,众多社区开发者踊跃参与,共同打磨完善,系统化地整理成册,当前的版本是嵩山版。现代软件行业的高速发展对开发者的综合素质要求越来越高,因为不仅是编程知识点,其它维度的知识点也会影 阅读全文
posted @ 2020-08-03 19:04 磊哥|www.javacn.site 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 情商高的人是能洞察并照顾到身边所有人的情绪,而好的文章应该是让所有人都能看懂。 尼采曾经说过:人们无法理解他没有经历过的事情。因此我会试着把技术文章写的尽量具象化一些,力求让所有人都能看懂,所以在正式开始之前,我们先从两个生活事例说起。 尼采帅照: 唠嗑:之前一直以为尼采是中国的某位圣人,大体和庄子 阅读全文
posted @ 2020-07-28 13:51 磊哥|www.javacn.site 阅读(1638) 评论(0) 推荐(4) 编辑
摘要: wait 加锁示例 public class WaitDemo { private static Object locker = new Object(); public static void main(String[] args) throws InterruptedException { Wa 阅读全文
posted @ 2020-07-21 13:40 磊哥|www.javacn.site 阅读(3153) 评论(0) 推荐(0) 编辑
摘要: 有位朋友,某天突然问磊哥:在 Java 中,防止重复提交最简单的方案是什么? 这句话中包含了两个关键信息,第一:防止重复提交;第二:最简单。 于是磊哥问他,是单机环境还是分布式环境? 得到的反馈是单机环境,那就简单了,于是磊哥就开始装*了。 话不多说,我们先来复现这个问题。 模拟用户场景 根据朋友的 阅读全文
posted @ 2020-07-17 10:27 磊哥|www.javacn.site 阅读(17827) 评论(7) 推荐(15) 编辑
摘要: 我们在日常开发中经常需要测试一些代码的执行时间,但又不想使用向 JMH(Java Microbenchmark Harness,Java 微基准测试套件)这么重的测试框架,所以本文就汇总了一些 Java 中比较常用的执行时间统计方法,总共包含以下 6 种,如下图所示: 方法一:System.curr 阅读全文
posted @ 2020-07-14 10:29 磊哥|www.javacn.site 阅读(4585) 评论(0) 推荐(1) 编辑
摘要: 代码测试 public class IntegerTest { public static void main(String[] args) { Integer i1 = 127; Integer i2 = 127; System.out.println(i1 == i2); Integer i3 阅读全文
posted @ 2020-07-08 09:18 磊哥|www.javacn.site 阅读(1096) 评论(1) 推荐(0) 编辑
摘要: 工欲善其事,必先利其器,磊哥最近发现了几个特别棒的 IDEA“骚”技巧,已经迫不及待的想要分享给你了,快上车... 1.快速补全行末分号 img 使用快捷键 Shfit + Ctrl + Enter 轻松实现。 2.自带的 HTTP 请求工具 IDEA 自带了 HTTP 的测试工具,这个功能隐藏的有 阅读全文
posted @ 2020-07-06 08:22 磊哥|www.javacn.site 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 枚举是 JDK 1.5 新增的数据类型,使用枚举我们可以很好的描述一些特定的业务场景,比如一年中的春、夏、秋、冬,还有每周的周一到周天,还有各种颜色,以及可以用它来描述一些状态信息,比如错误码等。 枚举类型不止存在在 Java 语言中,在其它语言中也都能找到它的身影,例如 C# 和 Python 等 阅读全文
posted @ 2020-06-28 09:32 磊哥|www.javacn.site 阅读(2580) 评论(0) 推荐(0) 编辑
摘要: 哈喽,亲爱的小伙伴们,技术学磊哥,进步没得说!欢迎来到新一期的性能解读系列,我是磊哥。 今天给大家带来的是关于 try-catch 应该放在循环体外,还是放在循环体内的文章,我们将从性能和业务场景分析这两个方面来回答此问题。 很多人对 try-catch 有一定的误解,比如我们经常会把它(try-c 阅读全文
posted @ 2020-06-02 10:33 磊哥|www.javacn.site 阅读(4307) 评论(9) 推荐(13) 编辑
摘要: 哈喽,亲爱的小伙伴们,技术学磊哥,进步没得说!欢迎来到新一期的性能解读系列,我是磊哥。 今天给大家带来的是关于阿里巴巴《Java开发手册》泰山版(最新)中关于集合初始化时的性能建议。 阿里巴巴《Java开发手册》第 1 章编程规范,第 6 节集合处理的第 17 条规定如下: 【推荐】集合初始化时,指 阅读全文
posted @ 2020-05-29 12:30 磊哥|www.javacn.site 阅读(1961) 评论(0) 推荐(0) 编辑
摘要: 生活中的尴尬无处不在,有时候你只是想简单的装一把,但某些“老同志”总是在不经意之间,给你无情的一脚,踹得你简直无法呼吸。 但谁让咱年轻呢?吃亏要趁早,前路会更好。 喝了这口温热的鸡汤之后,咱们来聊聊是怎么回事。 事情是这样的,在一个不大不小的项目中,小王写下了这段代码: 本来是用它来替代下面这段代码 阅读全文
posted @ 2020-05-22 15:48 磊哥|www.javacn.site 阅读(2750) 评论(0) 推荐(2) 编辑
摘要: 为了上班方便,去年我把自己在北郊的房子租出去了,搬到了南郊,这样离我上班的地方就近了,它为我节约了很多的时间成本,我可以用它来做很多有意义的事,最起码不会因为堵车而闹心了,幸福感直线上升。 但即使这样,生活也有其他的烦恼。南郊的居住密度比较大,因此停车就成了头痛的事,我租的是路两边的非固定车位,每次 阅读全文
posted @ 2020-05-18 09:57 磊哥|www.javacn.site 阅读(1268) 评论(0) 推荐(4) 编辑
摘要: Redis 6.0.1 于 2020 年 5 月 2 日正式发布了,如 Redis 作者 antirez 所说,这是迄今为止最“企业”化的版本,也是有史以来改动最大的一个 Redis 版本,同时也是参与开发人数最多的一个版本。 所以在使用此版本之前,建议各位开发者先进行深入的测试再考虑投产,毕竟生产 阅读全文
posted @ 2020-05-03 13:23 磊哥|www.javacn.site 阅读(10039) 评论(1) 推荐(1) 编辑
摘要: 随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题。 本文 先从 HashMap 的遍历方法讲起,然后再从性能、原理以及安全性等方面,来分析 HashMap 各种遍历方式的优势与不足 ,本文主要内容如下图所示: 阅读全文
posted @ 2020-04-29 17:38 磊哥|www.javacn.site 阅读(2736) 评论(0) 推荐(0) 编辑
摘要: String 类型是我们使用最频繁的数据类型,没有之一。那么提高 String 的运行效率,无疑是提升程序性能的最佳手段。 我们本文将从 String 的源码入手,一步步带你实现字符串优化的小目标。 不但教你如何有效的使用字符串,还为你揭晓这背后的深层次原因 。 本文涉及的知识点,如下图所示: 在看 阅读全文
posted @ 2020-04-29 17:37 磊哥|www.javacn.site 阅读(830) 评论(0) 推荐(0) 编辑
摘要: if else 是我们写代码时,使用频率最高的关键词之一,然而有时过多的 if else 会让我们感到脑壳疼,例如下面这个伪代码: 是不是很奔溃?虽然他是伪代码,并且看起来也很夸张,但在现实中,当我们无数次 review 别人代码时,都会发现类似的场景,那么我们本文就来详细聊聊,有没有什么方法可以让 阅读全文
posted @ 2020-04-29 17:33 磊哥|www.javacn.site 阅读(6482) 评论(3) 推荐(4) 编辑
摘要: Spring Boot 在启动的时候,我们或许想要把自己公司的 logo,或者是项目的 logo 放上去,我们可以试试本文的这些方法,可以让你快速制作一些 Spring Boot 项目启动时的彩蛋,以提高项目的辨识度,或者是纯碎为了给枯燥的生活平添一些乐趣,那么本文这些内容能很好的帮助到你。 本文知 阅读全文
posted @ 2020-04-20 11:38 磊哥|www.javacn.site 阅读(2112) 评论(0) 推荐(1) 编辑
摘要: 我想所有 Java 程序员都曾被这个 new String 的问题困扰过,这是一道高频的 Java 面试题,但可惜的是网上众说纷纭,竟然找不到标准的答案。有人说创建了 1 个对象,也有人说创建了 2 个对象,还有人说可能创建了 1 个或 2 个对象,但谁都没有拿出干掉对方的证据,这就让我们这帮吃瓜群 阅读全文
posted @ 2020-04-20 11:37 磊哥|www.javacn.site 阅读(1207) 评论(0) 推荐(5) 编辑
摘要: 这篇文章的诞生要感谢一位读者,是他让这篇 优秀的文章 有了和大家见面的机会,重点是 优秀文章 ,哈哈。 事情的经过是这样的... 不用谢我,送人玫瑰,手有余香。 相信接下来的内容一定不会让你失望,因为它将是目前市面上最好的关于“延迟任务”的文章 ,这也一直是我写作追求的目标,让我的每一篇文章都比市面 阅读全文
posted @ 2020-04-14 10:52 磊哥|www.javacn.site 阅读(9838) 评论(4) 推荐(9) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 27 下一页