Eclipse中的快捷键快速生成常用代码(例如无参、带参构造,set、get方法),以及Java中重要的内存分析(栈、堆、方法区、常量池)
(一)Eclipse中的快捷键:
ctrl+shift+f自动整理选择的java代码
alt+/ 生成无参构造器或者提升信息
alt+shift+s+o 生成带参构造
ctrl+shift+o快速导入包
alt+shift+s+r tab+enter-->shift+tab+enter 快速生成get set方法
ctrl+f11快速运行代码
说明:快捷键可以快速帮我们生成代码,减少开发的时间,提高效率,记住几个主要的就可以,其他的可以在Eclipse的编辑器中右键鼠标,在弹出的菜单项中选择sourse,在它的子菜单项中选择
(二)Java中数据类型
Java数据类型分为:基本数据类型和引用类型
基本数据类型分为:数值型 布尔型 字符型
引用类型:Class 接口 数组等(除了基本数据类型的都是引用类型)
(三 )Java中内存分析
1.首先内存分为2大部分:栈(局部变量都在栈里面,空间连续)和堆(new关键字 出来的对象,空间不连续)
2.堆的话:分为普通的堆(存放new出来的对象)和方法区(类加载器加载到的类的代码,static方法和变量,常量池(字符串常量)等)
3.首先我们先定义一个简单的类:
说明:People类,有2个属性,一个引用类型String,还有一个基本数据类型int,在构造器中初始化,构造器当然还是有返回值,返回的是这个对象地址,this关键字指向将要实例化的对象,this关键字和super关键字都是类中方法的隐式参数,可以在方法中直接使用,super关键字是指向它的直接父类对象的引用
4.在类中写一个main方法,程序的入口:
首先类加载器会加载People类还有该类中用到的其他类,存放在堆中的方法区中,People p=new Peolpe();

说明:p是个局部变量存放在栈里面,里面存放的是4个字节的空间地址。new People()表示在堆中以类的模板常见一个对象,由于是无参构造,它的成员变量,引用类型的就为null,基本数据类型的在某种意义下就是0。
在往下看
p.name=new String()和p.age=18在内存中的分析

说明:通过p引用找到堆里面的对象,在找到它的String name属性,让它指向在堆中新new出来的字符串对象,而int age属性,是直接存放18这个值,所以说,基本数据类型存值,引用类型存放空间地址,在说一说二位数组,看下面代码

画出一下它的内存图:

说明:首先的话,a指向堆里面的有2个引用属性的对象,然后该对象2个引用属性分别指向另外2个数组,由于二位数组各个项没有赋值,根据是int类型,默认值就为0,如果是引用类型,那么就是null
5.当然还有方法,在new出来的对象中的普通方法,就是不带static关键字的方法,它也有地址,指向方法区的类代码中的该方法,实现调用,然后该方法中有参数的话,就会在栈中开辟一个空间存放该局部变量,若是基本数据类型的参数,就存放值,若是引用类型数据类型的参数就存放空间地址,然后通过该空间地址来找到它所指向的对象,来进行方法的操作
6.就是方法区中带static的方法和变量,它们是从属于类的,可以通过类名.直接调用该方法,不依赖对象
7.就是常量池中的字符串常量:举个例子

说明:”我是字符串“就是在常量池中的字符串常量,画出它的内存分析图

