![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaSE
心,始终在路上
这个作者很懒,什么都没留下…
展开
-
Java注解入门
从JDK5开始,Java增加对元数据的支持,也就是注解,注解与注释是有一定区别的,可以把注解理解为代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过注解开发人员可以在不改变原有代码和逻辑的情况下在源代码中嵌入补充信息。目录** Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。* Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,* Java 标注可以通过反射获取标注内容。原创 2021-07-21 21:13:01 · 158 阅读 · 0 评论 -
HTML入门
简单入门学习目录1、第一个网页2、基本标签3、图像标签4、链接标签5、列表6、表格7、媒体元素8、界面结构9、内联框架10、表单1、第一个网页<!-- html注释 --><!-- DOCTYPE:告诉浏览器,需要使用什么规范 --><!DOCTYPE html><html lang="en"><!-- head标签代表网页头部 --><head> <!-- meta描述性标签,用来描述网站的一些信息原创 2021-07-10 21:20:54 · 345 阅读 · 0 评论 -
Java1.8新特性
新特性目录一、Lambda表达式二、函数式接口一、Lambda表达式** Lambda表达式* 是一种没有名字的函数,也可称为闭包,是Java8的新特性* 本质上是一段匿名内部类,也可以是一段可传递的代码。也称箭头函数* 特点:* 允许把函数作为一个方法的参数(函数作为参数传递到方法中)* 使用Lambda表达式可以让代码变得更加简洁* 应用场景:* 列表迭代、Map映射、Reduce聚合、想替代一个不想命名的函数或类,该函数或原创 2021-06-08 22:56:01 · 1104 阅读 · 0 评论 -
Java网络编程入门
则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。目录一、基础点二、TCP三、UDP一、基础点** 网络编程概述* Java中提供网络类库,可以实现网络连接,底层由JVM控制,且Java实现跨平台的网络库* 程序员所面对的是一个统一的网络编程环境* 计算机网络:把分布在不同地理区域的计算机和专门的外部设备用通信线路互连成一个规原创 2021-06-05 22:08:18 · 295 阅读 · 3 评论 -
Java正则表达式入门
则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。目录一、正则表达式二、Matcher匹配器三、字符串去重demo一、正则表达式** 正则表达式,定义了字符串模式,可以用来搜索、编辑或处理文本并不限于某一种语言,在任何语言中都有,有细微差别* Java中在1.4推出java.util.regex包,为java提供了使用正则表达式的应用原创 2021-06-03 22:22:29 · 259 阅读 · 0 评论 -
Java中多线程、三
线程是程序中执行的线程,Java虚拟机允许应用程序同时运行多个执行线程。目录一、线程池二、模拟实现3个窗口同时卖票一、线程池** 线程池* 背景:经常创建和销毁、使用量特别大的资源,比如并发情况下的线程,对性能影响很大* 思路:提取创建好多个线程,放入线程池中,使用时直接获取,使用完放回线程池中,可以避免频繁创建、* 销毁,实现重复利用。类似于生活中的公共交通工具* 好处:* a: 提高相应速度(减少创建、销毁新线程的时间)*原创 2021-05-29 22:45:29 · 72 阅读 · 0 评论 -
Java中多线程、二
线程是程序中执行的线程,Java虚拟机允许应用程序同时运行多个执行线程。目录一、守护线程与定时器二、死锁三、线程通信四、经典面试题:生产者和消费者五、多线程下单例模式一、守护线程与定时器** 守护线程(兜底线程)* 每个程序运行中,都会默认开启一个守护线程,用于监听程序* 当程序执行完,没有任何一个线程在哪执行时,JVM就需要退出,这时守护线程也会退出,主要完成垃圾回收等功能* 可以使用Thread.setDaemon()方法,把某个线程设置为守护线程* 但必须原创 2021-05-28 22:45:28 · 108 阅读 · 0 评论 -
Java中多线程、一
线程是程序中执行的线程,Java虚拟机允许应用程序同时运行多个执行线程。目录一、线程创建方式二、线程优先级三、线程生命周期四、线程控制五、线程同步机制一、线程创建方式/** 程序、进程、线程:* 程序(program):为了完成特定任务,用某种语言编写的一组指令的集合。指一段静态的代码,静态对象* 进程(process):是程序的一次执行过程,或是一个正在运行的程序。是一个动态的过程* 有其产生、存在和消亡的过程(生命周期)* 系统会在运行时为每个进程分原创 2021-05-27 22:31:16 · 142 阅读 · 0 评论 -
JDBC中使用的jar包
无需C币,直接下载MySQL连接:mysql-connector-java-8.0.16.jar链接:https://pan.baidu.com/s/139TmVwqftBZyrwgL9DXgWg提取码:0w0q复制这段内容后打开百度网盘手机App,操作更方便哦DBCP连接池:commons-dbcp-1.4.jar和commons-pool-1.6.jar链接:https://pan.baidu.com/s/1E83JtTSI6DsKEkWB64doXA提取码:d468复制这段内容后打开原创 2021-05-27 18:24:24 · 1931 阅读 · 1 评论 -
Java中IO(五、java.io.File类)
文件和目录路径名的抽象表示目录一、File类二、使用File类实现文件递归复制util工具类测试util类用户类一、File类/** java.io.File类:文件和文件路径的抽象表示形式,与平台无关* 在操作系统层面,一切皆文件。文件是操作系统保存数据和逻辑的唯一形式* File能新建、删除、重命名文件和目录,但是不能访问文件内容本身* 如果需要访问文件内容本身,需要使用输入/输出流* File 类不具有从文件读取信息和向文件写入信息的功能,它仅描述文件本身原创 2021-05-26 22:46:41 · 197 阅读 · 0 评论 -
Java中IO(四、基本数据流与对象流)
DataInputStream数据输入流允许应用程序以独立于机器的方式从底层输入流中读取基本的Java数据类型,对于多线程访问,DataInputStream不一定安全。 ObjectOutputStream将Java对象的原始数据类型和结构写入OutputStream。可以使用ObjectInputStream读取(重构)对象。对象的持久存储可以通过使用流的文件来完成。如果流是网络套接字流,则可以在另一个主机上或在另一个进程中重构对象。ObjectInputStream反序列化使用的是ObjectOut原创 2021-05-24 22:36:59 · 358 阅读 · 4 评论 -
Java中IO(三、转换流与打印流)
InputStreamReader是从字节流到字符流的桥梁,它读取字节并使用指定的字符集将其解码为字符,通常将InputStreamReader包装在BufferedReader中使用。PrintStream为另一个输出流添加了功能,即方便地打印各种数据。目录一、转换流二、打印流三、使用打印流完成文件复制一、转换流/** 转换流* 输入流:InputStreamReader,将字节输入流转换成字符输入流* 输出流:OutputStreamWriter,将字节输出流转换成字符输出流原创 2021-05-14 22:52:56 · 85 阅读 · 0 评论 -
Java中IO(二、缓冲流)
缓冲流创建BufferedInputStream时,将创建一个内部缓冲区数组。当读取或跳过流中的字节时,根据需要从包含的输入流中重新填充内部缓冲区,每次填充多个字节。目录缓冲流一、BufferedInputStream二、BufferedOutputStream三、BufferedReader三、BufferedWriter一、BufferedInputStream/** BufferedInputStream* 缓冲流,是包装流,创建对象的时候,传入的参数不是文件地址,而是文件流对象原创 2021-04-30 23:15:36 · 172 阅读 · 1 评论 -
Java中IO(一、文件流)
文件流FileInputStream从文件系统中的文件获取输入字节。哪些文件可用取决于主机环境。FileInputStream用于读取原始字节流,如图像数据。要读取字符流,请考虑使用FileReader。目录文件流一、IO二、FileInputStream三、FileReader四、FileOutputStream一、IO/** 数据结构* 数据结构是计算机存储和组织不同数据的方式,不同数据结构根据存储的方式、操作以及特性加以区分* 当前SE基础中接触到有以下几类:*原创 2021-04-30 23:05:57 · 163 阅读 · 1 评论 -
Java中异常机制
概述/** 如果程序报错,会终止程序生命周期执行(错误代码后代码不再执行)* 1 异常机制* 异常时错误的一种说法* 在Java中有一个模拟所有异常和错误的类(Throwable),所有异常都必须继承这个类* 目的:增强程序的鲁棒性、健壮性** 异常对于程序员在编程时,是对于某些高风险的操作规定了一个提醒机制,对于系统来说* 就是处理异常的触发机制** 2 异常的处理形式* try...catch... : 解决异常,一般用在客户端* throws : 抛原创 2021-04-24 10:12:53 · 164 阅读 · 0 评论 -
Java中enum枚举类型、Math类、大数
enum枚举类型/** Enumerate:enum枚举类型* 可看做是一个常量的集合* 当需要一系列有限的值,用的较多,且不更改的情况(使用常量时)* 使用枚举,更容易发现错误,在编译阶段会对类型进行检查,减少错误* */public class _01_Enum { public static void main(String[] args) { String username = "admin"; String password =原创 2021-04-22 22:49:14 · 186 阅读 · 0 评论 -
Java中Data类的简单使用
import java.util.Calendar;/** 日历类* 获取年月日 时分秒 星期* */public class _01_Calendar { public static void main(String[] args) { // 创建日历对象 Calendar c = Calendar.getInstance(); // 获取本周第几天(周日是第一天)。星期表示为0~6 System.out.print原创 2021-04-21 22:55:24 · 1140 阅读 · 0 评论 -
Java包装类
简介/** 包装类:封装了基本类型的操作,方便使用* byte -- java.lang.Byte* short -- java.lang.Short* int -- java.lang.Integer* long -- java.lang.Lang* float -- java.lang.Float* double -- java.lang.Double* char -- java.lang.Character* boolean -- java.lang原创 2021-04-21 22:47:41 · 58 阅读 · 0 评论 -
Java字符串String(详细)
简介/** java.lang.String:字符串类,并且该类加final修饰* 底层是char数组 private final char value[];* 字符串中很多特性与数组一致* 1 字符串一旦创建不可更改* 2 为了提升字符串的访问效率,Java提出字符串常量池,相当于一个缓冲区。存在于方法区中* 引用类型对象保存在堆内存,字符串保存在静态区的字符串常量池中* 3 在程序执行过程中,如果用到某个字符串,如“abc”,虚拟机会先去常量池中搜索,*原创 2021-04-20 22:53:26 · 404 阅读 · 0 评论 -
Java面向对象demo(学生类)
测试类public class StudentTest { public static void main(String[] args) { // 设置person属性 // 由于需要设置讲师、辅导员、学生类的属性值(姓名、性别),这是全部类继承person // 故person的多态方式实现,这里使用匿名对象传参 // 避免使用 中文 作为引用变量名 Person 孙 = setPerson(new Teach原创 2021-04-19 22:49:09 · 377 阅读 · 0 评论 -
Java设计模式(单例模式、工厂模式)
/* * 设计模式: * 代表最佳的实现方式,是有经验的开发人员通过开发总结出来的一些经验和错误,用来解决一系列问题 * 是前人对代码开发的经验总结,不是特定的语法结构,而是一套用来提供 可复用性、可维护性、 * 可读性、健壮性、安全性 的解决方案 * 将常用的编码方式总结出来,形成固定的结构 * 开发中使用设计模式,等同于使用前人的经验,可避免很多错误及问题 * * 单例模式:只让某个类创建一个对象 * 实现步骤 * 要控制原创 2021-04-13 22:40:43 · 108 阅读 · 0 评论 -
Java内部类
/** 内部类:* 当一个事物的内部,还有一个部分需要一个完整的结构进行描述,而这个类的内部完整的结构又只为外部事物提供服务* 那么整个内部的完整结构最好使用 内部类* 在Java中,允许一个类的定义位于另一个的内部,前者为内部类,后者为外部类* innerclass一般用在定义它的类或语句块之内,在外部引用它的时候必须给出完整的名称* 重要作用:可以访问外部类的私有化数据* 变量:* 成员变量:成员内部类* 静态变量:静态内部类* 局部变量:局部内部类原创 2021-04-12 22:47:09 · 66 阅读 · 0 评论 -
Java中Object类的几个常用方法
equals 方法/** Object:是Java中提供的一个根类* 所有类都直接或间接的继承了 Object* 如果一个类没有显示继承父类,那么该类默认继承 Object* Object 中的方法是所有类都有的功能* Object xxx = new xxx; 可以发生多态* 如果一个方法需要传递数据,却不能确定数据的类型的时候,可以写 Object** 学习方法* 1 该方法属于哪个类* 2 是什么方法(静态/成员)* 3 功能、入参、出参分别是?原创 2021-04-12 22:41:28 · 455 阅读 · 0 评论 -
Java接口
/** 引用数据类型:类、数组、接口* 接口是一种引用数据类型,可看做是一种特殊的类,是Java为了解决没有多继承引起的功能变弱的问题* 一个类只能有一个父类,但可以实现多个接口* 接口不能代表一类实体,只能代表功能或属性,单纯的规范,时功能或属性独立出来,而不依赖于实体** 创建接口方式:class变成interface,父子关系由extends变成implements* 类和类:使用extends实现,单继承* 类和接口:使用implements实现,以逗号隔开,如:cl原创 2021-04-12 22:25:15 · 52 阅读 · 0 评论 -
Java关键字abstract
/** 抽象方法* abstract是修饰符* 使用abstract修饰的类是抽象类* 使用abstract修饰的方法是抽象方法,抽象方法没有方法体,只有功能定义,没有功能实现,用于让子类实现* 实现抽象方法就是给抽象方法加上方法体,去掉abstract修饰符** 抽象类的目的:该类不能被实例化对象,只能被继承* 抽象方法一定在抽象类中* 抽象类中不一定有抽象方法,也可以没有* 如果想让某个类不能创建对象,也可以把该类创建为抽象类* 抽象类有构造方法,通原创 2021-04-10 22:47:55 · 79 阅读 · 0 评论 -
Java多态
/** JVM特性:多线程、跨平台、面向对象、自动垃圾回收机制** 面向对象特征:封装性、继承性、动态性(多态)、抽象** 多态相关知识点:* 软件设计六大原则* 1 单一职责原则:功能职责单一,只拥抱一种变化* 2 里氏替换原则:所有在使用父类的情况下,都可以使用子类* 3 依赖倒置原则:高层通过抽象依赖底层* 4 接口隔离原则:不应该依赖于它不需要的接口* 5 迪米特原则:最少只是原则,减少程序的耦合*原创 2021-04-09 22:51:01 · 68 阅读 · 0 评论 -
Java面向对象demo 模拟酒店管理系统
111原创 2021-04-09 22:46:05 · 434 阅读 · 0 评论 -
Java详细基数排序
/** 基数排序* 思想:借助“分配”和“收集”类中操作对关键字进行排序。若关键字是数值,且值为[0~999]* 则可把每一位十进制数看成一个关键字,且关键字由{1,10,100}组成* 只要从最低位关键字起,按照关键字的不同值(可采用求余数)将序列“分配”到RADIX个队列中* 再重新“收集”起来。重复执行d次(若关键字为{1,10,100},d=3),即可实现排序* 思路:1 给定一个正整数序列,首先查找关键字。关键字由每一位十进制组成,通过序列最原创 2021-04-11 22:43:58 · 155 阅读 · 0 评论 -
Java覆写Override
/** 覆写:覆盖/重写/覆写* 覆写特指成员方法,通过覆写实现特有的功能* 子类有自己的特有属性* 可以覆写父类的成员方法* 应用场景* 1 什么时候需要重写* 如果父类无法满足子类需求,需将父类中的方法重写* 2 重写条件* 1 必须具有继承关系* 2 方法名必须相同,返回值必须相同,参数列表必须相同* 3 不能比原方法具有更宽泛的异常* 4 不能比原方法具有更低的访问权限* 5 特指成原创 2021-04-11 22:45:08 · 97 阅读 · 0 评论 -
Java关键字super
/** super* super保存了父类型特征* 在子类中访问父类的属性** 用法:* 1 用于成员/构造方法中区分子类和父类同名的成员属性* 2 用于子类构造方法中,调用父类构造方法(必须出现在子类构造方法的第一行)* 如果子类构造方法中 没有this(xxx) 也没有super(xxx) 那么默认会有一个super()去调用父类的无参构造* this和super都必须出现在构造方法的第一行,那意味着他两不能同时出现* this和super都不能出原创 2021-04-11 22:44:53 · 74 阅读 · 0 评论 -
Java继承
/** 继承:* 提高代码的复用性,父类的功能,更一般化的字段和方法放在超类中。子类可以直接使用,且派生类通过扩展超类而特殊化,使子类功能更加强大* Java中只支持单继承,一个类只有一个父类* 使用extends关键字表示* 继承是个体与个体之间的继承* 私有化属性不能被继承* 一个类如果没有显示继承另外一个类,则该类默认继承 Object* java.lang.Object 是Java中所有类的超类,Object中的属性及方法所有类共享** 目的:原创 2021-04-11 22:44:26 · 41 阅读 · 0 评论