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内存分代策略
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! Java虚拟机根据对象存活的周期不同,把堆内存划分为几块,一般分为新生代.老年代和永久代(对HotSpot虚拟机而言),这就是JVM的内存 ...
随机推荐
-
Spring的IOC原理(转载)
在网上看到一篇文章,感觉写得挺不错的,转载一下,本文转载自:http://www.cnblogs.com/xdp-gacl/p/3707631.html 一. IoC理论的背景 我们都知道,在采用面向 ...
-
阻塞通信之Socket编程
Socket通信,主要是基于TCP协议的通信.本文从Socket通信(代码实现).多线程并发.以及TCP协议相关原理方面 介绍 阻塞Socket通信一些知识. 本文从服务器端的视角,以“Echo Se ...
-
Python+django部署(一)
之所以 写这篇文章的原因在于django环境的确轻松搭建,之前Ubuntu上安装了,的确很轻松,但是后期我才知道随便做个环境出来很容易到了后面很麻烦,污 染了系统里的python版本,导致系统pyth ...
-
C#代码发送邮件
本次测试的邮箱为163邮箱 1.首相对邮箱进行一些设置(详见下图):打开设置选取客户端授权密码项,开启设置:以后在客户端登录时将使用刚刚设置的密码! 2.上干货 public static void ...
-
JMeter获取CSV文件行数
import java.io.BufferedReader; import java.io.FileReader; BufferedReader br=new BufferedReader(new F ...
-
Python内置函数(28)——iter
英文文档: iter(object[, sentinel]) Return an iterator object. The first argument is interpreted very dif ...
-
Aladdin and the Flying Carpet LightOJ - 1341 (素数打表 + 算术基本定理)
题意: 就是求a的因数中大于b的有几对 解析: 先把素数打表 运用算术基本定理 求出a的所有因数的个数 然后减去小于b的因数的个数 代码如下: #include <iostream> #i ...
-
Oracle 日志归档 自动清理
exp emis/emis@orcl file=d:\backup\oracle\oracle%date:~0,10%.dmp owner=emis log=d:\backup\oracle\orac ...
-
docker-ce-17.09 仓库的创建与使用
docker仓库是集中存放镜像的地方,注册服务器是存放仓库的具体服务器,每个服务器上可以有多个仓库,每个仓库下面有多个镜像. 一.查找仓库中镜像 > docker search centos 二 ...
-
Ubuntu 安装hive + mysql
先安装mysql sudo apt-get update sudo apt-get install mysql-server sudo mysql_secure_installation具体详情请另查 ...