自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 三方组件导致系统宕机的架构设计思考

定时任务【elasticjob】消息中间件【rocketMQ】

2024-05-10 08:50:36 98

原创 工具之Typora

typora的使用及配置

2023-02-21 08:56:05 92

原创 java容器【数组、集合】

JAVA—容器【数组、集合】

2023-02-13 07:28:50 176

原创 ThreadLocal 详解

ThreadLocal 概述ThreadLocal类用来提供线程内部的局部变量,不同的线程之间不会相互干扰这种变量在多线程环境下访问(通过get和set方法访问)时能保证各个线程的变量相对独立于其他线程内的变量在线程的生命周期内起作用,可以减少同一个线程内多个函数或组件之间一些公共变量传递的复杂度使用常用方法方法名描述ThreadLocal()创建ThreadLocal对象public void set( T value)设置当前线程绑定的局部变量publ

2022-04-19 11:12:54 24312 7

原创 原子类详解

Unsafe概述Unsafe对象提供了非常底层操作内存、线程的方法该类只提供了一个私有的无参构造,且Unsafe的定义是一个的私有成员变量,源码如下public final class Unsafe { //私有成员静态变量 private static final Unsafe theUnsafe; // 构造器 private Unsafe() { }由上一点可知Unsafe对象只能通过反射获取,不能直接创建,获取方式如下public

2022-04-14 10:16:00 1897 2

原创 volatile 详解

Java 内存模型(Java Memory Model)JMM 即 Java Memory Model,它定义了主存、工作内存抽象概念,底层对应着 CPU 寄存器、缓存、硬件内存、CPU 指令优化等JMM主要体现在以下几个方面原子性(多写多读):保证指令不会受到线程上下文切换的影响可见性(一写多读):保证指令不会受到CPU缓存的影响有序性:保证指令不会受到CPU指令并行优化的影响原子性问题—得不到预期值public class AtomQuestion { static int c

2022-04-12 20:31:31 383

原创 Synchronized 详解

语法 synchronized(锁对象) // 线程1, 线程2(blocked){ 临界区}注意如果 t1 synchronized(obj1) 而 t2 synchronized(obj2) 会怎样?此种方式相当于多个线程持有不同的锁,不会起到保证临界区代码是原子性操作,达不到预期如果 t1 synchronized(obj) 而 t2 没有加会怎么样?此种方式相当于一个线程持有锁一个线程没有锁,不会起到保证临界区代码是原子性操作,达不到预期方法上的synchronized形式

2022-04-12 16:22:39 2093 1

原创 多线程相关方法

Thread相关方法run() 与 start()package com.yanxb.method.threadmethod;import com.yanxb.util.MyTool;/** * 测试 run()方法 和 start()方法 * * */public class TestRunAndStart { public static void main(String[] args) { test01(); } /** * 直接调

2022-04-10 11:22:58 83

原创 多线程停止

测试代码 public static void main(String[] args) throws InterruptedException { // 方式一 TPTInterrupt t = new TPTInterrupt(); // 方式二 TPTVolatile t1 = new TPTVolatile(); t.start(); Thread.sleep(3500); MyTool

2022-04-06 10:11:19 53

原创 多线程创建方式

方式一:继承Thread/** * 方法一:继承Thread类,作为线程对象存在(继承Thread对象) * */public class Way01 extends Thread{ public Way01(String name) { super(name); } @Override public void run() { while (!interrupted()){ MyTool.printTimeA

2022-03-31 16:09:23 260

原创 并发编程总结

多线程的创建方式继承Thread类Thread + RunnableThread + 匿名内部类Java8 Lamda表达式Thread + FuturnTask + Callable(可获取返回值)Timer + 匿名内部类线程池 + 任务详情链接:Callable 与 Runnable的区别抽象方法不同Callable抽象方法为:call()方法Runnable抽象方法为:run()方法返回值不同Callable的返回值为泛型TRunnable没有返回值为异常处理不

2022-03-31 15:03:28 518

原创 数据库事物

事物(transation)基本概述一个事物其实就是一个完整的业务逻辑,是最小的工作单元,不可再分。只有DML语句才会有事物,其他语句与事物无关。本质上,事物就是多条DML语句同时成功,或同时失败。SQL分类DQL(Data Query Language):数据查询语言,关键字:select。DML(Data Manipulation Language):数据操纵语言,关键字:insert,delete,update。DDL(Data Definition Language):数据库定

2021-08-11 09:38:53 249

原创 JAVA中逻辑运算符“|”和“&”与“||”和“&&”的用法

1.使用规则:(1)& 可以用作逻辑与的运算符,表示逻辑与(and)      a、当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false      b、无论第一个判断条件是否成立,逻辑运算符前后两个条件都会进行判断(2)&& 可以用作逻辑与的运算符,表示逻辑与(and)      a、当运算...

2018-11-28 10:28:42 4918

jdk-8-11-17

jdk-8-11-17

2024-03-10

xshell-linux-工具

xshell-工具

2024-03-10

java-面向对象总结(概述到实战)

java-面向对象总结(概述到实战)

2022-10-21

java-泛型总结【从入门到项目总结】

关于java泛型的总结: 从入门介绍到项目使用的实际经验归纳总结得出! 从jdk5到jdk8!

2022-10-18

java-反射总结【从入门到项目总结】

关于java反射的总结: 从入门介绍到项目使用的实际经验归纳总结得出! 从jdk5到jdk8!

2022-10-18

java-枚举总结【从入门到项目总结】

关于java枚举的总结: 从入门介绍到项目使用的实际经验归纳总结得出! 从jdk5到jdk8!

2022-10-18

java-注解总结【从入门到项目总结】

关于java注解的总结: 从入门介绍到项目使用的实际经验归纳总结得出! 从jdk5到jdk8!

2022-10-18

一篇Xmind概述Linux系统的所有基本操作命令及Windows系统命令.xmind

一篇Xmind概述Linux系统的所有基本操作命令及Windows系统命令

2021-08-23

一篇Xmind包含所有数据库基础知识.xmind

一篇Xmind包含所有数据库基础知识.xmind

2021-08-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除