JavaSE学习笔记
文章平均质量分 95
爱喝咖啡的咸鱼
加油,成为一名优秀的软件开发工作者!
展开
-
Java锁--深入理解synchronized原理
文章目录1.基本原理1.1 基本用法1.2 通过class信息分析synchronized1.2.1. 同步方法1.2.2. 同步代码块2.了解synchronized的基础2.1.对象头2.2 Monitor3.锁优化1.基本原理synchronized关键字的作用,简单得总结就是保证在运行的时候,只有一个方法能够访问临界区,并且它能够保存共享变量的在内存中的可见性。1.1 基本用法synchronized使用的三种情况:普通方法同步public synchronized void te原创 2021-10-18 14:35:57 · 825 阅读 · 0 评论 -
对Map集合的几种遍历
1、通过map.keySet()获取到map对象键的Set集合,再通过遍历该Set集合中的每一个key来获取对应的valueMap<String,String> map = new HashMap<>();map.put("key1", "value1");map.put("key2", "value2");map.put("key3", "value3");ma...原创 2019-11-11 19:09:33 · 263 阅读 · 0 评论 -
单例模式
一、什么是单例模式单例模式是java中最简单的设计模式。该模式有一下特点:1、单例类只能一个实例2、单例类的唯一实例只能由自己创建3、单例类自己创建的唯一实例必须能被所有对象所用二、几种常用单例模式1、懒汉式(线程不安全)优点:由于不实现多线程,效率较高缺点:无法在应用在多线程场景下public class Singleton{ private static Singleton...原创 2019-11-05 19:14:44 · 106 阅读 · 0 评论 -
String、StringBuffer和StringBiulder
一、String在java中,String类型的值一旦被初始化,那么该String类型变量的值遍不能改变。就算是:String str = “hello”;str = “hello”+“World”;这样的语句,实际上是新开辟了内存。那么每次执行这样的操作都会开辟新的空间,这样对空间就会造成很大的浪费。所以为了满足要经常修改的字符串类型,我们通常用StringBuffer和StringB...原创 2019-10-22 19:13:47 · 156 阅读 · 0 评论 -
java多线程:消费者与生产者模式
此案例是java多线程中比较具有代表性。具体要求:有生产者,消费者,还有商品。当商品数不为0时,消费者进行消费,每一次消费商品数量会减一。当商品为0的时候,生产者会进行生产,每次生产五件商品原创 2019-08-14 14:11:33 · 209 阅读 · 0 评论 -
解读 public static void main(String[] args) 中的args参数
在java程序中,主方法是通过以下方法是通过以下格式定义:public static void main (String[] agrs){}那么这个方法中的参数一般都是我们默认这样定义,但是在学习中的却很少在main方法中用到 args这个参数,那么args参数存在到底有什么意义?1、方法解读该方法是一个访问权限是public的静态方法。main是JVM中的特殊方法名,是一个程序的入口。...原创 2019-08-13 09:11:07 · 4128 阅读 · 0 评论 -
HashSet是如何去重的
首先来介绍一下HashSet的主要特征实现了Collection接口的子类:Set接口。HashSet的储存是无序的,即遍历的顺序和我们添加的顺序无关。HashSet底层的数据结构是哈希表。根据哈希表得出的哈希值代表该对象的储存位置HashSet不能添加重复的元素,是基于HashMap实现的HashSet如何去重由上面的第四点我们可以看到,HashSet是不能添加重复元素的,那么他...原创 2019-09-02 19:53:58 · 6465 阅读 · 2 评论 -
为什么hashCode()和equals()必须同时重写
在Object类中,有两种方法十分重要,分别是 public native int hashCode(); public boolean equals(Object obj) { return (this == obj); }很多时候,我们需要在自定义类的时候同时重写这两个方法,为什么需要同时重写呢?首先来看一看1、equals():返回两个对象地址是否相等...原创 2019-09-02 20:26:25 · 539 阅读 · 0 评论