![](https://img-blog.csdnimg.cn/direct/261c58081d25485e91e04a9ee95aaac7.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
JavaSE记录
文章平均质量分 64
JavaSE记录
随记123
一起学习叭
展开
-
05 - HTML 5的绘图技术
第一步:获得上下文(笔) =>canvasElem.getContext('2d');第二步:开始路径规划 =>cxt.beginPath();第三步:移动起始点 =>cxt.moveTo(x, y);第四步:绘制线(线条、矩形、圆形、图片...) =>cxt.lineTo(x, y);第五步:闭合路径 =>cxt.closePath();第六步:绘制描边 =>cxt.stroke();案例:通过上面所学的方法绘制一个三角形。原创 2024-06-03 09:27:55 · 759 阅读 · 0 评论 -
17-java网络编程
这里客户端,发送完最后的报文后,会等待2MSL,因为有可能服务器没有收到最后的报文,那么服务器迟迟没收到,就会再次给客户端发送释放连接的报文,此时客户端在等待时间范围内接收到,会重新发送最后的报文,并重新计时。它的内部包含一系列的用于处理数据通信的协议,并采用了4层的分层模型,每一层都呼叫它的下一层所提供的协议来完成自己的需求。因为IP地址数字不便于记忆,因此出现了域名,域名容易记忆,当在连接网络时输入一个主机的域名后,域名服务器(DNS)负责将域名转化成IP地址(域名解析),这样才能和主机建立连接。原创 2024-05-30 09:06:30 · 756 阅读 · 0 评论 -
16 -java反射
因为加载完类之后,就产生了一个Class类型的对象,并将引用存储到方法区,那么每一个类在方法区内存都可以找到唯一Class对象与之对应,这个对象包含了完整的类的结构信息,我们可以通过这个对象获取类的结构。可以获取:包、修饰符、类型名、父类(包括泛型父类)、父接口(包括泛型父接口)、成员(属性、构造器、方法)、注解(类上的、方法上的、属性上的)例如:某些变量或形参的类型是Object类型,但是程序却需要调用该对象运行时类型的方法,该方法不是Object中的方法,那么如何解决呢?//有公共的无参构造。原创 2024-05-29 14:50:27 · 856 阅读 · 0 评论 -
15 - Java8新特性
修饰符 interface 接口名称 {public abstract 返回值类型 方法名称(可选参数信息);// 其他非抽象方法内容接口当中抽象方法的 public abstract 是可以省略的例如:声明一个转换器Convertor,包含抽象方法change,可以将参数转换为另一个值,并返回结果。其中T是参数类型,R是返回值类型。例如:声明一个计算器Calculator接口,内含抽象方法calculate可以对两个参数进行计算,并返回结果。原创 2024-05-29 14:47:21 · 1128 阅读 · 0 评论 -
14 - javaFile类与IO流
在Java中,类是表示文件或目录路径名的类。它允许程序员执行与文件或目录相关的操作,如创建、删除、检查是否存在、获取文件大小等,但不提供直接读取或写入文件内容的功能。在API中File的解释是文件和目录路径名的抽象表示形式,即File类是文件或目录的路径,而不是文件本身,因此File类不能直接访问文件内容本身,如果需要访问文件内容本身,则需要使用输入/输出流。File类代表磁盘或网络中某个文件或目录的路径名称,如:/haogu/javase/io/xxx.jpg。原创 2024-05-29 09:15:00 · 927 阅读 · 0 评论 -
13 -java集合框架
现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即接口。我们通过查看Map接口描述,发现Map接口下的集合与接口下的集合,它们存储数据的形式不同。Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。原创 2024-05-29 09:00:00 · 1709 阅读 · 0 评论 -
12 - java泛型
例如:我们要声明一个学生类,该学生包含姓名、成绩,而此时学生的成绩类型不确定,为什么呢,因为,语文老师希望成绩是“优秀”、“良好”、“及格”、“不及格”,数学老师希望成绩是89.5, 65.0,英语老师希望成绩是'A','B','C','D','E'。思考:生产瓶子的厂家,一开始并不知道我们将来会用瓶子装什么,我们什么都可以装,但是有的时候,我们在使用时,想要限定某个瓶子只能用来装什么,这样我们不会装错,而用的时候也可以放心的使用,无需再三思量。类的实例表示正在运行的 Java 应用程序中的类和接口。原创 2024-05-29 08:30:00 · 868 阅读 · 0 评论 -
11-java集合与迭代器
现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即接口。我们通过查看Map接口描述,发现Map接口下的集合与接口下的集合,它们存储数据的形式不同。Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。原创 2024-05-28 08:30:00 · 1074 阅读 · 0 评论 -
10-java API与常见算法:字符串API、可变字符序列、正则表达式
java.lang.String 类代表字符串。Java程序中所有的字符串文字(例如"abc" )都可以被看作是实现此类的实例。字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。String 类包括的方法可用于检查序列的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本并将所有字符全部转换为大写或小写。Java 语言提供对字符串串联符号("+")以及将其他对象转换为字符串的特殊支持(toString()方法)。原创 2024-05-27 08:45:00 · 889 阅读 · 0 评论 -
10-java API与常见算法:Math类、日期时间API、系统相关API、 数组工具API
static String toString(int[] a) :字符串表示形式由数组的元素列表组成,括在方括号("[]")中。static int[] copyOfRange(int[] original, int from, int to) :复制original原数组的[from,to)构成新数组,并返回新数组。static T[] copyOfRange(T[] original,int from,int to):复制original原数组的[from,to)构成新数组,并返回新数组。原创 2024-05-27 08:30:00 · 1075 阅读 · 0 评论 -
09-java多线程:生命周期、释放锁操作与死锁
TIMED_WAITING:当前线程执行过程中遇到Thread类的sleep或join,Object类的wait,LockSupport类的park方法,并且在调用这些方法时,设置了时间,那么当前线程会进入TIMED_WAITING,直到时间到,或被中断。只能我们人为的进行想象和理解。WAITING:当前线程执行过程中遇到遇到Object类的wait,Thread类的join,LockSupport类的park方法,并且在调用这些方法时,没有指定时间,那么当前线程会进入WAITING状态,直到被唤醒。原创 2024-05-09 08:30:00 · 756 阅读 · 0 评论 -
09-java多线程:等待唤醒机制
等待唤醒机制这是多个线程间的一种协作机制。谈到线程我们经常想到的是线程间的竞争(race),比如去争夺锁,但这并不是故事的全部,线程间也会有协作机制。就是在一个线程满足某个条件时,就进入等待状态(wait()/wait(time)), 等待其他线程执行完他们的指定代码过后再将其唤醒(notify());或可以指定wait的时间,等时间到了自动唤醒;在有多个线程进行等待时,如果需要,可以使用 notifyAll()来唤醒所有的等待线程。wait/notify 就是线程间的一种协作机制。原创 2024-05-08 08:30:00 · 1070 阅读 · 0 评论 -
09-java多线程
我们在之前,学习的程序在没有跳转语句的前提下,都是由上至下依次执行,那现在想要设计一个程序,边打游戏边听歌,怎么设计?要解决上述问题,咱们得使用多进程或者多线程来解决.原创 2024-05-06 20:33:40 · 1269 阅读 · 0 评论 -
08-Java异常
在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的,比如:客户输入数据的格式问题,读取文件是否存在,网络是否始终保持通畅等等。异常:指的是程序在执行过程中,出现的非正常的情况,如果不处理最终会导致JVM的非正常停止。异常指的并不是语法错误,语法错了,编译不通过,不会产生字节码文件,根本不能运行.异常也不是指逻辑代码错误而没有得到想要的结果,例如:求a与b的和,你写成了a-b。原创 2024-04-29 09:23:17 · 994 阅读 · 0 评论 -
07-java面向对象:内部类与注解
1、什么是内部类?将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类。2、为什么要声明内部类呢?总的来说,遵循高内聚低耦合的面向对象开发总原则。便于代码维护和扩展。具体来说,当一个事物的内部,还有一个部分需要一个完整的结构进行描述,而这个内部的完整的结构又只为外部事物提供服务,不在其他地方单独使用,那么整个内部的完整结构最好使用内部类。而且内部类因为在外部类的里面,因此可以直接访问外部类的私有成员。3、内部类都有哪些形式?原创 2024-04-28 10:11:35 · 949 阅读 · 0 评论 -
07-java面向对象:接口
接口就是规范,定义的是一组规则,体现了现实世界中“如果你是/要...则必须能...”的思想。继承是一个"是不是"的is-a关系,而接口实现则是 "能不能"的has-a关系。例如:你能不能用USB进行连接,或是否具备USB通信功能,就看你是否遵循USB接口规范例如:Java程序是否能够连接使用某种数据库产品,那么要看该数据库产品有没有实现Java设计的JDBC规范//只能连接鼠标//只能连接键盘//Usb3如果是类的话,有单继承限制//Usb3如果是接口的话,就不会有单继承限制。原创 2024-04-28 01:16:06 · 1222 阅读 · 0 评论 -
07-java面向对象:枚举、包装类、抽象类
枚举类型本质上也是一种类,只不过是这个类的对象是固定的几个,而不能随意让用户创建。在JDK1.5之前,需要程序员自己通过特殊的方式来定义枚举类型。在JDK1.5之后,Java支持enum关键字来快速的定义枚举类型。枚举在应用的时候直接获取创建好的对象即可,不需要在new了。原创 2024-04-23 08:30:00 · 823 阅读 · 0 评论 -
07-java面向对象:静态
/静态变量total值是2。如果权限修饰符允许,在其他类中可以通过“类名.静态变量”直接访问,也可以通过“对象.静态变量”的方式访问(但是更推荐使用类名.静态变量的方式)。静态的方法和静态的代码块中,==不允许==出现this和super关键字,如果有重名问题,使用“类名.”进行区别。静态变量的get/set方法也静态的,当局部变量与静态变量重名时,使用“类名.静态变量”进行区分。原创 2024-04-22 19:03:47 · 696 阅读 · 0 评论 -
java多态巩固
【代码】java多态巩固。原创 2024-04-22 08:40:15 · 309 阅读 · 2 评论 -
java面向对象的多态Employee
java面向对象的多态Employee(1)声明一个父类Employee员工类型,有姓名属性,私有化,提供get/set方法public double earning():代表实发工资,返回0.0public String getInfo():显示姓名和实发工资(2)声明MyDate类型有int类型的年,月,日属性,私有化,提供get/set方法提供public String getInfo(),返回“xxxx年xx月xx日”(3)声明一个子类SalaryEmployee正式工,继原创 2024-04-20 13:54:19 · 823 阅读 · 1 评论 -
java面向对象的继承Person
java面向对象的继承Person(1)声明父类:Person类* - 包含属性:姓名,年龄,性别,属性私有化,* - 包含get/set方法* - 包含getInfo()方法:例如:姓名:张三,年龄:23,性别:男(2)声明子类:Student类,继承Person类* - 新增属性:score成绩,属性私有化,* - 包含get/set方法* - 重写getInfo()方法:例如:姓名:张三,年龄:23,性别:男,成绩:89(3)声明子类:Teacher类,继承Person类* - 新原创 2024-04-20 10:50:56 · 271 阅读 · 1 评论 -
java面向对象的封装Triangle
java面向对象的封装(1)定义三角形类Triangle,* - 声明实例变量a,b,c,代表三角形三条边,全部私有化private,* - 提供每条边的get方法,* - 提供public void setBases(double a, double b, double c):要求参数a,b,c的值必须大于等于0,且满足三角形三边关系要求(即任意两边之后大于第三边),否则提示错误信息* - 声明public double area(),返回三角形面积* - 声明public double pe原创 2024-04-20 10:45:05 · 206 阅读 · 0 评论 -
java面向对象的封装Rectangle
java面向对象的继承(1)定义矩形类Rectangle,* - 声明实例变量长和宽,全部私有化private,* - 提供相应的get/set方法,如果set方法的参数值原创 2024-04-20 10:42:29 · 387 阅读 · 0 评论 -
java实例初始化
java实例初始化代码阅读题原创 2024-04-21 08:45:00 · 236 阅读 · 1 评论 -
java面向对象的继承Shape
* - Shape基类 拥有draw()和erase()两个方法 * - 基于Shape类创建Circle子类 * - 基于Shape类创建Square子类 * - 创建Shape类创建Triangle子类 * - 创建随机形状发生的类(不是子类) * - 定义公共类(测试类),创建Shape类的数组对象长度为10 * - 并为对象数组赋值其内容Circle,Square,Triangle子类对象原创 2024-04-20 10:23:25 · 246 阅读 · 0 评论 -
06-java面向对象:关键字和API
类 `java.lang.Object`是类层次结构的根类,即所有类的父类。每个类都使用 `Object` 作为超类。* Object类型的变量与除Object以外的任意引用数据类型的对象都多态引用* 所有对象(包括数组)都实现这个类的方法。* 如果一个类没有特别指定父类,那么默认则继承自Object类。 * Object:主要学习 * (1)toString() * (2)getClass() * (3)equals() * (4)hashCode() * (5)finalize()原创 2024-04-20 09:27:29 · 842 阅读 · 0 评论 -
java声明一个日期类MyDate
在测试类的main方法中,创建MyDate对象,赋值为当天日期值,调用方法。* - String monthName():根据月份值,返回对应的英语单词。* - int totalDaysOfMonth():返回这个月的总天数。* - int daysOfTheYear():返回这一天是当年的第几数。* - int totalDaysOfYear():返回这一年的总天数。* - boolean isLeapYear():判断是否是闰年。使用递归调用求某个整数的阶乘n!原创 2024-04-19 20:32:58 · 459 阅读 · 0 评论 -
06-java面向对象:多态、实例初始化
多态是继封装、继承之后,面向对象的第三大特性。它表示一个对象具有多重特征,可以在特定的情况下表现出不同的状构造器的作用:new对象,并在new对象的时候为实例变量赋值。- 静态代码块是在类被加载到JVM时执行的。它只执行一次,无论创建多少个类的实例。静态代码块通常用于初始化静态变量或执行只需要执行一次的类级别的初始化任务。- 非静态代码块是在创建类的实例时执行的。每次创建新的对象时,都会执行非静态代码块。原创 2024-04-18 20:37:41 · 1513 阅读 · 0 评论 -
java声明一个数组工具类ArrayTools
int lastIndexOf(int[] arr, int value):查找value在arr数组中最后一次出现的下标,如果不存在返回-1。int indexOf(int[] arr, int value):查找value在arr数组中第一次出现的下标,如果不存在返回-1。int max(int[] arr):求所有元素的最大值。int sum(int[] arr):求所有元素总和。原创 2024-04-16 19:04:17 · 331 阅读 · 0 评论 -
06-java面向对象:封装与继承
适当的封装可以让代码更容易理解与维护,也加强了代码的安全性。通俗的讲,把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装性的设计思想。高内聚:相关的功能和数据尽可能地组织在同一个类中,各个类内部数据操作细节自己完成,以确保其独立性。低耦合:各个类之间的依赖关系应尽可能低。也就是说,一个类的变化应尽量减少对其他类的影响。有助于提高软件的可扩展性、可复用性和灵活性。继承有延续(下一代延续上一代的基因、财富)、扩展(下一代和上一代又有所不同)的意思。原创 2024-04-15 19:26:16 · 1185 阅读 · 0 评论 -
java递归调用求阶乘n!
使用递归调用求某个整数的阶乘n!原创 2024-04-15 14:05:49 · 112 阅读 · 0 评论 -
05-java面向对象(上)
类是一类具有相同特性的事物的抽象描述,是一组相关属性和行为的集合。属性:就是该事物的状态信息。行为:就是在你这个程序中,该状态信息要做什么操作,或者基于事物的状态能做什么。对象是一类事物的一个具体个体(对象并不是找个女朋友)。即对象是类的一个实例,必然具备该类事物的属性和行为。例如:做一个养宠物的小游戏类:人、猫、狗等//种类//昵称int energy;//能量//吃东西Dog dog;//喂宠物dog.eat();p.name = "张三";原创 2024-04-11 14:29:47 · 1171 阅读 · 0 评论 -
java数组冒泡排序优化
java数组冒泡排序优化原创 2024-04-10 16:58:14 · 246 阅读 · 0 评论 -
java数组冒泡排序
java数组冒泡排序原创 2024-04-10 16:57:39 · 242 阅读 · 0 评论 -
04-java数组
衣柜(装衣服等物品),教室(装学生等人员)。是将多个数据存储到一起,每个数据称为该容器的元素。内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来。我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的,必须放进内存中才能运行,运行完毕后会清空内存。Java虚拟机要运行程序,必须要对内存进行空间的分配和管理。原创 2024-04-09 19:05:42 · 1142 阅读 · 0 评论 -
java数组二分查找
二分查找,一定是有序的原创 2024-04-09 15:47:13 · 76 阅读 · 0 评论 -
java数组顺序查找
顺序查找原创 2024-04-09 14:48:09 · 109 阅读 · 0 评论 -
java对数组进行统计
数组统计:求总和及均值、求总乘积、求统计偶数个数等原创 2024-04-09 14:41:07 · 115 阅读 · 0 评论 -
java求数组最大最小值
求最大值和最小值,并求出下标原创 2024-04-09 14:28:48 · 264 阅读 · 0 评论 -
java双层for循环
双层for循环沉浸式矩形正直角三角形倒直角三角形等腰直角三角形倒等腰直角三角形菱形平行四边形原创 2024-04-08 16:53:54 · 188 阅读 · 0 评论