![](https://img-blog.csdnimg.cn/20210807140652664.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaSE
文章平均质量分 52
只要心中有景,何处不是花香满径!
itzhuzhu.
简约至上
展开
-
MacOS Apple M1 安装ARM架构的JDK及动态切换版本
MacOS Apple M1 安装ARM架构的JDK及动态切换版本原创 2022-01-09 18:47:36 · 8358 阅读 · 9 评论 -
单例设计模式
目录:单例模式的作用实现的步骤两种模式的区别饿汉模式懒汉模式1. 单例模式的作用:使java中一个类只能创建一个对象2. 实现的步骤:把构造方法私有自己创建一个对象,并且用私有静态成员变量存起来。提供一个getter方法获取该静态成员变量3. 两种模式的区别:单例模式分为两种:饿汉单例设计模式懒汉单例设计模式两种模式的区别:饿汉式单例成员变...原创 2019-09-29 14:10:44 · 779 阅读 · 0 评论 -
日志-Log4J
日志:程序中的日志可以用来记录程序在运行的时候点点滴滴。并可以进行永久存储日志和输出语句的区别:输出语句日志技术取消日志需要修改代码,灵活性比较差不需要修改代码,灵活性比较好输出位置只能是控制台可以将日志信息写入到文件或者数据库中多线程和业务代码处于一个线程中多线程方式记录日志,不影响业务代码的性能Log4J作用:通过使用Log4j,可以控制日志信息输送的目的地是控制台、文件等位置可以控制每一条日志的输出格式通过定义每一条日志信息的级原创 2021-10-09 18:50:30 · 755 阅读 · 0 评论 -
Junit单元测试
1.单元测试基本使用在main方法中写代码测试存在的问题所有代码都写在main方法中,都会运行,我们如果要测试,会执行所有代码,测试效率会变低什么是单元测试:对部分代码的进行测试什么是Junit:Junit是用于Java的单元测试的框架, 是别人写好的Junit的好处:对部分代码的进行测试,提高测试的效率Junit的使用步骤:1.编写测试方法2.在测试方法头...原创 2019-10-02 19:14:21 · 431 阅读 · 0 评论 -
什么是注解,注解怎么用
注释:对程序进行解释说明的文字,给人看的什么是注解? Annotation JDK1.5推出的新特性可能给类增加额外的信息 注解可以保存一些简单的数据注解的作用:编写文档:通过代码里标识的注解生成文档【生成文档doc文档】编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override】代码分析:通过代码里标识的注解对代码进行分析【使用反射】今天学注解...原创 2019-10-02 21:59:37 · 1328 阅读 · 0 评论 -
枚举的用法
Java中的枚举概念:用来表达特定几个选项的【特殊类】比如定义性别我们只需要男和女。枚举是一个特殊的类,可以作为数据类型应用场景:作用:一个方法接收的参数是固定的范围的时候就可以使用枚举 比如定义方向、性别、季度等格式: enum 枚举名 { 变量名1,变量名2... }怎么使用?枚举名.变量名入门案例:定义枚举:BOY表示男...原创 2019-09-29 14:24:28 · 1044 阅读 · 0 评论 -
XML语言
能够说出 XML 的作用了解 XML 的组成元素能够说出有哪些 XML约束技术能够说出解析 XML 文档 DOM方式原理能够说出Dom4j常用的类能够通过Dom4j得到文档对象(重点)能够读取Dom树上的元素对象(重点)能够使用 XPath 解析 XML 文档1.XML概述什么是XML英文:Extensible Markup Language 可扩展的标记语言标记语言...原创 2019-10-03 19:22:57 · 2204 阅读 · 0 评论 -
都在说反射,反射到底是什么
概述;什么是反射Class对象的获取方式获取Class对象的信息反射操作Constructor反射获取Method并使用反射获取Field并使用1.什么是反射什么是反射?在程序运行的过程中,通过Class对象得到类中的信息构造方法,成员变量,成员方法,并操作他们.反射的应用场景?常见的有: idea的智能提示、框架等(通过反射技术对象类进行了解剖得到了类的所有成员。...原创 2019-10-02 19:37:50 · 1008 阅读 · 0 评论 -
什么是类加载器
作用:负责把.class文件(存储的物理文件)加载在到内存中类加载时机:创建类的实例(对象)调用类的类方法访问类或者接口的类变量,或者为该类变量赋值使用反射方式来强制创建某个类或接口对应的java.lang.Class对象初始化某个类的子类直接使用java.exe命令来运行某个主类总结:用到就加载,不用就不加载类加载过程:当一个类被使用的时候,才会加载到内存加载验证(链接)准备(链接)解析(链接)初始化类加载过程——加载:通过包名 + 类名,获取这原创 2021-10-07 23:30:42 · 623 阅读 · 0 评论 -
网络编程入门
概述:网络编程概述IP地址类InetAddressUDPTCP文件上传文件上传(多线程)模拟网站服务器1.网络编程概述什么是网络编程?编写在不同计算机之间传输数据的程序计算机软件结构?C/S结构 :全称为Client/Server结构,是指客户端和服务器结构B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。我们要想在不同计算机...原创 2019-10-02 19:07:10 · 957 阅读 · 0 评论 -
详解线程池
线程池的思想Runnable方式使用线程池Callable方式使用线程池死锁什么是线程池:存放线程的容器创建一个线程执行一个任务的缺点:我们创建一个线程执行任务后线程死亡.如果线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。比如:中午吃完饭将碗洗干净,晚上接着使用 重复利用,可以节...原创 2019-10-01 20:47:29 · 877 阅读 · 0 评论 -
Java——多线程使用详解
目录:并发与并行线程与进程创建线程start和run的区别获取和修改线程的名称获取当前线程线程睡眠实现接口创建线程匿名内部类创建线程1.并发与并行:并行: 两个或以上的事件在同一时刻发生(同时发生)举例:比如12:30:30,一个小朋友一边吃饭,一边打电话并发: 两个或以上的事件在一个时间段内发生(交替执行)举例:比如12:30~12:35这个时间段内一个...原创 2019-10-01 19:03:00 · 921 阅读 · 0 评论 -
转换流/序列化/反序列化
序列化介绍什么是序列化?将Java中的对象保存到文件中什么是反序列化?将文件中的对象,加载到程序中相关的类?序列化: ObjectOutputStream 反序列化: ObjectInputStream学习对象序列化流将对象写入文件中步骤:1.创建对象2.创建序列化流3.调用方法,将对象写入文件4.关闭流注意:出现NotSerializableExcep...原创 2019-10-02 12:50:33 · 353 阅读 · 0 评论 -
彻底学会IO流
概述:IO流介绍OutputStream: 输出字节流写出字节数组数据追加续写字节流一次读取一个字节String和byte[]之间转换字节流一次读取一个字节数组的数据字节流复制文件字符流读取数据10.字符流写数据1.IO流介绍作用:可以往文件中写数据,可以读取文件中的数据根据数据的流向分为:输入流和输出流。输入流 :把数据从 其他设备 上读取到 内存 中的...原创 2019-10-02 00:40:35 · 371 阅读 · 0 评论 -
File类
目录:File类构造方法获取功能的方法绝对路径和相对路径判断功能的方法创建删除功能的方法目录的遍历1.File类构造方法File类作用:通过路径名可以表示电脑上的文件或文件夹"C:\MyFileTest\aaa"File构造方法:File(String pathname) 通过路径名创建一个File对象File(String parent, String c...原创 2019-10-01 23:53:56 · 197 阅读 · 0 评论 -
Stream流
Stream流介绍获取Stream流常用方法收集Stream结果1. Stream流介绍传统集合的多步遍历代码每个需求都要循环一次,还要搞一个新集合来装数据, 麻烦Stream流介绍:是JDK1.8的新语法 和IO流不是一个东西相当于流水线,很方便的对数据进行加工Stream流的作用:Stream流的优势是加工处理数据2.获取Stream流的2种方式方式1:...原创 2019-10-01 21:42:23 · 839 阅读 · 1 评论 -
可变参数&不可变集合
可变参数:可变参数:就是形参是可以变化的,很灵活,不需要提前定义好具体的数据,可变参数的变量底层是一个数组格式:public static int sum(数据类型...变量名) {}注意事项:如果方法里有多个参数,包含可变参数,可变参数要放在最后代码演示:public class Demo05 { public static void main(String[] args) { System.out.println(getSum(10, 20, 30, 40原创 2021-09-15 23:56:50 · 504 阅读 · 0 评论 -
Map集合
Map集合介绍:前面学的Collection是一次只能存一个的(单身),Map是有对应关系的(键和值)Map集合特点:存储键值对(一个键和一个值)键不能重复Map常用方法public V put(K key, V value) : 把指定的键与指定的值添加到Map集合中。public V remove(Object key) : 把指定的键 所对应的键值对元素 在Ma...原创 2019-10-01 14:09:21 · 723 阅读 · 0 评论 -
java的泛型
泛型概述:泛型可以理解为参数化类型,类型像变量一样可以变化泛型的好处:使用泛型,不合格的数据无法添加.不需要强转,避免强制类型转换带来的失败问题废话不说直接上代码:// 不使用泛型.可以存入任何数据,取出数据时会导致强制类型转换失败.运行时会失败 ArrayList list = new ArrayList(); list.add("凤姐"); ...原创 2019-09-30 14:28:59 · 164 阅读 · 0 评论 -
Collection集合
首先我觉的要明白什么是集合?是干嘛的?集合:集合是java中提供的一种容器,可以用来存储多个数据集合和数组既然都是容器,它们有什么区别呢?数组的长度是固定的。集合的长度是可变的。数组中存储的是同一类型的元素,可以存储任意类型数据。集合存储的都是引用数据类型。如果想存储基本类型数据需要存储对应的包装类型。Collection常用功能: 1.boolean add(E ...原创 2019-09-30 14:35:09 · 524 阅读 · 0 评论 -
数据结构有哪些
数据结构介绍:数据结构 : 数据用什么样的方式组合在一起。常见数据结构:数据存储的常用结构有:栈、队列、数组、链表和红黑树。栈:stack,又称堆栈,它是运算受限的线性表,其限制是仅允许在标的一端进行插入和删除操作,不允许在其他任何位置进行添加、查找、删除等操作。栈结构的特点:先进后出(FILO)压栈(进栈):就是存元素。即,把元素存储到栈的顶端位置,栈中已有元素依次...原创 2019-09-30 18:02:01 · 3948 阅读 · 0 评论 -
Java的异常入门
目录:什么是异常?异常体系:异常分类:异常的产生过程解析异常的处理try…catch处理异常finally 代码块自定义异常1.什么是异常?可能出现,不正常的情况(就是我们平时用万能键处理的)会导致JVM非正常停止2.异常体系:Throwable体系:Error:严重错误Error,无法通过处理的错误,只能事先避免,好比绝症。Exception:表示异常,...原创 2019-10-01 15:56:42 · 737 阅读 · 0 评论 -
LocalDateTime
JDK8新增日期类:LocalDate:表示日期(年月日)LocalTime:表示时间(时分秒)LocalDateTime:表示时间+日期(年月日时分秒)LocalDateTime构造方法:方法名说明public static LocalDateTime now()获取当前系统时间public static LocalDateTime of (年, 月 , 日, 时, 分, 秒)使用指定年月日和时分秒初始化一个LocalDateTime对象代码演示:原创 2021-09-10 11:44:46 · 5269 阅读 · 0 评论 -
Date类
目录:Date类的介绍DateFormat类Calendar类System类BigDecimal类1. Date类的介绍Date类代表了一个特定的时间,以毫秒的精度。1秒=1000毫秒时间的参照:1970年1月1日 0时0分0秒Date类构造方法:Date() 创建一个Date对象时间为执行这个代码的时间(当前时间)Date(long date) 创建...原创 2019-09-30 11:21:32 · 5380 阅读 · 0 评论 -
什么是递归
概述:1.递归2.递归求和3.递归求阶乘4.文件搜索1.递归什么是递归?方法自己调用自己递归注意事项:1.要有出口,能够结束递归2.递归的次数不能太多public static void main(String[] args) {System.out.println("main");main(args);}2.递归求和计算1 ~ 5的和 publi...原创 2019-10-01 23:55:50 · 321 阅读 · 0 评论 -
基础排序算法
二分查找:查找指定元素在数组中的位置时,以前的方式是通过遍历,逐个获取每个元素,看是否是要查找的元素,这种方式当数组元素较多时,查找的效率很低,二分查找也叫折半查找,每次可以去掉一半的查找范围,从而提高查找的效率。查找流程:定义两个变量,表示要查找的范围。默认min = 0 ,max = 最大索引循环查找,条件是min <= max计算出mid的值(mid除不尽会向下取整)判断mid位置的元素是否为要查找的元素,如果是直接返回对应索引如果要查找的值在mid的左半边,那么min值不原创 2021-09-07 17:35:14 · 508 阅读 · 0 评论 -
包装类(自动拆箱与自动装箱)
什么是包装类:基本数据类型有8种.基本数据类型效率高,但是功能及其有限,只能做加减乘除运算.为了对基本数据类型进行更多的操作,Java为每种基本数据类型提供了对应的类(包装类)简单说就是String和int之间互相转换基本类型与对应的包装类对象之间,来回转换的过程称为”装箱“与”拆箱“:装箱:从基本类型转换为对应的包装类对象。 拆箱:从包装类对象转换为对应的基本类型。这些包装...原创 2019-09-30 12:27:18 · 330 阅读 · 0 评论 -
BigDecimal
作用:用来进行精确计算为什么使用BigDecimal:在代码里输入:System.out.println(10/3); 会得到结果3.3333333333333335因为传入10进制的数字,在运算时会转为一个接近二进制的数运算,然后再返回,所以会造成数据丢失构造方法:方法名说明BigDecimal(double val)参数为doubleBigDecimal(String val)参数为String常用方法:方法名说明public原创 2021-09-06 16:23:40 · 913 阅读 · 0 评论 -
Object&Objects
Object概念:Object 是类层次结构的根,每个类都可以将 Object 作为超类。所有类都直接或者间接的继承自该类,换句话说,该类所具备的方法,所有类都会有一份toString:作用:以良好的格式,更方便的展示对象中的属性值重写toString方法的方式可以打印属性值,否则就是继承Object的方法,打印的是内存地址在类的空白区域,右键 -> Generate -> 选择toString代码演示:package api.obj;import java.util原创 2021-09-06 13:38:57 · 691 阅读 · 0 评论 -
Math&System
Math:概述:Math 包含执行基本数字运算的方法调用方式:Math类中无构造方法,但内部的方法都是静态的,可以通过 类名.进行调用常用方法:方法名 方法名说明public static int abs(int a)返回参数的绝对值public static double ceil(double a)返回大于或等于参数的最小double值,等于一个整数public static double floor(double a)返回小于或等于参原创 2021-09-05 18:57:02 · 542 阅读 · 0 评论 -
Lambda表达式
Lambda表达式介绍Lambda有参有返回格式表达式省略Lambda表达式的前提1.Lambda表达式介绍:Lambda是函数式编程思想,让我们关注要做的事情即可,将要做的事情放到一个Lambda表示中就可以了Lambda表达式格式的好处:简化匿名内部类的书写Lambda表达式的格式:() -> { 代码 } (): 参数列表 ...原创 2019-10-01 21:00:17 · 383 阅读 · 0 评论 -
内部类怎么用
目录:内部类概念成员内部类静态内部类局部内部类匿名内部类1.内部类概念:什么是内部类?把A类定义在B类中,那么A类就是内部类(类中类),B类就是外部类。什么时候使用内部类?就是有外部类内部类才能生存2.成员内部类:在类中方法外的类成员内部类的使用:1.创建外部类对象2.根据外部类对象创建内部类对象成员内部类的好处:可以直接使用外部类的成员代码...原创 2019-09-29 22:24:48 · 1942 阅读 · 0 评论 -
面向对象-多态
目录:什么是多态?多态的形式使用多态有什么前提?多态的好处引用类型转换1.什么是多态?是指同一行为,具有多个不同表现形式2.多态的形式:-多态是除封装、继承之后面向对象的第三大特征。-多态是出现在继承或者实现关系中的多态体现的格式:父类类型 变量名 = new 子类/实现类构造器;变量名.方法名();3.使用多态有什么前提?多态的前提:有继承关系,子类对象...原创 2019-09-29 20:54:55 · 322 阅读 · 0 评论 -
什么是接口
目录概述定义格式接口成分的特点实现接口的概述接口的实现类实现接口的要求和意义1.概述什么是接口??接口是更加彻底的抽象,接口中全部是抽象方法。(JDK8之前),接口同样是不能创建对象的。2.定义格式修饰符 interface 接口名称{// 抽象方法}// 实例:public interface Person{}3. 接口的成分特点在JDK8之前,接口...原创 2019-09-28 14:00:28 · 1061 阅读 · 0 评论 -
Java代码块的基本使用
在Java中,使用 { } 括起来的代码被称为代码块原创 2021-09-02 12:14:26 · 527 阅读 · 0 评论 -
final
fianl关键字的作用final代表最终的意思,可以修饰成员方法,成员变量,类final修饰类、方法、变量的效果fianl修饰类:该类不能被继承(不能有子类,但是可以有父类)final修饰方法:该方法不能被重写final修饰变量:表明该变量是一个常量,不能再次赋值变量是基本类型,不能改变的是值变量是引用类型,不能改变的是地址值,但地址里面的内容是可以改变的fianl修饰成员变量必须在创建的时候赋值或者再构造方法结束前赋值演示: public static void原创 2021-08-31 18:52:32 · 635 阅读 · 0 评论 -
模板设计模式
简单来说:模板设计就是提前搭建好了一些框架,但是更细节的东西需要实现类再去实现原创 2021-08-31 15:05:31 · 2719 阅读 · 0 评论 -
什么是抽象类
父类只需要提供一个没有方法体的方法,具体实现交给子类自己去实现。我们把没有方法体的方法称为抽象方法。Java语法规定,包含抽象方法的类就是抽象类。原创 2019-09-27 17:54:39 · 1858 阅读 · 1 评论 -
什么是方法重写
方法重写:概念:子类出现了和父类中一模一样的方法声明(方法名一样,参数列表也必须一样)方法重写的应用场景:当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容Override注解:用来检测当前的方法,是否是重写的方法,检测的作用(检查是不是一个正确的重写方法)子类重写父类方法的时候,访问权限需要大于等于父类重写&重载:方法重写:子类和父类出现了一摸一样的方法声明(方法名、参数类表、返回值类型)原创 2021-08-31 15:27:22 · 5304 阅读 · 0 评论 -
面向对象-继承
思考:什么是继承继承的好处继承的格式继承案例1.继承的含义总结:就是子类继承父类的属性和行为,使得子类对象可以直接具有与父类相同的属性、相同的行为。子类可以直接访问父类中的非私有的属性和行为。2.继承的好处**1.**提高代码的复用性(相同的代码不需要重复的写,只需要提取到父类中,子类可以直接使用)**2.**让类和类之间产生了关系3.继承的格式class 父类 ...原创 2019-09-27 15:25:25 · 2570 阅读 · 6 评论