avatar
文章
72
标签
50
分类
37

首页
时间轴
分类
分享
  • 音乐
  • 随笔
  • 面试八股
关于
fanfanの博客
搜索
首页
时间轴
分类
分享
  • 音乐
  • 随笔
  • 面试八股
关于
day12-多线程
发表于2021-02-07|javaSE
day12-多线程一、多线程常用方法 下面我们演示一下getName()、setName(String name)、currentThread()、sleep(long time)这些方法的使用效果。 public class MyThread extends Thread{ public MyThread(){ } public MyThread(String name){ super(name); //1.执行父类Thread(String name)构造器,为当前线程设置名字了 } @Override public void run() { //2.currentThread() 哪个线程执行它,它就会得到哪个线程对象。 Thread t = Thread.currentThread(); for (int i = 1; i <= 3; i++) { //3.getN ...
day11-特殊文件、日志技术、多线程
发表于2021-02-07|javaSE
day11-特殊文件、日志技术、多线程一、属性文件1.1 特殊文件概述同学们,前面我们学习了IO流,我们知道IO流是用来读、写文件中的数据。但是我们接触到的文件都是普通的文本文件,普通的文本文件里面的数据是没有任何格式规范的,用户可以随意编写,如下图所示。 像这种普通的文本文件,没有任何规律可言,不方便程序对文件中的数据信息处理。 在以后的Java开发过程中还会遇到一些特殊的文本文件,这些文件是有一些格式要求的,方便程序对文件中的数据进行处理。 比如,后面我们会用到两种特殊的文本文件,一种是properties文件,还有一种是xml文件。如下图所示。 后缀为.properties的文件,称之为属性文件,它可以很方便的存储一些类似于键值对的数据。经常当做软件的配置文件使用。 而xml文件能够表示更加复杂的数据关系,比如要表示多个用户的用户名、密码、家乡、性别等。在后面,也经常当做软件的配置文件使用。 现在,学习特殊的文件主要学习什么呢? 主要学习以下的三点 1.2 Properties属性文件接下来,我们先学习Properties这种属性文件。首先我们要掌握属性文件的格式: ...
day10-IO流(二)
发表于2021-02-07|javaSE
day10-IO流(二)一、字符流同学们,前面我们学习了字节流,使用字节流可以读取文件中的字节数据。但是如果文件中有中文使用字节流来读取,就有可能读到半个汉字的情况,这样会导致乱码。虽然使用读取全部字节的方法不会出现乱码,但是如果文件过大又不太合适。 所以Java专门为我们提供了另外一种流,叫字符流,可以字符流是专门为读取文本数据而生的。 1.1 FileReader类先类学习字符流中的FileReader类,这是字符输入流,用来将文件中的字符数据读取到程序中来。 FileReader读取文件的步骤如下: 第一步:创建FileReader对象与要读取的源文件接通 第二步:调用read()方法读取文件中的字符 第三步:调用close()方法关闭流 需要用到的方法:先通过构造器创建对象,再通过read方法读取数据(注意:两个read方法的返回值,含义不一样) /** * 目标:掌握文件字符输入流。 */ public class FileReaderTest1 { public static void main(String[] args) { ...
day09-字符集、IO流(一)
发表于2021-02-07|javaSE
day09-字符集、IO流(一)各位同学,前面我们已经学习了File类,通过File类的对象可以对文件进行操作,但是不能操作文件中的内容。要想操作文件中的内容,我们还得学习IO流。但是在正式学习IO流之前,我们还需要学习一个前置知识叫做字符集,只有我们把字符集搞明白了,再学习IO流才会更加丝滑。 一、字符集1.1 字符集的来历所以,接下来我们正式学习一下字符集。先来带着同学们,了解一下字符集的来历。 我们知道计算机是美国人发明的,由于计算机能够处理的数据只能是0和1组成的二进制数据,为了让计算机能够处理字符,于是美国人就把他们会用到的每一个字符进行了编码(所谓编码,就是为一个字符编一个二进制数据),如下图所示: 美国人常用的字符有英文字母、标点符号、数字以及一些特殊字符,这些字符一共也不到128个,所以他们用1个字节来存储1字符就够了。 美国人把他们用到的字符和字符对应的编码总结成了一张码表,这张码表叫做ASCII码表(也叫ASCII字符集)。 其实计算机只在美国用是没有问题的,但是计算机慢慢的普及到全世界,当普及到中国的时候,在计算机中想要存储中文,那ASCII字符集就不够用了,因 ...
day08-Map集合、Stream流、File、递归
发表于2021-02-07|javaSE
day08-Map集合、Stream流、File类一、Map集合同学们,在前面几节课我们已经学习了Map集合的常用方法,以及遍历方式。 下面我们要学习的是Map接口下面的是三个实现类HashMap、LinkedHashMap、TreeMap。实际上这三个实现类并没有什么特有方法需要我们学习,它们的方法就是前面学习Map的方法。这里我们主要学习它们的底层原理。 1.1 HashMap首先,我们学习HashMap集合的底层原理。前面我们学习过HashSet的底层原理,实际上HashMap底层原理和HashSet是一样的。为什么这么说呢?因为我们往HashSet集合中添加元素时,实际上是把元素作为添加添加到了HashMap集合中。 下面是Map集合的体系结构,HashMap集合的特点是由键决定的: 它的键是无序、不能重复,而且没有索引的。再各种Map集合中也是用得最多的一种集合。 刚才我们说,HashSet底层就是HashMap,我们可以看源码验证这一点,如下图所示,我们可以看到,创建HashSet集合时,底层帮你创建了HashMap集合;往HashSet集合中添加添加元素时,底层却是调用 ...
day07-集合进阶(Set、Collections、Map集合)
发表于2021-02-07|javaSE
day07——集合进阶(Set、Map集合)一、Set系列集合1.1 认识Set集合的特点Set集合是属于Collection体系下的另一个分支,它的特点如下图所示 下面我们用代码简单演示一下,每一种Set集合的特点。 //Set<Integer> set = new HashSet<>(); //无序、无索引、不重复 //Set<Integer> set = new LinkedHashSet<>(); //有序、无索引、不重复 Set<Integer> set = new TreeSet<>(); //可排序(升序)、无索引、不重复 set.add(666); set.add(555); set.add(555); set.add(888); set.add(888); set.add(777); set.add(777); System.out.println(set); //[555, 666, 777, 888] 1.2 HashSet集合底层原理接下来,为了让同学们更加透彻的理解HashSet为什么可以去重,我们来看一下它的底层原 ...
day06-集合进阶
发表于2021-02-07|javaSE
day06—集合进阶(异常、集合)零、异常1.1 认识异常接下来,我们学习一下异常,学习异常有利于我们处理程序中可能出现的问题。我先带着同学们认识一下,什么是异常? 我们阅读下面的代码,通过这段代码来认识异常。 我们调用一个方法时,经常一部小心就出异常了,然后在控制台打印一些异常信息。其实打印的这些异常信息,就叫做异常。 那肯定有同学就纳闷了,我写代码天天出异常,我知道这是异常啊!我们这里学习异常,其实是为了告诉你异常是怎么产生的?只有你知道异常是如何产生的,才能避免出现异常。以及产生异常之后如何处理。 因为写代码时经常会出现问题,Java的设计者们早就为我们写好了很多个异常类,来描述不同场景下的问题。而有些类是有共性的所以就有了异常的继承体系 先来演示一个运行时异常产生 int[] arr = {11,22,33}; //5是一个不存在的索引,所以此时产生ArrayIndexOutOfBoundsExcpetion System.out.println(arr[5]); 下图是API中对ArrayIndexOutOfBoundsExcpetion类的继 ...
day05-jdk8新特性、算法、正则表达式
发表于2021-02-07|javaSE
day05-算法和数据结构一、JDK8新特性-Lambda表达式接下来,我们学习一个JDK8新增的一种语法形式,叫做Lambda表达式。作用:用于简化匿名内部类代码的书写。 2.1 Lambda表达式基本使用怎么去简化呢?Lamdba是有特有的格式的,按照下面的格式来编写Lamdba。 (被重写方法的形参列表) -> { 被重写方法的方法体代码; } 需要给说明一下的是,在使用Lambda表达式之前,必须先有一个接口,而且接口中只能有一个抽象方法。(注意:不能是抽象类,只能是接口) 像这样的接口,我们称之为函数式接口,只有基于函数式接口的匿名内部类才能被Lambda表达式简化。 public interface Swimming{ void swim(); } 有了以上的Swimming接口之后,接下来才能再演示,使用Lambda表达式,简化匿名内部类书写。 public class LambdaTest1 { public static void main(String[] args) { ...
day04-常用API
发表于2021-02-07|javaSE
day04——常用APIMath类Math是数学的意思,该类提供了很多个进行数学运算的方法,如求绝对值,求最大值,四舍五入等,话不多说,直接上代码。 public class MathTest { public static void main(String[] args) { // 目标:了解下Math类提供的常见方法。 // 1、public static int abs(int a):取绝对值(拿到的结果一定是正数) // public static double abs(double a) System.out.println(Math.abs(-12)); // 12 System.out.println(Math.abs(123)); // 123 System.out.println(Math.abs(-3.14)); // 3.14 // 2、public static double ceil(double a): 向上取整 ...
day03-面向对象高级
发表于2021-02-07|javaSE
day03——面向对象高级各位同学,前面两天我们已经把面向对象最主要的内容学习完了,剩下的这些语法知识学完,那么Java语法知识就算全齐活了。 今天学习的内容同学们学习起来会更轻松一些,有一些语法知识只需要了解一下就可以了,因为实际工作用得并不多。 我们先来了解第一个语法知识,内部类。 一、枚举2.1 认识枚举 2.1.1 认识枚举、枚举的原理 同学们,接下来我们学习一个新的知识点,枚举。枚举是我们以后在项目开发中偶尔会用到的知识。话不多说,我们还是先来认识一下枚举。 枚举是一种特殊的类,它的格式是: public enum 枚举类名{ 枚举项1,枚举项2,枚举项3; } 其实枚举项就表示枚举类的对象,只是这些对象在定义枚举类时就预先写好了,以后就只能用这几个固定的对象。 我们用代码演示一下,定义一个枚举类A,在枚举类中定义三个枚举项X, Y, Z public enum A{ X,Y,Z; } 想要获取枚举类中的枚举项,只需要用类名调用就可以了 public class Test{ public stat ...
1…678
avatar
fanfan
文章
72
标签
50
分类
37
公告
你还有好多未完成的梦,你有什么理由停下脚步。
最新文章
03_AJAX原理
03_AJAX原理2023-11-16
02_AJAX综合案例
02_AJAX综合案例2023-11-15
01_Ajax入门
01_Ajax入门2023-11-14
Linux字符集引发的bug
Linux字符集引发的bug2023-11-14
MySQL百万级数据,如何做分页查询
MySQL百万级数据,如何做分页查询2023-11-11
分类
  • Linux7
    • docker3
    • 常用命令1
  • MySQL1
  • SpringCloud5
  • canal1
  • docker1
    • Portainer1
标签
Eureka SpringCloud Redis docker 动态代理 RabbitMQ nginx Minecraft Yapi 定时任务 Linux 分布式锁 Nacos 网关 linux MySQL java elasticsearch 前后端分离 Stream流 负载均衡 API 性能优化 map Swagger mysql 前端 每日积累 Portainer AJAX 跨域 javaWeb nodejs 微服务 Es io流 git canal Streams seata
归档
  • 十一月 20236
  • 十月 20234
  • 九月 20232
  • 三月 202124
  • 二月 202136
网站资讯
文章数目 :
72
已运行时间 :
本站总字数 :
442k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2023 By fanfan
框架 Hexo|主题 Butterfly
备案号:宁ICP备2023001647号
搜索
数据库加载中