#java值和地址值传递的理解:

- 基本数据类型和基本数据类型的封装类都是:值传递 
  * 形式参数的改变不会影响实际参数的改变(相当于将值复制一份传递给形参,自身没做任何改变) 
 - 引用数据类型都是 地址值传递
  * 形式参数的改变会影响实际参数的改变(将地址值赋值给形参,形参就可以指向实参所指向的地址,
   即形参也可以操作实参指向地址的数据了)
 
#注意:String是个特例(当作基本类型处理)
  
 - 分析:从String类的源码可以知道,String相当于是char[]的封装类,即具有char类型的性质。   
       
             String str1="abc";//直接新建的字符串(引用值在常量池中)
             String str2=new String("a");//通过new产生的字符串
             // 以上两种方式都是属于值传递,而不是地址值传递
 
#常量池技术:
 - 方便快捷的创建某些对象为出现的,常量池技术其实就是一个内存空间,
  *         
             //就是在常量池中创建的,
              String str="ab";
             //在堆内存中创建的
             String str=new String("ab");--2
             其中第二句代码分为两种情况
               1.常量池如果有"ab",就直接从常量池中获取"ab",就只需要创建一次对象
               2.常量池若没有"ab",首先在常量池创建"ab",然后在堆内存再创建一次对象

#8基本类型的包装类和对象池

- Byte,Short,Integer,Long,Character,Boolean实现了常量池技术,
 - Float,Double浮点型没有实现常量池技术。
 - Byte,Short,Integer,Long,Character这5种包装类也只是在对应值
  小于127时(存在缓存)才可以使用对象池。

最新文章

  1. Oracle学习笔记四 SQL命令(二):SQL操作语言类别
  2. Xamarin Error cannot find ‘aapt.exe’
  3. 史上最全的Linux常用命令
  4. nginx内置全局变量及含义
  5. Linux常用命令_(备份压缩)
  6. oracle数据字典-权限-角色
  7. 【Asp.Net MVC--资料汇总】杂七杂八
  8. Selenium Tutorial (1) - Starting with Selenium WebDriver
  9. #Leet Code# Gray Code
  10. Shortest Word Distance 解答
  11. Material风格的Quick组件,妈妈再也不用担心我的界面不好看了
  12. c语言 列出-终止系统进程
  13. HTML DOM 改变 HTML 内容
  14. eclipse中将一个项目作为library导入另一个项目中
  15. Java读取键盘输入
  16. string流
  17. 4556: [Tjoi2016&Heoi2016]字符串
  18. The import XXX cannot be resolved
  19. Flyway学习笔记
  20. Console 窗口

热门文章

  1. asp.net 获取音视频时长 的方法
  2. 使用PyMongo访问需要认证的MongoDB
  3. js 去除字符串所有空格
  4. 嵌入式 探讨父子线程、进程终止顺序不同产生的结果_skdkjxy_新浪博客
  5. Linux学习笔记之一及虚拟机的安装
  6. HBase混布MapReduce集群学习记录
  7. Oracle与Sqlserver数据共享
  8. TypeScript学习笔记(一) - 环境搭建
  9. spring boot配置文件中 spring.mvc.static-path-pattern 配置项
  10. 【51nod】1559 车和矩形