画出内存图就知道了,str1==str2返回值为什么为true,因为它们指向同一个地方,存放的空间地址是一样,所以返回true
8.关于继承的内存分析图就不画了,其实很简单,在子类的构造器中默认有super()这一行代码,调用父类的构造器,这就是为什么在创建子类对象的时候,会先创建父类对象,如果调用了一个方法,在子类中没有,就会去父类中找,使用属性也是一样
9.关于引用类型为null,当然不是为空,也是指向堆中的一个内存空间的。
Eclipse中的快捷键快速生成常用代码(例如无参、带参构造,set、get方法),以及Java中重要的内存分析(栈、堆、方法区、常量池)的更多相关文章
- sublim text3快速生成html代码时,tab键失效问题
sublime text3是一款非常强大的文本编辑器,个人觉得做前端的话这款工具很好用.便携,秒启.唯一让我觉得不是特别爽的就是插件啊,都需要自己安装.不过瑕不掩瑜,这款编辑器是很适合开发前端和PHP ...
- 使用excel中的数据快速生成sql语句
在小公司的话,总是会有要开发去导入历史数据(数据从旧系统迁移到新系统上)的时候.这个时候,现场实施或客户会给你一份EXCEL文档,里面包含了一些别的系统上的历史数据,然后就让你导入到现在的系统上面去. ...
- Eclipse安装Hibernate插件快速生成配置文件
Eclipse安装Hibernate插件快速生成配置文件 插件链接: http://pan.baidu.com/s/1mi3KVtI 密码: kmjg 1.安装插件: 1.在eclipse顶部窗口he ...
- Android Studio 配置快速生成模板代码
前言 Android studio 有提供快速生成模板代码的功能,其实这个功能也可以自定义配置.此篇博客将讲解如何使用此功能 进入Settings 选择 Editor > Live Templa ...
- VS中的快捷键快速格式化代码,使好看,整齐
在VC2005中,快捷键是Ctrl + K, Ctrl + F, 这是一个组合键,即先按Ctrl + K, 这时候编辑器会等待下一个按键动作,此时再按Ctrl + F, 即可以格式化代码了,当然,也可 ...
- 使用Emmet 快速生成HTML代码
在前端开发的过程中,一个最繁琐的工作就是写 HTML.CSS 代码.数量繁多的标签.属性.尖括号.标签闭合等,让前端们甚是苦恼.于是,我向大家推荐 Emmet,它提供了一套非常简单的语法规则,书写起来 ...
- Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码
一:项目建立好及其基本的测试好 二:在maven项目的pom.xml 添加mybatis-generator-maven-plugin 插件 <build> <finalName&g ...
- Axis2中使用wsdl2java.bat生成客户端代码
1 准备环境 (1)下载Axis2的zip包axis2-1.5.5-bin.zip,并解压. 官方网址:http://ws.apache.org/axis2/ (2)设置环境变量(我的电脑->属 ...
- [2016-07-15]结合命令行工具awk和多行文本编辑器快速生成DataSeed代码
目标:根据业务提供的两份数据,生成DataSeed代码 SampleDataA 上海 华东一线 上饶 华东四线 中山 华南二线 临汾 华北四线 临沂 华东二线 SampleDataB 上海 1D04E ...
随机推荐
- Java内部类之匿名内部类
我们都知道Java中可以使用内部类,将一个类的定义放在另一个类的定义的内部,这就是内部类,但是匿名内部类往往使我们摸不着头脑,因为它并没有特定的名称,那么该如何使用它呢? 定义一个匿名内部类 pu ...
- 【12c】扩展数据类型(Extended Data Types)-- MAX_STRING_SIZE
[12c]扩展数据类型(Extended Data Types)-- MAX_STRING_SIZE 在12c中,与早期版本相比,诸如VARCHAR2, NAVARCHAR2以及 RAW这些数据类型的 ...
- java8-lamba表达式的使用-遁地龙卷风
(-1)前言 学习lamba表达式是十分重要的,你会发现java变的可爱多了. (0)函数式接口 只有一个方法的接口称为函数式接口 JButton jButton = new JButton(&quo ...
- 图片转换PDF
组件在我的文件里,需要的可以找找. public partial class MainForm : Form { private string srcFile, destFile; bool succ ...
- Javascript高级程序设计——Javascript简史+使用Javascript
一.Javascipt简史 1.了解Javascript历史 Netscape(Javascript1.0).Microsoft(JScript)到JS1.1,再到ECMA-262标准 2.知道ECM ...
- 网络性能测试工具Iperf/Jperf解读
Iperf 是一个网络性能测试工具.Iperf 可以测试TCP 和UDP 带宽质量.Iperf 可以测量最大TCP 带宽,具有多种参数和UDP 特性. Iperf 可以报告带宽,延时抖动和数据包丢失. ...
- Android学习总结(一)——Activity的基本概念与Activity的生命周期
一.Activity的基本概念 Activity是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互,比如打电话,照相,发送邮件,或者显示一个地图!Activity用 ...
- Laravel的console使用方法
适用场景:分析数据(日志) php artisan make:console 你的命令类名 示例: php artisan make:console Check 在\app\Console\Comma ...
- 使用Github Pages和Hexo构建博客
Github Pages可以创建免费的静态站点,支持自带主题.支持自制页面等,并且可以使用Jekyll或者Hexo等静态博客框架进行管理. 独立博客是博客园等博客平台之外的一个良好补充,相比使用虚拟主 ...
- 一个小时学会MySQL数据库
随着移动互联网的结束与人工智能的到来大数据变成越来越重要,下一个成功者应该是拥有海量数据的,数据与数据库你应该知道. 一.数据库概要 数据库(Database)是存储与管理数据的软件系统,就像一个存入 ...