- 博客(22)
- 收藏
- 关注
原创 Java Day18:注解和反射
使用@interface自定义注解,会自动继承java.lang.annotation.Annotation接口@interface用来声明一个注解,格式:@interface 注解名{定义内容}。其中的每一个方法实际上是声明一个配置参数。方法的名称就是参数的名称。返回值类型就是参数的类型(返回值只能是基本类型,Class,String,enum)可以通过default来声明参数的默认值如果只有一个参数成员,一般参数名为value。
2023-01-04 22:20:24
127
原创 Java Day17:网络编程
网络通信1.概念:两台设备之间通过网络实现数据传输2.网络通信;将数据通过网络从一台设备传输到另一台设备3.java.net包下提供了一系列的类或借口哦,供程序员使用,完成网络通信网络1.概念:两台或多台设备通过一定物理设备连接起来构成了网络2.根据网络的覆盖范围不同,对网络进行分类:局域网:覆盖范围最小,仅仅覆盖一个教室或一个机房城域网:覆盖范围较大,可以覆盖一个城市广域网:覆盖范围最大,可以覆盖全国,甚至全球,万维网是广域网的代表ip地址。
2023-01-03 21:05:44
116
原创 Java入门Day16:IO流2
BufferedInputStream\BufferedOutputStream是Buffered修饰的字节处理流。PrintStream是FileOutputStream的子类,它是字节流,默认的输出位置是显示器。BufferedReader\BufferedWriter是Buffered修饰的字符处理流。对象流也是应用了修饰器模式,或者说处理流都是应用了修饰器模式。PrintWriter是Writer的子类,它是字符流。ObjectOutputStream 提供反序列化。只有输出流,没有输入流。
2023-01-02 23:22:32
128
原创 Java入门Day15:IO流
字节流:InputStream(字节输入流)、OutputStream(字节输出流)它们都是抽象类,不能直接创建对象,只能通过创建它们的实现子类来使用。字符流:Reader(字符输入流)、Whiter(字符输出流)
2023-01-01 22:22:39
91
原创 Java入门Day13:线程
Runnable接口中只有run方法,而没有start方法,所以需要通过建立Thread的对象接收类对象(Thread中有一个Runnable类型的属性,可以接收实现了Runnable接口的对象)它的底层是调用了start调用了start0方法,start0方法调用Java底层的C/C++代码,创建了新的线程。我们可以通过在类的属性中加入一个flag,再通过对flag进行控制,来控制线程的终止。同一时刻,多个任务交替执行,造成一种"同时“的错觉,这是因为单核cpu的效率高。
2022-12-29 22:43:32
51
原创 Java入门Day12:泛型
这几天我明显感觉自己的学习效率下降了,我仔细的思考了这个问题,我觉得主要有两个方面的原因。1.学习的内容不断增加,前面的学习内容,需要时间来消化吸收,不断的去追源码,去看底层,其实本身是很累的,加上在集合这部分内容,底层的东西是混在一起的,比如HashSet是Set接口的实现类,但它的底层实际上联系到Map接口下的HashMap,这使得我的大脑总是在将他们混乱,再理清,在混乱。
2022-12-28 20:07:27
210
原创 Java入门Day11:Map接口
1.Map和Collection并列存在,用于保存具有映射关系的键值对Key-Value(双列元素)。2.Map中的Key和Value是封装在HashMap&Node对象中的。3.Map中的Key不允许重复,原因和HashSet一样,当有重复的Key时,就等价于替换。4.Map中可以有多个重复的Value,但需要不同的Key。5.Map中Key可以为null,但只能有一个,Value可以有多个为空。6.常用的Map的Key是String,但可以用任何Object类型作为Key。
2022-12-27 21:57:42
270
原创 Java入门Day10:Set集合
1.无序(添加和取出的顺序不一致)2.不允许重复元素,所以最多包含一个null3.JDK API中的Set接口的实现类有很多,主要有TreeSet和HashSet两个......
2022-12-26 18:52:58
180
原创 Java入门Day9:List集合
1.判断如果last为null,则创建一个新的newNode对象指向一个新的含有该元素空间,并使last指向这个新空间。无参构造,LinkedList的size=0,last和first的指向都为null。3.使添加位置的上一个Node的next指向新空间和下一个Node的per指向新空间。newNode的next指向下一个Node,per指向上一个Node。添加LinkedList的元素的底层源码实现过程。可以添加任意元素,元素可以重复,包括null。构造LinkedList的底层源码实现过程。
2022-12-25 20:37:40
78
原创 LeetBook Day2:两数之和
因为我看LeetBook上很多题都是我现阶段还没有学习的知识,暂时每天会选一题来做,两题的计划暂时搁浅,等Javase学习完后,开始每天两题。接收i和j,并使布尔值为true,这样再次开启i的循环时,会直接结束循环。来接收满足条件的两数,建立一个布尔值来找我们找到一个答案后终止循环,遍历数组。,再让每一个数遍历它后面的数,如果出现符合要求的数,用。
2022-12-24 22:40:04
43
原创 Java入门Day7:异常,Javase结束
Javase的学习就告一段落了,明天将开始新的内容学习,这次对javase的学习还是停留在比较浅显的程度,后续还会在生活中继续深入的学习javase的知识。
2022-12-22 21:12:25
61
原创 Java入门Day6:数组
冒泡排序是通过循环的嵌套,实现通过外部循环控制内部循环的次数;通过内部循环控制排序的结果,每一次内部循环完成,都将有一个最大数被确认。那么内部循环的次数等于数组的元素个数减一,就能完成排序,而这个次数正好是外部循环的次数。我们知道数组的长度是确定的,一旦被创建,它的大小就不可修改了。没有赋值的元素,会返回默认值,数字类型的默认值为0,字符类型为空,布尔值的默认值是false。可以用简单代码遍历整个数组,但是由于没有对下标进行标记,不能很好的利用下标操作数组。将数组以字符串的形式打印,又通过。
2022-12-21 22:49:14
92
原创 Java入门Day4:包机制、JavaDoc、Scanner
Scanner类中的next()和nextLine()方法,是有区别的,next方法接收数据以空格或回车为结束,并且有效字符之前的空白会被省略;nextLine方法不以空格结束,以回车结束,可以接收到空白输入。为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。包相当于我们windos中的文件夹,在不同的文件夹中,我们可以使用相同命名的文件。java.util.Scanner是java提供的用于接收用户输入的工具类。通过API文档,可以清楚的看见我们标注的信息,以及我们使用的方法和构造。
2022-12-19 20:39:56
92
原创 Java入门 Day1:“Hello,World!”
”Hello,World!“电脑对人类世界的第一句语言,对我而言,Hello,Java!
2022-12-09 00:11:58
205
1
空空如也
Mac vmware fusion上 softEther 虚拟网络适配器驱动获取失败
2024-01-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人