Java进阶
文章平均质量分 96
笔记来自于黑马的20天Java视频
大果壳Clap
感谢你的关注!
展开
-
day14-单元测试、反射、注解、动态代理
各位小伙伴,接下来我们学习注解。注解和反射一样,都是用来做框架的,我们这里学习注解的目的其实是为了以后学习框架或者做框架做铺垫的。那注解该怎么学呢?和反射的学习套路一样,我们先充分的认识注解,掌握注解的定义和使用格式,然后再学习它的应用场景。先来认识一下什么是注解?Java注解是代码中的特殊标记,比如@Override、@Test等,作用是:让其他程序根据注解信息决定怎么执行该程序。转载 2024-03-17 01:15:08 · 78 阅读 · 0 评论 -
day13-网络编程
同学们,今天我们学习的课程内容叫网络编程。意思就是编写的应用程序可以与网络上其他设备中的应用程序进行数据交互。网络编程有什么用呢?这个就不言而喻了,比如我们经常用的微信收发消息就需要用到网络通信的技术、在比如我们打开浏览器可以浏览各种网络、视频等也需要用到网络编程的技术。我们知道什么是网络编程、也知道网络编程能干什么后了,那Java给我们提供了哪些网络编程的解决方案呢?Java提供的网络编程的解决方案都是在java.net包下。转载 2024-03-16 01:27:00 · 88 阅读 · 0 评论 -
day12-Java多线程
首先,什么是线程安全问题呢?线程安全问题指的是,多个线程同时操作同一个共享资源的时候,可能会出现业务安全问题。下面通过一个取钱的案例给同学们演示一下。案例需求如下场景:小明和小红是一对夫妻,他们有一个共享账户,余额是10万元,小红和小明同时来取钱,并且2人各自都在取钱10万元,可能出现什么问题呢?如下图所示,小明和小红假设都是一个线程,本类每个线程都应该执行完三步操作,才算是完成的取钱的操作。但是真实执行过程可能是下面这样子的。转载 2024-03-16 01:19:44 · 82 阅读 · 0 评论 -
day11-Java的特殊文件、日志技术
同学们,前面我们学习了IO流,我们知道IO流是用来读、写文件中的数据。但是我们接触到的文件都是普通的文本文件,普通的文本文件里面的数据是没有任何格式规范的,用户可以随意编写,如下图所示。像这种普通的文本文件,没有任何规律可言,不方便程序对文件中的数据信息处理。在以后的Java开发过程中还会遇到一些特殊的文本文件,这些文件是有一些格式要求的,方便程序对文件中的数据进行处理。比如,后面我们会用到两种特殊的文本文件,一种是properties文件,还有一种是xml文件。如下图所示。转载 2024-03-16 01:12:58 · 75 阅读 · 0 评论 -
day10-IO流(二)
接下来,我们先学习OutputStreamWriter类,你看这个类名也比较有意思,前面是OutputStream表示字节输出流,后面是Writer表示字符输出流,合在一起意思就是表示可以把OutputStream转换为Writer,最终OutputStreamWriter其实也是Writer的子类,所以也算是字符输出流。如果使用FileReader读取GBK格式的文件,可能存在乱码,因为FileReader它遇到汉字默认是按照3个字节来读取的,而GBK格式的文件一个汉字是占2个字节,这样就会导致乱码。转载 2024-03-16 01:04:37 · 24 阅读 · 0 评论 -
day09-字符集、IO流(一)
各位小伙伴,在前面我们已经学习过File类。但是我们知道File只能操作文件,但是不能操作文件中的内容。我们也学习了字符集,不同的字符集存字符数据的原理是不一样的。有了前面两个知识的基础,接下来我们再学习IO流,就可以对文件中的数据进行操作了。IO流的作用:就是可以对文件或者网络中的数据进行读、写的操作。如下图所示把数据从磁盘、网络中读取到程序中来,用到的是输入流。把程序中的数据写入磁盘、网络中,用到的是输出流。简单记:输入流(读数据)、输出流(写数据)转载 2024-03-16 00:58:22 · 24 阅读 · 0 评论 -
day08-Map集合、Stream流、File类
比如有如下案例:往HashMap集合中存储Student对象作为键,学生的家庭住址当做值。要求,当学生对象的姓名和年龄相同时就认为键重复。转载 2024-03-16 00:54:54 · 48 阅读 · 0 评论 -
day07——集合进阶(Set、Map集合)
最后,将所有的Collection集合总结一下,要求大家掌握每一种集合的特点,以及他们的体系结构。好了,关于Collection集合,到这里就学习完了。各位同学,前面我们已经把单列集合学习完了,接下来我们要学习的是双列集合。首先我们还是先认识一下什么是双列集合。所谓双列集合,就是说集合中的元素是一对一对的。Map集合中的每一个元素是以key=value的形式存在的,一个key=value就称之为一个键值对,而且在Java中有一个类叫Entry类,Entry的对象用来表示键值对对象。转载 2024-03-16 00:40:33 · 64 阅读 · 0 评论 -
day06—集合进阶(异常、集合)
同学们经过刚才的学习已经认识了什么是异常了,但是无法为这个世界上的全部问题都提供异常类,如果企业自己的某种问题,想通过异常来表示,那就需要自己来定义异常类了。我们通过一个实际场景,来给大家演示自定义异常。需求:写一个saveAge(int age)方法,在方法中对参数age进行判断,如果age<0或者>=150就认为年龄不合法,如果年龄不合法,就给调用者抛出一个年龄非法异常。转载 2024-03-13 19:41:43 · 22 阅读 · 0 评论 -
day05-算法和数据结构
但是从另一个角度想,一旦我们学会了,会大大简化我们的代码书写,提高我们编写代码的效率,而且这些新的语法都是有前提条件的,遇到的时候就简化得了。**先聊一聊基本查找:**假设我们要查找的元素是81,如果是基本查找的话,只能从0索引开始一个一个往后找,但是如果元素比较多,你要查找的元素比较靠后的话,这样查找的此处就比较多。接下来,我们学习一下正则表达式的另外两个功能,替换、分割的功能。在学习二分查找之前,我们先来说一下基本查找,从基本查找的弊端,我们再引入二分查找,这样我们的学习也会更加丝滑一下。转载 2024-03-13 19:33:24 · 34 阅读 · 0 评论 -
day04——常用API
各位同学,接下来我们学习的这个类叫BigDecimal,至于它是干什么用的,我们先不说。为了解决计算精度损失的问题,Java给我们提供了BigDecimal类,它提供了一些方法可以对数据进行四则运算,而且不丢失精度,同时还可以保留指定的小数位。学完Date类和SimpleDateFormat类之后,我们再学习一个和日期相关的类,它是Calendar类。Math是数学的意思,该类提供了很多个进行数学运算的方法,如求绝对值,求最大值,四舍五入等,话不多说,直接上代码。接下来,我们学习一下JDK8新增的日期类。转载 2024-03-13 19:27:52 · 18 阅读 · 0 评论 -
day03——面向对象高级
接下来我们学习一下自定义泛型类,但是有一些话需要给大家提前交代一下:泛型类,在实际工作中一般都是源代码中写好,我们直接用的,就是ArrayList这样的,自己定义泛型类是非常少的。自定义泛型类的格式如下//这里的<T,W>其实指的就是类型变量,可以是一个,也可以是多个。public class 类名<T,W>{接下来,我们自己定义一个MyArrayList泛型类,模拟一下自定义泛型类的使用。注意这里重点仅仅只是模拟泛型类的使用,所以方法中的一些逻辑是次要的,也不会写得太严谨。转载 2024-03-13 19:19:17 · 25 阅读 · 0 评论 -
day02——面向对象高级
什么是多态?多态是在继承、实现情况下的一种现象,表现为:对象多态、行为多态。比如:Teacher和Student都是People的子类,代码可以写成下面的样子。转载 2024-03-11 00:02:50 · 23 阅读 · 0 评论 -
day01——面向对象高级
权限修饰符是用来限制类的成员(成员变量、成员方法、构造器…)能够被访问的范围。每一种权限修饰符能够被访问的范围如下下面我们用代码演示一下,在本类中可以访问到哪些权限修饰的方法。转载 2024-03-10 23:57:14 · 37 阅读 · 0 评论