Java
文章平均质量分 92
李好秀
智能ABCD(AI、BigData、Cloud、Developer-Backend)
展开
-
2、补充 收集数据、并行数据处理能力与性能
将流元素归约和汇总为一个值;元素分组;元素分区。假设你有这个列表,那就可以把它传给isPrime方法,将方法重写如下:而且还应该应用先前的优化,仅仅用小于被测数平方根的质数来测试。因此,你需要想办法在下一个质数大于被测数平方根时立即停止测试。可以使用Stream的takeWhile的方法:以上是Java9之后的实现自己的takeWhile方法,它接受一个排序列表和一个谓词,返回列表元素中符合该谓词条件的最长子列表,代码如下所示:int i = 0;if (!原创 2024-03-01 11:20:21 · 919 阅读 · 0 评论 -
(2) Java 8 实战第二版——使用流进行函数式数据处理
flatMap方法让你把一个流中的每个值都换成另一个流,然后把所有的流连接起来成为一个流类似双重for循环Optional类(java.util.Optional)是一个容器类,代表一个值存在或不存在。在上面的代码中,findAny可能什么元素都没找到。Java 8的库设计人员引入了Optional,这样就不用返回众所周知容易出问题的null了isPresent()将在Optional包含值的时候返回true, 否则返回false。原创 2023-09-11 01:38:36 · 169 阅读 · 0 评论 -
day27-单元测试/日志
JUnit是一个 Java 编程语言的单元测试工具。JUnit 是一个非常重要的测试工具概述程序中的日志可以用来记录程序在运行的时候点点滴滴。并可以进行永久存储。日志与输出语句的区别输出语句日志技术取消日志需要修改代码,灵活性比较差不需要修改代码,灵活性比较好输出位置只能是控制台可以将日志信息写入到文件或者数据库中多线程和业务代码处于一个线程中多线程方式记录日志,不影响业务代码的性能。原创 2023-01-22 03:32:21 · 1064 阅读 · 0 评论 -
day26-XML/枚举/注解
万维网联盟(W3C)万维网联盟(W3C)创建于1994年,又称W3C理事会。1994年10月在麻省理工学院计算机科学实验室成立。建立者: Tim Berners-Lee (蒂姆·伯纳斯·李)。是Web技术领域最具权威和影响力的国际中立性技术标准机构。到目前为止,W3C已发布了200多项影响深远的Web技术标准及实施指南,如广为业界采用的超文本标记语言HTML(标准通用标记语言下的一个应用)、可扩展标记语言XML(标准通用标记语言下的一个子集)原创 2023-01-22 03:27:34 · 569 阅读 · 0 评论 -
day25-类加载器反射
反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。原创 2023-01-22 03:24:49 · 344 阅读 · 0 评论 -
day24-网络编程02
超文本传输协议(关于超文本的概念JavaWeb在进行学习),是建立在TCP/IP协议基础上,是网络应用层的协议。由请求和响应构成,是一个标准的客户端和服务器模型。原创 2023-01-22 03:20:53 · 396 阅读 · 0 评论 -
day23-网络编程01
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统网络编程在网络通信协议下,不同计算机上运行的程序,可以进行数据传输BIOBlocking IO,阻塞型IONIONo Blocking IO,非阻塞型IO阻塞IO的弊端在等待的过程中,什么事也做不了非阻塞IO的好处不需要一直等待,当一切就绪了再去做。原创 2023-01-22 03:16:29 · 496 阅读 · 0 评论 -
day22 多线程02
当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。线程对象在不同的时期有不同的状态。那么Java中的线程存在哪几种状态呢?Java中的线程/* 新建 */ NEW , /* 可运行状态 */ RUNNABLE , /* 阻塞状态 */ BLOCKED , /* 无限等待状态 */ WAITING , /* 计时等待 */ TIMED_WAITING , /* 终止 */ TERMINATED;} // 获取当前线程的状态 public State getState() {原创 2023-01-22 03:10:45 · 627 阅读 · 0 评论 -
day21-多线程
概述生产者消费者模式是一个十分经典的多线程协作的模式,弄懂生产者消费者问题能够让我们对多线程编程的理解更加深刻。所谓生产者消费者问题,实际上主要是包含了两类线程: 一类是生产者线程用于生产数据 一类是消费者线程用于消费数据为了解耦生产者和消费者的关系,通常会采用共享的数据区域,就像是一个仓库生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为消费者只需要从共享数据区中去获取数据,并不需要关心生产者的行为Object类的等待和唤醒方法方法名说明。原创 2023-01-22 03:06:57 · 349 阅读 · 0 评论 -
day12-继承
当我们在做子类共性功能抽取时,有些方法在父类中并没有具体的体现,这个时候就需要抽象类了! 在Java中,一个没有方法体的方法应该定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类!在Java中,使用 { } 括起来的代码被称为代码块。原创 2023-01-18 02:28:14 · 596 阅读 · 0 评论 -
day13-接口和内部类
接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。Java中接口存在的两个意义用来定义规范用来做功能的拓展常量抽象方法默认方法(Java 8)静态方法(Java 8)私有方法(Java 9)什么是多态 同一个对象,在不同时刻表现出来的不同形态多态的前提要有继承或实现关系要有方法的重写要有父类引用指向子类对象代码演示System . out . println("动物吃饭");System . out . println("猫吃鱼");原创 2023-01-18 02:30:30 · 328 阅读 · 0 评论 -
day14-常用API
什么是API API (Application Programming Interface) :应用程序编程接口java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。原创 2023-01-18 02:37:09 · 363 阅读 · 0 评论 -
day15-常用API
自定义异常概述当Java中提供的异常不能满足我们的需求时,我们可以自定义异常实现步骤定义异常类写继承关系提供空参构造提供带参构造代码实现异常类} }学生类return age;} else {//如果Java中提供的异常不能满足我们的需求,我们可以使用自定义的异常 throw new AgeOutOfBoundsException("年龄超出了范围");} }测试类。原创 2023-01-18 02:38:39 · 200 阅读 · 0 评论 -
day17集合
不可以存储重复元素没有索引,不能使用普通for循环遍历不可以存储重复元素没有索引可以将元素按照规则进行排序TreeSet():根据其元素的自然排序进行排序TreeSet(Comparator comparator) :根据指定的比较器进行排序两种比较方式小结自然排序: 自定义类实现Comparable接口,重写compareTo方法,根据返回值进行排序比较器排序: 创建TreeSet对象的时候传递Comparator的实现类对象,重写compare方法,根据返回值进行排序。原创 2023-01-18 02:46:17 · 317 阅读 · 0 评论 -
day18集合
Map集合概述interface Map < K , V > K :键的类型;V :值的类型Map集合的特点双列集合,一个键对应一个值键不可以重复,值可以重复Map集合的基本使用//创建集合对象 Map < String , String > map = new HashMap < String , String >();//V put(K key, V value) 将指定的值与该映射中的指定键相关联 map . put("itheima001" , "林青霞");原创 2023-01-18 02:47:53 · 132 阅读 · 0 评论 -
day19IO流
File类介绍它是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已.它可以是存在的,也可以是不存在的.将来是要通过具体的操作把这个路径的内容转换为具体存在的File类的构造方法方法名说明通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例从父路径名字符串和子路径名字符串创建新的 File实例从父抽象路径名和子路径名字符串创建新的 File实例示例代码。原创 2023-01-18 02:49:10 · 324 阅读 · 0 评论 -
day20IO流
它使用一至四个字节为每个字符编码。BufferedWriter:将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入,可以指定缓冲区大小,或者可以接受默认大小。BufferedReader:从字符输入流读取文本,缓冲字符,以提供字符,数组和行的高效读取,可以指定缓冲区大小,或者可以使用默认大小。用字节流复制文本文件时,文本文件也会有中文,但是没有问题,原因是最终底层操作会自动进行字节拼接成中文,如何识别是中文的呢? 是从字符流到字节流的桥梁,使用指定的编码将写入的字符编码为字节。原创 2023-01-18 02:50:40 · 372 阅读 · 0 评论 -
day11-分类和static
通过我们已掌握的知识点,先实现一个案例,然后找出这个案例中,存在的一些问题,在通过新知识点解决问题分工协作,专人干专事如果将所有的类文件都放在同一个包下,不利于管理和后期维护,所以,对于不同功能的类文件,可以放在不同的包下进行管理包本质上就是文件夹创建包多级包之间使用 " . " 进行分割多级包的定义规范:公司的网站地址翻转(去掉www)后期我们所定义的包的结构就是:com.csdn.其他的包名包的命名规则字母都是小写。原创 2022-12-30 13:56:56 · 603 阅读 · 0 评论 -
day10Git
无论是代码编写,还是文档编写,我们都会遇到对文档内容反复修改的情况分支由每次提交的代码,串成的一条时间线使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线分支的使用场景周期较长的模块开发假设你准备开发一个新功能,但是需要一个月才能完成第一周写了20%的代码,突然发现原来已经写好的功能出现了一个严重的Bug那现在就需要放下手中的新功能,去修复Bug但这20%的代码不能舍弃,并且也担心丢失,这就需要开启一个新的版本控制。尝试性的模块开发。原创 2022-12-29 16:21:27 · 507 阅读 · 1 评论 -
day09 ArrayList集合&学生管理系统
/ 学号 private String name;// 姓名 private int age;// 年龄 private String birthday;// 生日 public Student() {} }// 创建集合容器对象 ArrayList < Student > list = new ArrayList < >();原创 2022-12-29 16:09:05 · 540 阅读 · 0 评论 -
day08 常用API
什么是API API (Application Programming Interface) :应用程序编程接口java中的API 指的就是 JDK 中提供的各种功能的 Java类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,我们可以通过帮助文档来学习这些API如何使用。打开帮助文档找到索引选项卡中的输入框在输入框中输入Random看类在哪个包下看类的描述看构造方法看成员方法。原创 2022-12-29 16:06:26 · 515 阅读 · 0 评论 -
day07 面向对象
类的组成是由属性和行为两部分组成**属性:**在类中通过成员变量来体现(类中方法外的变量)**行为:**在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可) ① 定义类 ② 编写类的成员变量 ③ 编写类的成员方法// 属性 : 姓名, 年龄 // 成员变量: 跟之前定义变量的格式一样, 只不过位置发生了改变, 类中方法外 String name;int age;原创 2022-12-29 16:01:43 · 297 阅读 · 0 评论 -
day05 方法
方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集注意:方法必须先创建才可以使用,该过程成为方法定义方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用public static void 方法名() {// 方法体;}// 方法体;}方法名();method();注意: 方法必须先定义,后调用,否则程序将报错定义格式:参数:由数据类型和变量名组成 - 数据类型 变量名参数范例:int a。原创 2022-12-29 15:50:39 · 359 阅读 · 0 评论 -
day04 IDEA&数组
数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。 数据类型[] 数组名 数组动态初始化就是只给定数组的长度,由系统给出默认初始化值 每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。 这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。 内存是计算机中的重要原件,临时存储区域,作用是运行程序。 我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的。 必须放进内存中才能运行,运行完毕后会清空内存。原创 2022-12-29 15:48:41 · 223 阅读 · 0 评论 -
day03 switch&循环语句
循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形 成死循环。解释: 10代表的是一个范围,如果括号写10,产生的随机数就是0-9,括号写20,参数的随机数则是0-19。④ 执行条件判断语句,看其结果是true还是false。A. 如果猜的数字比真实数字大,提示你猜的数据大了。B. 如果猜的数字比真实数字小,提示你猜的数据小了。③ 执行条件控制语句。原创 2022-12-29 15:47:15 · 237 阅读 · 0 评论 -
day02-Java基础语法
在Java中,一些数据类型之间是可以相互转换的。分为两种情况:自动类型转换和强制类型转换。原创 2022-12-29 15:44:05 · 315 阅读 · 0 评论 -
day01_Java环境搭建及入门
语言:人与人交流沟通的表达方式计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言Java语言是美国Sun公司(Stanford University Network)在1995年推出的计算机语言Java之父:詹姆斯·高斯林(James Gosling)java语言的三个版本: JavaSE: Java 语言的(标准版),用于桌面应用的开发,是其他两个版本的基础 JavaME: Java 语言的(小型版),用于嵌入式消费类电子设备。原创 2022-12-29 15:37:33 · 131 阅读 · 0 评论 -
Win安装Java1.8和Maven3仓库
下载JDK只安装JDK,取消jre安装配置环境变量JAVA_HOME=[所安装的路径]PATH环境添加%JAVA_HOME%/bin和%JAVA_HOME%/jre/bincmd运行>java###>javac###>java -versionjava version "1.8.0_311"Java(TM) SE Runtime Environment (build 1.8.0_311-b11)Java HotSpot(TM) 64-Bit Server VM (原创 2021-10-31 22:03:24 · 251 阅读 · 0 评论