自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java学习笔记-并发编程-1.5 线程池核心概述

1.5 线程池核心概述线程池的作用,这是一道简单的初级面试题,可以从几个角度去考虑:管理控制:首先,从管理角度就是为了更好的控制线程,使用线程池来帮助我们去管理线程,使得我们对线程的生命周期、初始化、运行状态、销毁等各个环节有一个把控。系统资源:另外一点,从系统资源的角度考虑,线程池可以控制线程的数量,根据任务的多少去对线程池中的线程个数进行添加或者减少,可以回收空闲状态的线程,减少线程的频繁初始化和销毁,避免不必要的系统开销,节省系统资源,保障稳定性!应用性能:从性能的角度去考虑,线程池可以配合

2020-09-22 15:58:20 191

原创 Java学习笔记-并发编程-1.4 J.U.C工具类

1.4 J.U.C工具类CountDownLatchCountDownLatch:用于监听某些初始化操作,并且线程进行阻塞,等初始化执行完毕后,通知主线程继续工作执行。public class UseCountDownLatch { public static void main(String[] args) { // 构造参数表示唤醒线程需要通知的次数 CountDownLatch countDownLatch = new CountDownLatch(2);

2020-09-21 09:26:25 173

原创 Java学习笔记-并发编程-1.2线程安全

1.2线程安全线程安全、Synchronized核心概念线程安全线程安全概念:当多个线程访问某一个类(对象或方法)时,这个类始终都能表现出正确的行为,那么这个类(对象或方法)就是线程安全的。synchronized:可以在任意对象及方法上加锁,而加锁的这段代码称为“互斥区”或“临界区”。当多个线程访问myThread的run方法时,以排队的方式进行处理(这里排对是按照CPU分配的先后顺序而定的),一个线程想要执行synchronized修饰的方法里的代码,首先是尝试获得锁,如果拿到锁,执行sync

2020-09-14 17:39:20 161

原创 Java学习笔记-并发编程-1.3Volatile&原子性、核心概述

1.3Volatile&原子性、核心概述Volatile关键字核心概念与应用Volatile概念:Volatile关键字的主要作用是使变量在多个线程间可见。作用:在多线程间可以进行变量的变更,使得线程间进行数据的共享可见阻止指令重排序,happens-beforepublic class UseVolatile extends Thread { private volatile boolean isRunning = true; private void setRunn

2020-09-14 17:30:05 167

原创 Java学习笔记-并发编程-1.1并发容器类

1.1并发容器类同步类容器同步类容器都是线程安全的,但在某些场景下可能需要加锁来保护复合操作。复合类操作如:迭代(反复访问元素,遍历完容器中所有的元素)、跳转(根据指定的顺序找到当前元素的下一个元素)、以及条件运算。这些复合操作在多线程并发地修改容器时,可能会表现出意外的行为,最经典的便是ConcurrentModificationException,原因是当容器迭代的过程中,被并发的修改了内容,这是由于早期迭代器设计的时候并没有考虑并发修改的问题。使用同步类容器的时候,如果使用增强for循环或

2020-09-14 10:48:25 311

原创 Java学习笔记-反射与注解-2.注解

注解1.1 注解的定义定义: 注解(Annotation)是一种标记性的接口,注解本质上是一个接口,它继承了Annotation接口,注解相当于一种标记,在程序中加了注解就等于为程序打上了某种标记,没加,则等于没有某种标记,它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释1. 2 Java 预置的注解@Deprecated这个注解是用来***标记过时的元素***,想必大家在日常开发中经常碰到。编译器在编译阶段遇到这个注解时会发出提醒警告,告诉开发者正在调用一

2020-09-14 10:31:39 150

原创 Java学习笔记-反射与注解-1.反射

反射JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象。1.1 Class类获取Class对象的三种方式方式一: 通过Object类中的getObject()方法Person p = new

2020-09-14 10:23:19 299

原创 OpenMP学习笔记

OpenMP学习笔记标签(空格分隔): 学习笔记文章目录OpenMP学习笔记Hello World程序调控Openmp的行为num_threads(编译指示)omp_set_num_threads(运行API)环境变量来调整(环境变量)一个实例Hello World程序#include <iostream>int main(){ #pragma omp parallel { std::cout << "Hello World!\n"; }}保存

2020-09-14 09:59:40 258 3

原创 Git使用笔记

Git使用笔记文章目录Git使用笔记@[toc]搭建Git创建版本库时光机穿梭版本退回工作区和暂存区管理修改撤销修改删除文件远程仓库创建私钥和公钥Coding关联公钥添加远程仓库克隆代码库搭建Git首先安装Git ,一句命令 sudo apt-get install git然后设置你的密码和email,不然谁知道是你提交的更改$ git config --global user.name "Your Name"$ git config --global user.email "email@ex

2020-09-14 09:55:39 147

原创 MPI学习笔记

MPI学习笔记文章目录MPI学习笔记MP函数约定6个基本的MPI函数MPI初始化MPI结束获取进程通信子(通信空间)消息传递概念简析Point to Point(点到点通信)术语解析消息标识消息匹配status参数Greeting例子MPI_Sendrecv函数空进程通信模式阻塞通信模式标准模式Standard缓冲模式Buffer同步模式Synchronous就绪模式Ready阻塞与非阻塞的差别非阻塞发送与接收通信的完成消息探测MPI程序的编译基本执行方法通过配置文件执行完整的MPI运行方式MP函数约

2020-09-14 09:43:33 781

空空如也

空空如也

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

TA关注的人

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