- 博客(31)
- 收藏
- 关注
原创 使用servlet将图片保存到数据库中
详情见链接:https://blog.youkuaiyun.com/qq_62182919/article/details/142220224?在另一个servlet中可以通过下面的响应请求的方式,将需要的网页直接编写出来(注意设置代码编写格式)@MultipartConfig // 一定要加注解。
2024-09-13 21:35:21
623
原创 javase综合案例4 -- 考试系统
public void save(),打印上次考试成绩的方法public void printLastExam(),打印菜单的方法public。方法public void startExam(),判卷的方法private void judgeExam(),保存用户答案和成绩的方法。考试题目title,选项一optionA,选项二optionB,选项三optionC,选项四optionD,正确答案answer属性。输错了----i减1)5.输入操作----输入A-D填写答案,P上一题,N下一题,F交卷。
2024-08-06 11:02:30
702
2
原创 华杉研发九学习日记24 线程同步 死锁 线程通信 线程池 Callable接口
水池:存放水的池子。线程池:存放线程的池子。Java中的线程池:是一个管理线程的池子。可以在需要的时候开辟线程,可以控制最大开辟的线程个数,可以在不需要的时候关闭线程,可以让任务排队执行。这些管理过程不需要我们干预,线程池能帮我们完成。我们所要做的就是往线程池中放任务。
2024-08-05 19:49:18
680
原创 华杉研发九学习日记23 多线程
这就是单CPU执行多任务的原理:利用很短的CPU时间片运行程序,在多个程序之间进行CPU 时间片的进行快速切换。2.实现Runnable接口,实现接口中的run方法,让Runnable接口的实现类的实例对象作为Thread构造函数的target。单线程拷贝:之前的视频拷贝都是一个视频一个视频的拷贝,只有上个视频拷贝完成,才能开启下个视频的拷贝。join()执行该线程,会阻塞当前线程,直到该线程执行完成,当前线程才可以执行。当你程序启动的时候,JVM会创建一个线程执行你的main函数,这个线程称为主线程。
2024-08-02 20:14:26
873
原创 华杉研发九学习日记22 缓冲流 序列化 。。。
我们以write操作为例,使用了缓冲机制之后,我们调用write方法时,并不真正把数据写入到文件中,而是先把数据放到缓冲区里。.它的存在是为了减少写入文件的次数.BufferedOutputstream会把要写入文件的数据先写入缓存(默认8KB),当缓存满了之后,会一次性把缓存里的数据写入文件里.,它继承于Reader(即它是一个字符输入流),它能把一个字节输入流转换为字符输入流,而且可以在转换的时候指定字符输入流的编码格式.当文件编码方式和解析环境的编码方式不同时,会出现乱码的情况。
2024-08-01 20:57:43
399
原创 华杉研发九学习日记21 Stream流 IO流
IO: input(输入),output(输出)。无论输入还是输出都有源头和目的地。对于Java来说,输入指的是从哪到哪呢?输出指的是从哪到哪呢?Java里的输入:把数据从文件(或者网络)读取到程序里,【读取文件】Java里的输出:把程序里的数据写入到文件(或者网络)中。【写入文件】
2024-08-01 08:44:57
473
原创 javase综合案例3 -- 通讯录
phone,分组groupName属性,包含一个构造方法public Contact(String name, String phone),在构。(1) 通过Idea创建一个名为contact的包,在包里创建一个联系人类Contact,包含姓名name,手机号码。项目要实现:菜单打印,添加联系人,查看全部联系人,根据分组查看联系人,根据姓名关键字。(4) 在包里创建一个ContactTest类,在类的main方法里调用测试。查看联系人,根据电话关键字查看联系人,修改联系人,删除联系人,退出等。
2024-07-30 12:06:15
832
原创 华杉研发九学习日记20 LinkedHashMap TreeMap Arrays 函数式接口 方法引用
lambda在JDK 1.7之前是没有的,因为lambda表达式的方式和java中的语法有很大的不同。TreeMap是key有序的键值对容器,即它会对key进行排序,和TreeSet类似,它底层也用到了树形结构。2.如果方法中有参数列表,则参数中的数据类型可以省略不写3.如果方法中的参数有且仅有一个参数,则可以省略小括号。4.如果方法中有返回值,且返回值有且仅有一条语句,则可以把大括号和return一起省略。lambda的本质是函数式接口的匿名实现类对象!(该接口中的抽象方法只能有且仅有一个)
2024-07-29 18:54:25
361
原创 华杉研发九学习日记19 sort自定义 Set 可变参数 Collection Map
/ 按比较器提供的方法进行排序自定义排序规则:升序–第一个数据减去第二个数据为升序降序–第二个数据减去第一个数据为降序// 排序//升序--第一个数据减去第二个数据为升序////降序--第二个数据减去第一个数据为降序lambda表达式@Override});// 自定义排序 -- 复杂类型 先按照年龄降序排序,再按照工资升序排序@Overrideif(age!} else{});
2024-07-26 18:23:11
417
原创 华杉研发九学习日记18 集合 泛型
泛型就是广泛的数据类型,参数化类型,它的作用就是把变量或者属性或者方法的参数或者方法的返回值等的类型看做是一个参数。这样就可以写出来通用的代码,让代码更加简洁。在使用的时候,传入真正的类型。这个过程类似于方法的形参和实参。
2024-07-25 18:35:57
1011
原创 华杉研发九学习日记17 正则表达式 异常
自定义异常就是根据我们的项目的需求来自己设定异常类,如果出现异常,则直接报出我们自己定义的异常来处理。继承RuntimeException类继承Excption类。
2024-07-24 18:41:00
762
原创 华杉研发九学习日记16 SimpleDateFormat类 包装类 BigDecimal类 DecimalFormat类 System类
Long、Float、Double都继承与Number,则其中的很多方法都是类似,我们在此只需要使用Integer来操作即可。BigInteger类可以让超过Integer范围的数据进行运算,通常在对数字计算比较大的行业中应用的多一些。: Date类型对象------->String类型: String format(Date date)Character类char的包装类,是对char的封装,Character类继承于。Integer是int的包装类,父类为Number,要实现其中所有的抽象方法。
2024-07-23 18:23:47
752
原创 华杉研发九学习日记15 java常用类库
String是Java中的不可变字符串类。对象创建的时刻就确定了大小以及内容。在使用过程中,内容不可以修改。虽然String类提供了很多和修改相关的方法(求子串、替换、大小写等),但本质上都是新建了字符串,原来的字符串并未发生任何变化。
2024-07-22 20:32:27
664
原创 javase综合案例2 ----图书管理系统
1 —> add()—>控制台收集图书信息,把信息组成对象,放入到数组中 (编号要唯一【当录入编号时,调用isOnly判断是否唯一,如果唯一,则继续录入信息;5 —> selectByName()() -->从控制台输入你要查询的书名的关键字,根据书名查询,存在则打印,反之则查无此书【contains()】6 —> selectByAge() -->从控制台输入你要查询的价格的最小值和最大值,根据价格范围查询,存在则打印,反之则查无此书。7 —> select() -->遍历图书信息数组,打印信息。
2024-07-20 11:40:13
774
原创 华杉研发九学习日记14 ----类库
不可变指的是字符串对象一旦创建,它的内容和长度是不可以修改的。API文档里会详细的介绍类的功能,类如何使用,方法需要什么参数,会返回什么结果等等。Java API指的是JDK中提供的各种功能的Java类库。java类库中会有很多的包,其中java.lang 是(基础)特殊的包,该包中的所有的类都不用导包。String是Java中最常用的字符串类,双引号括起来的数据都是String类的对象。Object是所有的类的超类,所有的类包含数组都直接或间接的继承Object。比较引用数据类型中的值是否相等。
2024-07-19 19:50:27
826
原创 华杉研发九学习日记13 ----java总结
java就是一种高级的汇编语言,就是人机交互,也就是一种能够让计算机识别的语言。java的发展历史: 1991 提出来 OAK GREEN TEAM java之父(詹姆斯.高斯林) 1995 …
2024-07-19 19:49:28
1038
原创 javase综合案例1--学生管理系统
3 —> delete() --> 从控制台输入你要删除的学生的编号,遍历数组把该编号的对应的学生信息从数组中删除(删除数组就是把当前位置的对象首地址改为 null )在此处进行学生信息的修改根据输入的id去比较,可以使用Student类的对象的set方法对其属性进行重定义,达到修改的目的,同样,也有一个tag标记是否能找到id对应的学生信息。 4 —> select() -->遍历学生信息数组,打印信息(注意:遍历时不能打印为null的数据的信息,需要再打印前进行不为null判断)
2024-07-18 20:13:42
1694
1
原创 华杉研发九学习日记12 javase 内部类、lambda和枚举
5.如果内部的属性和方法与外部类的属性和方法重名时,外部类的属性和方法在内部类中是隐藏的,我们就可以使用外部类名.this.属性和外部类名.this.方法(来调用。4.局部内部类只能作用于其定义的方法体中,如果需要外部调用,则必须只能在方法体中使用new类创建对象,并在外部调用局部内部类所属的方法来实现调用。3.成员内部类中可以调用外部类中的所有的属性和方法(包含static和private修饰的属性和方法)3.局部内部类可以访问外部类中的所有的属性和方法(包含static修饰的)
2024-07-18 19:11:06
477
原创 华杉研发九学习日记11 javase 封装、继承和多态
指的是对象的多态性,同一对象在不同时刻表现出来的不同形态。例如:猫我们可以说猫是猫:猫cat = new描();也可以说猫是动物:动物animal = new猫():这里猫在不同的时刻表现出来了不同的形态,就是多态。即猫在作为猫时有他的属性和方法,在作为动物时有作为动物的属性和方法,在不同的角色能够用到的属性和方法不一样abstract关键字也是修饰符,表示的是抽象的意思。抽象的语句: 1.如果一个方法无法确定其方法体时,那么就可以定义为抽象方法 2.抽象方法没有方法体。
2024-07-17 18:57:58
525
原创 华杉研发九学习日记10----javase 封装、继承和多态
目前我们要做一个学校的师生管理系统,就需要去定义老师类【name sex age title show() teach()managerStudent(0】,辅导员类【name sex age show) managerStudent0)】,学生类【namesex age show() study()】.从上面的三个类来看,我们会发现不论是老师,辅导员,学生都拥有部分相同的属性【name sex age】和行为【show()】。 一旦子类重写了继承的父类的方法,则当调用,执行的是子类被重写后的方法。
2024-07-16 21:00:04
508
原创 华杉研发九学习日记9----javase 面向对象3
在以后的开发项目中,每一个项目都会有很多很多的类,项目中的类都有不同的功能,这个时候就需要进行分包,把相同功能的类放在同一个包中,便于后期的开发,团队的协作,有利于进行二次开发等。方法中可以使用static修饰,一旦方法被修饰了则被称为类方法,没有被修饰的被称为实例方法。 2.在创建对象时,先执行静态代码块,再执行普通代码块,最后再执行构造器。import 包名.*;在java的类体中,使用花括号括起来的一组代码的组合,为代码块。 1.public修饰的类,可以在同类,同包,不同的包进行访问。
2024-07-15 19:59:23
1044
原创 华杉研发九学习日记8----javase 面向对象2
在同一个类中,方法名相同,参数列表不同【参数的个数不同,参数的数据类型不同,参数的顺序不同】,与返回值无关。测试中创建多个对象,把对象放入到数组中,遍历数组打印年龄大于/小于20的所有的学生的相关信息。如果一个类,没有提供构造器,则系统会帮我们提供一个无参的构造器用来创建对象。构造器又称为构造方法,构造函数,构造器,主要作用就是用来创建对象的。有参的构造器主要用于在创建对象的同时为其属性赋值,简化属性赋值的过程。构造器是特殊的方法,是没有返回值,也没有void的。类中的属性和方法都是可以放置数组的。
2024-07-12 19:50:01
229
原创 华杉研发九学习日记7----javase 面向对象
每个对象是唯一的,且都可以拥有它的属性与行为。类是在对象之上的抽象,对象则是类的具体化,是类的实例。1)类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。面向过程就是编程思想,是直面整个功能实现的步骤,注重的是实现功能的。面向对象就是编程思想,就是在实现某个功能时,注重的是能够实现功能的。过程就是实现功能的整个流程,也就是实现功能的一步一步的步骤。类是对一组有相同数据和相同操作的对象的定义,是对象的。类中的方法就是动态的描述,也是动态的行为,成员方法。
2024-07-11 19:54:59
743
原创 华杉研发九学习日记6----javase 数组排序
将一个数组相邻两个数进行比较,如果满足条件,则互换位置,实现将当前最大值(最小值)推到最后。j数组名[j+1]){数组名门]=数组名[+1];数组名[+1]= temp;
2024-07-11 08:54:02
300
原创 华杉研发九学习日记5----javase 数组
数据在java中经常被使用,有很多方式定义数组数组的定义和方式和变量比较类似,驼峰式命名数组的声明格式: 方式一: 数据类型 【】 数组名; 方式二: 数据类型 数组名 【】;赋值: 方式一:数据类型 数组名 【】={}; 方式二:数据类型 数组名 【】=new 数据类型【】{};int []a1;//声明数组int a2[];// 初始化 -- 赋值 -- 静态赋值//赋值 创建对象 容器空间为10// 系统默认值 -- 0。
2024-07-10 09:10:54
818
原创 华杉研发九学习日记4----javase 循环结构2
无限循环,也被称为死循环,就是在程序中实现永久的执行下去,而不终止的程序。在指定需要终止的循环的外部加入一个标志,然后在多层的循环中使用break和continue来终止外层的循环。继续的意思,只在循环中使用,用来终止循环中的本次循环进入下个循环。continue:终止的是带有标志的循环的本次循环,进入带有标志的循环的下个循环。终止的意思,在switch和循环中使用,用来终止整个语句和循环语句。4.一旦遇到continue,则终止的是当前的本次循环。break:终止的是带有标志的循环的整个循环。
2024-07-08 19:17:15
337
原创 华杉研发九学习日记3----javase 循环结构
for循环嵌套for循环我们把外层的for为外层循环,内部嵌套的for为内循环。一个外循环数据对应的是内层for循环的全部数据。,打印1–100之内的数据,如果是7的倍数或包含7,则打印过,反之则打印该数字。:是整个循环的是否停止的条件,如果为true,则会执行循环体,如果为false,则终止整个循环。5.执行2,如果2的结果为true,则继续执行3 4 5。while循环是一个中循环结构,是比较符合运行流程的一种循环结构。for循环是java中最为常见,最为简单,使用率最高的循环结构。
2024-07-05 19:53:32
452
原创 华杉研发九学习日记2----javase 分支结构
switch语句是对多个条件进行相等判断,如果相等则运行代码,直到遇到break终止break就是用来终止整个switch语句的。双分支的if-else语句对boolean的结果的true和false都有不同的选择操作。Debug调试就是在iava程序中加入断点,实现代码的一步一步的执行的过程。流程控制语句就是在java程序中用来设置java代码如何运行及运行顺序的。多分支的if-else语句就是在程序中有多种不同的执行的代码。在java代码中有选择性的执行某些代码。1.在java的代码中加入断点。
2024-07-04 19:54:29
376
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人