文章分类 - java
摘要:参考linkedlist源码分析 详情请看上面的文章,以下是我的简单总结:1.linkedlist可序列化、可克隆、可做队列和双端队列使用 2.linkedlist的底层实现是双向循环链表 3.linkedlist有两个私有属性,一个是Entry类的header,它表示linkedlist的头指针,
        阅读全文
                
摘要:参考下面的文章:hashmap的底层实现 下面是我的简单总结,想看详细的请看上面的文章:1.hashmap不是线程安全的,不可以用在多线程上 2.hashmap的底层实现是数组和链表,数组用来存储键和值,链表用来解决hash冲突 3.HashMap 包含如下几个构造器: (1)HashMap():构
        阅读全文
                
摘要:1.StringBuilder append(Object obj) 在StringBuild末尾添加Object的String形式, Object参数的类型可以为a.booleanb.charc.char[]d.charSequencee.intf.longg.floath.doublei.Str
        阅读全文
                
摘要:在android开发中显示一个AlertDialog时,常采用下列的写法: 可以注意到setTitle/setMessage/setPositiveButton等接口都是直接紧接着执行,用点号隔开,这样的方法叫做链式编程。 观看setTitle,setMessage等源码会发现,每个方法(接口)的返
        阅读全文
                
摘要:String对象是不可改变的。每次使用 System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用Syste
        阅读全文
                
摘要:java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题。现在总结一下,看看他们的不同与相同。 1.可变与不可变 String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道str
        阅读全文
                
摘要:分别使用String,StringBuffer,StringBuilder进行10000次的字符串拼接操作,计算运行时间以及Java程序运行时的内存占用。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 
        阅读全文
                
摘要:1.String 是final对象,不会被修改,每次使用 + 进行拼接都会创建新的对象,而不是改变原来的对象; 2.StringBuffer 可变字符串,主要用于字符串的拼接,属于线程安全的; 3.StringBuilder 可变字符串,主要用于字符串的拼接,属于线程不安全的; 可通过以下代码来查看
        阅读全文
                
摘要:一、Commons BeanUtils说明:针对Bean的一个工具集。由于Bean往往是有一堆get和set组成,所以BeanUtils也是在此基础上进行一些包装。 二、Commons CLI说明:这是一个处理命令的工具。比如main方法输入的string[]需要解析。你可以预先定义好参数的规则,然
        阅读全文
                
摘要:以下是Java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s));方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法: if(s == null || s.length() <= 0);
        阅读全文
                
摘要:1. java中内存的分配 java程序在运行时,内存结构分为:方法区(method),栈内存(stack),堆内存(heap),本地方法栈(java中的jni调用)等。 jvm为每一个运行的线程分配一个堆栈(方法栈),堆栈以帧为单位来保存线程的运行的状态,java中,我们将当前正在运行的方法称为当
        阅读全文
                
摘要:一, Java有两种创建字符串的方式, 用双引号创建和用new来创建。这两种方式创建出来的String存储的位置上不同的。当使用双引号方式时,相当于显式的声明了字符串的值(字面值),所以是作为一个常量,存储在方法区的常量池中。使用new方式来创建String时,JVM会在堆上分配一块区域,存储一个S
        阅读全文
                
摘要:【java中为什么会有final变量】: final这个关键字的含义是“这是无法改变的”或者“终态的”; 那么为什么要阻止改变呢? java语言的发明者可能由于两个目的而阻止改变: 1).效率问题: jdk中的某些类的某些方法,是不允许被用户覆盖的,设计者可能认为,所用方法已经是最好的方法, 用户私
        阅读全文
                
摘要:说到java中堆、栈和常量池,首先还是看看他们各自存放的数据类型吧! 堆:存放所有new出来的对象;栈:存放基本类型的变量数据和对象的应用,对象(new出来的对象)本身并不存在栈中,而是存放在堆中或者常量池中(字符串常量对象存放在常量池中);常量池:存放基本类型常量和字符串常量。 对于栈和常量池中的
        阅读全文
                
摘要:string是java中的字符串。String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。下面介绍java中的String与常量池。 1. 首先String不属于8种基本数据类型,String是一个对象。 因为对象的默认值是null,所以String的默认值也是nu
        阅读全文
                
摘要:一.相关概念 什么是常量用final修饰的成员变量表示常量,值一旦给定就无法改变!final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。 Class文件中的常量池在Class文件结构中,最头的4个字节用于存储魔数Magic Number,用于确定一个文件是否能被JVM接受
        阅读全文
                
摘要:java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。 用法: result = object instanceof class 参数: Result:布尔类型。 Obj
        阅读全文
                
摘要:一个对象在内存中产生的过程: 1、将该对象所需的类文件加载金内存 2、在内存进行空间的方法区的空间分配 3、通过new在对内存中开辟空间 4、对象中的属性进行默认初始化 5、调用与之对象的构造函数进行初始化 6、通过构造函数的super调用父类中的构造函数初始化 7、对象中的属性进行显示的初始化 8
        阅读全文
                
摘要:多态: 定义:某一事物的多种存在的形态 例如:动物中的猫狗 猫这个对象对应的类型是猫类型 猫 x = new 猫(); 同时猫也是动物的一种,也可以把猫称为动物 动物 y = new 猫(); 动物是猫和狗具体事务中抽取出来的父类型 父类型引用指向子类对象 多态性:在程序中体现,就是:父类或者接口的
        阅读全文
                
摘要:java的内存划分: 1、寄存器:CPU涉及到的区域 2、本地方法区:和系统相关的代码存储的区域 3、栈内存:存储的是局部变量,变量运算区域一结束就释放,速度比较快,我们所接触的变量都在栈内存当中(局部变量就是在方法上的参数,方法内的变量,语句中的变量) 4、堆内存:存储的是数组和对象,简单说存储的
        阅读全文
                
                    
                
浙公网安备 33010602011771号