自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Java线程死锁

线程死锁什么是死锁死锁发生的原因一个必然死锁的程序死锁发生的四个必要条件怎么解决死锁问题解决银行转账死锁问题:改变锁的顺序哲学家就餐问题以及对应的解决方法其它线程活跃性问题活锁饥饿什么是死锁死锁发生的原因一个必然死锁的程序死锁发生的四个必要条件怎么解决死锁问题解决银行转账死锁问题:改变锁的顺序哲学家就餐问题以及对应的解决方法其它线程活跃性问题活锁饥饿...

2021-05-11 13:46:53 145

原创 Java内存模型

Java内存模型Jvm内存结构VSJava内存模型VSJava对象模型Jvm内存结构Java对象模型Java对象模型Java内存模型的三点内容重排序可见性原子性Jvm内存结构VSJava内存模型VSJava对象模型Jvm内存结构VSJava内存模型VSJava对象模型这三者的概念很容易混淆,从整体方向上对它们进行区分:Jvm内存结构,和Java虚拟机运行时区域有关。Java内存模型,和Java的并发编程有关。Java对象模型,和Java对象在虚拟机中的表现形式有关。下面来详细了解一下这三个概念,

2021-04-30 17:19:53 108

原创 线程安全

这里写目录标题什么是线程安全三大线程安全问题运行结果错误:a++问题活跃性问题:死锁,活锁,饥饿对象发布和初始化的时候的安全问题两种解决线程安全的办法使用副本解决逸出问题使用工厂模式解决初始化问题四种需要考虑线程安全的情况多线程导致的性能问题什么是线程安全当多个线程访问一个对象时,如果不考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其它的协同操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的。三大线程安全问题运行结果错误:a++问题两个线

2021-04-28 16:40:48 154

原创 如何处理UncaughtException异常

如何处理UncaughtException异常为什么要处理UncaughtException异常怎么处理UncaughtException异常线程很容易被发现,子线程中的异常不易被发现。子线程抛出的异常无法使用传统方法捕获。直接捕获异常可以提高代码的健壮性。使用UncaughtExceptionHandler处理未捕获的异常为什么要处理UncaughtException异常在一个项目中,会有很多UncaughtException异常。如果这些异常没有处理,就有可能把异常信息返回给前端,黑客看到这些异常的

2021-04-28 09:51:55 17823

原创 final关键字详解

final关键字详解修饰类修饰方法修饰属性修饰类的属性修饰类的静态属性修饰方法内的变量如何保证一个类对象不可变思考题:final修饰String后发生了什么变化final关键字可以修饰类、方法、和变量。修饰类被final修饰的类不可以被继承。我们经常使用String类,但确没有见过String的子类,那是因为String类是被final修饰的,所以没有类可以继承它。修饰方法final可以修饰方法,被final修饰的方法不能被重写。这和被static修饰的方法一样,都不能被子类重写修饰属性fin

2021-04-26 16:16:01 147

原创 Object和Thread一些和线程阻塞相关的常用方法

Object和Thread一些和线程相关的常用方法Object中的方法wait()notify()和notifyAll()Thread中的方法sleep()join()yield()Object和Thread中一些方法的区别wait()和sleep()方法比较join()和wait()之间的关联Object中的方法wait()notify()和notifyAll()Thread中的方法sleep()join()yield()Object和Thread中一些方法的区别wait()和sleep

2021-04-26 12:39:59 101

原创 线程的六种状态

线程的六种状态线程有哪六种状态线程之间的状态是如何转换的线程有哪六种状态线程的状态一共有六种:NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING和TERMINATEDNEW:当创建一个线程对象,还没有调用start()方法。RUNNABLE:调用了start()方法,不管线程是否被CPU执行,都处于RUNNABLE。BLOCKED: 线程等待获取对象的监视器锁时。处于BLOCKED状态时,线程无法被中断WAITING:线程处于无限等待状态,除非被其它线程唤醒或者

2021-04-25 22:38:07 979 1

原创 Java如何正确的启动和停止进程

Java如何正确的启动和停止进程启动线程的方式:start()停止线程的方式正确停止线程的方式:interrupt()错误停止线程的方式明确被JDK提示禁用的方式:stop()、resume()和suspend()使用volatile修饰的标志位停止线程启动线程的方式:start()启动线程的方式只有一种,那就是调用Thread类的start()方法。可以看下这个方法做了哪些事情。 /** * Causes this thread to begin execution; the Jav.

2021-04-25 00:20:00 561

原创 java创建线程的方式

java创建线程的方式有哪些呢?我们一般想到的方式是两种:继承Thread类、实现Runnable接口。但是这两种创建线程的方式并没有本质的区别。从本质上来讲,创建线程的方式只有一种。

2021-04-24 09:12:01 64

空空如也

空空如也

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

TA关注的人

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