【JAVA】笔记(1)---JVM内存图;方法重载条件;输入方法;转义字符;强制类型转换;变量分类及区别;Java命名规范;
Java命名规范:
1.包:全部字母小写;
2.类+接口:所有单词的首字母大写;
3.变量+方法:第一个单词的首字母小写,其余单词首字母大写;
3.常量名:所有字母均大写,且用下划线” _ “连接多个单词;
JVM内存:
1.栈内存:为所有方法运行时分配内存,为局部变量分配内存;
2.堆内存:为对象级别的类,实例变量分配内存;
3.方法区内存:为”.class“字节码,静态变量,静态方法分配内存;
注意:对于栈内存:先分配内存(压栈)的栈底元素后释放内存(弹栈);
后压栈的栈顶元素先弹栈;
内存图:
变量:
1.变量分为成员变量和局部变量;
2.成员变量定义在类内,方法外;成员变量又分为实例变量和静态变量;成员变量在整个类里都可以使用;实例变量储存在堆内存中,静态变量储存在方法区内存中;成员变量都有默认初始化值,所以即使没有初始化,也不会报错;成员变量可以被访问权限修饰符修饰;
3.局部变量定义在方法内;局部变量只能在定义它的方法里用;局部变量储存在栈内存当中,运行阶段结束,占用空间会自动释放;局部变量必须初始化,否则报错;局部变量不能被访问权限修饰符修饰;
强制类型转换:
1.概念:计算机会在运算俩个不同数据类型的数据时,会先把范围小的数据类型转换为数据大的数据类型,再进行运算;一个数据类型赋值给另一个数据类型的变量也是同理,计算机会先把范围小的数据类型转换为范围大的数据类型,再进行赋值;
2.1那么范围大的数据类型赋值给范围小的数据类型呢?正常情况下,编译器都会报错来提醒咱们的,那如果咱就是想要这个效果呢?那么就需要手动进行强制数据类型转换了:
格式1: int a =0;a= (int) 11.3 ; //这样11.3就会变成11,然后再赋值给 a ;格式2:int a = 0 ; a+=11.3 ; //同样效果;
注意:short,byte,char之间进行运算不会互相转换,最终都会转换为 int 类型;
转义字符” / “:
1. \n 换行;System.out.print("\n") ; 等价于 System.out,println ;
2. \r 制表符;使输出的一堆数据间有间隔,更整齐;
3. \\ 输出“ \ ” ; \' 输出 “ ‘ ” ;\" 输出 " " " ;
方法重载条件:
1.同一个类中;
2.方法名相同;
3.参数列表不同:参数个数不同/参数类型不同/参数顺序不同;
注意:“不同”针对的对象都是数据类型,而非变量名,eg: public void tool(int a, int b) { } 和 public void tool(int b, int a) { } 就不能构成方法重载;
随笔:
1.给 long 类型的变量赋值时,需要在数值后加” l “,eg:long num=100l;
给 float 类型的变量赋值时,需要在数值后加” f “,eg:float num=100f;
2.浮点数类型的数据在内存中存放的都是由误差的数据,所以不要比较俩个浮点数是否相等;
3.如何使用输入方法:
import java.util.* ; //在源文件的最上方,类外,导包
Scanner s=new Scanner(System.in); //创建对象,一个方法里创建一次即可
int a=s.nextInt( ); //整数 类型输入
double b=s.nextDouble( ); //浮点数 类型输入
String c=s.nextLine( ); //字符串 类型输入
博主能力有限,文章若有错误或不当之处,请狠狠打脸博主 (~ ̄(OO) ̄)ブ
【JAVA】笔记(1)---JVM内存图;方法重载条件;输入方法;转义字符;强制类型转换;变量分类及区别;Java命名规范;的更多相关文章
- java虚拟机学习-JVM内存管理:深入垃圾收集器与内存分配策略(4)
Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来. 概述: 说起垃圾收集(Garbage Collection,下文简称GC),大部分人都把这项 ...
- java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3)
概述 Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来. 对于从事C.C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又 ...
- java 深入理解jvm内存模型 jvm学习笔记
jvm内存模型 这是java堆和方法区内存模型 参考:https://www.cnblogs.com/honey01/p/9475726.html Java 中的堆也是 GC 收集垃圾的主要区域.GC ...
- 《深入分析Java Web技术内幕》读书笔记之JVM内存管理
今天看JVM的过程中收获颇丰,但一想到这些学习心得将来可能被遗忘,便一阵恐慌,自觉得以后要开始坚持做读书笔记了. 操作系统层面的内存管理 物理内存是一切内存管理的基础,Java中使用的内存和应用程序的 ...
- Java学习笔记之方法重载,动态方法调度和抽象类
一.方法重载 如果子类中的方法与它的超类中的方法有相同的方法名,则称子类中的方法重载超类中的方法,特别是当超类和子类中的方法名和参数类型都相同时,在子类中调用该方法时,超类中的方法会被隐藏.考虑下面程 ...
- Effective java笔记(二),所有对象的通用方法
Object类的所有非final方法(equals.hashCode.toString.clone.finalize)都要遵守通用约定(general contract),否则其它依赖于这些约定的类( ...
- JVM内存初学 堆、栈、方法区
转自: http://www.open-open.com/lib/view/open1432200119489.html 这两天看了一下深入浅出JVM这本书,推荐给高级的java程序员去看,对你了解J ...
- 深入理解Java虚拟机之JVM内存布局篇
内存布局**** JVM内存布局规定了Java在运行过程中内存申请.分配.管理的策略,保证了JVM的稳定高效运行.不同的JVM对于内存的划分方式和管理机制存在部分差异.结合JVM虚拟机规范,一起来 ...
- JAVA系列之JVM内存调优
一.前提 JVM性能调优牵扯到各方面的取舍与平衡,往往是牵一发而动全身,需要全盘考虑各方面的影响.在优化时候,切勿凭感觉或经验主义进行调整,而是需要通过系统运行的客观数据指标,不断找到最优解.同时,在 ...
随机推荐
- PolarDB PostgreSQL logindex 设计
背景介绍 PolarDB采用了共享存储一写多读架构,读写节点RW和多个只读节点RO共享同一份存储,读写节点可以读写共享存储中的数据:只读节点仅能各自通过回放日志,从共享存储中读取数据,而不能写入,只读 ...
- 牛客练习赛79E-小G的数学难题【dp,单调队列】
正题 题目链接:https://ac.nowcoder.com/acm/contest/11169/E 题目大意 给出\(n\)个三元组\((a_i,b_i,c_i)\). 要求选出一个集合\(S\) ...
- equals之List
School类 package com.collection.equals; /* * 定义一个学校类 相当于一个学校模板 * 状态: 1.学校id 2.学校名称 * */ public class ...
- 题解「BZOJ4310」跳蚤
题目传送门 Description 现在有一个长度为 \(n\) 的字符串,将其划分为 \(k\) 段,使得这 \(k\) 段每一段的字典序最大子串中字典序最大的字符串字典序尽量小.求出这个字符串. ...
- 用最简单的方式理解 IoC 控制反转
思想引入 假设一个系统原先只设定有一个默认的方法去完成业务,这里举例这个原先设定开发的是 UserDaoImpl(可能有些牵强,但是不影响我们对逻辑的理解)这样一个业务. 后来有一天,需求变了,业务流 ...
- Linux环境下安装java的方法
linux安装java步骤 方式一:yum方式下载安装 1.查找java相关的列表 yum -y list java* 或者 yum search jdk 2.安装jdk yum install ja ...
- Windows系统安装Java步骤
今天学习到Burp Suite的使用,提示到安装Burp Suite需要安装Java环境. 于是乎,本弱鸡开启了漫长的Java环境安装之路~ 一.Java SE版本众多,在这里推荐下载Java1.8版 ...
- 更好的 java 重试框架 sisyphus 的 3 种使用方式
回顾 我们前面学习了 更好的 java 重试框架 sisyphus 入门简介 更好的 java 重试框架 sisyphus 配置的 2 种方式介绍 更好的 java 重试框架 sisyphus 背后的 ...
- SCons - 简单而强大的项目编译脚本(原文https://www.cnblogs.com/binchen-china/p/5646791.html)
N年前学的makefile,当时还勉强能写一些简单的工程编译,现在已经基本忘了.makefile确实编写复杂,而且平时也不是经常使用,容易忘记.偶识了scons,一切都变的简单了.最近研究了下scon ...
- 大神教零基础入门如何快速高效的学习c语言开发
零基础如果更快更好的入门C语言,如何在枯燥的学习中找到属于自己的兴趣,如果把学习当成一种事务性的那以后的学习将会很难有更深入的进步,如果带着乐趣来完成学习那将越学越有意思这样才会让你有想要更深入学习的 ...