自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JVM(三)垃圾回收机制

简介Java进程在启动后会创建垃圾回收线程,对内存中无用的对象进行回收,垃圾回收的时机1,System.gc(),此方法的调用是建议JVM进行FGC(Full GC),并非一定,但是在很多情况下它会触发FGC2,由垃圾回收机制决定:创建对象时需要分配内存,如果空间不足,就会触发GC; 其他回收机制java.long.object中的finailize()方法,jvm确定存在没有引用指向该...

2020-04-16 14:38:37 80

原创 JVM(二)对象以及类加载

对象的创建:Java程序在运行的过程中无时无刻的在创造着对象(new),在语言中仅仅是一个new关键字,而在虚拟机层面则是一个复杂的过程。虚拟机遇到new字,首先检查一下线程池中能否找到这个类的符号引用,并检查这个符号所代表的类是否被已加载,解析和初始化,如果没有的话,就需要进行类加载类加载之后虚拟机将进行内存分配,对象所需的内存时在类加载后就可以完全确定,分配方式:连续内存中用“指针碰撞的...

2020-04-15 20:27:10 66

原创 jvm学习(一)内存模型及自动内存管理机制

内存模型:1.7版本:Java进程 ,本地内存,Java进程包括:线程,堆, 方法区,本地内存中包括直接内存,其中线程中包括程序计数器,jvm虚拟机栈,本地方法栈,方法区中包括,类常量池和运行时常量池,堆中包括字符串常量池。1.8版本:与1.7版本相比,本地内存中增加了一个元数据区,元数据区就是1.7版本中的方法区。Java进程中只有线程和堆,其中堆中有字符串常量池。程序...

2020-04-15 12:01:39 65

原创 排序算法

(一)冒泡排序:前面是已排区间[0,bound]; 后面是待排区间[bound+1,arr.length-1]private void bobuble(int[]arr){ for(int bound=0;bound<arr.length;bound++){ //控制趟数 for(int j=arr.length-1;j&l...

2019-11-24 23:18:47 66

原创 异常

在Java中所有的异常被封装在一个类中1,背景:程序在运行时出现错误通知调用者的一种机制(一名合格的程序员可以保证,程序在编译期间不会编译出错)运行时错误:程序已经编译通过得到.class文件了,在交移到jvm运行时出现了错误防御式编程:程序出现错误能及时通知程序员两种方式:1,先操作,再处理(EAFP) 异常的核心就是EAFP2,在操作前,做好充分的检查(LBYL)使用异常的好处:正...

2019-11-22 11:31:23 54

原创 动态内存管理

存在动态内存分配的原因:动态内存函数介绍:malloc, calloc,realloc,free常见的动态内存错误柔性数组以int a=10; char a[10]=0;为例空间开辟的大小是固定的;数组在声明的时候必须指定长度,内存在编译的时候分配但是有时候我们需要的空间大小在运行的时候才能确定,内存在编译时分配就不适应了,malloc 函数:void* malloc(size_t ...

2019-07-09 12:36:47 51

原创 指针(3)

1,字符指针2,数组指针3,指针数组4,数组传参和指针传参5,函数指针6,指向函数指针数组的指针7,函数指针数组8,回调函数1,字符指针以char* 为例int main(){char b=‘c’;char *p=&b;*p=‘c’;return 0;}还有一种方法int main(){char *p=“hello”printf("%s",p);...

2019-07-05 21:58:21 103

原创 指针(1)

指针(一切都是地址)1,内存和地址计算机的内存由数以亿万计的位(bit)组成,每一个位包含0或者1,但是,一个位的表达没有意义,就把多个位组合起来(一般是8个)构成一个字节,但是这样的话依然存不了更多的值,就把两个字节或多个字节组合起来,形成字来放更大的值(2^32 -1);#(尽管有多个字节,但是它依然只有一个地址)2,指针构成(声明+解引用)int a=10;int* p=&amp...

2019-06-11 17:54:45 54

原创 操作符简介

1,算数操作符/ %除了%之外(两数必须为整数),其他操作符都可以用于整数和浮点数的操作结果的符号与模前数一致;例子:printf("%d\n",10%3); =1printf("%d\n",-10%3); = -1printf("%d\n",(-10)%(-3) ); = -1printf("%d\n...

2019-05-23 14:05:20 98

原创 三子棋

#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#define hang 3#define lie 3void chushihua(char arr[hang][lie],...

2019-05-20 16:30:24 62

原创 扫雷

#ifndef GAME_H(头文件)#define GAME_H#include <stdio.h>#define HANG 9#define LIE 9#define HANGS HANG+2#define LIES LIE+2#define leishu 10#include <time.h>#include <stdlib.h>vo...

2019-05-20 16:26:41 97

原创 c语言初阶(1)整体认识

任何一门语言都是,由数据类型,常量变量,字符(字符串),语句,函数,数组,操作符,关键字构成的,c也不例外。数据类型分为char(字符型),int(整形),long(长整形), short(短整型),float(单精度浮点型),double(双精度浮点数)c语言是没有字符串 的。变量为全局变量和局部变量,局部变量在代码块之中,作用域是所在的局部范围,生命期间是从进入到走出的这一阶段(可用sta...

2019-05-15 23:56:09 105

转载 过桥问题

(一) 过桥问题:4人过桥,ABCD要单独过桥分别需要用时1分、2分、5分、10分,过桥需要灯(只有一盏),一次只能2人一起过(意味着需要有人送灯回来),过桥时间已用时多的人为准,最短需要多长时间两种方法,(1)花费时间最少的依次陪着其他人过去(单个花费时间最少,总体上不一定);(2)花费少的两个过去,留一个在对面(这个人还要回来的),另一个回去(这个比留的花费时间少)另外两个大的过去,然后...

2019-05-15 23:53:42 1172

空空如也

空空如也

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

TA关注的人

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