Android 开发
|
广东工业大学 数智工作室 在学习Android,希望不要毕业即失业的学生。
热爱分享,欢迎star
获得徽章 19
#每天一个知识点#
包装类型的缓存机制
通俗的讲,就是基本数据类型的包装类会默认创建缓存数据。如果不去重新new一个包装类型的话,而是直接给其赋值,会使用默认创建的缓存数据来赋值。
Byte,Short,Integer,Long 这 4 种包装类默认创建了数值 [-128,127] 的相应类型的缓存数据,Character 创建了数值在 [0,127] 范围的缓存数据,Boolean 直接返回 True/False。
所以缓存机制不一定全面使用缓存,超出对应缓存数据大小的话还是会去创建新的对象。
#每天一个知识点#
Java中基本类型和包装类型有什么区别吗
1. 用途不同:基本数据类型常用于常量、局部变量、参数等;包装类常用于泛型、对象属性等。
2. 存储方式不同:基本数据类型中,局部变量存放于虚拟机栈的局部变量表,未static成员变量存放于虚拟机的堆中;包装类型作为对象存放于堆中。
3. 占用空间:基本数据类型<包装类
#每天一个知识点#
Java和C++都是面向对象语言,他们都有封装继承多态的特性。不同点如下
1. Java无法使用指针访问内存,更加安全。
2. Java的类是单继承的,而C++的类是多继承的。
3. Java有自动垃圾回收机制。
4. Java只支持方法重载,而C++支持操作符和方法重载。
#每天一个知识点#
何为AOT,AOT是Ahead-Of-Time的首字母缩写,指程序运行之前发生的编译行为,特指解释型代码中的行为,编译型本身就是运行前编译,无需这个代称。
AOT有别于JIT。AOT是一种预见型过程,在代码未执行的时候就预先编译某种过程,减少程序运行时间。而JIT则是理解型过程,必须先有一次字节码解释运行,再归类出热点代码进行编译到缓存中。这两者是不一样的。
那为什么不全部换成AOT呢?因为全使用就变成编译型代码了,缺失了Java的核心的动态特性。
#每天一个知识点#
所谓字节码,即为jvm可以理解的代码为字节码(.class📄),其只面向虚拟机。Java中通过字节码的方式,一定程度上解决了传统解释性语言效率低的问题,也保留其可移植性的特点。
所以Java是相对高效的,且其可以无需重新编译就可以在不同操作系统中运行。
#每天一个知识点#
JDK是功能齐全的SDK,给开发者使用的,能够创建和编译Java程序。其包含了 JRE、编译 java 源码的编译器以及一些其他工具。
JRE是Java运行时环境,包含运行时环境和必要的类库。是.class文件所需所有内容的集合,包含虚拟机和基础类库。
#每天一个知识点#
Java的语言特性
1. 简单易学
2. 封装、继承、多态
3. 平台无关性(虚拟机)
4. 可靠的内存管理和异常处理
#每天一个知识点#
设计模式中责任链模式会常用于哪些地方呢?有哪几个著名框架是主要运用了这种模式
#每天一个知识点#
Yolo目标检测算法已经发布到v8了。新版本被设计为可拓展的框架,更换的新的损失函数和无锚网络检测头,高效方便多种硬件平台运行。
#每天一个知识点#
几个不稳定的排序算法里面,哪个排序是最稳定的呢?
下一页