Java
Li大爷_初学者
初来乍到,请多关照
展开
-
正则表达式
正则表达式正则表达式的概念在Java中,我们经常需要验证一些字符串,例如:年龄必须是2位数,用户名必须是8位长度,而且只能包含大小写字母,数字等。正则表达式就是用来验证各种字符串的规则,它内部描述了一些规则,我们可以验证用户输入的字符串是否匹配这个规则。正则表达式:它是一个“第三方语言”,不是Java特有的,只是Java支持正则表达式。代码演示:public class Demo08 { public static void main(String[] args) {原创 2020-08-18 22:20:27 · 236 阅读 · 0 评论 -
XML与dom4j
XMLXML概述“XML”全称:Extensible Markup Language,可扩展的标记语言语言:它是一门独立的语言,有自己的语法标记:也叫“标签”,他是使用一对尖括号括起来的一个“名字”----可以看做:给“数据”起的名字。XML它是一个“纯文本文件”,记录大量数据的时候,使多个数据比较有层次感,比较易读,容易管理。例子:之前一个“类”的配置文件:classes.txtclassName = com.demo01.StudentmethodName=study这种配置文原创 2020-08-13 23:29:30 · 188 阅读 · 0 评论 -
IDEA中第三方软件包安装步骤
下载对应的软件包:以下以dom4j的软件包为例复制这个jar包到模块(或者项目)的目录下lib目录(lib目录是自己创建的一个文件夹,文件夹名称自己定义即可)将第三方jar包添加到类库:点击OK即可这样就完成了第三方jar包的安装啦。...原创 2020-08-13 21:44:59 · 1671 阅读 · 0 评论 -
注解(注释)
注解注解的概念,作用什么是“注解”:JDK1.5提出“注解”。在我们编写代码的时候,使用@Override,@FactionalInterface,@Test(JUnit),这些注解都是写在“源码”中。作为一个“标记”,告诉“注解解析器”怎样编译、运行下面的代码。告诉编译期中的“注解解析器”下面的代码应该怎样编译使用“注解解析器”来加载有“注解”的代码,根据注解的使用,来决定怎样执行下面的代码实现注解的两个元素:注解本身–我们可以自定义注解,注解本质上是一个“接口”。但定义时有自己的关原创 2020-08-12 23:09:05 · 647 阅读 · 0 评论 -
反射
反射反射的概念及演示:反射:又被称为“反向加载”。(之前创建某个类的对象时:Student stu = new Student());//正向加载—缺点:使当前类与Student类产生了依赖。反射不直接使用“类名”,可以通过一个字符串描述的一个类名(可以将其记录在配置文件中),去加载这个类,并创建它的对象,进而去调用它的一些属性和方法。反射的好处:解开类和类之间的“耦合”代码图解:运行时class文件的加载:获取Class对象的三种方式:Object类的getClass()方法:原创 2020-08-12 22:03:51 · 720 阅读 · 0 评论 -
Lambda表达式,Stream流,方法引用,Base64(JDK8新特性)
Labda表达式Lambda表达式演示Lanbda表达式:是JDK1.8提出的一种新语法。是对之前的某种情况的代码的“简化写法”。Lambda表达式演示:public class Demo01 { public static void main(String[] args) { //1.之前我们实现一个线程——可以使用"匿名内部类"的形式:new Thread(Runnable的匿名内部类).start() /*new Thread(new Runnabl原创 2020-07-29 18:00:47 · 540 阅读 · 1 评论 -
多线程(线程池、死锁、线程状态、等待与唤醒)
多线程基础线程池概念及作用什么是“线程池”:它是一个“容器”,里面可以存储一些“线程对象”。它的作用:它可以“反复的”执行同一个线程对象,可以避免每次使用这个线程对象,而去创建这个线程对象。它内部可以控制多个线程的“并发数量”;线程池的类层次结构java.util.concurrent.Executor(接口):所有线程池的父接口|–java.util.concurrent.ExecutorService(接口):我们学习使用的“线程池”:常用方法:1. submit(Ru原创 2020-07-28 17:34:41 · 226 阅读 · 0 评论 -
多线程
线程进程与线程_并行与并发的概念进程:是“操作系统”的概念,指一个“独立运行的程序”,由操作系统管理。线程:是由“进程”创建。指一个“进程”中可以将一段代码分离出来,与“主进程”“同时”执行。这样可以使我们的程序同时做多件事情,提高程序的运行效率。其实Java程序本身都是“多线程”的。JVM启动(进程),会加载我们的main()方法,会被JVM以“线程”的方式执行。“垃圾回收器(GC)”也会被JVM以“线程”的方式在运行。并发:一颗CPU,多个线程;并行:两颗CPU,两个线程;创建线程的原创 2020-07-28 17:09:02 · 200 阅读 · 0 评论 -
异常Throwable,Exception
异常异常的概念:异常指在程序运行期间,JVM遇到了无法编译的代码,这种情况对于JVM来说就是一种“异常情况”。当玉带这种异常情况,JVM就会在控制太打印“异常信息”,并结束程序。Java的“异常处理机制”就可以使JVM在遇到“异常代码”时,可以“跳过”有异常的代码,继续执行后续代码。代码演示:package com.代码练习.test01;import java.util.InputMismatchException;import java.util.Scanner;public c原创 2020-07-22 19:32:46 · 262 阅读 · 0 评论 -
Map集合,(HashMap,LinkedHashMap,TreeMap,)
Map集合Map集合图解Map集合常用子类Map(接口):所有双列集合的“父接口”,它内部定义了所有“双列集合”所应该具有的所有方法。HashMap(子类):“键”是“哈希表结构”——无序、不重复。LinkedHashMap(子类):“键”是“链表 + 哈希表结构”——有序、不重复TreeMap(子类):“键”是“红黑树”——排序、不重复注意:Map的子类的“数据结构”都是应用在“键”上。“键”不能重复,但“值”可以重复。Map集合常用方法:增,改:public V put(原创 2020-07-21 22:04:49 · 190 阅读 · 0 评论 -
Collections工具类
Collection工具类java.util.Collections(工具类):它里面包含了一些对Collection集合操作的一些实用方法。常用方法:public static void shuffle(List<?> list) :打乱集合顺序。public static < T extends Comparable> void sort(List list) :将集合中元素按照默认规则排序。public static void sort(List list,C原创 2020-07-16 21:10:19 · 178 阅读 · 0 评论 -
迭代器,<>泛型,可变参数
迭代器IteratorCollection中定义了一个遍历元素的方法:public Iterator iterator();此方法可以获取一个迭代器,用于遍历集合元素。代码演示package iterator迭代器;import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class Demo01 { public static void main(String[原创 2020-07-16 20:59:53 · 193 阅读 · 0 评论 -
Collection接口,List(ArrayList集合,LinkedList集合),Set(HashSet集合,LinkedHashSet集合)
Collection集合概述:集合作为容器用来存储,管理大量的对象(引用),这些集合内部cc爱用了不同的数据结构来存储元素,这些数据结构的不同导致了每种集合的增删改查效率不同。数据结构会另开一篇。Java常用集合体系:Collection接口的常用方法由于Collection是一个接口,所以该类中全部都是抽象方法,调用时会使用多态(父类型引用指向子类型对象)。主要了解这些方法的作用。增:public boolean add(E e);//把给定的对象添加到集合中删:public vo原创 2020-07-14 20:06:45 · 2941 阅读 · 0 评论 -
Date类,DateFormat类,Calendar类
日期类Datejava.util.Date(类):它可以表示一个“时间”,精度为毫秒(1秒 = 1000毫秒)。构造方法:Date():使用当前的系统时间构造一个Date对象。Date(long m):使用从1970年1月1日0时开始的一个“毫秒值”构造一个Date对象。成员方法:public long getTime():返回自1970年1月1日以来,由 Date对象表示的00:00:00 GMT的毫秒数。public void setTime(long time):设置当前Date对原创 2020-07-13 21:16:19 · 80 阅读 · 0 评论 -
Object类,Math类,System类
Object类Object类概述java.lang.Object(类):类Object是类层次结构的根。 每个类都有Object作为超类。 所有对象(包括数组)都实现了这个类的方法。它是Java中所有类(包括数组)的父类(包括JDK中的类,也包括我们自定义的类)我们“自定义”的类,如果不继承其他类,就会隐式的继承自Object。继承Object类,就会继承下一些方法:1).toString():会被所有的类继承,它将对象转换为一个String表示。通常需要我们子类重写2).equals():原创 2020-07-13 20:55:14 · 179 阅读 · 0 评论 -
String类,StringBuilder类,StringBuffer类
String类String类概述在Java中,字符串是使用“String类的对象”来表示的,字符串不是基本类型,它是“引用类型”。java.lang.String(类):它表示一个字符串。注意:java.lang下的类在我们使用时,可以不用导包。其他包的类,在使用时,必须导包。成员属性:private final char value[]; 它内部就是使用一个char[]数组来存储每个字符,表示字符串的。String类的使用之前我们使用String类都是:【常用】String str原创 2020-07-13 20:34:52 · 110 阅读 · 0 评论 -
内部类及权限修饰符
内部类概述:将一个类A定义在另外一个类B中,类A则称为内部类,类B则称为外部类(以下统称为类A,类B)成员内部类理论:概述:类A定义在类B的方法外。格式://外部类class B{ //内部类 class A{ } public static void main(String[] args){ } //方法1 public void one(){ } //方法2 public void one(){ }}用途:在描述事物时,若该事物内部还包含其它事物,就可以原创 2020-07-13 19:12:51 · 741 阅读 · 0 评论