上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 78 下一页
摘要: 正则表达式虽然功能强大,但是其效率较低,除非是有需要,否则尽可能少用。 一、replaceAll()和replace()的相同点: 都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串; 二、replaceAll()和replace()的不同点: replaceAll() 支持正 阅读全文
posted @ 2022-02-11 11:43 周文豪 阅读(3281) 评论(0) 推荐(0)
摘要: NPE产生的场景: 1 )、返回类型为基本数据类型,return 包装数据类型的对象时,自动拆箱有可能产生 NPE。 反例: public int f() { return Integer 对象}, 如果为 null ,自动解箱抛 NPE 。 2 )、数据库的查询结果可能为 null 。 User 阅读全文
posted @ 2022-02-10 11:49 周文豪 阅读(619) 评论(1) 推荐(0)
摘要: 一、distinct去重 1、distinct简单去重 Stream提供的distinct()方法除了去除重复的对象 private static void testDistinct() { int[] ints = {1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4}; Arrays 阅读全文
posted @ 2022-02-09 22:52 周文豪 阅读(9722) 评论(0) 推荐(0)
摘要: 有些场景的代码执行后,结果不一定会被使用,从而造成性能浪费。而Lambda表达式是延迟执行的,这正好可以作为解决方案,提升性能。 性能浪费的日志案例(字符串拼接) 注:日志可以帮助我们快速的定位问题,记录程序运行过程中的情况,以便项目的监控和优化。 一种典型的场景就是对参数进行有条件使用,例如对日志 阅读全文
posted @ 2022-02-09 12:13 周文豪 阅读(734) 评论(0) 推荐(0)
摘要: 只有在需要的时候才创建对象,如下的字符串对象。 String str = "aaa"; if (i == 1){ list.add(str); } //建议替换成 if (i == 1){ String str = "aaa"; list.add(str); } 阅读全文
posted @ 2022-02-09 12:07 周文豪 阅读(75) 评论(0) 推荐(0)
摘要: 通过前面内容我们了解了synchronized,虽然JVM对它做了很多优化,但是它还是一个重量级的锁。而接下来要介绍的volatile则是轻量级的synchronized。 如果一个变量使用volatile,则它比使用synchronized的成本更加低,因为它不会引起线程上下文的切换和调度。 Ja 阅读全文
posted @ 2022-02-07 21:05 周文豪 阅读(238) 评论(0) 推荐(0)
摘要: synchronized是重量级锁,效率不高。 但在jdk 1.6中对synchronize的实现进行了各种优化,使得它显得不是那么重了。jdk1.6对锁的实现引入了大量的优化,如自旋锁、适应性自旋锁、锁消除、锁粗化、偏向锁、轻量级锁等技术来减少锁操作的开销。 锁主要存在四种状态,依次是:无锁状态、 阅读全文
posted @ 2022-02-07 18:16 周文豪 阅读(120) 评论(0) 推荐(0)
摘要: 一、内存可见性 1、内存可见性介绍 可见性: 一个线程对共享变量值的修改,能够及时的被其他线程看到 共享变量: 如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量 线程 A 与线程 B 之间如要通信的话,必须要经历下面 2 个步骤: (1)、首先,线程 A 把本地内存 阅读全文
posted @ 2022-02-07 17:30 周文豪 阅读(714) 评论(0) 推荐(0)
摘要: JVM内存结构、Java对象模型和Java内存模型,这就是三个截然不同的概念,而这三个概念很容易混淆。这里详细区别一下 一、JVM内存结构(5个部分) 我们都知道,Java代码是要运行在虚拟机上的,而虚拟机在执行Java程序的过程中会把所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途。 阅读全文
posted @ 2022-02-07 17:03 周文豪 阅读(428) 评论(0) 推荐(0)
摘要: 优先级priority:当线程需要竞争CPU资源时,优先级高的能分配更多的CPU资源。 现今操作系统基本采用分时的形式调度运行的线程,线程分配得到时间片的多少决定了线程使用处理器资源的多少,也对应了线程优先级这个概念。 分时调度:所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时 阅读全文
posted @ 2022-02-07 15:55 周文豪 阅读(258) 评论(0) 推荐(0)
上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 78 下一页