自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2023年CSP-J组初赛真题及答案

2023年CSP-J组初赛真题及答案

2024-08-26 21:56:56 1452

原创 使用deviceQuery查看GPU属性

如何执行deviceQuerydeviceQuery的路径在 /usr/local/cuda-9.1/samples/1_Utilities ,将samples拷贝到自己的路径下(因为最好不要在系统路径直接操作) 进入1_Utilities,直接make,成功后会生成一个deviceQuery可执行文件 执行./deviceQuery即可看到GPU属性信息deviceQuery参数信息...

2019-10-14 16:43:07 3689

原创 [C++]单双引号的区别

C++中单引号与双引号的区别含义不同:单引号引起的一个字符代表一个整数,整数值对应于该字符在ASCII字符集中的序列值;双引号引起的都是字符串,哪怕只有一个字符也是字符串,双引号引起的一个字符代表一个指向无名数组起始字符的指针;比如:’.'代表十进制46,十六进制0x2E;而 ".“代表指向起始字符为”."的某数组的指针;大小不同。单引号引起的一个字符大小就是一个字节...

2019-08-30 10:46:28 1011

原创 ELF文件结构解析

ELF文件结构 File Header .text section .data section .bss section . . . 目标文件中的内容:编译后的机器指令代码、数据、链接时所须耍的一些信息(比如符号表、调试信息、字符串等)。 一般将这些信息按不同的属性,以“节”(Sect...

2019-08-16 14:43:01 976

转载 [深入理解JVM] Java内存区域

Java内存区域JVM具有自动内存管理机制,Java不需要像c/c++一样,为每一个new操作写配对的delete/free代码,不容易出现内存泄露和溢出。JVM所管理的内存区域主要包括以下几个运行时数据区域部分:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。 ...

2019-07-02 14:37:15 180

原创 JVM 垃圾回收机制

JVM基础系列第8讲:JVM 垃圾回收机制Java 虚拟机的内存结构的规范是由《Java 虚拟机规范》指定的,每个 Java 虚拟机可能都有不同的实现。其实涉及到 Java 虚拟机的内存,就不得不谈到 Java 虚拟机的垃圾回收机制。因为内存总是有限的,我们需要一个机制来不断地回收废弃的内存,从而实现内存的循环利用,这样程序才能正常地运转下去。比起 Java 虚拟机的内存结构有《Java ...

2019-06-25 09:49:39 125

原创 JVM类加载机制

JVM 执行 class 字节码的过程可以分为七个阶段:加载、验证、准备、解析、初始化、使用、卸载。阶段 描述 加载 JVM 将字节码从各个位置(网络、磁盘等)转化为二进制字节流加载到内存中,接着为这个类在 JVM 的方法区创建一个对应的 Class 对象 验证 ...

2019-06-24 17:56:30 124

转载 JVM三种编译器(Javac \ JIT \ AOT)

JVM基础系列第4讲:从源代码到机器码,发生了什么?对于 Java 语言来说,其从源代码到机器码,这中间到底发生了什么呢?如下图所示,编译器可以分为:前端编译器、JIT 编译器和AOT编译器. 1. 前端编译器:源代码到字节码之前我们说到:对于 Java 虚拟机来说,其实际输入的是字节码文件,而不是 Java 文件。那么对于 Java 语言而言,其实怎么将...

2019-06-24 17:08:35 9448 1

转载 c语言中的移位运算符

数据在计算机中以补码存储 移位运算符:<< 左移运算符 >> 右移运算符一丶 << 左移运算符移位规则:左边抛弃,右边补零int num=10; num<<1 000000000000000000000000000010...

2019-06-16 18:40:16 782

原创 Java之继承

Java中继承的概念继承的概念继承是类与类的一种关系,是一种 " is a " 的关系。 注:Java中的继承是单继承继承的好处子类拥有父类的所有属性和方法(private修饰的属性和方法除外),实现代码复用。继承语法规则方法的重写什么是方法的重写如果子类对父类的方法不满意,是可以重写父类继承的方法的,当子类对象调用方法时会优先调用子类的方法。方法重写语法规则...

2019-06-16 18:39:39 253

转载 Linux下动态库(.so)和静态库(.a)

动态库和静态库的介绍一般情况下,在项目里会把功能相似的代码封装成库,方便使用和管理,同时增加了代码的内聚性。库分为两种,一种为静态库,文件名以.a结尾,另一种是动态库,文件名以.so结尾。静态库和动态库的使用各有利弊。静态库的特点:简单,链接时直接把静态库中的内容链接到可执行文件中,链接完成后,就不再需要静态库了。 静态库不能共享,所有使用静态库的可执行文件中,都...

2019-06-16 18:39:18 999

原创 Java之内部类

什么是 Java 中的内部类内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。内部类的主要作用如下:内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类 内部类的方法可以直接访问外部类的所有数据,包括私有的数据 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便内部类可分为以下...

2019-06-14 09:25:36 96

原创 java中的包

包就是文件夹,包的作用:管理文件 解决命名冲突定义包:package 包名注意:必须放在Java源程序第一行,包名间可以用' . '隔开,例如:package com.imooc.MyClass包通过包名来区分系统中的包:包的使用:可以通过import关键字,在某个文件使用其他文件中的类。import com.imooc.music.MyC...

2019-06-13 15:39:32 132

原创 java 之 static

静态变量大家都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立。然而在某些时候,我们更希望该类所有的对象共享同一个成员。此时就是static 大显身手的时候了!!Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。当然,鉴于他作用的...

2019-06-13 11:50:36 1052

原创 javac执行过程

1. JVM编译器优化JVM的编译器可以分为三个编译器:前端编译器:把.java转变为.class的过程。如Sun的Javac、Eclipse JDT中的增量式编译器(ECJ)。 JIT编译器:把字节码转变为机器码的过程,如HotSpot VM的C1、C2编译器。 AOT编译器:静态提前编译器,直接将*.java文件编译本地机器代码的过程。2. Javac编译过程Ja...

2019-06-12 10:39:24 1418

转载 JVM即时编译(JIT)

1. 什么是JIT动态编译(dynamic compilation)指的是“在运行时进行编译”;与之相对的是事前编译(ahead-of-time compilation,简称AOT),也叫静态编译(static compilation)。 JIT编译(just-in-timecompilation)狭义来说是当某段代码即将第一次被执行时进行编译,因而叫“即时编译”。JIT编译是动态编译的一...

2019-06-12 10:26:00 290

转载 C++ map

https://www.cnblogs.com/fnlingnzb-learner/p/5833051.htmlmap 是一种有序无重复的关联容器。关联容器与顺序容器不同,他们的元素是按照关键字来保存和访问的,而顺序元素是按照它们在容器中的位置保存和访问的。map保存的是一种 key - value 的pair对象,其中 key 是关键字,value 是关键字对应的值。通过 key找到...

2018-12-16 15:40:31 1196

原创 C++ 向量(vector)

1. vector介绍向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 与string相同, vector 同属于STL(Standard Template Library, 标准模板库)中的一种自定义的数据类型, 可以广义上认为是数组的增强版 ,与数组相比,vector就是一个可以不用再初始化就必须制定大小的边长数组,当然了,它还有许多高级功能。...

2018-12-06 10:28:33 15289

原创 CUDA 学习笔记 (二) 【Chapter4 CUDA并行编程】

Capter4  CUDA并行编程前面我们看到将一个标准C函数放到GPU设备上运行是很容易的。只需要在函数定义前面加上 __globle__ 修饰符,并通过一种特殊的尖括号语法来调用它,就可以在GPU上执行这个函数。然而,前面的示例只调用了一个和函数,并且该函数在GPU上以串行方式运行。本章将学习如何启动一个并行执行的设备函数。4.1 矢量求和运算我们先通过一个简单的示例说明线程的概念...

2018-11-06 11:34:58 428

原创 CUDA 核函数运行参数

CUDA核函数运行参数调用定义的和函数时采用类似于下面的形式:kernel<<<1,1>>>(param1,param2,...)“<<< >>>”中参数的作用是告诉我们该如何启动核函数(比如如何设置线程)。 下面我们先直接介绍参数概念,然后详细说明其意义。1. 核函数运行参数当我们使用 gloabl 声...

2018-11-06 10:56:55 6050 4

原创 CUDA 学习笔记 (一) 【Chapter3 CUDA初探】

Chapter3目录3.1 hello , world !3.2 核函数调用3.3 传递参数3.4 查询设备3.5 设备属性的使用3.6 本章小结3.1 hello , world !/* hello_world.cu*/#include "../common/book.h"int main( void ) { printf( "Hello, W...

2018-11-05 19:33:20 372

转载 immintrin.h File Reference

 重要参考:http://clang.llvm.org/doxygen/immintrin_8h.html                  https://blog.csdn.net/fengbingchun/article/details/23598709?utm_source=blogxgwz0  SIMD相关头文件包括://#include &lt;ivec.h&gt; ...

2018-10-19 09:51:27 4991

原创 emmintrin.h File Reference

重要参考:http://clang.llvm.org/doxygen/emmintrin_8h.html#a907348c4473fe447912561977233aa96emmintrin.h:/* Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GCC. ...

2018-10-18 21:23:25 1988

原创 xmmintrin.h File Reference

重要参考:http://clang.llvm.org/doxygen/xmmintrin_8h.html/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribu...

2018-10-18 21:21:50 1477

转载 英特尔® 高级矢量扩展(AVX)指令集简介

来源:https://software.intel.com/zh-cn/articles/introduction-to-intel-advanced-vector-extensions作者:Chris Lomont下载文章下载 英特尔® 高级矢量扩展指令集简介 [PDF 1.4MB]英特尔® 高级矢量扩展指令集(英特尔® AVX)是在英特尔® 架构 CPU 上执行单指令多数据 (...

2018-10-12 10:14:06 8449

原创 SSE学习笔记

背景什么是指令集?指令集是为了增强CPU在某些方面(如多媒体)的功能而特意开发出的一组程序代码集合。常见的指令集有哪些呢?MMX(Multi-Media Extensions,多媒体扩展):Intel1996年推出的一项多媒体指令增强技术。共包含57条多媒体指令,这些指令一次可以处理多个数据。MMX的主要问题是,CPU无法同时处理浮点和SIMD数据,只对整数起作用(不支持浮点计算)...

2018-09-26 10:48:18 5551

转载 size_t 数据类型

size_tsize_t 是一些C/C++标准在stddef.h中定义的,size_t 类型表示C中任何对象所能达到的最大长度,它是无符号整数。它是为了方便系统之间的移植而定义的,不同的系统上,定义size_t 可能不一样。size_t在32位系统上定义为 unsigned int,也就是32位无符号整型。在64位系统上定义为 unsigned long ,也就是64位无符号整形。size...

2018-09-17 19:53:13 129422 5

空空如也

空空如也

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

TA关注的人

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