corejava
beSteping
这个作者很懒,什么都没留下…
展开
-
JDK 1.8 HashMap扩容原理
扩容原理 首先明确一下扩容以后所有node节点本质还是通过(n-1)&hash 得到索引,然后放入对应的node数组槽位中,但是jdk的开发者在这里使用了等价的计算方式加速了rehash的过程,将所有的node节点分成了需要移动和不需要移动两个链表,然后一次性移动到对应的位置上 要明白这个等价的计算方式是什么,需要一个直观的对比就可以很容易的理解,假设map当前容量是n=16(n-1 对应的二进制是0000 1111) ,node的hash值的二进制是1010 0101,那么在扩容前node 的索原创 2020-06-30 18:57:40 · 855 阅读 · 0 评论 -
关于String字符串的一些学习总结
(首先声明:这些文章都是自己的学习总结 写出来只为梳理自己的知识框架 也为为日后巩固自身的java基础之用 ,也希望能帮到爱好java的朋友,能力有限 有错的地方欢迎大家提出来) 1.首先要明确String类型的字符串不是原始数据类型 而是String类类型;java中原始数据类型四类8种: 1)布尔类型(boolean):true false 大小1B=8bit; 2原创 2015-04-27 20:04:26 · 332 阅读 · 0 评论 -
java类加载机制的一些自我总结
(首先声明:这些文章都是自己的学习总结 写出来只为梳理自己的知识框架 也为日后巩固自身的java基础之用 ,也希望能帮到爱好java的朋友,能力有限 有错的地方欢迎大家提出来) 由于本人学java基础是在linux环境下,所以这里也是配合Linux环境讲解的 启动类加载器:.bootstrap class loader 加载Java的核心类,放在/opt/jdk1.7.0_45/jre/li原创 2015-04-27 20:06:55 · 278 阅读 · 0 评论 -
关于“==” 和equals()方法以及String类的一写总结
(首先声明:这些文章都是自己的学习总结 写出来只为梳理自己的知识框架 也为日后巩固自身的java基础之用 ,也希望能帮到爱好java的朋友,能力有限 有错的地方欢迎大家提出来) a)“==”标识符(identify if two references point to the same objext)说白了对于原始数据类型和引用类型 它比较的是栈 空间上的两块内存的值是否相等。 b原创 2015-04-27 20:12:29 · 319 阅读 · 0 评论 -
java基本语法的总结(一)
1.局部变量: 1)在方法中定义,作用域在方法内; 2)在用之前必须被初始化,不能默认初始化; 3)与实例变量相同时,局部变量在方法中起作用; 4)类的每个方法都可以直接访问其实力变量; 5)类的方法中传的参数也是局部变量; 2.实例变量 1)定义于类中、方法外; 2)自动初始化; 3)其数据类型默认值如下: byte:0 shor原创 2015-05-03 21:00:42 · 330 阅读 · 0 评论 -
用java构建完全二叉树
[java] view plaincopy //树结点类 public class TreeNode { private int value; private TreeNode leftchild; private TreeNode rightchild; public int getValue() {转载 2015-05-04 21:38:25 · 761 阅读 · 0 评论 -
Java多线程之~~~ReadWriteLock 读写分离的多线程实现
在多线程开发中,经常会出现一种情况,我们希望读写分离。就是对于读取这个动作来说,可以同时有多个线程同 时去读取这个资源,但是对于写这个动作来说,只能同时有一个线程来操作,而且同时,当有一个写线程在操作这个资 源的时候,其他的读线程是不能来操作这个资源的,这样就极大的发挥了多线程的特点,能很好的将多线程的能力发挥 出来。 在Java中,ReadWriteLock这个接口就为我转载 2015-05-04 21:35:17 · 476 阅读 · 0 评论 -
getResourceAsStream用法
第一:要加载的文件和.class文件在同一目录下,例如:com.ljq.test目录下有类ReflectTest.class,同时有资源文件config.properties 2 3 那么,应该有如下代码: 4 ReflectTest.class.getResourceAsStream("config.properties"); 5 6 第二:在ReflectT转载 2015-09-11 10:56:17 · 371 阅读 · 0 评论 -
String相关学习
概念String在java中是对char数组的延伸和封装,它主要有三部分: char数组 偏移量 String长度 char数组表示String的内容 他是String对象所表示字符串的超集,String的真是内容还需要由偏移量和长度在这个char数组中进行定位和截取特点 不变性 一个String对象一旦生成就不可改变,作用在于被多线程共享和访问时,省略同步和锁等待的时间,提高性能 针对常量池原创 2017-04-09 17:01:39 · 356 阅读 · 0 评论