转行小白成长路-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. ...
随机推荐
- Lua使用luasocket http请求例子
local http=require("socket.http"); local request_body = [[login=user&password=123]] lo ...
- 使用ClouderaManager管理的HBase的RegionServer无法启动(启动失败)的问题
问题概述 "新冠期间"远程办公,需要重新搭建一套ClouderaManager(CM)开发环境,一位测试同事发现HBase的RegionServer无法启动,在CM界面上启动总是失 ...
- Markdown 教程
Markdown 简介 Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档. Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建. ...
- MySQL复制(四)—多源(主)复制
(一)多主复制概述 MySQL从5.7版本开启支持多主复制,所谓多主复制,是将多个主库的数据复制到一个从库中.通常用于数据仓库整合数据,比如OLTP系统为了分散业务压力,对数据库进行分库分表,当要对数 ...
- Go语言实现:【剑指offer】把二叉树打印成多行
该题目来源于牛客网<剑指offer>专题. 从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行. 需要分层,二维数组. Go语言实现: /** * Definition for ...
- Go语言实现:【剑指offer】数组中出现次数超过一半的数字
该题目来源于牛客网<剑指offer>专题. 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组 ...
- 动手学习pytorch——(1)线性回归
最近参加了伯禹教育的动手学习深度学习项目,现在对第一章(线性回归)部分进行一个总结. 这里从线性回归模型之从零开始的实现和使用pytorch的简洁两个部分进行总结. 损失函数,选取平方函数来评估误差, ...
- ArtiPub:一款开源的一文多发平台
文章来自我的博客:https://blog.ljyngup.com/archives/705.html/ 看到感觉挺有意思的,有空找个空闲的VPS搭建一下. 转自官方Github仓库 ArtiPub ...
- javascript canvas全部API
HTMLCanvasElement//canvas elem对象 属性 height//高 width//宽 方法 getContext()//获取<canvas>相关的可绘制的上下文 t ...
- Hexo搭建静态博客踩坑日记(二)
前言 Hexo搭建静态博客踩坑日记(一), 我们说到利用Hexo快速搭建静态博客. 这节我们就来说一下主题的问题与主题的基本修改操作. 起步 chrome github hexo git node.j ...