首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
大黄的知识空间
获赞
6
粉丝
1
关注
0
看过 TA
1
广州大学华软软件学院
2021
Java
IP属地:未知
暂未填写个人简介
私信
关注
拉黑
举报
举报
确定要拉黑大黄的知识空间吗?
发布(23)
评论
刷题
收藏
大黄的知识空间
关注TA,不错过内容更新
关注
2022-02-27 11:35
广州大学华软软件学院 Java
JVM的执行过程
JVM是执行Java程序的虚拟机计算机系统,首先需要准备好编译好的java字节码文件(class文件),然后通过类加载器将class文件加载到内存中(运行时数据区),但是字节码文件是JVM定义的一套指令规范,并不能直接交给底层操作系统去执行,因此需要命令解释器(执行引擎)将字节码翻译成操作系统指令集交给CPU去执行,这个过程中需要调用到一些不同语言为java提供接口(比如驱动、地图制作等),这就用到了本地Native接口(本地库接口).
0
点赞
评论
收藏
分享
2022-02-27 11:28
广州大学华软软件学院 Java
JVM的组成部分
1.JVM包含几部分? JVM由四部分组成:类加载器、运行时数据区、执行引擎、本地库接口。如下图可以大致描述JVM的结构。
0
点赞
评论
收藏
分享
2022-02-24 23:28
已编辑
广州大学华软软件学院 Java
访问控制修饰符
public:共有访问,对所有类可见; protected:保护型访问,对同一包内的类和不同包的所有子类可见(接受包外的子类访问); default:默认访问权限,只对同一个包可见,注意对不同的包的子类不可见(拒绝一切包外访问); private:私有访问,在同一个类可见,其余都不可见。
0
点赞
评论
收藏
分享
2022-02-24 23:14
广州大学华软软件学院 Java
重写和重载的使用详解
一、方法的重写:在继承关系中定义一个与父类相同的方法。 1.方法重写的两同两小原则: (1)方法名相同,参数列表相同; (2)子类返回类型小于等于父类方法返回类型; (3)子类抛出异常小于等于父类方法抛出异常; (4)子类访问权限大于等于父类方法访问权限。 2.被重写的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行重写。 3.静态方法不能被重写为非静态的方***编译出错)。 二、方法的重载:一般是用于在一个类内实现若干重载的方法,这些方法的名称相同而参数形式不同。 1.重载的规则: (1)在使用重载时只能通过相同的方法名、不同的参数形式实现。不同的参数类型可以是不...
0
点赞
评论
收藏
分享
2022-02-24 22:08
已编辑
广州大学华软软件学院 Java
final的使用
final修饰类、方法、属性。但不能修饰抽象类,因为抽象类一般需要被继承,final修饰后就不能被继承了。 final修饰类,则该类不能被继承。 final修饰方法,则方法不能被重写,但能被重载。重载和重写要区分开,父子之间是重写,同一个类里面是重写。 final修饰属性,此属性就是一个常量,不能被再次赋值;属性的引用地址不可变,但是地址中的内容可以变。 (1)对于一个final变量,如果是基本数据类型的变量,则其数值一旦初始化之后便不能被更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。 (2)根据下面的代码,可以看出StringBuilder中的内容变了,但所指向...
0
点赞
评论
收藏
分享
2022-02-24 20:20
已编辑
广州大学华软软件学院 Java
数据类型之间的转换
自动类型转换从低级到高级进行;强制类型转换是从高到低进行。 低-------------------------------------->高 byte,short,char-> int -> long ->float ->double 数据类型转化必须满足如下规则: (1)boolean类型不能和任何类型进行转换,否则出现编译异常。 (2)不能把对象类型转换成不相关类的对象。 (3)在把容量大的类型转换为容量小的类型时必须使用强制类型转换。 (4)转换过程中可能导致溢出或损失精度。 多种混合计算时,自动将所有数据类型转换为容量最大的一种数据类型。
0
点赞
评论
收藏
分享
2022-02-24 19:20
已编辑
广州大学华软软件学院 Java
long、float、double的使用
long、float、double正常定义时需要加l、f、d;但是它们三个属于基本数据类型,会自动进行转化,所以不会出现编译报错。 long l = 012; float f = -321; double d = 322;
0
点赞
评论
收藏
分享
2022-02-24 18:09
已编辑
广州大学华软软件学院 Java
int类型的使用
a是int类型,5也是int类型,而13/5的结果是double浮点类型;double类型的结果赋值给a时会隐式转换为int类型;会将double类型的值的小数点后的部分截断,只保留小数点前的部分,并将这部分赋值给int类型的a。 基本型和基本型封装型进行“==”运算符的比较,基本类型型封装类将会自动拆箱变为基本类型后再进行比较,如a和b。 两个Integer类型进行“==”比较, 如果其值在-128至127 ,那么返回true,否则返回false, 这跟Integer.valueOf()的缓冲对象有关,这里不进行赘述。如c,h,e,f. 两个基本型的封装型进行equals()比较,首先equ...
0
点赞
评论
收藏
分享
2022-02-24 21:24
已编辑
广州大学华软软件学院 Java
byte类型使用
a和b是byte类型,java中byte类型的变量在做运算时都会被转化为int类型的值,故代码中语句1里等号的左边为byte类型,右边为int类型,需要向下强制转化为byte类型,否则编译报错。 语句2中的a+=b;此语句会将被赋值的变量自动强制转化为相对应的类型。 byte能表示的范围[-128,127],如语句3中的159为int类型了,需要向下强制转化为byte类型,否则编译报错。 被final修饰的变量时常量,语句4可以看成是w=10;在编译时就已经变为w=10了。 byte a = 3; byte b =2; b= (byte) (a+b);//语句1 a+=b; //语句2 b...
0
点赞
评论
收藏
分享
2022-02-24 17:13
已编辑
广州大学华软软件学院 Java
数据类型
一.数据类型分为基本数据类型和引用数据类型。 基本数据类型(也称原始类型):byte,short,int,long,char,float,double,boolean。 byte默认值为0,占用1个字节;short默认值为0,占用2个字节;int默认值为0,占用4个字节;long默认值为0L,占用8个字节;char默认值为'u0000',占用2个字节;float默认值为0.0f,占用4字节;double默认值是0.0d,占用8个字节;boolean默认值是false 引用数据类型:类、接口、数组。 二.基本数据类型和包装类之间的转换: 基本数据类型转化为包装类就是装箱(如:int --...
0
点赞
评论
收藏
分享
2022-02-24 16:20
广州大学华软软件学院 Java
数组是一个对象
在java中,数组存储在堆中连续内存空间里。 java中的数组,是一种引用数据类型,那么它肯定是继承Object类的,所以里面有equals()方法是Object类的;Object.equals比较的是两个数组的地址,相当于==的作用;如果想遍历数组中的元素进行一一比较,那么应该选择Arrays.equals(); int[] arr1 = {1,2,3}; int[] arr2 = {1,2,3}; System.out.println(arr1.equals(arr2));//false
0
点赞
评论
收藏
分享
2022-02-24 16:06
广州大学华软软件学院 Java
数组复制方法效率分析
java语言的下面几种数组复制方法中,哪个效率最高: 复制的效率System.arraycopy>clone>Arrays.copyOf>for循环 System类源码中给出了arraycopy的方法,是native方法,也就是本地方法,肯定是最快的。 clone():native方法,但并未手写,需要JNI转换,速度其次。 Arrays.copyof(注意是Arrays类,不是Array)的实现,在源码中是调用System.copyOf的方法,多了一个步骤,肯定就不是最快的。 for():全是深复制,并且不是封装方法,最慢情有可原。
0
点赞
评论
收藏
分享
2022-02-24 15:53
广州大学华软软件学院 Java
二维数组
定义格式: int[][] arr1 = new int[3][4];//arr里面包含3个数组,每个数组里面有四个元素;相当于定义了一个3*4的二维数组,即二维数组的长度为3,二维数组中每个元素的长度又是一个长度为4的数组。 int[][] arr2 = new int[3][];//跟第一种类型,只是数组中每个元素的长度不确定。 int[][] arr3 = {{1,2},{3,4,5},{6,7,8,9}};//二维数组中定义了三个数组,分别为{1,2},{3,4,5},{6,7,8,9} int[] arr4[] = new int[6][6]; 但是不能这样定义,会报错:float...
0
点赞
评论
收藏
分享
2022-02-24 15:38
广州大学华软软件学院 Java
一维数组
数组初始化有三种方式: 动态初始化:数组定义与数组分配空间和赋值的操作分开进行。 静态初始化:在定义数组的同时就为数组元素分配空间并赋值。 默认初始化:数组是引用类型,他的元素相当于类的成员变量;因此数组分配空间后,每个元素也被按照成员变量的规则被隐式初始化。 //动态初始化 int[] a;//int a[];两者都可以 a = new int[10]; a[0] = 0; a[1] = 1; a[2] = 2; //静态初始化 int[] b = {0, 1, 2};//int b[] = {0, 1, 2};两者都可以 //默认初始化 int[] c = new int[10];/...
0
点赞
评论
收藏
分享
2022-02-24 15:00
已编辑
广州大学华软软件学院 Java
接口和抽象类的区别和联系
jdk1.7中,接口和抽象类的区别和联系 抽象类中可以有普通成员变量,接口中没有普通成员变量;接口中允许定义成员变量,但必须是常量。 抽象类中可以含有私有成员变量,接口中不含有私有成员变量。 抽象类和接口都可以包含静态成员常量(public static final)。 抽象类可以包含非抽象的普通方法,接口中的方法必须是抽象的。 jdk1.8之后,接口和抽象类的区别和联系 接口和抽象类中的方法可以有方法体。接口中的方法可以被default或static修饰,被修饰的方法必须有方法体,就是有{}.抽象类的普通方法是可以有方法体的。 public abstract class test1 ...
0
点赞
评论
收藏
分享
1
2
创作者周榜
更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务