
java
文章平均质量分 68
zhujm320
这个作者很懒,什么都没留下…
展开
-
JDK1.8 Thread类说明
简介Thread Java线程类,用于线程相关操作,是并发和多线程的基础。本文将对Thread源码和日常使用的函数进行解读。在对线程的使用有基本的了解后,再来阅读它的源码,有助于加深对线程的理解;如有小伙伴对线程的使用不是很清楚的话,请参考《Java开启线程的4种方式》。线程是操作系统中的概念,也是系统调度的基本单元。对于线程的创建,通常通过系统的API来进行创建,Thread的线程创建也是通过系统API来进行创建,Thread只是对系统线程的一个包装。...原创 2021-06-11 17:37:41 · 430 阅读 · 0 评论 -
JNI基本使用二
介绍 接着上一篇博文本次主要介绍JNI的动态注册,以及在JNI中如何开线程。JNI的基础部分,请详细参考《JNI的基本使用一》原创 2021-05-29 21:22:42 · 304 阅读 · 2 评论 -
JNI的基本使用一
介绍 JNI即Java Native Interface的简称,java本地方法接口,通过JNI Java可以和C相互调用。Java语言也是通过JNI接口来调用系统的功能,只不过JNI的实现部分在JDK中,这样可以增加Java的功能。同样用户程序也可以通过实现JNI接口来调用本地方法。如: 如: windows和linux上Java程序需要调用外设驱动,就需要使用JNI;android上NDK也是通过JNI进行调用。本文主要讲解在windows上java通过jni调用本地方法,测试效果和在a...原创 2021-05-29 17:45:56 · 2360 阅读 · 0 评论 -
Java开启线程的4种方式
介绍多线程是java中的一个重要的知识点,且在业务中经常使用,还是有必要掌握一下它。本文简要介绍一下线程的4种启动方式, 继承Thread,实现Runnable接口,实现Callable接口,通过线程池来启动线程。以上4种形式的线程启动方式,最终都是通过Thread.start()方法来真正启动线程。继承Thread通过继承java线程类Thread,并覆写run方法来实现线程。如下:package com.stx.demo;/** * 线程使用方式1 * 直接继承Threa.原创 2021-05-25 12:07:03 · 4459 阅读 · 2 评论 -
用synchronized实现Semaphore
介绍基于Semaphore的功能,主要用来实现并发和限流,本文采用synchronized来实现Semaphore基础功能。关于Semaphore的说明,请参考JDK1.8 信号量(Semaphore)的基本使用代码实现public class MySemaphore { private volatile int count; private volatile int waitCount = 0; /** * 初始化信号量 * @param co原创 2021-05-16 18:57:52 · 328 阅读 · 4 评论 -
JDK1.8 信号量(Semaphore)的基本使用
介绍信号量支持多线程同时并发,但是同时并发线程数是确定的,起到了限流的作用。比如: 临界资源的数量是5个,那么则可以同时支持5个线程进入临界资源,待进入临界资源的线程退出后,其他线程才能进入来,也就是说当前占用临界资源的线程小于5个,其他线程才能进来。以停车场的车位为例: 停车场有5个车位,如果都停满了车,那么其他车就无法进来;反之,其他车可以进入停车场,直接到车位停满。使用初始化信号量public Semaphore(int permits) { sync = new Nonf原创 2021-05-16 12:30:22 · 540 阅读 · 3 评论 -
跨平台语言的底层原理浅析
介绍在IT从业中,我们时不时会听到xxx语言支持跨平台,一套代码在windows, linux, unix, mac上运行,懂一种语言就可以玩转所有平台,开发效率极高。本文主要介绍java的跨平台特性,其他语言的跨平台特性类似。原理当前所有的流行的操作系统windows,linux,unix都是基于c/c++开发而来, 从某种意义上讲c/c++是天生跨平台语言,移植性强(不同操作系统底层api不尽相同, 涉及到底层api调用需要操作系统适配)。而其他语言如java, 它的底层实现也是通过c++实原创 2021-05-06 09:56:32 · 893 阅读 · 3 评论 -
进程线程协程的初步理解
进程进程是操作系统进行资源分配的基本单位,简单理解就是正在运行程序的实例。进程的用户空间是相互独立,系统空间是共享的,它们之间进行通信(即数据交换)需要通过系统空间来完成。线程线程是程序调度的最小单位,也可以理解为程序执行的路径。一个进程可以有多个线程。线程在调度时,启动,停止,暂停和恢复都需要进行内核态的切换,需要额外的系统开销。协程协程它是微线程,可以看作程序的组件,协程跑在线程中,它的状态切换不需要系统开销,它们在线程中是顺序执行的,一个线程可以有多个协程。协程的出原创 2021-05-05 16:30:32 · 182 阅读 · 2 评论