java 中类型转换规则
首先boolean不能跟其他类型转换。
1.赋值时:
整数默认的是int 浮点默认是double,即整型等号右侧全部自动转化为int,浮点型等号右侧自动转换为double。当大容量的数据类型赋值给小容量的数据类型时 需要强制类型转换但是有一个特例
例:byte b1 = 3; 是没有错误的,因为等号右边如果是int类型只要他的数值没有超出左侧数据类型的范围可以不进行强制数据类型转化。
2运算时:
如果运算数中有浮点型则自动转换为运算数中出现的最大容量的浮点类型,如果没有浮点型则全部自动转换为int(不管运算数中有没有出现int)
例:byte b2 = 4;
byte b3 = b1+b2; 编译报错 损失精度;(右边自动转为int 赋值给左边)
float f1 = 3.1f;
float f2 = 1.11f;
float f3 = f1+f2; 编译通过。(转换为float)
相关文档:
1,一行代码做一件事,不要在一行代码里面处理多件事。宁愿多声明几个变量,也要保持代码的清晰,因为代码的声明并不会占多少内存。
例如:
String tmpa = errIdList.get(i).toString().substring(2);
......
初探java内存机制_堆和栈
问题的引入:
问题一:
String str1 = "abc";
String str2 = "abc";
System.out.println(str1==str2); //true
问题二:
String str1 =new String ("abc");
String str2 =new String ("abc");
System.out.println(str1==str2); // false
问题三:
String s1 = "ja";
String s2 = "v ......
本文对 Java Debug Interface(JDI)及其使用进行了介绍,并通过实现一个多线程分析器的示例应用,演示了如何利用 JDI 开发自己的多线程调试程序。该示例分析器在独立于目标程序的前提下,以单个线程流为单位,帮助追踪记录多线程的执行过程信息。
多线程环境下的程序调试是让开发者头痛的问题。在 IDE 中通过添加断点的方 ......
刚才在做个测试时 删除文件老是失败...一直找不到原因.. file.delete();
总是返回false.
在网上找了半天 都找不到错在哪儿..
if(file.exists() && file.canWrite())
file.delete();
这样都不行…
后来突然突然想到错在哪儿了..
就是在写完文件后没有close
out.write(b);
out.flush();
out.close();
......
关于Java内存分配,很多问题都模模糊糊,不能全面贯通理解。今查阅资料,欲求深入挖掘,彻底理清java内存分配脉络,只因水平有限,没达到预期效果,仅以此文对所研究到之处作以记录,为以后学习提供参考,避免重头再来。
一、Java内存分配
1、 Java有几种存储区域?
* 寄存器
-- 在CP ......