(一)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中重要的内存分析(栈、堆、方法区、常量池)的更多相关文章

  1. sublim text3快速生成html代码时,tab键失效问题

    sublime text3是一款非常强大的文本编辑器,个人觉得做前端的话这款工具很好用.便携,秒启.唯一让我觉得不是特别爽的就是插件啊,都需要自己安装.不过瑕不掩瑜,这款编辑器是很适合开发前端和PHP ...

  2. 使用excel中的数据快速生成sql语句

    在小公司的话,总是会有要开发去导入历史数据(数据从旧系统迁移到新系统上)的时候.这个时候,现场实施或客户会给你一份EXCEL文档,里面包含了一些别的系统上的历史数据,然后就让你导入到现在的系统上面去. ...

  3. Eclipse安装Hibernate插件快速生成配置文件

    Eclipse安装Hibernate插件快速生成配置文件 插件链接: http://pan.baidu.com/s/1mi3KVtI 密码: kmjg 1.安装插件: 1.在eclipse顶部窗口he ...

  4. Android Studio 配置快速生成模板代码

    前言 Android studio 有提供快速生成模板代码的功能,其实这个功能也可以自定义配置.此篇博客将讲解如何使用此功能 进入Settings 选择 Editor > Live Templa ...

  5. VS中的快捷键快速格式化代码,使好看,整齐

    在VC2005中,快捷键是Ctrl + K, Ctrl + F, 这是一个组合键,即先按Ctrl + K, 这时候编辑器会等待下一个按键动作,此时再按Ctrl + F, 即可以格式化代码了,当然,也可 ...

  6. 使用Emmet 快速生成HTML代码

    在前端开发的过程中,一个最繁琐的工作就是写 HTML.CSS 代码.数量繁多的标签.属性.尖括号.标签闭合等,让前端们甚是苦恼.于是,我向大家推荐 Emmet,它提供了一套非常简单的语法规则,书写起来 ...

  7. Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码

    一:项目建立好及其基本的测试好 二:在maven项目的pom.xml 添加mybatis-generator-maven-plugin 插件 <build> <finalName&g ...

  8. Axis2中使用wsdl2java.bat生成客户端代码

    1 准备环境 (1)下载Axis2的zip包axis2-1.5.5-bin.zip,并解压. 官方网址:http://ws.apache.org/axis2/ (2)设置环境变量(我的电脑->属 ...

  9. [2016-07-15]结合命令行工具awk和多行文本编辑器快速生成DataSeed代码

    目标:根据业务提供的两份数据,生成DataSeed代码 SampleDataA 上海 华东一线 上饶 华东四线 中山 华南二线 临汾 华北四线 临沂 华东二线 SampleDataB 上海 1D04E ...

随机推荐

  1. java_db常见错误总结

    1.java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符 在拼写seq时是否存在存在特殊字符,如:常见语句后面添加了;2.ORA-01722:无效数字解决 ...

  2. 【踩坑速记】MIUI系统BUG,调用系统相机拍照可能会带给你的一系列坑,将拍照适配方案进行到底!

    一.写在前面 前几天也是分享了一些学习必备干货(还没关注的,赶紧入坑:传送门),也好久没有与大家探讨技术方案了,心里也是挺痒痒的,这不,一有点闲暇之时,就迫不及待把最近测出来的坑分享给大家. 提起An ...

  3. apche基于域名,ip,端口的配置

    基于域名的服务端: 13 iptables -F 14 setenforce 0 15 ifconfig eth0 172.18.43.146 16 yum -y install bind bind- ...

  4. android jni 总复习(转载)

    本文全文转载自:http://www.cnblogs.com/shuqingstudy/p/4909089.html,非常感谢 package com.test.androidjni; import ...

  5. [UWP]附加属性1:概述

    1. 什么是附加属性(attached property ) 附加属性依赖属性的一种特殊形式,常见的Grid.Row,Canvas.Left都是附加属性. /// <summary> // ...

  6. 前端开发面试题总结之——JAVASCRIPT(一)

    ___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...

  7. ConOS安装mysql5.7 及简单配置

    安装 保证你的用户有权限 安装  没有 切换 root su root  (su的意思:swich user) # rpm -ivh http://dev.mysql.com/get/mysql57- ...

  8. C# Redis学习系列一:Redis的认识、下载、安装、使用

    一.认识Redis 1. Redis 是一个高性能的key-value数据库. 2. 它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sor ...

  9. Javascript匿名函数

    单独的匿名函数无法运行,就算能运行,也无法调用.解决办法如下: 法1. //把匿名函数赋值给变量 var box=function(){ return "Lee"; }; aler ...

  10. 读书笔记 effective c++ Item 24 如果函数的所有参数都需要类型转换,将其声明成非成员函数

    1. 将需要隐式类型转换的函数声明为成员函数会出现问题 使类支持隐式转换是一个坏的想法.当然也有例外的情况,最常见的一个例子就是数值类型.举个例子,如果你设计一个表示有理数的类,允许从整型到有理数的隐 ...