javaSE
文章平均质量分 64
冷环渊
这里是四年学习Java的小冷,
腾讯云技术笔者
阿里云专家博主
阿里云程序员2022 1024高并发技术征文top1
亚马逊云优质技术征文作者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java进阶:【集合】HashMap原理简单理解
HashMap原理简单理解 HashMap重要属性: hashMap构造器: put方法: 新增方法中的hashCode算法: 计算位置的方法和entry对象: 经典面试题: 装填因子,负载因子,加载因子 为什么是0.75 装填因子设置为1:空间利用率得到了很大的满足,但是很容易碰撞,产生链表,查询效率边低 装填因子:0.5:碰撞几率低,扩容,产生链表几率低,查询快 于是HashMap做了个折中 主数组的长度为什么是2^n 原因1: 数组长度影响位置,H&length-1等效,等效的前提原创 2021-11-26 19:13:31 · 427 阅读 · 2 评论 -
Java进阶:【集合】Map接口
Map接口 无序,唯一 HashMap 特点:无序。唯一, 特点是按照key进行总结的,因为底层key寻找哈希表的结构(数组+链表) 哈希表原理:如放入这个集合数据的对应的类,必须重写HashCode和equals这两个方法,否则结果就不符合唯一,无序的特点 添加:put(K key, V value), putAll(Map<? extends K,? extends V> m) 修改: 删除:clear(),remove(Object key) 查看:entrySet(), k原创 2021-11-26 19:10:47 · 325 阅读 · 0 评论 -
Java进阶:【集合】set接口
set接口 特点:无序,唯一,这里的无序是相对list来说的,不是随机, API:相对于list,没有索引的相关方法, 那么证明我们的遍历方法有: (1)迭代器 (2)增强for循环 hashset实现类使用 无序,唯一,我们会发现重复存放的元素,输出的时候只会有一个,那如何验证呢,add()是一个bool返回值方法,所以我们输出add方法来看看去呗 我们可以发现,第一次添加hello,的返回结果时true成功的,第二次重复的时候就是false失败的, public static void main原创 2021-11-26 19:07:09 · 566 阅读 · 1 评论 -
Java进阶:【集合】迭代器原理
迭代器 迭代器的源码,以及两个经典方法 面试题:迭代器对应的关系 hashnext与next方法的具体实现 增强for循环起始底层也是用迭代器完成的 用debug查看增强for循环,会发现,执行的下一步还是会进到iterator里 listirerator 加入字符串,比如我们想想要在代码中遍历到cc后新增一个kk List list = new ArrayList(); list.add("aa"); list.add("bb"); lis原创 2021-11-26 19:03:10 · 353 阅读 · 0 评论 -
Java进阶:【集合】linkedlist的原理,手写linkedlist,源码阅读
linkedlist LinkedList 常用方法: 增加:addFirst(E e),addLast(E e),offer(E e),offerFirst(E e),offerLast(E e) 删除:poll(),pollFirst(),pollLast(),removeFirst(),removeLast() 修改:set(int index, E element) 查看:element(),getFirst(),getLast(),indexOf(Object o),lastIndexOf(Ob原创 2021-11-26 18:53:52 · 432 阅读 · 0 评论 -
Java进阶:【泛型】认识泛型,泛型方法,泛型类,泛型接口和通配符
泛型 什么是泛型: 泛型就相当于标签 形式:<> jdk1.5之后,用泛型来解决元素类型不确定的数据保存操作, 例如关于这个元素如何保存,如何管理等是确定的,因此此时把元素的类型设计成一个参数,这个类型参数叫做泛型。 没有泛型的集合 public static void main(String[] args) { ArrayList al = new ArrayList(); al.add(98); al.add(18);原创 2021-11-26 16:34:21 · 634 阅读 · 0 评论 -
Java进阶:【集合】1.8 jdk Arraylist和Vector集合源码分析
1.8 jdk Arraylist集合源码分析 底层数组,size是有效数据的长度, 在1.8中调用无参数构造器时底层的elementdata数组初始化为{ } add方法 在调用add方法后底层数组才重新赋值,为新的数组,长度为10,节省了内存,只有在需要添加的时候我们才要创建数组 Vector接口 底层是Object数组,int类型属性表示数组中的有效数据 Vector vr = new Vector();调用构造器的时候 add list和Vecto原创 2021-11-26 16:27:35 · 418 阅读 · 1 评论 -
Java进阶:【集合】认识集合相关的数据结构
什么是算法和数据结构 算法: 可以解决具体问题。例如:1+2+3+4+5.。。+99+100 流程=算法 有设计解决的具体的流程 算法1:(1+100)*50=101 *50–>高斯算法 有评价这个算法的具体指标 有评价这个算法的具体的指标–>时间复杂度,空间复杂度(从数学角度考虑) 数据结构:如何组织管理数据的结构,按照某种规则结构来组织管理我们的数据 数据结构分为: 逻辑结构:–>思想上的结构–>卧室,厨房,卫生间–>线性表(数组,链表),图,树,栈,队原创 2021-11-26 16:24:08 · 558 阅读 · 0 评论 -
Java进阶:【集合】认识集合了解简单语法 迭代器原理分析
什么是算法和数据结构 算法: 可以解决具体问题。例如:1+2+3+4+5.。。+99+100 流程=算法 有设计解决的具体的流程 算法1:(1+100)*50=101 *50–>高斯算法 有评价这个算法的具体指标 有评价这个算法的具体的指标–>时间复杂度,空间复杂度(从数学角度考虑) 数据结构:如何组织管理数据的结构,按照某种规则结构来组织管理我们的数据 数据结构分为: 逻辑结构:–>思想上的结构–>卧室,厨房,卫生间–>线性表(数组,链表),图,树,栈,队原创 2021-11-26 16:08:38 · 611 阅读 · 0 评论 -
Java进阶:循环进阶经典练习题
循环进阶经典练习题 案例一:输出1-100中被5整除的数,每行输出6个 package loopprc; public class loopdemo01 { //输出1-100中被5整除的数,每行输出6个 public static void main(String[] args) { int j=0; for (int i = 0; i <=100; i++) { if (i%5==0){ System.out.print(i+"\t")原创 2021-11-26 15:54:12 · 659 阅读 · 0 评论 -
Java基础差缺补漏系列之I/O流系列1
io流 每日格言: 千里之行,始于足下——老子 file类 文件,目录 文件:内存中存放的数据计算机关机后会消失,要长久的保存数据,就要使用硬盘,光盘等,为了便于数据的管理和检索,引入了文件的概念,可以有一篇文章,一段视频,一个可执行程序。 目录(文件夹): 成千上万的文件,如果不分类的话,会很难管理,于是我们用文件夹去分类,管理。 操作系统: 如果需要查看文件/目录星系,右键属性就好了, 现在我想用java来操纵文件/目录,我该如何? java程序最典型的特点,面向对象,java程序最擅长的就是操纵对象,原创 2021-08-22 23:47:55 · 151 阅读 · 0 评论 -
Java基础差缺补漏系列之集合系列3
集合 每日格言 行动出成果,工作出财富。 Map接口 无序,唯一 HashMap 特点:无序。唯一, 特点是按照key进行总结的,因为底层key寻找哈希表的结构(数组+链表) 哈希表原理:如放入这个集合数据的对应的类,必须重写HashCode和equals这两个方法,否则结果就不符合唯一,无序的特点 添加:put(K key, V value), putAll(Map<? extends K,? extends V> m) 修改: 删除:clear(),remove(Object ke原创 2021-08-20 15:28:33 · 176 阅读 · 0 评论 -
Java基础差缺补漏系列之集合系列2
java 每日格言 明道德以固本,重修养以安魂,知廉耻以净心,去贪欲以守节。 linkedlist 底层为链表 LinkedList 常用方法: 增加:addFirst(E e),addLast(E e),offer(E e),offerFirst(E e),offerLast(E e) 删除:poll(),pollFirst(),pollLast(),removeFirst(),removeLast() 修改:set(int index, E element) 查看:element(),getFirst原创 2021-08-20 15:27:16 · 171 阅读 · 0 评论 -
Java基础差缺补漏系列之集合系列1
服务注册与发现 每日格言: 如果要挖井,就要挖到水出为止。 技术栈: springboot dubbo zookeeper 注册中心推荐zookeeper 下载链接:在3.5.5版本后,官方提供了bin的包,可以不需要配置环境,直接上手查看 https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz 之后以管理员方式启动bin文件夹中的cmd文件 会报错,我们需要吧conf原创 2021-08-20 12:31:37 · 245 阅读 · 0 评论
分享