- 博客(12)
- 资源 (12)
- 收藏
- 关注
原创 Java并发(多线程)——基础篇(线程异常处理)
demo地址:ThreadDemo: Java Thread Demorun()方法不允许throw exception,所有的异常必须在run方法内处理。对于 checked exception,使用try/catch块搞定;对于 unchecked exception,使用setUncaughtExceptionHandler处理。...
2021-11-18 14:21:41
205
1
原创 Java并发(多线程)——基础篇(线程副本)
当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每个线程都可以执行属于自己的副本,而不会影响其他线程的副本。注意:使用ThreadLocal,一般都是声明在静态变量中,如果不断创建ThreadLocal而且没有调用其remove方法,将会导致内存泄漏。...
2021-11-18 14:08:15
495
原创 Java并发(多线程)——基础篇(守护线程)
守护线程,可以简单理解为后台运行线程。进程结束,守护线程就会结束,无需手动去操作相关状态。调用 setDaemon(true)即可将普通线程设置为守护线程。注意,该方法必须在启动线程前调用。JVM的垃圾回收、内存管理、数据库连接池等线程都是守护线程。*JRE判断程序执行结束的标准是所有前台线程(非守护线程)执行完毕,而不管守护线程状态。当非守护线程全部结束,即使仍有守护线程运行,进程仍将结束。...
2021-11-17 16:53:52
725
原创 Java并发(多线程)——基础篇(线程生命周期)
一、新建调用 new Thread();当创建Thread类的一个实例时,此线程进入新建状态。此时线程有自己的内存空间,但是并没有运行。此时线程不是活着的。二、就绪调用 start();线程已经被启动,等待被分配给CPU时间片。此时还没被分配到CPU,不一定会被立即执行,处于线程就绪队列。等待状态并不是执行状态。此时线程是活着的。三、运行run();线程获得CPU资源正在执行任务,此时除非线程自动放弃CPU资源或者有优先级更高的线程进入,否则线程一直运行到结束。此时线
2021-11-17 16:33:15
271
原创 Java并发(多线程)——基础篇(线程中断)
demo地址:ThreadDemo: Java Thread Demo一、Thread.stop()该方法强迫停止一个线程,并抛出一个新创建的ThreadDeath对象作为异常。此方法java版本已不建议使用。一、Thread.interrupt()相关方法1.public void interrupt():中断线程。是唯一能将中断状态设置为true的方法。2.public boolean isInterrupted():测试线程是否已经中断,即线程的中断标识,调用此方法能够
2021-11-17 15:09:46
142
原创 Java并发(多线程)——基础篇(线程实现的三种方法)
demo地址:ThreadDemo: Java Thread Demo一、extends Thread继承Thread类,弊端:一个java类只能继承一个父类(详见demo)二、implements Runnable实现Runnable接口,实现run()方法(详见demo)三、implements Callable实现Callable接口,实现call()方法(详见demo)...
2021-11-17 11:44:12
264
原创 Java并发(多线程)——概念篇(好处、注意事项)
一、充分利用CPU资源一个多线程的程序,可以CPU上并发执行,减少CPU的空闲时间,发挥CPU的运算能力,提高并发量。二、加快响应时间A程序执行过程十秒钟,B程序过程2秒钟,带给用户的体验感完全天差地别。三、代码模块化,异步化,简单化一般我们将业务的某个模块提取出来进行并发编程,降低代码耦合度,阅读起来也清晰明了;使用异步处理能大大提成前后端的响应时间(这个比较有局限性,举个栗子:假设用户签到后端处理逻辑分为两个模板,1.签到状态处理、2.用户相关业务表信息更改,那么签到状态处理
2021-11-17 11:22:59
360
原创 Java并发(多线程)——概念篇(程序、进程、线程、并行、并发)
笔者认为,学习java多线程,并不是上来会使用Thread、Runnable..就完事了,而是要从相关概念入手,了解什么是线程以及跟线程千丝万缕的知识点。这也是我兜兜转转绕了一大圈才有感而发的,可怜没师傅的孩子~一、程序定义:计算机能识别和执行的指令(参考:百度百科程序、进程)。理解:哦~指令..指令是个啥么东东?不就是我们编写的代码吗,搜嘎,这个我熟,public static void main(String[] args) ..注意了,既然是代码,那也就意味着程序是静态的,它是“死”的。
2021-10-25 14:14:16
225
原创 Java虚拟机(JVM)——运行时数据区域
运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域:方法区、堆、虚拟机栈(Java栈)、本地方法栈、程序计数器。其中方法区、堆是由线程共享的数据区,虚拟机栈、本地方法栈、程序计数器是线程隔离的数据区。一、程序计数器程序计数器是当前线程所执行的字节码的行号指示器。java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来工作的,当线程切换后需要恢复到正确的执行位置,每条线程需要有一个独立的程序计数器,各条线程之间的计数器互.
2020-06-22 15:53:03
396
原创 Java发展史
1991年4月,由James Gosling博士领导的绿色计划(Green Project)开始启动,此计划最初的目标是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。这个计划的产品就是Java语言的前身:Oak。1995年5月23日,Oak语言改名为Java,并在SunWorld大会上正式发布Java 1.0版本。Java语言第一次提出了“Write Once, Run Anywhere”的口号。1996年1月23日,JDK 1.0发布,Java语言有了第..
2020-06-22 15:49:47
9153
原创 java集合总结 —— List、Set、Map
一、集合大纲这里只总结常被提及的相关集合:ArrayList、LinkedList、Vector、HashSet、TreeSet、LinkedHashSet、HashMap、Hashtable、TreeMap│——-List│—————-├ LinkedList│—————-├ ArrayList│—————-└ Vector│——-Set│—————-├ H...
2020-05-07 15:40:00
420
原创 豆瓣新API地址:douban.uieee.com
以电影检索为例旧版豆瓣api地址:https://api.douban.com/v2/movie/subject/24753810新版豆瓣api地址:https://douban.uieee.com/v2/movie/subject/24753810
2019-05-16 13:53:24
2852
小程序支付字节跳动demo(头条抖音小程序等)
2021-11-02
串口调试助手MicroLab v1.4.4中文版
2020-11-18
爱宝A-5890打印机驱动驱动 v1.5官方版
2020-10-10
佳博打印(附TSCLIB.dll).zip
2020-09-10
apache-maven-3.2.3/3.6.0/3.6.1
2019-05-17
springcloud-demo
2019-05-17
dubbo-springboot-demo
2019-05-17
dubbo-monitor(DubboMonitor监控中心)
2019-05-17
Audio Jungle.mp3(纯净人声) 去Audio Jungle水印
2019-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人