- 博客(41)
- 收藏
- 关注
原创 idea简单使用maven
1.百度下载maven,windows下载bin.ziphttps://maven.apache.org/download.cgi2.解压到硬盘,配置maven解压的maven目录下的conf-->setting.xml在setting.xml中搜索localRepository![在这里插入图片描述](https://img-blog.csdnimg.cn/20201224203834827.png)3.打开idea设置maven到本地mavensetting-->搜索mav
2020-12-24 20:38:58 116
原创 JAVA Web项目 <servlet> 转发 和 重定向
转发从一个 <servlet> 跳到 另一个 <servlet>,将 HttpServletRequest req, HttpServletResponse resp 这些数据带过去过程这个过程在服务器中进行<浏览器> --> <servlet01>--> 转发 --> <servlet02> --> <浏览器>req.getRequestDispatcher("目标URI").forwar
2020-11-23 20:57:19 198
原创 JAVA Web项目 <servlet> 配置 <web.xml> 配置文件
< servlet > 配置 <web.xml> 配置文件在JAVA Web项目中, <servlet>是可以通过浏览器请求调用的Java代码当浏览器发起请求时,服务器通过< web.xml >配置文件中的配置,找到相应的被请求的<servlet>用人话说 一个类继承 HttpServlet 然后去web.xml 中配置 servlet的和请求地址的关系 ,浏览器可以直接请求 这个类 ,其中的代码这里的笔记就是记录一下怎么配置
2020-11-20 20:52:47 4405
原创 JAVA <Queue>线性队列
Queue:线性队列 先进先出:FIFOpublic class Demo01 { public static void main(String[] args) { Queue<String> queue = new LinkedList<>(); //添加 -- 底层还是双向链表 queue.offer("1"); queue.offer("2"); queue
2020-11-14 17:14:53 94
原创 JAVA Set、Map集合<TreeSet>与<HashSet>
Set:不可重复,无序(可排序)1.TreeSet TreeSet:底层是红黑树 自然排序: 存储的对象必须实现 Comparable 接口,重写 compareTo(); 在 compareTo() 里指定排序规则 返回负数,代表在树的左边,正数代表在树的右边,0则不存储 compareTo() 中 this 要存储的对象,参数代表已存储的对象
2020-11-14 16:40:00 85
原创 JAVA 网络编程-UDP通讯-<socket>-粗略用法
网络编程-UDP通讯-<socket>-粗略用法udp与tcp的区别 tcp需要 服务端 和 客户端 互相确认能否连接后才会正式建立连接 udp,不互相确认,也没有客户端与服务端之分,互相发信息,收得到就收得到,收不到拉到1.创建一个 Client1 客户端public class Client1 { public static void main(String[] args) throws IOException { //创建一个创建一个指定端口号的 UDP 套接字
2020-11-11 20:14:06 69
原创 JAVA 网络编程-TCP通讯-<Socket>-粗略用法
网络编程-TCP通讯-< Socket >TCP通讯分为 服务端和客户端客户端想要与服务端建立连接需要进行三次握手1.客户端主动打开,发送连接请求报文段,将SYN标识位置为1,Sequence Number置为x(TCP规定SYN=1时不能 携带数据,x为随机产生的一个值),然后进入SYN_SEND状态2.服务器收到SYN报文段进行确认,将SYN标识位置为1,ACK置为1,Sequence Number置为y,Acknowledgment Number置为x+1,然后进入SYN_
2020-11-11 19:50:29 101
原创 JAVA < enum >枚举
< enum >枚举几行代码,看看就知道了枚举写在.Java文件里来着的1.代码MyEnum.javapublic enum MyEnum { MAN, WOMEN, OLD_MAN, OLD_WOMEN}Mainpublic class Demo01 { public static void main(String[] args) { //这里用到枚举了 MyEnum type = MyEnum.O
2020-11-09 20:51:46 66
原创 JAVA 反射 (了解不多,理解用法)
反射通过这个反射可以直接调用到类内的方法,能够修改类对象的属性 无视访问修饰符那种会用,别的不知道就几行代码,忘记了自己看吧1.基本使用方法public class Main { public static void main(String[] args) throws Exception { //---通过反射创建对象 //获取反射对象 方法一 Class<A> aClass = A.class; //
2020-11-09 20:42:43 88
原创 JAVA <Thread>线程-<ExecutorService>线程池
< ExecutorService >线程池通过线程池创建线程 节省了线程的创建与销毁时间把任务对象丢到线程池里面去,线程池会自己创建线程来做任务线程池默认单线程可以传入数字,让线程池创建多条线程 (写多少创多少)Executors.newCachedThreadPool();创建一个三线程的线程池 ExecutorService pool = Executors.newFixedThreadPool(3);创建一个带缓冲区的线程池 ExecutorService po
2020-11-09 20:10:38 76
原创 JAVA <Thread>线程-守护线程
守护线程:当一条线程被设置为守护线程时当执行的线程只剩下守护线程,Java虚拟机则结束垃圾回收机制就是一条守护线程将这个线程设置为守护线程thread.setDaemon(true);程序中还有线程没有结束,守护线程就不会结束没了...
2020-11-07 18:30:40 120
原创 JAVA <Thread>线程-锁-<Lock>互斥锁
<Lock>互斥锁Lock: Lock 是一个接口,需要显式地去获取锁和释放锁,不容易出现死锁 ReentrantLock 是 Lock 的实现类,称为互斥锁或者排他锁 效果和<synchronized>同步锁没什么差别1.创建锁 private static Lock lock = new ReentrantLock();2.锁定 —cpu不能离开这个线程 lock.lock();3.解锁 —允许cpu离开这个线程 一
2020-11-07 17:53:36 219
原创 JAVA <Thread>线程-锁-<synchronized>同步锁
同步锁 线程之间的运行顺序完全随机,充满了不确定性,run()方法可能没有运行完就切换到别的线程了这个时候就可以使用<同步锁>来限制线程当运行到一个线程时,必须运行完<同步锁>中的内容,cpu才会离开当前线程,切换到其它线程<同步锁>关键字@Overridepublic void run() { synchronized (引用对象){ 代码块 }}使用关键字synchronized套住的代码块会一直执行完才离开线程, 不同的线程
2020-11-07 16:24:16 258
原创 JAVA <Thread>线程-创建和使用
线程–< Thread >Thread是一个线程类线程之间互相独立运行,在宏观上看,线程在同时运行,在微观上看,线程是线程一次只有一个能运行实际上,线程只有在获取到资源(cpu)才能运行,每次cpu只运行一个线程,但是cpu处理速度非常快,所以宏观上看(在人看来),线程在同时运行 多个线程同时启动,它们的执行完全随机,由cpu决定,线程 run() 方法中的代码运行到什么地方也是完全随机,可能一个线程运行到一半,cpu就去运行其它线程了 每次线程运行都会有一个时间片,时间运行完了
2020-11-07 15:36:32 70
原创 JAVA IO流-随机访问流 <RandomAccessFile>随机访问流---断点续传
<RandomAccessFile>随机访问流RandomAccessFile:随机访问流 随机是指能够控制指定文件内容的位置进行读写 存在偏移量(指针),可以用来控制读写文件内容的位置 注意!!! 指针从0开始计算 针对文件进行读写操作的时候,不会清空数据 在指针的位置进行读写操作,如果是写入操作会覆盖当前位置的内容 可以进行文件断点续传!!!!!!<RandomAccessFile>随机访问流创建方法创建随机访问流需要两个参数1.file 路径地址2.读写模式 读写
2020-11-07 11:43:03 193
原创 JAVA IO流-转换流 <InputStreamReader>字节转字符流 与 <OutputStreamWriter>字符转字节流
转换流<InputStreamReader>字节转字符流把文件中的字节转换成程序中的字符文件(字节)-----转换----->>程序(字符)<OutputStreamWriter>字符转字节流把程序中的字符转换成文件中的字节文件(字节)<<-----转换-----程序(字符)此外可以把字节与字符进行转换,还可以针对不同的编码格式数据进行读写操作文件(GBK)-----转化---->>程序(UTF-8)文件(GBK)<<----转化---
2020-11-06 20:20:22 253
原创 JAVA IO流-内存流 <ByteArrayOutputStream>内存流
内存流 内存流:关不了流 针对临时文件,读写数据量少,但是效率高讲数据存早内存流程程序-->内存程序<--内存内存流public class Demo01 { public static void main(String[] args) throws IOException { ByteArrayOutputStream bos = new ByteArrayOutputStream(); //写数据到内存中
2020-11-06 20:03:42 120
原创 JAVA IO流-对象流 <ObjectInputStream>输入流 与 <ObjectOutputStream>输出流
IO流-对象流这个流的作用是,把程序中的对象存到磁盘中 (文本文档) ,然后还能读取回来继续用注意: 对象流传输的是对象 对象流传输的是对象 对象流传输的是对象对象流在写出对象(存储到本地)时,会自动序列化对象, 对象和对象的类都有一条相同的序列号,在读取对象回到程序时,程序会比对对象和对象类的序列号,序列号一样,将对象按照对象类的格式反序列化转换成对象原本的样子.对象-->序列化(加密)-->存到本地文件本地文件-->反序列化(解密)-->重新读取回到程序
2020-11-05 20:49:20 320
原创 JAVA IO流-包装流-字符流 <BufferedReader>输入流 与 <BufferedWriter>输出流
IO流-包装流-字符流描述包装流-字符流<BufferedReader>输入流 与 <BufferedWriter>输出流在使用方法和写法上与基础流-字节流<FileInputStream>输入流 与 <FileOutputStream>输出流基本一致(首先要掌握 基础流-字节流 的知识)不同处在运转流程上基础流:程序--->磁盘程序<--磁盘包装流:程序-->缓冲区(内存)-->磁盘程序<--缓冲区(内存)<--磁盘缓冲区的默
2020-11-05 20:00:01 200
原创 JAVA IO流-包装流-字节流 <BufferedInputStream>输入流 与 <BufferedOutputStream>输出流
IO流-包装流-字节流描述包装流-字节流<BufferedInputStream>输入流 与 <BufferedOutputStream>输出流在使用方法和写法上与基础流-字节流<FileInputStream>输入流 与 <FileOutputStream>输出流基本一致(不知道 首先要掌握 基础流-字节流 的知识)不同处在运转流程上基础流:程序--->磁盘程序<--磁盘包装流:程序-->缓冲区(内存)-->磁盘程序<--缓冲区(内存)
2020-11-04 20:59:56 378
原创 JAVA @Test 注解 单元测试
@Test 注解在idea中,在方法前添加@Test,就可以将方法标记为单元测试,可与直接运行比如 @Test public void test01(){ System.out.println("123456"); }运行结果123456
2020-11-03 17:46:12 779
原创 JAVA IO流-基础流-字节流 <FileInputStream>输入流 与 <FileOutputStream>输出流
IO流—输入输出流IO流是用来传输数据的东西,可以用来读写文件,传输文件IO流有两类,基础类和封装类(感觉没什么差别,IO流虽然多,但是干什么事情用什么流就行了)IO流分为两种,字节流和字符流字节流传输字节,可以用来传输任何形式的文件( 所以字节流可以用来传输任何文件 )字符流传输字符,只能传输文本文件( 字符流传输字符(也就是文字)时,效率比字节流高 )1.FileOutputStream输出流 字节流2.FileInputStream输入流 字节流(先用输出流输出一点东西
2020-11-03 17:27:34 111
原创 JAVA File类 对文件操作(文件管理)
File类FIle类是一个文件和文件夹操作类,可以对文件以及文件夹进行1.创建2.删除3.遍历(查看) 相对路径 E:\\a\\b\\demo.txtE盘里的a里的b里的demo.txt文件绝对路径能够直接指向目标文件相对路径 demo.text比如现在在D盘,那就是D:\\demo.txt如果现在在E盘,那就是E:\\demo.txt相对路径是相对于当前目录下的文件创建文件夹要这样写E:\\a\\b创建文件要这样写E:\\a\\b\\demo.txt创建文件要写上文件
2020-11-03 11:31:10 273
原创 JAVA 集合<Vector> 与 <Stack>
Vector:元老级别的集合,用法跟ArrayList一样,底层也是数组,线程安全的集合Stack:模拟堆栈的集合,特点是"后进先出(LIFO)",用完即删,线程安全的集合1.VectorVector:元老级别的集合,用法跟ArrayList一样,底层也是数组,线程安全的集合public class Vector { public static void main(String[] args) { //创建 Vector vector = new Vect
2020-10-28 20:43:03 164 2
原创 JAVA List集合<ArrayList>与<LinkedList>
集合1.ArrayList2.LinkedList1.ArrayListArrayList:是List接口底下的实现类,底层是数组,添加原理是数组扩容(1.5倍原来的长度),存储第一个对象会赋予10的长度。ArrayList可以添加任意类型的离开,美女 吧n'm在这里插入代码片...
2020-10-28 20:04:24 153
原创 JAVA 内部类使用方法
内部类1.在一个.Java文件中写两个class类2.内部类3.静态内部类4.匿名内部类1.在一个.Java文件中写两个class类一个 .java 文件中可以包含多个 Java 类,但是只能有一个类被public修饰符修饰如果一个文件中没有使用public修饰的类,那么文件名可以是其中的任意一个类名,甚至可以是随便的一个名字。如果文件中没有公有类,文件名其实是可以随意命名的,当然了,使用其中一个类的类名也是可以的。经过编译之后,文件中的每一个类都单独对应一个 .class 文件。
2020-10-27 17:04:53 359
原创 JAVA 中的 多态 和 类型验证关键字(instanceof)
1.多态1.父类对象可以包含子类对象,意思就是说,父类向下兼容,父类的对象可以容纳子类对象,虽然实际上还是子类对象2.多态大多使用在方法形参处,可以直接使用父类的形参接收所有子类的实参,大大减少代码量子类 子类的对象 = new 子类构造方法();父类 父类的对象 = 子类的对象;父类 父类的对象 = 子类的对象 = new 子类构造方法();父类 父类的对象 = new 子类构造方法();父类对象实际上是子类的对象(相当于套个壳)这里的父类和子类的关系就像是 int类型 和 byte类型
2020-10-23 15:22:01 269
原创 JAVA 接口(interface) 和 实现(implements)
1.什么是接口,如何使用关键字 :接口(interface)实现(implements)1、接口类似于类,但不是类。2、不能实例化一个接口,没有也不允许有构造方法。3、接口的成员没有任何修饰符,其成员总是公共的,接口中只能有public abstract修饰的抽象方法, 和static final修饰的静态常量,接口只是方法、属性、事件和索引的组合而已4.接口的作用就是一个被编写出来的工具,在什么地方需要用到,就是用 implements 关键字来实现5.实现接口与继承类不同,一个类可以
2020-10-22 20:22:51 4793
原创 JAVA 类的继承(extends) 父类和子类的关系
1.什么是父类,什么是子类1.存在一个类a,被类b继承,a是b的父类,b是a的子类2.子类拥有弗雷德所有方法和参数,相当于将父类中的代码搬运到了子类中3.子类相当于拥有父类中的左右代码,这就可以在此基础上作出修改和补充4.子类继承父类后,子类中就相当于有了父类的代码5.当有很多类的一部分内容都相同时,可以将这一部分提取出来作为父类,当作模板,这可以减少代码量2.继承父类关键字 “extends”在类中,使用 extends 继承父类使用方法Demo01为父类Demo02为子类创建
2020-10-22 18:03:59 2108
原创 JAVA abstract关键字(抽象)
1.什么是abstract1.abstract只能修饰类和方法,abstract修饰的类称为 抽象类,abstract修饰的方法称为 抽象方法。2.抽象类中可以有同时有普通方法和 abstract抽象方法3.抽象方法只能存在抽象类中4.抽象类可以继承抽象类,作用在于修改和补充父类抽象类中的方法,子类抽象类可以以父类抽象类为 模板 补充修改,在父类的基础上进行完善扩充5.抽象类不能进行实例化,无法 new 抽象类2.abstract使用方法在抽象类中 使用 abstract关键字修饰的方法可
2020-10-22 11:11:36 144
原创 JAVA 常量修饰符 final
final 常量修饰符(final 最终的)1.被 final 修饰的称之为常量,被修饰的变量或对象或方法不能被改变,比如被 final 修饰的变量就不允许改变2.final 修饰的对象的命名规则要求大写 比如 NAME 当使用多个单词拼接时,使用下划线“_”拼接 比如 MY_NAME3.类的构造方法无法被修饰,也无法被重写4.用final修饰类,类无法被继承,但是类中的内容并不被final修饰1.修饰变量或对象public class Demo01 { public s
2020-10-22 10:13:49 2087
原创 JAVA访问修饰符(public)(default )(private)(protected)以及静态修饰符 (static)
1.四个访问修饰符用于设置被修饰的对象或方法可以在什么情况下访问 (1)publicpublic : 对所有类可见。使用对象:类、接口、变量、方法(2)protectedprotected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。(3) defaultdefault (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。(4) privateprivate : 在同一类内可见。使用对象:变量
2020-10-21 17:37:37 176
原创 JAVA 类的创建 和 类内方法 以及 类的对象使用
1.类类就是具备某些bai共同特征的实体的du集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。在面向对象的程序设计语言中,类是对一类“事物”的属性与行为的抽象。2.对象类封装了参数和方法,可以通过创建类的对象使用类中的参数和方法,对象与对象之间互相独立存在。例如:人类 创建对象 张三 李四,张三和李四都是人类,都能干人类能做的事情,但是张三和李四互相独立存在,且张三和李四之间会存在某些差异,例如 身高、体重、爱好、特长等不同之处(对象的参数差异)。3.类的写法pub
2020-10-20 17:17:36 624
原创 JAVA 数组 使用方法
1.什么是数组数组就是由很多个数据构成的组合(集合),通过数组下标读取,数组下标从0开始数组使用for循环进行进行配合数组下标遍历,可方便操作读取和写入2.数组的结构int[] ints = {1,2,3};数组内存储了三个数,1,2,3数组下标从0开始它们对应的数组下标分别是 0 , 1 ,2public class demo { public static void main(String[] args) { int[] ints = {1,2,3};
2020-10-20 15:54:08 199
原创 JAVA 方法 书写规范
1.方法是什么方法就是被封装好的代码,在需要用到这段代码时可以直接调用方法实现public class demo { public static void main(String[] args) { //调用方法 a a(); a(); a(); } //方法 a public static void a(){ System.out.println("这是方法 a"); }}输出结果这是方法
2020-10-17 17:04:43 620
原创 JAVA 关键字(break)(continue)(return)(:)
1.break当循环体遇到break关键字时,退出当前循环体public class Demo01 { public static void main(String[] args){ for (int i = 0;i<3; i++){ for (int j=0;j<3;j++){ if (j==1) break; System.out
2020-10-15 17:37:53 147
原创 JAVA 循环语句使用方法(for)(while)(do...while)
1.for方法使用 for (初始化条件值;条件判断;条件控制){ }public class Demo01 { public static void main(String[] args){ for (int i = 0;i<3;i++){ System.out.println(i); } }}输出结果0122.while方法使用 初始化条件值
2020-10-15 16:53:03 120
原创 JAVA switch-case 选择语句使用
JAVA switch-case 使用int num;switch (num){ case 1: //代码1; break; case 2: //代码2; break; case 3: //代码3; break;
2020-10-14 20:29:09 138
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人