线程java篇文章
CUDA 线程ID 计算方式
thread ID 的计算方式,简单来说很像小学学的除法公式,本文转载自同学一篇博客;并进行简单修改; 被除数 = 除数 * 商 + 余数 用公式表示:$$线程Id = blockId * blockSize + threadId$$ **blockId** :当前 block 在 grid 中的坐 ......
java基础-方法method-day05
### 1. 语法 ``` [修饰符] 返回值类型 方法名(形参列表){ 逻辑主体 } ``` ``` public class TestMethod01{ public static int add(int num1, int num2){ int sum=0; sum += num1; sum ......
四、进程与线程
# 4.1进程、线程基础知识 ## 进程 代码是存储在硬盘的静态文件,编译后生成可执行文件,可执行文件运行后被装载到内存中,这个**运行中的程序被称为进程(Process)**。 么当运行到读取⽂件的指令 时,就会去从硬盘读取数据,但是硬盘的读写速度是⾮常慢的,那么在这个时候,如果 CPU 只等硬盘 ......
Java整数除法向上取整
# 1、简介 在今天刷每日一题的时候看到的,感觉和以前自己写的向上取证的写法比起来好很多,在此记录。来源:[1921. 消灭怪物的最大数量 - 力扣(LeetCode)](https://leetcode.cn/problems/eliminate-maximum-number-of-monster ......
02Java学习_注意事项和学习方法
# 02_Java 开发注意事项细节和学习方法 ## 注意事项 1. .java 是 Java 文件的拓展名。源文件的基本组成部分是类--class。 2. Java 程序的执行入口是 main 方法,固有的书写格式为: ```java public static void main(String[ ......
Java反序列化:CommonsCollections6调试分析
JDK8u71大版本中AnnotationInvocationHandler.readObject被修改了,为了使得CC1能够利用,又造了一条CC6 CC6解决的是CC1在高版本 jdk 上无法利用的问题 这里搬一下web佬Boogipop的整理图: ![image.png](https://cdn ......
java嵌套while循环直接结束外层循环的方法
方法① 给外层的while循环起一个名字,然后在需要直接结束外层循环的时候将break;改为break 循环的名字;(该方法也可以通过给特定的while循环起名字,对应地结束该循环) 1 public class Main { 2 public static void main(String[] a ......
java判断用户输入的数据类型
1 public class Demo1 { 2 public static void main(String[] args) { 3 Scanner input = new Scanner(System.in); 4 System.out.println("请输入一个数字:"); 5 if(inp ......
java面向对象高级(根据青空的霞光总结)
# 面向对象高级(青空) ## 基本类型包装类 ### 前置: * 虽然java是面向对象的语言,但是基本类型不是面向对象的,如果想要让基本类型也能像面向对象的形式进行表达,就可以是用包装类 * 包装类实际上就是将我们的基本数据类型,封装成一个类(运用了封装的思想) ### 类型: - byte - ......
《C++并发编程实战》读书笔记(2):线程间共享数据
## 1、使用互斥量 在C++中,我们通过构造`std::mutex`的实例来创建互斥量,调用成员函数`lock()`对其加锁,调用`unlock()`解锁。但通常更推荐的做法是使用标准库提供的类模板`std::lock_guard`,它针对互斥量实现了RAII手法:在构造时给互斥量加锁,析构时解锁 ......
Java常用四大线程池用法以及ThreadPoolExecutor详解(转)
为什么用线程池? 1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处-理效率 2.线程并发数量过多,抢占系统资源从而导致阻塞 3.对线程进行一些简单的管理 在Java中,线程池的概念是Executor这个接口,具体实现为ThreadPoolExecutor类,学习Java ......
java线程池七大参数(转)
转:https://blog.csdn.net/ye17186/article/details/89467919 从源码来看,线程池构造有七个参数,corePoolSize,maximumPoolSize,keepAliveTime,unit,workQueue,threadFactory,hand ......
一键配置Java环境变量
后缀改成bat运行 ``` @echo off set JAVA_HOME=D:\Program Files\Java\jdk-11 set PATH=%PATH%;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin set CLASSPATH=.;%%JAVA_HOME ......
使用synchronized关键字来同步多个线程操作同一个文件
使用synchronized关键字来同步多个线程操作同一个文件 import java.io.FileWriter; import java.io.IOException; public class FileSyncExample { private static Object file = new ......
FastJson中将JSON解析成对象时发生错误:Exception in thread “main“ java.lang.ClassFormatError: Illegal UTF8 string
转: FastJson中将JSON解析成对象时发生错误:Exception in thread “main“ java.lang.ClassFormatError: Illegal UTF8 string 原因 实体类 路径不能包含中文 包的名称包含了中文 解决方法 将包的名称中的中文字符删除,就不 ......
sleep、yield、join方法简介与用法 sleep与wait区别 多线程中篇
转 sleep、yield、join方法简介与用法 sleep与wait区别 多线程中篇 1. sleep不会释放锁,不会释放锁,不会释放锁 所以对于sleep方法,要么自己醒来,要么被中断后也会醒来 yield也是静态方法,所以,也是针对于当前线程,当前线程,当前线程。 2. 主线程main中调用 ......
多线程学习第二篇
## 2、线程创建 ### 2.1、 继承 Thread 类(重点) - 自定义线程类,**继承Thread类** - **重写run()方法**,编写线程执行体 - 在主函数中创建一个线程对象,**调用start()方法开启线程**。 //**案例:** ```java package com.t ......
多线程学习第四篇
## 4、线程同步机制 - 并发:**同一对象被多个线程同时操作**(抢票) - 线程同步是一个等待机制,多个需要同时访问次对象的线程进入这个**对象的等待池**形成队列,等待前一个线程使用完毕,下一个线程才能使用。 形成线程安全的条件:==**队列和锁**== 由于同一进程的多个线程共享同一块存储 ......
多线程学习第五篇
## 5、线程协作(线程通信) 应用场景:生产者和消费者问题 - 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费。 - 如果仓库中没有产品,则将生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止。 - 如果仓库中放有产品,则消费者可以将 ......
多线程学习第三篇
## 3、线程状态 线程五大状态: - **创建**状态:通过new创建线程 - **就绪**状态:通过start()启动线程进入就绪状态 - **阻塞**状态:通过CPU调配进入运行状态 - **运行**状态:在运行状态时,可以进行如sleep,wait等方法使线程进入**阻塞**状态 - **死 ......
多线程第一篇(认识多线程)
# 多线程 任务,进程,线程,多线程 Process : 进程 Thread :线程 # 1、基本概念 - 进程 - **在操作系统中运行的程序**就是进程。**程序**是指令和数据的有序集合,其本身没有任何运行的含义,是==静态==的。**进程**就是执行程序的一次执行过程,它是一个==动态==的 ......
每周总结-第八周 多线程
多线程概述:充分利用计算机资源,同时执行不同的操作 1.计算机操作系统 进程和线程 2.使用java来完成多线程的编码 3.线程中的常用方法 4.线程同步(重点) 5.死锁 6.生产者消费者模型 异步 操作系统简介 操作系统:本质上就是一个运行在一堆硬件上的巨型软件 没有操作系统的话,程序想要操控硬 ......
Java 乘等赋值运算
下面这个题目是在一公司发过来的,如果你对 Java 的赋值运算比较了解的话,会很快知道答案的。 这个运算符在 Java 里面叫做乘等或者乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数。 例如下面的:density *= invertedRatio; 其实等于的就是 density = de ......
Java反射机制
# Java反射机制 ==学习目标:== 1. 了解反射的基本原理 2. 掌握Class类的使用 3. 使用Class类并结合java.lang.reflect包取得一个类的完整结构。 4. 通过反射机制动态的调用类中的指定方法,并能向这些方法中传递参数。 在Java中较为重要的就是反射机制,那 ......
多线程|饿汉模式和懒汉模式
单例模式是只有单个实例的模式,应用在只能有一个实例的场景中。单例模式有很多种,这里介绍饿汉模式和懒汉模式两个单例。 一、饿汉模式 “饿汉”是一种形象的描述,“饿汉”看到吃的就非常急切,把这种急切的形象类比到Java中就是在类加载阶段就把实例创建出来了。什么是类加载?Java代码中的每个类,都会在编译 ......
代码扫描提示:java: Compilation failed: internal java compiler error
检查Idea中编译的版本和项目的是否一致 ......
go并发编程系列五:线程分组及控制线程的合作执行
背景:线程的合作执行,体现的是团结协作,应该是比较理想的状态,如果人人都能够少一些算计、多一点互帮互助,那该有多好啊?班主任不是资本家,班级更应该提倡团队精神,学生之间不应该竞争,应该互相协作!这篇文章以团结协作为出发点,讲解线程的合作执行。 TRANSLATE with x English Ara ......
go并发编程系列五:线程分组及控制线程的按序执行
背景:本文是对:go并发编程系列四:线程分组及控制线程的交替执行 的扩展,假定场景基本一致,唯一不同的是:本文中的张三、李四需要按序执行,通俗的讲就是:张三、李四对应的线程虽然同属于一组,但谁的线程先执行,就由谁优先完成班主任规定的一组任务。 拆分为技术片段的话,意味着:张三、李四对应的线程由普通线 ......
前缀树(Trie)的java实现
## 前缀树 prefix tree, 又叫做 trie。关键Feature如下: - 树形结构 - 根节点为空 - 结点包含 ```c Node [] nexts;// size 26 int isEnd; //有多少个字符串以当前字符结尾 int pass; // 多少个字符串经过了当前字符 ` ......