java的重修之路
一、内存管理
java里的声明分引用与基本数据类型。
数组:
java里new一个对象数组为 person[] A; A = new person[4]; person[0] = new person();
第一句声明了1个A数组引用变量,指向为null。第二句让A指向一个长度为4的数组内存,数组元素类型是person引用类型,值为null,此时并没有分配内存。所以才有第三句,第三句是真正意义上的分配内存。
java里new多维数组为 int[][] a; a = new int[4][]; a[0] = new int[4];
第一句声明了1个二维数组引用变量,指向为null。第二句声明让a指向一个长度为4的数组内存,数组元素是一维数组引用类型,值为null,此时并没有分配内存。第三句分配了一个长度为4的一维数组,因为数组元素是int,所以变量自动填补为0。(如果把int改为person,则到这里还不够,还需要继续new,为每个person分配内存)。
实例变量与类变量:
被static修饰的是类变量。每个类中有一份类变量,类变量一开始就有内存。所以static方法可以访问static变量,但访问普通变量必须先new,因为普通变量没有分配内存。
对于类变量,系统首先为其分配内存空间,并将基本数据类型赋值为0或null;之后再根据初始化顺序依次初始化。
父子实例的内存控制:方法会覆盖,变量不不会被覆盖。这里就牵扯到多态问题了。一个父类引用指向一个子类时,当用该引用调用方法 引用.方法(),调用的是实际类型的方法(子类方法);当用该引用调用变量时 引用.变量,调用的是声明类型的变量(父类变量)。
final修饰符:
很多情况下,final修饰的变量会被当做宏替换处理。子类若能访问到父类的final方法,则不能对final方法进行重写。
final的用途:
- 锁定方法,防止被继承类修改。
- 写出可以在运行时被确定的代码,从而可以内嵌调用。
内部类:成员内部类、静态内部(嵌套)类、方法内部类、匿名内部类 。
成员内部类:
java的重修之路的更多相关文章
- 【转】java架构师之路:JAVA程序员必看的15本书的电子版下载地址
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水 ...
- paip.java 架构师之路以及java高级技术
paip.java 架构师之路以及java高级技术 1. Annotation 设计模式... 概念满天飞.ORM,IOC,AOP. Validator lambda4j memcache. 对 ...
- Java架构师之路:JAVA程序员必看的15本书
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水 ...
- Java工程师修炼之路(校招总结)
Java工程师修炼之路(校招总结) 前言 在下本是跨专业渣考研的985渣硕一枚,经历研究生两年的学习积累,有幸于2019秋季招聘中拿到几个公司的研发岗offer,包括百度,阿里,腾讯,今日头条,网易, ...
- Java工程师修炼之路(从小白到BAT的两年学习历程)
作者:陆小凤 文章首发于:微信公众号[程序员江湖] 前言 在下本是跨专业渣考研的985渣硕一枚,经历研究生两年的学习积累,有幸于2019秋季招聘中拿到几个公司的研发岗offer,包括百度,阿里,腾 ...
- java架构师之路:推荐的15本书
作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水 ...
- 入坑Java的自学之路
# 入坑Java的自学之路 ## 基础知识 - 编程语言:Java python c- 基本算法- 基本网络知识 tcp/ip http/https- 基本的设计模式 ------ ## 工具方面 - ...
- Java技能提升之路
James收集Java技能提升方面的资料,分为:基础篇.提高篇.高级篇… 给出“入口”,自我提升 1. Java工程师成神之路:http://www.hollischuang.com/archives ...
- Java成神之路[转]
阿里大牛珍藏架构资料,点击链接免费获取 针对本文,博主最近在写<成神之路系列文章> ,分章分节介绍所有知识点.欢迎关注. 主要版本 更新时间 备注 v1.0 2015-08-01 首次发布 ...
随机推荐
- JavaScript的一些基本语句代码如下!!!!
<html><body> <script type="text/javascript">document.write("<h1& ...
- 如何修改ECShop发货单查询显示个数
使用ecshop的朋友都知道,商城首页调用的发货单查询,默认显示的10个.很多朋友想修改它的数量,可是在后台管理却找不到相应的地方,这个修改和显示排行榜的数量修改方法不一样.排行榜是可以在后台修改的, ...
- 北邀 E Elegant String
E. Elegant String Time Limit: 1000ms Case Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer ...
- client/offset/srooll位置与关系
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- gulp 建立一个简单的自动化
前端项目需要的功能: 1.图片(压缩图片支持jpg.png.gif) 2.样式 (支持sass 同时支持合并.压缩.重命名) 3.javascript (检查.合并.压缩.重命名) 4.html (压 ...
- ie兼容整理
那里面有东西要长研究 ie bug集合关于如何给各种浏览器打bug,可查询:browser hacks 几篇处理ie问题的帖子,帖子1
- 蚂蚁运输(ant)
蚂蚁运输(ant)Time Limit:5000ms Memory Limit:64MB[题目描述] LYK 在观察一些蚂蚁.蚂蚁想要积攒一些货物来过冬.积攒货物的方法是这样的.对于第i只蚂蚁, 它要 ...
- MUI 个推
个推 四种消息模板(透传消息模板.点击通知打开网页模板.点击通知打开应用模板.点击通知栏弹框下载模版) 三种推送方式(对单个用户推送接口 | 对指定用户列表推送接口 | 对指定应用群推接口) 四种消息 ...
- Android Studio教程,Android Studio安装教程
http://jingyan.baidu.com/article/67662997393cf654d51b8435.html
- JavaScript的数据类型
JavaScript的数据类型 1.JavaScript的数据类型包括:字符串.数值.布尔.数组.对象.Null.Undefined. 2.JavaScript拥有动态类型,这以为着同一个变量可用作不 ...