JAVA
文章平均质量分 81
比宋小宝白
这个作者很懒,什么都没留下…
展开
-
Java中基本类型与String在内存中的存储
关于在JAVA中基本类型的存储与String的存储的问题主要涉及到堆内存和栈内存栈内存用来存储的是基本类型和引用变量(即对象的变量名字)栈内存是用来存储对象的实例(即new 出来的新对象都由堆内存进行存储)对于基本类型来说拿 int 类型举个例子i = 1;j = 1;在内存中的存储为:首先加载i=1,在栈中没有i=1,开辟一块内存对1进行存储然后让i指向1;然后在创建j的时候发...原创 2018-12-05 14:52:39 · 1223 阅读 · 0 评论 -
(Java)重写equal方法的时候为什么要重写hashcode的方法
在HashMap中的get(Object key)的执行流程在HashMap中get(Object key)计算key的hashcode(),等到一个整数n然后用这个n%(length)【length代表当前map的最大的容量】=index用index作为下标,得到hashmap内部的桶的结构中位于index处的链表list(Java1.8中有可能是红黑树,这里用链表代替。)然后循环遍...原创 2019-03-04 20:56:58 · 2720 阅读 · 0 评论 -
(Java)关于泛型与类型擦除的理解
一个程序会出现的错误有两种错误:一个是编译器错误,一个是运行期错误。类型参数判断:当使用泛型类的时候,必须在创建对象的时候指定参数类型的值,而使用泛型方法的时候,通常不用指明参数类型,因为编译器会为我们找出具体的类型。 public Map<String,<? extends Person>> map = new HashMap<String,<? ext...原创 2019-03-01 15:01:13 · 135 阅读 · 0 评论 -
(Java)java中的自动装箱与自动拆箱
public class Test { /** * * 关于Java的自动装箱与自动拆箱 * 基本类型存储在栈中 * 对象存储在堆当中 * 而对于数字这种经常使用的存储在栈中 使用效率比较高 * 为了方别与其他的语言进行交互,一切基于对象的方法所以又提出了包装类型。 * == 比较的是两个对象的地址 * equals是可以自己重写用来判断内容是否相同,但是不会...原创 2019-02-28 17:36:41 · 134 阅读 · 0 评论 -
(Java)try catch finally执行的顺序
public class Test { public static int testInt(){ int x =1; try{ x = 2; return x; }catch(Exception e){ return x; }finally{ x = 3; } } public static int testInt1(){ int x =1;...原创 2019-02-22 14:29:16 · 115 阅读 · 0 评论 -
(java)java1.8流Stream
流的几个特性流并不会改变原始数据。只是数据的视图流是懒加载的,所谓懒加载是指流不会立即执行而是在流需要的时候再去加载流分为中间操作和终止操作,顾名思义中间操作可以有好多种,而终止操作只有一种重要的一点为 流不能存储元素的!对流的理解:流是为了方便开发人员遍历集合的一种便利的API创建流//通过数组的形式获得String[] arr = new String[] {"aa","b...原创 2019-02-22 11:40:45 · 242 阅读 · 0 评论 -
关于集合中类的一些包的使用方法以及常见的用途
GuavaPreconditions.checkNotNull() 用来判断里面的集合是否为空如果为空的会抛出异常Lists.asList(Object arg1,Object arg2) 将多个参数转换成为一个List的集合Commons包需要有两个依赖1 commons-collections2 commons-codecMapUtils.isNotEmpty(map)Coll...原创 2019-01-14 21:39:08 · 293 阅读 · 0 评论 -
java中可变参数类型的用法
https://blog.csdn.net/yrwan95/article/details/82821520原创 2019-01-14 20:41:55 · 1188 阅读 · 0 评论 -
Java序列化相关的知识
https://www.cnblogs.com/wxgblogs/p/5849951.html写的很清楚 mark转载 2019-01-05 15:09:15 · 82 阅读 · 0 评论 -
在Java中关于集合的一些方法的使用
Listlist.subList(fromIndex,endIndex);包括左边的索引不包括右边的索引Setset.add(1);set.add(1);返回一个false,对于set重复添加已经存在的元素会输出错误。原创 2018-12-21 20:23:47 · 82 阅读 · 0 评论 -
反转链表
问题描述把一个链表 1->2->3->4->5反转最后的结果为:5->4->3->2->1主要的思路是:创建三个ListNode 的节点,分别用来表示前一个节点,当前节点和后一个节点。用prevNode,current,after来表示。为什么要创建三个节点的原因在于:在这个题中我们在原地进行反转即直接把当前值指向前一个ListNode而...原创 2018-12-19 19:58:48 · 83 阅读 · 0 评论 -
(Java)HashMap源码分析
HashMap中的底层的结构是由数组加链表组成的(当链表的元素超过八个的时候,链表转换成为红黑树。)而对对于数组中每个结点却是由Node组成的。这里数组对应的就是table, 而每个结点是由Node包含了四个属性,hash,key,value next这四个属性,hash是用来判断在数组中的索引位置,key表示键值,value表示的确定的值。next表示的是下一个node的值。 trans...原创 2019-03-16 14:10:53 · 147 阅读 · 0 评论