Java基础学习
文章平均质量分 91
学习Java的过程记录
麓殇⊙
萌新一枚
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java学习日记--注解与反射
Annotation的作用:不是程序本身,可以i对程序进行解释,(这一点和注释comment没什么区别)可以被其他程序(比如编译器)读取Annotation的格式:注解是以“@注解名”在代码中存在的,还可以添加一些参数值,例如:@Suppress Warnings(value=“unchecked”)Annotation在那里使用?可以附加在package,class,method,field等上面,相当于给他们添加额外的辅助信息,我们可以通过反射机制编程实现对这些元数据的访问。原创 2025-03-18 14:54:30 · 1211 阅读 · 0 评论 -
Java学习笔记——网络编程
将不同区域的电脑连接到一起,组成局域网、城域网或广域网。把分布在不同地理区域的计算机与专门的外部设备用通信线路互联成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。原创 2025-03-17 17:17:49 · 994 阅读 · 0 评论 -
稀疏数组代码实现
当一个数组中大部分元素为0,或者为同一值的数组时,可以使用稀疏数组来保存该数组稀疏数组的处理方式是:记录数组一共几行几列,有多少个不同值把具有不同值的元素和行列记录在一个小规模的数组中,从而缩小程序的规模其实就是压缩算法示例:那如何用代码实现呢?思路说明:就拿做五子棋游戏为例;棋盘就是二维数组,那上面的黑子与白子,我们就可以用数来表示,数组里的1就表示白子,2,就表示黑子。原创 2025-03-20 21:25:16 · 869 阅读 · 0 评论 -
冒泡排序代码实现(Java)
在我的理解里,给你一个未排列的数组,如{7,40,12,74,8,90},每两个数之间相互比较大小,如果要从小到大,那就是两个数字之间,如果第一个数大于第二个数,那就交换位置,反之则不变,直到最终排出,那么如何用代码实现呢?原创 2025-03-20 20:10:12 · 1085 阅读 · 0 评论 -
Java学习日记-- 初识多线程
Lambda表达式,也可称为闭包。类似于JavaScript中的闭包,它是推动Java8发布的最重要的新特性。原创 2025-03-18 18:31:10 · 805 阅读 · 0 评论 -
集合框架--List集合详解
链表是由一个一个的结点组成的,结点都是独立的对象,和数组不一样,在内存中是分散存储的,每个结点除了包含的数据内容,还会包含下一个结点的地址信息,通过这个地址信息是可以找到下一个结点的查询慢,无论查询你那个数据都要从头开始找,根据索引寻找的时候,也要从头开始找,因为结点在内存中是分散存储的链表增删相对快,原理:链表可以直接让想要删除的元素的前一个元素的地址指向想要删除的元素的后一个元素,元素就删除了增加的时候,将要插入的地方的两边插入地址即可,原创 2025-04-16 22:21:24 · 1398 阅读 · 0 评论 -
集合框架--Set集合详解
set 系列集合特点:无序:存或取的元素的顺序可能是一致的,也可能不是不重复:集合中不能存储重复的元素,我们可以利用这个特性去重无索引:我们不可以通过索引获得set中的每一个元素接口没有在接口之外添加新方法,只是改变了一些方法的行为语义。例如,方法对于已存在的元素将返回。HashSet:无序,不重复,无索引LinkedHashSet:有序,不重复,无索引TreeSet:排序、不重复、无索引根据源码得:底层利用了,底层用了,底层用了。代码展示:注:Set要用到的常用方法,基本上就是collection提原创 2025-04-18 18:23:16 · 1070 阅读 · 0 评论 -
CurrentHashMap的整体系统介绍及Java内存模型(JVM)介绍
当我们提到时,先想到的就是HashMap不是线程安全的:在多个线程共同操作HashMap时,会出现一个数据不一致的问题。是HashMap的线程安全版本。它通过在相应的方法上加锁,来保证多线程情况下的数据一致性。数据不一致问题的表象有两种情况:1.写-读冲突:一个线程修改后,另一个线程读到的不是最新的数据。2.写-写冲突:两个线程同时修改数据,发生数据覆盖的情况。原因是Java内存模型将内存分为两种,和并且规定,所有的变量都存储在主内存中(不包括局部变量与方法参数)。原创 2025-05-09 21:19:50 · 1520 阅读 · 0 评论 -
集合框架拓展--stream流的使用
也叫stream流,是JDK8开始新增的一套API(java.util.stream.*),可以用于操作集合或数组中的数据优势:Stream流大量地结合了Lambda的语法风格来编程,提供了一种更强大,更加简单的方式操作集合或者数组的数据,代码更简洁,可读性更好(比如:从集合中筛选数据,遍历数据)案例:体验stream流需求:把集合中所有以''张''开头而且是三个字的元素存储到一个新的集合中。原创 2025-04-20 15:27:52 · 740 阅读 · 0 评论 -
集合框架(详解)
集合框架是一个统一的架构,用于表示和操作集合,使集合能够独立于其实现细节进行操作,Java集合框架提供了一系列接口和类,用于存储检索操作和传输数据对象Iterator是提供集合操作内部对象的一个迭代器,他可以便历,移除对象,而且只能单向移动Iterable是对Iterator的封装,在JDK 1.8时,实现了Iterable接口的集合可以使用增强 for 循环遍历集合对象,我们通过反编译后发现底层还是使用Iterator迭代器进行遍历。它继承 Iterator 接口,在遍历List集合时可以从。原创 2025-04-19 19:29:24 · 1452 阅读 · 0 评论 -
IO流--字节流详解
负责从磁盘或网络上将数据读到内存中去O指Output,称为输出流,负责写数据出去到网络或磁盘上因此,IO流总体来看就有四大流字节输入流:以内存为基准,在管道中,以一个一个字节的形式,从外部读取数据到内存中的流。字节输出流:以内存为基准,在管道中,以一个一个字节的形式,将数据从内存中读取到外部磁盘或网络中的流。字符输入流:以内存为基准,在管道中,以一个一个字符的形式,从外部读取数据到内存中,只适合操作纯文本文件的流。字符输出流。原创 2025-04-21 21:24:11 · 1082 阅读 · 0 评论 -
集合框架案例--斗地主代码实现
再创建一个房间类,房间类中首先要拿到一副牌,在打乱牌的顺序,再发给三个玩家,最后给三个玩家手中的牌排序,看牌(其中打牌需要用到网络通信,这里还不熟练,就只运行到看牌这一阶段)点数 ”3“,"4","5","6","7","8","9","J","Q","K","A","2"3.在启动方法中,给三名玩家发牌,并且留下最后三张牌,4.在启动方法中,抢到地主,并且将牌排序,展示。接着,需要完成洗牌,发牌,对牌排序,看牌。首先先创建一副牌,一个房间,一个启动类。花色:”♥“,”♠“,”♣“,”♦“原创 2025-04-18 23:54:01 · 426 阅读 · 0 评论 -
IO流详解
负责从磁盘或网络上将数据读到内存中去O指Output,称为输出流,负责写数据出去到网络或磁盘上因此,IO流总体来看就有四大流字节输入流:以内存为基准,在管道中,以一个一个字节的形式,从外部读取数据到内存中的流。字节输出流:以内存为基准,在管道中,以一个一个字节的形式,将数据从内存中读取到外部磁盘或网络中的流。字符输入流:以内存为基准,在管道中,以一个一个字符的形式,从外部读取数据到内存中,只适合操作纯文本文件的流。原创 2025-04-22 23:03:07 · 1599 阅读 · 0 评论
分享