JAVA
文章平均质量分 69
code_agent
代码特工
展开
-
JMM内存模型
JMM定义:- **Java内存模型**即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式;- JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。背景和痛点:1. 由于CPU 和主内存间存在数量级的速率差,引入了**多级高速缓存**的传统硬件内存架构,但在多线程并发场景会带来了**缓存一致性问题(引发可见性问题)**;2. 为了提高效率,编译器会对代码**指令重排序(引发有序性问题)**、**处理器优化**会对代码乱序原创 2023-02-09 20:51:45 · 170 阅读 · 0 评论 -
一路谈谈JVM和GC
JVM结构方法区常量池Class文件中的常量池运行时常量池常量池的好处基本类型的包装类和常量池Integer与常量池String与常量池原创 2021-12-29 19:05:10 · 995 阅读 · 0 评论 -
一路谈谈锁
Synchronized使用修饰类的,实例方法、静态方法、代码块;实例方法:锁对象为当前实例对象:public synchronized void sayHello(){ System.out.println("Hello World");}静态方法:锁对象为当前类Class对象:public static synchronized void sayHello(){ System.out.println("Hello World");}代码块://锁对象synchronized原创 2021-12-21 23:19:43 · 611 阅读 · 0 评论 -
Java中的各种锁
一、概述锁的思维导图:二、synchronizedsynchronized 是可重入锁,Lock的实现类都是可重入锁;synchronized 是不可中断锁,而Lock的实现类都是可中断锁;synchronized 是一种非公平锁;synchronized 属于互斥锁,任何时候只允许一个线程的读写操作,其他线程必须等待;使用: // 可锁方法,也可锁类 private static synchronized void addCount() { count++;原创 2021-06-08 23:18:05 · 234 阅读 · 0 评论 -
Java8通用Builder
如果一个对象的属性过多时:public class GirlFriend { private String name; private int age; private int bust; private int waist; private int hips; private List<String> hobby; private String birthday; private String address; priv转载 2021-04-27 15:05:34 · 590 阅读 · 0 评论 -
从 “key1=value1&key2=value2…” 的字符串中,根据key获取value的工具类
从 “key1=value1&key2=value2…” 的字符串中,根据key获取value的工具类:package com.mars.cloud.user.util;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * @Project: <br> * @CreateDate: 2021/01/30 11:42 <br> * @Author: <br> *原创 2021-01-30 13:25:06 · 959 阅读 · 0 评论