
java基础
即将成为大神的崔崔
小菜鸡
展开
-
map的存取以及原理。
同事总结的map的知识点,记录下来,方便以后模糊的时候再查看。1.Map: 映射关系 存储 key-value 值2.底层是一个 Node 数组 (entry 数组 是 JDK 1.6 的版本)3.JDK 1.8 的hashMap 新增了红黑树的概念,所以,这个版本之后的hashmap是由数组,链表,红黑树结合实现的。4.Node 是hashMap的一个静态内部类,它实现了Map.Entry。1....原创 2018-04-24 11:46:57 · 4051 阅读 · 0 评论 -
线程池的几种常见的创建的方式
一:创建大小不固定的线程池二:创建固定数量线程的线程池三:创建单线程的线程池四:创建定时线程1.创建大小不固定的线程池package com.peace.pms.Test;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/** * @Author: ...转载 2018-09-12 11:35:40 · 357 阅读 · 0 评论 -
JVM内存中各部分存放的内容
虚拟机内存中主要有程序计数器、虚拟机栈、本地方法栈、堆和方法区。程序计数器和虚拟机栈都是线程“私有”的内存。程序计数器是一块比较下的内存空间,主要村放代码执行的位置。分支、循环、跳转、异常处理、线程恢复等基础功能都需要一来这个计数器来完成。例如,多线程中,为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,他们之间互不影响,独立存储。虚拟机栈中存放了各种基本...转载 2018-08-23 11:15:52 · 971 阅读 · 0 评论 -
windows下用命令运行HelloWorld
前提是安装了jdk。1.利用记事本新建一个文本,并将文件的名字命名为HelloWorld.java(.java为该文件的扩展名 扩展名必须为.java不能为.txt)2.编写代码,代码如下:public class HelloWorld { public static void main(String args[]) { System.out.println(...原创 2018-08-21 09:54:29 · 2052 阅读 · 0 评论 -
字符串的排序
数字的排序规则很简单,忽然想起字符串是怎么排序的呢? //集合中对String就行排序, String[] array = { "abc", "abcd", "abca", "abdb", "acd" }; List<String> list =Arrays.asList(array); Collections.sort(list); l原创 2018-05-17 18:13:02 · 303 阅读 · 0 评论 -
关于int Integer比较的问题
1. 今天有朋友问了我一个关于int Integer比较的面试题 Integer a=new Integer(3);Integer b=3; // java在编译的时候,被翻译成-> Integer b = Integer.valueOf(3); int c=3;System.out.println(a==b);System.out.println...原创 2018-05-10 11:23:56 · 445 阅读 · 1 评论 -
Java位运算原理及使用讲解
查看jdk源码的时候出现了位运算,在网上查资料才明白位运算到底是什么,记录一下。日常开发中位运算不是很常用,但是巧妙的使用位运算可以大量减少运行开销,优化算法。举个例子,翻转操作比较常见,比如初始值为1,操作一次变为0,再操作一次变为1。可能的做法是使用三木运算符,判断原始值为1还是0,如果是1,设置为0,否则设置为0.但是使用位运算,不用判断原始值,直接改变值就可以:1^num//num为原始值...转载 2018-04-19 10:23:56 · 306 阅读 · 0 评论 -
ArrayList的扩容机制
int newCapacity = oldCapacity + (oldCapacity >> 1);相当如于 oldCapacity *1.5。第一次扩容默认为10,当大于当前容量*1.5,比如17个元素,第一次扩容默认为10,当到第11个元素时,扩容到10*1.5=15,当到第16个元素时,扩容到15*1.5=22。以上为亲测结果,下面是转载的源码知识。 ArrayList可以...原创 2018-04-20 11:37:15 · 778 阅读 · 0 评论 -
到底什么是hash呢?hash碰撞?为什么HashMap的初始容量是16?
一 ,到底什么是hash呢?作者:知乎用户链接:https://www.zhihu.com/question/26762707/answer/40119521来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。hash(散列、杂凑)函数,是将任意长度的数据映射到有限长度的域上。直观解释起来,就是对一串数据m进行杂糅,输出另一段固定长度的数据h,作为这段数据的...原创 2018-04-23 11:35:22 · 37283 阅读 · 10 评论 -
JAVA中重写equals()方法的同时要重写hashcode()方法
object对象中的 public boolean equals(Object obj),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true;注意:当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。如下:(1)当obj1.equals(obj2)为true时,obj...原创 2018-04-24 11:30:42 · 204 阅读 · 0 评论 -
JVM的4种垃圾回收算法、垃圾回收机制与总结
本文标题:直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结 转载请保留页面地址:http://youzhixueyuan.com/jvm-garbage-collection-algorithm.html垃圾回收算法1.标记清除标记-清除算法将垃圾回收分为两个阶段:标记阶段和清除阶段。在标记阶段首先通过根节点(GC Roots),标记所有从根节点开始的对象,...转载 2019-01-03 11:20:23 · 1096 阅读 · 0 评论