老鼠只爱大米
只会写诗的程序员
展开
-
Java volatile关键字最全总结:原理剖析与实例讲解(简单易懂)
本文从Java的内存模型和线程的工作原理出发,对volatile关键字进行介绍。帮助读者深入理解volatile的工作机制。同时,还通过简单易懂的示例讲解了如何正确地使用volatile关键字实现线程安全,避免常见的多线程安全问题。原创 2018-06-13 17:28:14 · 237583 阅读 · 145 评论 -
Java集合类详解:概述、优点、实现与应用
Java集合类提供了动态存储、高效的数据访问和操作等特性,大大简化了开发过程并提高了代码效率。本文将从多个方面详细介绍Java集合类的概念、基本结构、常见实现、操作方法以及性能优化和扩展,帮助读者全面掌握和应用这一关键工具。原创 2023-06-13 22:14:00 · 1127 阅读 · 0 评论 -
深入理解Java抽象类:定义、特点与实现
本文将深入介绍Java抽象类的定义、特点以及与普通类的区别,探讨抽象类的实现原理、与接口的区别,讨论抽象类的应用场景和优缺点。原创 2023-06-02 22:42:55 · 609 阅读 · 0 评论 -
深入理解Java内存回收机制
JVM通过GC(Garbage Collection,垃圾回收器)来回收堆和方法区中的内存,这个过程是自动执行的。说到Java GC机制,其主要完成3件事:确定哪些内存需要回收;确定什么时候需要执行GC;如何执行GC。JVM主要采用回收器的方式实现GC,主要的回收器有引用计数回收器和跟踪回收器。一、引用计数回收器(1)引用计数器采用分散式管理方式,通过计数器记录对象是否被引用。当计数器为0...原创 2019-09-10 15:01:04 · 4683 阅读 · 0 评论 -
如何正确实现JAVA对象拷贝:深入剖析拷贝机制,避免“拷”入歧途
本篇博客将讲解深拷贝和浅拷贝的区别,介绍JAVA对象拷贝的实现方式,以及详细阐述对象拷贝的激活机制,并提供代码示例。希望你能从本文中获得有价值的知识和经验。原创 2023-04-06 21:58:17 · 563 阅读 · 0 评论 -
深入理解Java中synchronized关键字的实现原理
9.synchronized的底层实现原理(1)对象大小的计算a. 在32位系统下,存放Class指针的空间大小是4字节,MarkWord是4字节,对象头为8字节。b. 在64位系统下,存放Class指针的空间大小是8字节,MarkWord是8字节,对象头为16字节。c. 64位开启指针压缩的情况下,存放Class指针的空间大小是4字节,MarkWord是8字节,对象头为12字节。 数组长...原创 2019-10-22 14:35:08 · 1670 阅读 · 0 评论 -
Java同步锁synchronized的最全总结
一、并发同步问题 线程安全是Java并发编程中的重点,而造成线程安全问题的主要原因有两点,一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据。因此,当存在多个线程操作共享数据时,需要保证同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再进行,这种方式就叫互斥锁。也就是说当一个共享数据被正在访问的线程加上互斥锁后,在同一个时刻,其他线程只能处于等待的状态...原创 2019-10-22 14:32:05 · 6089 阅读 · 0 评论 -
Java中this和super关键字的深入理解
一、this关键字(1)本质编译器在调用某个实例方法时,实际上会把当前的实例对象的引用作为第一个参数传递给方法,例如经过编译器的处理,分别变成Animal.weight(pig,300)、Animal.weight(dog,100)。而如果想从方法内部获取当前对象的引用,就有一个专门的关键字this,表示“调用方法的那个对象”的引用(如pig和dog)。(2)this的含义 1.在Java中,每...原创 2018-06-14 22:23:35 · 1618 阅读 · 0 评论 -
一文读懂JAVA的hashCode方法:原理、实现与应用
本文详细介绍了hashCode的作用和定义、实现原理和重写规则、常见的hashCode实现方法以及hashCode和equals的联系,可以帮助开发者们深入理解和使用hashCode方法。原创 2023-04-22 21:57:15 · 908 阅读 · 1 评论 -
深入解析Java中的==和equals方法:如何正确比较对象
本篇博客深入探讨了Java中的"=="和"equals"方法,介绍了它们的概念、原理、代码示例和区别,并给出了适用场景和如何覆盖equals方法的建议。可以帮助读者更好地应用Java中的==和equals方法。原创 2023-04-15 16:42:18 · 752 阅读 · 0 评论 -
Java中各类修饰符的使用总结(看完这篇就够了)
引言:Java的修饰符根据修饰的对象不同,分为类修饰符、方法修饰符、变量修饰符,其中每种修饰符又分为访问控制修饰符和非访问控制修饰符。访问控制存在的原因:a、让客户端程序员无法触及他们不应该触及的部分 b、允许库设计者可以改变类内部的工作方式而不用担心影响到客户端程序员。原创 2018-06-07 18:45:24 · 59896 阅读 · 21 评论 -
Java中操作符分类与使用总结(看完这篇就够了)
一、算术操作符Java的算术操作符包括四则运算,加(+)、减(-)、乘(*)、除(/)以及取余(%)。(1)"+" 除了用于两个数的加法之外,还可以用于拼接字符串。即如果String类型元素与非String类型元素使用"+"连接,则编译器会尝试将后者转换为字符串。 System.out.println("a+b:" + (a+b)); //其中a和b是一个数值类型的变量(2...原创 2019-09-10 16:11:51 · 687 阅读 · 2 评论 -
走进Java:JDK和JRE分别是什么?它们有什么区别?
一文带你了解JDK 和 JRE 分别是什么?有什么作用?它们之间有什么区别原创 2023-04-10 22:55:21 · 1133 阅读 · 0 评论