
android开发
lsdkzkald
这个作者很懒,什么都没留下…
展开
-
Java堆、栈和常量池以及相关String的详细讲解(经典中的经典)
一:在JAVA中,有六个不同的地方可以存储数据: 1. 寄存器(register)。 这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。 ------最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 堆栈(sta转载 2017-06-27 11:28:56 · 425 阅读 · 0 评论 -
Java总结篇系列:Java泛型
一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(String[] args) { 4 List list = new ArrayList(); 5 list.add("qqyumidi")转载 2017-08-07 11:41:24 · 142 阅读 · 0 评论 -
java中静态方法中调用非静态方法
我们都知道,静态static方法中不能调用非静态(non-static)方法,准确地说是不能直接调用non-static方法。但是可以通过将一个对象的引用传入static方法中,再去调用该对象的non-static方法。 其实这个事实的应用很经常,以至于我们不去重视:在主函数(static方法)中我们经常创建某个类的实例,再利用其引用变量调用它的非静态方法。 [ja转载 2017-08-13 23:39:33 · 2387 阅读 · 0 评论 -
java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一
对Java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。 本文参考java 泛型详解、Java中的泛型方法、 java泛型详解 1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。 什么是泛型?为什么要使用泛型? 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方转载 2017-08-08 12:43:37 · 209 阅读 · 0 评论 -
深入了解String,特别是==与hashCode()
版权声明:本文为博主原创文章,未经博主允许不得转载。 关于==,equal(),在其它很多网站和博客中已经有说明,在这里主要是讲==与hashCode()之间的区别。 String str1 = "nihao" ; String str2 = "nihao" ; String str3 = new String("n转载 2017-08-01 11:54:24 · 206 阅读 · 0 评论 -
Java泛型详解
1. 概述 在引入范型之前,Java类型分为原始类型、复杂类型,其中复杂类型分为数组和类。引入范型后,一个复杂类型 就可以在细分成更多的类型。 例如原先的类型List,现在在细分成List, List等更多的类型。 注意,现在List, List是两种不同的类型, 他们之间没有继承关系,即使String继承了Object。下面的代码是非法的 List ls = new Arra转载 2017-08-07 17:38:29 · 210 阅读 · 0 评论 -
关于hashCode()与equals()的总结,所要知道的
HashCode的存在主要是用于查找的快捷性,比如在set集合中,元素不可重复, equals方法可用于保证元素不重复,但是,如果每增加一个元素就检查一次,如果集合中现在已经有1000个元素,那么第1001个元素加入集合时,就要调用1000次equals方法。这显然会大大降低效率。 我们来看一下集合中的运行: 当集合要添加新的对象时,先调用这个对象的 hashCode方法,得到对应的h原创 2017-07-31 16:02:06 · 390 阅读 · 0 评论 -
HashCode的作用原理和实例解析
HashCode定义 (1)HashCode的存在主要是用于查找的快捷性,如Hashtable,HashMap等,HashCode是用来在散列存储结构中确定对象的存储地址的; (2)如果两个对象相同, equals方法一定返回true,并且这两个对象的HashCode一定相同; (3)如果对象的equals方法被重写,那么对象的HashCode也尽量重写,并且产生Has转载 2017-07-30 22:58:27 · 271 阅读 · 0 评论 -
关于 hashCode() 你需要了解的 3 件事
在 Java 中,每一个对象都有一个容易理解但是仍然有时候被遗忘或者被误用的 hashCode 方法。这里有3件事情要时刻牢记以避免常见的陷阱。 一个对象的哈希码允许算法和数据结构将对象放入隔间,就象打印机类型案件中的字母类型。打印机将所有的“A”类型放到一个房间,它寻找这个“A”的时候就只需要在这个房间进行寻找。这种简单的系统让他在未排序的抽屉中寻找类型的时候更快。这也是基于哈希的集合的想转载 2017-07-30 22:36:31 · 200 阅读 · 0 评论 -
Java提高篇——equals()与hashCode()方法详解
阅读目录 equals()方法详解hashcode() 方法详解Hashset、Hashmap、Hashtable与hashcode()和equals()的密切关系 java.lang.Object类中有两个非常重要的方法: 1 2 public boolean equals(Object obj) public int转载 2017-07-30 20:02:50 · 178 阅读 · 0 评论 -
java的getClass()函数
Java反射学习 所谓反射,可以理解为在运行时期获取对象类型信息的操作。传统的编程方法要求程序员在编译阶段决定使用的类型,但是在反射的帮助下,编程人员可以动态获取这些信息,从而编写更加具有可移植性的代码。严格地说,反射并非编程语言的特性,因为在任何一种语言都可以实现反射机制,但是如果编程语言本身支持反射,那么反射的实现就会方便很多。 1,获得类型类 我们知道在Ja转载 2017-07-30 17:54:21 · 155 阅读 · 0 评论 -
暂时保存代码
public interface Command { void process(int[] target); } public class ProcessArray { public void process(int[] target , Command cmd) { cmd.process(target); } } public原创 2017-07-06 19:46:17 · 307 阅读 · 0 评论 -
java中的基本数据类型和引用数据类型内存中的位置
首先说明,"java中的基本数据类型一定存储在栈中的吗?”这句话肯定是错误的。 下面让我们一起来分析一下原因: 基本数据类型是放在栈中还是放在堆中,这取决于基本类型在何处声明,下面对数据类型在内存中的存储问题来解释一下: 一:在方法中声明的变量,即该变量是局部变量,每当程序调用方法时,系统都会为该方法建立一个方法栈,其所在方法中声明的变量就放在方法栈中,当方法结转载 2017-06-27 11:24:53 · 397 阅读 · 0 评论 -
什么时运行时,什么是编译时?
以"错误提示"来讲这个问题: 编时---就是你写代码的的过程中.记事本等软件发生的错误提示. 译时---就是你写好代码了准备生成exe时的生成过程中发生的错误提示. 意思是系统将你的代码翻译成机器代码时 运行时-就是你的exe已经打开使用了发生的错误提示原创 2017-06-27 10:37:25 · 642 阅读 · 0 评论 -
java常量池概念
在class文件中,“常量池”是最复杂也最值得关注的内容。 Java是一种动态连接的语言,常量池的作用非常重要,常量池中除了包含代码中所定义的各种基本类型(如int、long等等)和对象型(如String及数组)的常量值还,还包含一些以文本形式出现的符号引用,比如: 类和接口的全限定名; 字段的名称和描述符; 方法和名称和描述符。 在C语言中,如果转载 2017-06-28 22:56:13 · 313 阅读 · 0 评论