上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 74 下一页
摘要: synchronized是重量级锁,效率不高。 但在jdk 1.6中对synchronize的实现进行了各种优化,使得它显得不是那么重了。jdk1.6对锁的实现引入了大量的优化,如自旋锁、适应性自旋锁、锁消除、锁粗化、偏向锁、轻量级锁等技术来减少锁操作的开销。 锁主要存在四种状态,依次是:无锁状态、 阅读全文
posted @ 2022-02-07 18:16 周文豪 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 一、内存可见性 1、内存可见性介绍 可见性: 一个线程对共享变量值的修改,能够及时的被其他线程看到 共享变量: 如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量 线程 A 与线程 B 之间如要通信的话,必须要经历下面 2 个步骤: (1)、首先,线程 A 把本地内存 阅读全文
posted @ 2022-02-07 17:30 周文豪 阅读(420) 评论(0) 推荐(0) 编辑
摘要: JVM内存结构、Java对象模型和Java内存模型,这就是三个截然不同的概念,而这三个概念很容易混淆。这里详细区别一下 一、JVM内存结构(5个部分) 我们都知道,Java代码是要运行在虚拟机上的,而虚拟机在执行Java程序的过程中会把所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途。 阅读全文
posted @ 2022-02-07 17:03 周文豪 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 优先级priority:当线程需要竞争CPU资源时,优先级高的能分配更多的CPU资源。 现今操作系统基本采用分时的形式调度运行的线程,线程分配得到时间片的多少决定了线程使用处理器资源的多少,也对应了线程优先级这个概念。 分时调度:所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时 阅读全文
posted @ 2022-02-07 15:55 周文豪 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 结束线程有以下三种方法: (1)设置退出标志,使线程正常退出。 (2)使用interrupt()方法中断线程。 (3)使用stop方法强行终止线程(不推荐使用Thread.stop, 这种终止线程运行的方法已经被废弃,使用它们是极端不安全的!) 一、使用退出标志 一般run()方法执行完,线程就会正 阅读全文
posted @ 2022-02-07 15:40 周文豪 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 除非能确定一整个方法都是需要进行同步的,否则尽量使用同步代码块,避免对那些不需要进行同步的代码也进行了同步,影响了代码执行效率。 用关键字synchronized声明方法在某些情况下是有弊端的,比如A线程调用同步方法执行一个较长时间的任务,那么B线程必须等待比较长的时间。这种情况下可以尝试使用syn 阅读全文
posted @ 2022-02-06 22:24 周文豪 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 注意:有两个前提,一个是数组赋值,一个是大量复制。 java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在System类的API文档中,常用的方法有: public static void arraycopy(Object src, int srcPos, 阅读全文
posted @ 2022-01-24 15:44 周文豪 阅读(344) 评论(1) 推荐(0) 编辑
摘要: apache日志切割工具cronolog安装配置 本文简单介绍在使用cronolog对tomcat的日志进行自定义日期格式的切割,方便日志的整理和遇到问题日志的排查! 一、安装cronolog wget https://files.cnblogs.com/files/crazyzero/cronol 阅读全文
posted @ 2022-01-24 15:08 周文豪 阅读(1534) 评论(0) 推荐(0) 编辑
摘要: 一、建议 推荐使用JDK7中新引入的Objects工具类来进行对象的equals比较,直接a.equals(b),有空指针异常的风险 public final class Objects {/** * Returns {@code true} if the arguments are equal t 阅读全文
posted @ 2022-01-20 09:28 周文豪 阅读(769) 评论(1) 推荐(0) 编辑
摘要: 一、字符串拼接 重点注意:对象 特别是String对象的使用,出现字符串拼接时应该使用StringBuilder/StringBuffer代替。由于Java虚拟机不仅要花时间生成对象,以后可能还需要花时间对这些对象进行垃圾回收和处理,因此,生成过多的对象将会给程序的性能带来很大的影响。 字符串的拼接 阅读全文
posted @ 2022-01-17 22:06 周文豪 阅读(189) 评论(0) 推荐(0) 编辑
上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 74 下一页