- 博客(84)
- 收藏
- 关注
原创 JAVAweb第一次总结作业
超文本标记语言定义了多种数据类型的元素内容,如脚本数据和样式表的数据,和众多类型的属性值,包括ID、名称、URI、数字、长度单位、语言、媒体描述符、颜色、字符编码、日期和时间等。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。(2)rgb(值1,值2,值3),红绿蓝,值的取值范围:0~255,如red(255,0,0)2、< font>:定义文本的字体、字体尺寸、字体颜色(css完成);1、< h1> ~< h6> :定义标题,h1最大,h6最小;
2022-10-22 19:28:59
1222
1
原创 JAVASE总结作业----网络编程
2)端口号:计算机中应用的标号(代表一个应用程序),0-1024系统使用或保留端口,端口号占2个字节,所以有效端口0-65535.1)IP地址:唯一标识网络上的每一台计算机,两台计算机之间通信的必备要素。(1) OSI 参考模式:开放系统互连参考模型(Open System。4)注意:在通信协议相同的情况下,端口号才是唯一的。一种无连接的传输层协议,提供面向事务的简单不可靠信。一种面向连接(连接导向)的、可靠的、基于字节流。3)通信协议:通信的规则TCP,UDP。TCP 和 和 UDP 协议的区别。
2022-08-22 15:34:54
313
原创 总结作业----synchronized和Lock锁的区别
而lock发生异常时候,不会主动释放占有的锁,必须手动unlock来释放锁,可能引起死锁的发生。synchronized:在需要同步的对象中加入此控制,synchronized可以加在方法上,也可以加在特定代码块中,括号中表示需要锁的对象。lock等待锁过程中可以用interrupt来中断等待,而synchronized只能等待锁的释放,不能响应中断;lock锁,是jdk5.0提供的锁、是一个可重入锁(ReentrantLock)synchronized:偏向锁(无锁),自旋锁(CAS),重量级锁。
2022-08-22 15:31:36
202
原创 JAVASE 第二十六天
lock锁,是jdk5.0提供的锁、是一个可重入锁(ReentrantLock)基于如上原因,jdk5,JUC包诞生,提供了一种全新的锁——Lock锁。synchronized:偏向锁(无锁),自旋锁(CAS),重量级锁。synchronized同步锁在jdk7之前,默认调用系统锁(重量级锁)1、被volatile修饰的变量,是线程可见的(可见性)两个线程之间,进行资源竞争时,彼此之间拿着对方需要的资源,将释放锁的代码一定要放在finally中!直接创建对下,缺点:浪费内存。该方法在充当锁的钥匙!
2022-08-21 13:47:40
178
原创 JAVASE 第二十五天
系统编程 - 多线程编程多任务: 多任务多用户操作 Unix操作: 多任务多用户操作 现代操作系统的注意: 在多核CPU诞生之前(单核CPU下),所有的多任务本质都是一种伪多任务。 多核CPU下,就可以实现真正意义上的多任务!! 并发:多个任务抢占少量资源 并行:时间片:每一个任务每次在CPU中占有的时间优先级别调度:注意:操作底层的多任务使用的就是时间片轮换机制,配合优先级别调度完成。多任务: 多进程编程 多
2022-08-21 13:46:32
193
原创 JAVASE 第二十四天
注意:java的对象要实现序列化和反序列化,必须实现Serializable(这个标记接口)。jdk7提供的新特性,如果使用了这种结构语法,打开的资源,会自动完成关闭。对象流就是java提供一种,可以将java对象这种虚拟的概念转换为。对象本质:它是一个抽象概念,是JVM中的一种虚拟出来的抽象概念。在开发过程中,如果直接将一些确定的值,写在代码中,代码的设计可能有问题。将序列化后的字节或者字符数据重新转换为对象,对象反序列化。java官方提供的序列化,是将java对象转换为字节数据。
2022-08-21 13:45:53
165
原创 JAVASE 第二十三天
又被称为过滤流,这种流不能直接使用,主要的作用就是用来装饰节点流(各种可以直接使用流)。我们之前讲解的流,如果要保存数字,只要将数字转换为字符串,也就是说。以字符流的形式保存数据,这样有时候并不是我们需要的,我们有时候就是。装饰流,本质就是一种装饰者设计模式的体现。需要以字节保存数据,因此就可以使用数据流来包装文件流完成。注意:字符串存在编码问题,需要保证在读取和写入时,保持一致!字符流是为了加快流的操作,而设计的专门用来操作字符串的一种流。推荐使用打印输出流(节点流)|-- 字符缓存流完成字符的操作。
2022-08-21 13:45:05
132
原创 JAVASE 第二十二天
在java中,所有需要排序比较的对象,必须实现这个接口,来实现比较规则。比较器接口,如果在开发过程中,有特殊的需求(临时修改排序规则)window系统:直接使用盘符找找: d:/a/b/c.jpg。这两个工具类,提供大量好用的操作数组和容器的各种静态方法!可以使用sort的第二个重载方法,该方法的第二个参数。从广义来说,不同电脑之间的数据流动,也是一种IO流。狭义上的IO流:本地进程间的数据流动。广义上的IO流:远程进程间的数据流动。java封装的一个操作文件及文件夹的对象。|-- 装饰流(过滤流)
2022-08-21 13:44:18
113
原创 JAVASE 第二十一天
如果是第一次添加节点,则容量是16,负载因子是0.75,触发扩容的阈值:12。JDK8之后,HashMap:整体结构是一个"数组 + 链表 + 红黑树" 结构,1、首先会将key进行hash运算,如果为null,则hash值为0,否则。JDK8之后,HashMap:整体结构是一个"数组 + 链表 + 红黑树" 结构。当链表长度小于6时,如果该链表之前是红黑树,则重新还原为链表结构。如果在构造时,所有参数默认,则容量是16,负载因子是0.75。map接口,是一种键值对的式的结构,开发中,经常使用这种结构。..
2022-08-08 10:37:00
144
原创 JAVASE 第十六天
在高并发场景下,不建议使用SimpleDateFormat,如果一定要是用,建议加锁操作。在高并发场景下,SimpleDateFormat是一个非线程安全类。专门设计了一套新的API用来解决高并发场景下的时间操作问题。JDK为了解决这些问题,在jdk8.0之后,JDK8提供的新式日期时间API。...
2022-08-08 10:35:44
95
原创 JAVASE第十五天
/ 获取对象的hashcode。equals() // 比较对象,默认使用== 比较内存地址。finalize() // 该方法在GC触发前,会自动触发。因此在开发过程中,一定注意,不要大量拼接字符串,以避免产生大量无用的字符串。// 在当前对象被GC前,会自动触发。字符串是一种常量,一旦产生一个字符,如果常量池中,不存在这个字符串。因为字符串是常量,字符串在大量拼接,容易产生垃圾数据。浅拷贝:将对象的第一层完成拷贝,是的两个对象完成了基本的分离。...
2022-08-08 10:34:54
99
原创 JAVASE第十三天
装箱:将基本数据类型包装为包装类 double a = 3.14 ==> Double b = a;其他的Exception的子类都是编译型异常,必须处理。编程型异常,如果我们不想处理,可以直接抛给调用者,有调用者完成处理。定义一个普通的类,让该类成为Exception类或者它的子类的子类。// 将必须要执行的代码写在finally中!在代码运行时,有可能出现的异常,被称为运行时异常。如果使用抓捕异常,通过这种处理,程序即便是遇到了,也不奔溃!指的是程序运行过程中,因为用户的误操作、代码的BUG、...
2022-08-08 10:34:08
194
原创 JAVA总结作业----集合
当 n 为 2 的 N 次方时,n - 1 为低位全是 1 的值,此时高位任何值跟 n - 1 进行 & 运算的结果为该值的0(既然我们的 n-1 永远都是 1,那 ( n - 1 ) & hash 的计算结果就是 低位的hash 值。传17,容量为32。Vector和ArrayList的底层实现方式非常的相近,官方说少使用Vector,还是尽量少使用,通过源码可以看出,每个方法都添加了synchronized关键字来保证同步,所以它是线程安全的,但是正是这些方法的同步,让其效率大大的降低了。...
2022-08-08 10:22:47
156
原创 JAVASE总结作业----异常处理
如果一个方法(中的语句执行时)可能生成某种异常,但是并不能确定如何处理这种异常,则此方法应显示地声明抛出异常,表明该方法将不对这些异常进行处理,而由该方法的调用者负责处理。捕获异常的最后一步是通过finally语句为异常处理提供一个统一的出口,不论是否捕获到了异常,finally块中的语句都会被执行。此时本类不对异常做处理,将其将给调用者进行处理,如果都不做处理,在到达main,如果main方法也没有做处理,则程序终止。自定义异常最重要的是异常类的名字,当异常出现时,可以根据名字判断异常类型。...
2022-07-28 12:05:17
226
原创 JAVASE总结作业----接口和抽象
将共性行为(方法)抽取到父类,发现该方法的实现逻辑无法在父类中给出具体明确,该方法就可以定义为抽象方法。接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用Java中的接口更多的体现在对行为的抽象。//publicvoidshow(){}//接口里面不能有非抽象方法。实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口。接口没有构造方法,因为接口主要是对行为进行抽象的,是没有具体存在。//接口中是没有构造方法的,因为接口是对行为进行描述。...
2022-07-28 11:45:18
82
原创 JAVASE总结作业----内部类、static关键字、final
3.修饰方法,称为静态方法,静态方法只能调用其他静态资源,不能调用非静态变量,不能应用this和super,因为静态资源的加载先于实例化;static关键字,表述为“静态的,全局的”,被static修饰的资源(变量或方法),可以直接通过类名调用,而不需要实例化(不需要创建对象)2.修饰变量,称为静态变量,局部变量(如方法中的变量)不能被static修饰,因为static就有全局的意思;2)修饰引用类型(对象),该对象的引用(内存地址)不能被改变,即对其初始化之后就不能让其指向另外的对象。...
2022-07-28 11:34:01
82
原创 JAVASE总结作业----面向对象的三大特征
子类向上转型为父类,就成为父类类型,不能访问子类独有方法,访问被重写方法时调用子类重写后的方法,访问静态方法调用父类方法,访问成员变量调用父类变量。子类中出现和父类一样的方法,返回值,方法名,参数列表都相同。方法重写后的权限不能比父类方法小,如父类project方法,子类不能是private。因为子类继承父类非私有变量和方法,可以调用父类的私有成员获取方法,来获取父类中的私有变量。通过继承可以快速创建新的类,实现代码的重复利用,提高开发的效率。(编译父类有的方法,执行子类改写的方法,没有改写就调用父类)..
2022-07-28 11:30:09
125
原创 JAVASE 第十二天笔记
10、父类构造函数执行,为子类继承到的成员变量进行初始化(对象内存空间里的父类空间)JDK5.0提供的新特性,利用反射技术,可以很轻松使用标注方法、属性、类等,为了安全考虑,在开发的过程中,会将属性私有化(private关键字修饰),14、执行完成,子类构造函数弹栈,将对象的内存空间地址赋予相应的引用变量。发生在继承中,指的是,子类继承了父类方法后,该方法不能满足子类,在Java中,也存在继承,java是一种典型的单继承编程语言。protected修饰的方法,就是用来给子类继承!...
2022-07-25 14:23:13
89
原创 JAVASE 第十三天笔记
接口中的所有属性和方法,默认都是public的!3、final关键字也可以修饰类,一旦某个类被final修饰,该类将断子绝孙,无法被继承。抽象方法没有方法体的方法。instanceof关键字,是java用来判断某个对象的类别的关键字!如果需要使用第一个静态方法,该方法需要导包,可以使用静态导包的方式。如果一个类继承了抽象类,就必须实现该类的抽象方法!如果一个方法,不需要实现体(函数内容),就可以声明抽象方法。子类一旦实现了接口,必须要实现接口所有的抽象方法,接口中所有方法都是没有实现的(抽象方法)。...
2022-07-25 14:22:14
126
原创 JAVASE 总结作业五
哈希的思路很简单,如果所有的键都是整数,那么就可以使用一个简单的无序数组来实现将键作为索引,值即为其对应的值,这样就可以快速访问任意键的值。每两个元素比较,按照从小到大顺序时,两两找出较大值,可能会发生交换,将较大值放在右侧,按照从大到小顺序时,两两比较找出较小值,可能会发生交换,将较小值放在右侧。对于含有n个数据元素的查找表,查找成功的平均查找长度为ASL=Pi*Ci的和。需和指定key进行比较的关键字的个数的期望值,称为查找算法在查找成功时的平均查找长度。注静态或者动态都是针对查找表而言的。...
2022-07-22 16:21:23
63
原创 JAVASE总结作业四
当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个Session对象,同时分配一个String类型的ID号,JSP引擎同时将这换个ID号发送到客户端,存放在Cookie中,这样Session对象,直到客户关闭浏览器后,服务器端该客户的Session对象才取消,并且和客户的会话对应关系消失。使用Request对象的getCookie()方法,执行时将所有客户端传来的Cookie对象以数组的形式排列,如果要取出符合需要的Cookie对象,就需要循环比较数组内每个对象的关键字。...
2022-07-19 12:56:01
111
原创 JAVASE 总结作业三
3、方法返回值的类型必须兼容,例如,如果返回值类型为int,则不能返回String型值。注意在Java中没有全局变量,main函数中的变量也是局部变量,只是比较特殊,定义在函数内部的变量,叫做局部变量,局部变量的作用域只在当前函数中有效。特点与返回值类型无关,只看参数列表(参数的个数、参数的类型、参数的顺序)。至少两个或者更多函数,函数名称相同,但是参数的个数或者类型不同,函数本质存储在堆中,当调用时,会临时的压入栈中(push),函数重载,本质是对功能的扩展,不是代码的复用!...
2022-07-19 12:49:52
61
原创 JAVASE第九天
在初始化二维数组的时候只定义了数组的行数,比如说inta[][]=newint[3][],赋值时只是针对第一行进行了赋值如a[0]=newint[]{25,60}遍历数组时就会报空指针异常。intc[][]=newint[][]{{20,30,20},{56},{2}};比如inta[][]=newint[][3]或inta[][]=newint[][],都是错误的写法,编译无法通过。二维数组在声明时可以先分配行,不分配列inta[][]=newint[3][];...
2022-07-19 12:44:44
55
原创 JAVASE总结作业二
case常量1//如果该变量等于常量1,则执行case中的代码。do...while循环,需要注意即便是条件不成立,也会执行一次!如果前面的条件已经可以得到结果,则不会继续向后判断,效率较高。//如果条件不满足,则执行else中的代码。//如果条件1满足,则执行if中的代码。//如果条件满足,则执行if中的代码。//如果条件满足,则执行if中的代码。//如果条件2满足,则执行这儿的代码。//如果条件3满足,则执行这儿的代码。//如果条件N满足,则执行这儿的代码。...
2022-07-17 15:08:16
39
原创 JAVASE 第七天
arr=[1,100,-10,50,3,-5,96]7个元素。数组是一种连续内存、大小固定的线性表,是一种数据结构,用来解决大量的存储问题。以第一个为有序数组,之后的所有元素依次插入到这个有序数组中,插入时,必须保证。//请在控制台上输入一个数组,长度为10,类型是整数,求该数组的最大值。通过下标来访问,注意在编程中,99%情况下,下标都是从0开始。原1,100,-10,50,3,-5,96。原1,100,-10,50,3,-5,96。...
2022-07-16 17:07:22
118
原创 JAVASE 第六天
--codePointAt(i)//获取下标对应的字符的Unicode值。//定义了一个字符串。|--charAt(i)//获取下标对应的字符。|--Math.random()//获取一个[0,1)的随机小数。|--length()//返回字符串的长度。|--random()//获取一个[0,1)的随机小数。|--abs(num)//返回num值的绝对值。...
2022-07-16 17:06:44
66
原创 JAVASE 第五天
注意在Java中没有全局变量,main函数中的变量也是局部变量,只是比较特殊,定义在函数内部的变量,叫做局部变量,局部变量的作用域只在当前函数中有效。如果要使用递归必须有终止条件,没有终止条件的递归就是一个死循环!至少两个或者更多函数,函数名称相同,但是参数的个数或者类型不同,函数本质存储在堆中,当调用时,会临时的压入栈中(push),函数重载,本质是对功能的扩展,不是代码的复用!从而在调用的时候,可以通过传参确定要调用的函数。注意在Java中,函数是定义在类中,是类的成员。...
2022-07-16 17:06:03
101
原创 JAVASE 第四天
/如果不想让它继续向后走,则使用break关键字中断。case常量1//如果该变量等于常量1,则执行case中的代码。do...while循环,需要注意即便是条件不成立,也会执行一次!//如果条件不满足,则执行else中的代码。//如果条件1满足,则执行if中的代码。//如果条件满足,则执行if中的代码。//如果条件满足,则执行if中的代码。//如果条件2满足,则执行这儿的代码。//如果条件3满足,则执行这儿的代码。//如果条件N满足,则执行这儿的代码。...
2022-07-16 17:05:15
45
原创 JDK的安装和配置
找到安装包 3.配置环境变量在桌面右键此电脑----属性----高级系统设置----环境变量;在系统变量这里点击“新建”,变量名:JAVA_HOME变量值:C:\Program Files\Java\jdk1.8.0_301注意,此处的变量值为自己java的安装目录 3.1找到系统变量的path,点击“编辑”----“新建”,新建两个变量值%JAVA_HOME%\bin 和 %JAVA_HOME%\jre\bin,并且将两变量值上移到顶部3.然后一直单击“确定”,直至退回到桌面即可
2022-07-14 09:06:50
162
原创 JAVASE第一周作业
作业6:下列哪一项是“4是奇数或-9为正数”的否定(C ) A、4是偶数或-9不是负数 B、4是奇数或-9不是负数 C、4是偶数和-9是负数 D、4是奇数和-9不是负数作业7:如果A是“10110110”,B是“11100000”,C是“10100000”,下面成立的是( D) A、 C=A|B B、 C=~A C、 C=~B D、 C=A&B...
2022-07-11 15:12:06
127
原创 JAVASE第三天
数据类型的转换 |-- 自动类型转换 整型 和 浮点型 运算,整型会自动向浮点型转换 小类型和大类型进行运算时,小类型会自动的转换为大类型 char byte < short < int < long < float < double < String 如果是整数,默认转换的类型是int !!! 如果是浮点型,默认类型是double |-- 强制类型转换 在java中,低类型可以自动向高类型转
2022-07-11 15:08:52
302
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人