自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C#中的集合、事件和委托

集合1定义:集合就是一种存放多个数据的容器类型,比如之前学过的数组Array(完整的类型是System.Array)。预定义的常用集合:动态数组:ArrayList;列表:List;字典:Dictionary;队列:Queue;栈:Stack。动态数组ArrayList:初始化,可以不指定大小;获取长度,使用Count属性;添加Add;删除Remove,RemoveAt;访问...

2019-03-13 01:01:30 565

原创 C#面向对象入门知识(二)

C#面向对象入门知识(二)泛型泛型类定义:泛型类就是一个模子,装入类型的材料,可以塑造出想要的产品。class Cage<T>{ T[] array; readonly int Size; int num; public Cage(int n){ Size =n; num=0; array=new T[size]; ...

2019-03-12 01:19:53 130

原创 C#面向对象入门知识

C#面向对象入门因为之前有过Java基础,这里通过网课简单的学习一下C#,并简单的记录了一下两者的异同。###继承例如:public class A:B,与java不同的是用:而不是extends.例如:public class A:B,与java不同的是用:而不是extends.隐藏方法如果继承了方法和属性,需要修改,那就可以使用new来重写,比如:new public void ...

2019-03-10 22:42:30 679

原创 JVM学习笔记(七)对象创建过程(下)

PS:上半部分我们已经讲解了对象创建时机,以及类加载机制,这里我们继续上次没讲完的部分讲解。java堆已有更详细的对象分配内存过程,这里大家可以看一下之前的博文,但我们还是简单的复习一下:Java堆对象分配内存在类加载检查通过之后,接下来虚拟机将为新生对象分配内存。对象所需内存的大小在类加载完成后便可完全确定,为对象分配空间的任务具体便等同于一块确定大小的内存从Java堆中划分出来。这时候...

2018-12-01 16:03:47 255

原创 JVM学习笔记(七)对象创建过程(上)

对象的创建对象(讨论的对象限于普通Java对象,不包括数组和Class对象等)的创建是一个怎样的过程?所以,我们按照图上的过程来进行对象创建过程的分析。Java对象创建时机我们知道,一个对象在可以被使用之前必须要被正确地实例化。在Java代码中,有很多行为可以引起对象的创建,最为直观的一种就是使用new关键字来调用一个类的构造函数显式地创建对象,这种方式在Java规范中被称为 : **...

2018-12-01 15:57:45 483

原创 JVM学习笔记(六)直接内存

直接内存首先书上这样说:直接内存并不是虚拟机运行时数据区的一部分,也不是Java虚拟机规范中农定义的内存区域。但是这部分内存也被频繁地使用。在JDK1.4 中新加入了NIO(NewInput/Output)类,引入了一种基于通道(Channel)与缓冲区(Buffer)的I/O 方式,它可以使用native函数库直接分配堆外内存,然后通过一个存储在Java堆中的DirectByteBu...

2018-12-01 15:45:44 245

原创 JVM学习笔记(五)方法区

方法区首先,书上这样描述方法区:方法区(Method Area)与Java堆一样,是各个线程共享的内存区域。它存储已被Java虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。虽然Java虚拟机规范把方法区描述为堆的一个逻辑部分,但它却有一个别名叫做Non-Heap(非堆),目的应该是与Java堆区分开来。对于习惯在HotSpot虚拟机上开发、部署程序的开发者来说,很...

2018-12-01 15:42:41 455

原创 JVM学习笔记(四)Java堆

Java堆同上,书上对于java堆的描述:Java堆是Java虚拟机所管理内存最大的一块。Java堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。此内存区域的唯一目的就是存放对象实例,几乎所有对象实例都在这里分配内存。java虚拟机规范中描述:所有的对象实例以及数组都要在堆上分配,但随着技术发展与逃逸分析技术逐渐成熟,栈上分配、标量替换优化技术将会导致一些微妙的变化发生,并不绝对了...

2018-12-01 15:34:05 285

原创 JVM学习笔记(三)本地方法栈

##本地方法栈(Native Method Stack)  本地方法栈的功能和特点类似于虚拟机栈,均具有线程隔离的特点以及都能抛出StackOverflowError和OutOfMemoryError异常。  不同的是,本地方法栈服务的对象是JVM执行的native方法,而虚拟机栈服务的是JVM执行的java方法。如何去服务native方法?native方法使用什么语言实现?怎么组织像栈帧这种...

2018-12-01 15:30:25 1867

原创 JVM学习笔记(二)Java虚拟机栈

java虚拟机栈书上的描述:java虚拟机栈也是线程私有的,它的生命周期与线程相同。虚拟机栈描述的是java方法执行的内存模型:每个方法执行的同时都会创建一个栈帧(StackFrame),用于存储局部变量表、操作数栈、动态链接、方法出口*等信息。每一个方法的执行就对应着栈帧在虚拟机栈中的入栈,出栈过程。局部变量表存放编译期可知的各种基本数据类型、对象引用类型和returnAddress...

2018-12-01 15:27:46 188

原创 JVM学习笔记(一)程序计数器

我们需要知道Java虚拟机运行时数据区:程序计数器首先,为什么要有程序计数器?为了保证程序(在操作系统中理解为进程)能够连续地执行下去,CPU必须具有某些手段来确定下一条指令的地址。而程序计数器正是起到这种作用,所以通常又称为指令计数器。接着,在书上的介绍是:1.程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作...

2018-12-01 15:22:37 2209 1

空空如也

空空如也

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

TA关注的人

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