转行小白成长路-java篇
第五章:初始化与清理
前几章怎么看都没发现有什么逻辑顺序,感觉都是相互独立的,在讲述java语言构成的基本单位和规则。这个先放置一边。
- java中初始化有两层含义,其一是创建,二是赋值。 其本质也就是在内存中开辟一个新的区间,存储数据然后再建立一些引用关系。其中的原理就不能继续猜测了,因为这可能涉及数据结构和IO过程,真的不晓得,但是大致猜测一下这种开辟内存空间的方式可能就一种方式或者说就一个指令,为数不多,所以初始化一个对象的方式就只能调用构造器。起初我以为new关键字才是触发内存分配的关键,可是在一些逻辑上有些不通,比如说映射的方式构建对象并没有new,而且如果new可以分配空间,完全没有必要再创建构造器的概念。唯一说的通的就是构造器有开辟空间的作用,这部分读jvm的时候应该就能确定了。目前先认定构造器创建对象,但还有赋值部分没有做,这就需要后续的添加。先创建对象型,也就是都有哪些成员变量和方法,方法部分应该是完全的,因为存储的代码逻辑都是固定的。重点在成员变量,赋值,便是对成员变量赋值。
但现实中有一些情况对象在创建的时候就顺带要赋值,比如说学生,不管叫什么名字,他的身份就是学生,这部分应该创建的时候就被赋值。这时候就需要构造器不仅创建对象,还有兼具一些赋值的操作。于是构造器的重载出现的还是顺利成章的。因为构造器名称必须要和类名相同(为了防止混乱),在现有的规则下最好的方式就是通过形参在构造器方法体内完成赋值。这是一种很好用的方式,同一类动作完成得到不同的结果。运用到普通方法中也是理所应当的。
- 有一些情况还是需要特殊考虑的,比如说需要独立于范围之外的变量作为参照,也就是全局性的变量或者方法,所有对象大家共用的,生命周期跟随类型一样长久。引出static关键字,也就很好理解static在文件读取时一定是先被执行的那个了,毕竟他是类型的。有独立于对象之外自然也就有每个对象之中的this-当前对象的引用。static修饰的变量存放的位置也和普通成员变量不同(静态区域?不敢确定)。
第五章有些多,明天接着整理清理和初始顺序。
转行小白成长路-java篇的更多相关文章
- 转行小白成长路--java基础
每天都会发一篇,一点一滴,记录在这条路上的足迹.立个flag 2019年3月份至今已近一年,对信息技术有个大概的了解,个人认为对于这门技术更应该从最底层的原理入手,了解计算机演化的历史,从计算机语言到 ...
- 《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》
<菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师> 国庆节快乐!一年一度长度排第二的假期终于来了. 难得有十一长假,作者也想要休息几天啦. 不管你是选择出门玩,还是在公司加班,在学 ...
- 原创电子书《菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师》
<菜鸟程序员成长之路:从技术小白到阿里巴巴Java工程师> 国庆节快乐!一年一度长度排第二的假期终于来了. 难得有十一长假,作者也想要休息几天啦. 不管你是选择出门玩,还是在公司加班,在学 ...
- linux小白成长之路10————SpringBoot项目部署进阶
[内容指引] war包部署: jar包部署: 基于Docker云部署. 一.war包部署 通过"云开发"平台初始化的SpringBoot项目默认采用jar形式打包,这也是我们推荐的 ...
- 1、Java小白之路前言
大二一年准备好好学习Java,养成一个良好的习惯写博客,但是由于各种各样的原因,并没有坚持下来.而正好又赶上大三结束,去实习,发现自己的基础还是有些薄弱,所以决定,重新走上这条Java小白之路. 时隔 ...
- 1、JAVA的小白之路
大学的时光过得很快,转眼我已经大二了,在大一时,学习了C\C++,对于语言有一定基础,在未来的道路上,我需要攒足干劲,积累足够的知识和技能,去走上社会. 我的第一任大学班主任告诉我:“作为程序员,你至 ...
- 一个IT人的成长路
毕业四年多了,来深圳三年多了,经历了刚毕业的懵懂少年,成长为现在的成熟稳重青年.职场上,从刚毕业的小白,成长为现在可以成熟应对各种事情的老司机.经历过从初级研发工程师,到中级研发工程师,到高级研发工程 ...
- 我的阿里之路+Java面经考点
我的阿里之路+Java面经考点 时间:2018-03-19 23:03 来源:未知 作者:admin 点击:87次 我的2017是忙碌的一年,从年初备战实习春招,年三十都在死磕JDK源码,三 ...
- [转]有哪些值得关注的技术博客(Java篇)
有哪些值得关注的技术博客(Java篇) 大部分程序员在自学的道路上不知道走了多少坑,这个视频那个网站搞得自己晕头转向.对我个人来说我平常在学习的过程中喜欢看一些教程式的博客.这些博客的特点: 1. ...
随机推荐
- C++ STL——优先队列的结构体表示方法
优先队列是队列的一种,但是自身具有一定的排序功能,所以不具有队列“先进先出”的性质 刚刚接触优先队列,看过网上的用法后感觉还是太过于朦胧,所以打算自己写一个稍微细节一点的. 头文件 #include& ...
- 动手学习Pytorch(7)--LeNet
Convolutional Neural Networks 使用全连接层的局限性: 图像在同一列邻近的像素在这个向量中可能相距较远.它们构成的模式可能难以被模型识别. 对于大尺寸的输入图像,使用全连接 ...
- DOCKER绝对领域从2048到4069?不:25519,数字的飞跃,HTTP/2
这个标题花了几分钟,远远超过我构思以下内容的时间损耗,希望大家且看且珍惜,因为这是为数不多的cnblog特别标题 我记得很久以前,我开了一系列随笔,从第一篇揭发233的docker/machine开始 ...
- Prometheus监控k8s集合
Prometheus监控k8s Prometheus监控k8s(1)-Prometheus简介 Prometheus监控k8s(2)-手动部署Prometheus Prometheus监控k8s(3) ...
- Mysql 在线新建或重做主从
1. 前言 以前给 Mysql 数据库做主从,都是在主服务器停服的情况下做的.但是最近有一个项目,已经上线几天了,数据库也单服务器跑了几天,才确定要给 Mysql 服务器做一个主从架构,简单的一主一从 ...
- 使用Git和Svn
一. 使用SVN 1. 下载tortoiseSVN 2. 右键SVN checkout(下载项目到本地) 3. 更新和提交 二. 使用GIT 1. 下载git 2. 下载tortoiseGit 3. ...
- HDU 5234 背包。
J - 10 Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Statu ...
- Docker Compose搭建Redis一主二从三哨兵高可用集群
一.Docker Compose介绍 https://docs.docker.com/compose/ Docker官方的网站是这样介绍Docker Compose的: Compose是用于定义和运行 ...
- 珠峰-架构6-es6
let aa = ; { console.log(aa); } // ----- let aa = ; { console.log(aa); // 报错 aa is not defined let a ...
- h5笔记(实战)
1.margin:auto 水平居中只对block有效,对inline和inline-block都无效 2.text-align:center 内容居中对block和inline-block有效,对i ...