- 博客(36)
- 收藏
- 关注
原创 第五章 网络编程
服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接。客户端发送数据请求,服务器端接收请求并处理请求,然后把回应数据发送给客户端,客户端读取数据,最后关闭连接,一次交互结束。客户端初始化一个Socket,然后连接服务器(connect),如果连接成功,这时客户端与服务器端的连接就建立了。提供无连接服务,数据包以独立包形式发送,不提供无措保证,数据可能丢失,并且接收顺序混乱(UDP协议)3.listen()函数,使用isockfd;
2024-09-12 14:24:11
468
原创 第四章 多线程
线程A正在使用sleep()暂停着: Thread.sleep(100000),如果要取消它的等待状态,可以在正在执行的线程里(比如这里是B)调用a.interrupt()[a是线程A对应到的Thread实例],令线程A放弃睡眠操作。线程在进入等待区,会把锁定解除,当对等待中的线程调用interrupt()时,会先重新获取锁定,再抛出异常。在获取锁定之前,是无法抛出异常的。当线程以join()等待其他线程结束时,当它被调用interrupt(),它与sleep()时一样,会马上跳到catch块里.。
2024-09-10 23:16:00
1056
原创 数据结构--串的模式匹配算法
Knuth-Morris-Pratt 字符串查找算法,简称为 “KMP 算法”,常用于在一个文本串 S 内查找一个模式串 T 的出现位置,为了避免朴素算法的低效,由Donald Knuth、Vaughan Pratt、James H. Morris 三人于 1977 年联合发表,故取这 3 人的姓氏命名此算法。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。
2024-09-06 14:52:15
1129
原创 数据结构--栈
一些,顺序栈是通过指针指向假设的栈顶,其他元素其实依然存在,但链栈的栈顶之前的元素会被垃圾回收,因此链栈的实现综合时间和空间来看,更优秀一些。对比链栈和顺序栈的实现,可以发现入栈和出战方法的时间复杂度都是O(1),效率上没有区别,但是顺序栈占用的空间会相对更多。顺序栈底层是数组,最大空间容量受到限制,因此必须初始化一个数组的容量,也就是栈的容量,链栈则无需此操作。常见的栈实现方式有数组和链表两种,其中数组实现的栈又称为顺序栈,链表实现的栈称为链式栈。(Bottom):固定的,不允许进行插入和删除的另一端。
2024-09-05 16:03:39
1152
原创 第三章 输入和输出处理
File类 --> 创建文件对象(物理文件或目录)–>通过文件对象的方法,操作文件或目录的属性(路径、权限、日期和时间等)2.创建FileOutputStream实例时,如果相应的文件并不存在,则会自动创建一个空的文件。注意:如果向文件中使用序列化机制写入多个对象,那么反序列化恢复对象时,必须按照写入的顺序读取。使用FileWriter类与BufferedWriter类,提高字符流写文本文件的效率。该类只能按照本地平台的字符编码来写数据,用户不能指定其他的字符编码类型。
2024-09-05 15:12:52
1228
原创 第二章 实用类介绍
枚举指由一组固定的常量组成的类型//定义一个性别枚举//sex:枚举类型的变量// 将枚举类型的Male赋值给stu对象的 sex属性Java API常用Java API :java.langEnum、包装类、Math、String、StringBuffer、System…java.utiljava.iojava.sql。
2024-09-04 14:24:56
904
原创 第一章 集合框架和泛型
Collection接口常用通用方法还有:clear()、isEmpty()、iterator()、toArray()将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性、本质是参数化类型。Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作,最常用的实现类是HashMap。Map.Entry() 返回的是当前Map的item,但是这个方法只在遍历的时候有用。map.entrySet()方法,返回的是当前Map的 item Set集合。
2024-08-30 17:39:01
1254
原创 第七章 异常
定义异常类(继承Throwable类、继承Excepion 或者RuntimeException)编写构造方法,继承父类的实现类实例化自定义异常对象使用throw抛出异常链:A方法调用B方法时,B方法却抛出了异常。抛出原有的异常:A方法与B方法进行了关联,不便于代码的修改和扩展抛出新的异常:异常链创建了新的异常但却保留了原有异常的信息异常处理与性能异常只能用于非正常情况不要将过于庞大的代码块放在try中在catch中指定具体的异常类型需要对捕获的异常做处理。
2024-08-26 16:54:47
1294
原创 第六章 抽象类和接口
接口中的成员变量:默认都是public static final的,必须显式初始化。一个类必须实现接口抽象方法(implements),除非这个类也是抽象类。接口中的变量都是静态常量(public static final)接口中的方法:默认都是public abstract的。一个接口不能实现另一个接口,但可以继承多个其他接口。实现类必须实现接口的所有方法,除非是一个抽象类。接口是一种能力,接口是一种约束。接口没有构造方法,不能被实例化。实现类可以实现多个接口。一个类可以实现多个接口。
2024-08-23 16:56:49
662
原创 第四章 方法重写与多态
使用instanceof时,对象的类型必须和instanceof后面的参数所指定的类在继承上有上下级关系。父类的静态方法不能被子类覆盖为非静态方法,父类的非静态方法不能被子类覆盖为静态方法。此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法。 = ( );子类可以定义与父类同名的静态方法,以便在子类中隐藏父类的静态方法。父类的私有方法不能被子类覆盖不能抛出比父类方法更多的异常。同一个引用类型,使用不同的实例而执行不同操作。
2024-08-21 17:10:04
656
原创 第三章 封装与继承
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。**封装的好处:**防止错误修改属性、提高系统独立性、提高软件的可重用性、降低了构建大型系统的风险。(2)如果类的所有实例都包含一个相同的常量属性,可把这个属性定义为静态常量类型,从而节省内存空间。允许类组成较小的单元(类似文件夹),易于找到和使用相应的文件。(1)能被类的所有实例共享,可作为实例之间进行交流的共享数据。(隐藏类的内部实现细节,对外提供一个可访问的接口) 把所有的属性藏起来。
2024-08-19 17:12:43
1173
原创 第二章 方法与方法重载
无返回值类型,不需要写void、方法名与类名相同(区分大小写)、可以指定参数。在同一个方法中,不允许有同名局部变量在不同的方法中,可以有同名局部变量。在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级。引用数据类型(类、数组和接口),赋值是把原对象的引用(可理解为。**作用:**对象初始化(系统提供默认无参构造方法)方法名相同、参数项不同、与返回值、访问修饰符无关。this() 调用构造方法(放在第一条语句),改变一个变量的值不会影响另一个变量的值。引用数据类型:地址传递(深拷贝)
2024-08-15 16:43:21
523
原创 第一章 认识类与对象
如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型为该值的类型。具有相同属性和方法的一组对象的集合类是对象的抽象,对象是类的具体。+print( ) : void 方法名(参数):返回值类型。(1)定义类名(2)编写类的属性(3)编写类的方法。+name(属性名):String(类型)如果方法没有返回值,返回值类型为void。 每个对象的每个属性都拥有特定值。万物皆对象,由一组属性和方法构成。**属性:**对象具有的各种特征。**方法:**对象执行的操作。用于分析和设计“类”
2024-08-14 17:42:54
845
原创 第七章 二维数组
*口诀:**N 个数字来排队两两相比小靠前,外层循环 N-1,内层循环 N-1-i。每次比较相邻两数小的交换到前面每轮结束后最大的数交换到最后。数组,数组.length = 5。定义二维数组时,要定义最大维数。外层循环,循环变量 i。内层循环,循环变量 j。
2024-08-12 13:24:18
282
原创 第五章 多重循环及程序调试
用于do-while、while、for循环中,可跳出循环而执行循环后面的语句。F7:有函数内部返回到调用初(进入方法内部后,点击可直接退出)Ctrl+shift+i :查看选中变量的值。F5:进入当前运行的程序内部(进入方法内部)结束当前方法,return后的语句都不执行。F8:运行完当前断点,一直执行到下一个断点。Shift+F8:跳到下一个断点,跳出函数。Alt+shift+F7:强制进入代码。F6:当前程序的下一行(单步执行)Alt+F10:显示执行断点。alt+F8:选中查看值。
2024-08-11 09:30:00
385
原创 第三章 选择结构
多重if选择结构(注意顺序)(没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况)字符串为null时,表示没有在堆中开辟空间。equals 比较的是字符串的值。结合运算符的优先级编写条件。使用if-else选择结构。== 比较的是内存地址。
2024-08-10 09:00:00
482
原创 第二章 变量和数据类型
中间内容可以包含:字(字母a~z A-Z)、下(下划线 _)、美(美元符号$)、人(人民币符号¥)、数(数字0~9)**命名规则:**以 字(小写字母a~z)、下(下划线 _)、美(美元符号$)、人(人民币符号¥)开头。运算符关系表达式的结果为布尔值:>、=、、=、
2024-08-09 16:00:00
813
原创 第一章 初始Java语言
Java ME:移动设备、游戏、通信… Java EE:JSP、EJB、服务… \t 将光标移动到下一个水平制表位置。转义字符:\n 将光标移动到下一行的第一格。/** */:javaDoc注释。:面向对象、API、JVM…/* */:多行注释。
2024-08-09 08:29:16
451
原创 第九章 网页动画
*过渡触发机制:**伪类(:hover、:active、:focus、:checked)、媒体查询(@media属性判断)、JavaScript(脚本)transition-duration:过渡所需时间,旧属性到新属性所花费时间(s)transition-timing-function:过渡动画函数,动画的快慢。播放方向:normal:循环向前播放,alternate:偶数次向前播放。播放状态:running:暂停的重新播放,paused:播放的暂停。播放次数:默认1次,infinite:无限播放。
2024-08-08 19:00:00
381
原创 第八章 定位网页元素
*relative:**相对定位,相对自身原来位置偏移(原来位置被保留)**static:**默认值,没有定位,以标准流方式显示。top、left、right、bottom偏移量方向。会对其它元素的定位造成影响,不会保留原来的位置。值大的层位于值小的层上方,值为整数,默认值为0。没有已经定位的祖先元素,以浏览器窗口为基准。**absolute:**绝对定位。以它最近的已经定位的祖先元素为基准。:x(0~100,越小越透明)**fixed:**固定定位。:x(0~1,越小越透明)
2024-08-08 14:30:00
534
原创 第七章 浮动
*inline-block:**行内块元素,具有行内和块级元素的特性。标准文档流组成:块级元素(block)、内联元素(inline) visible:默认值,内容不会被修剪,在盒子外显示。 scroll:内容被修剪,显示滚动条查看其余内容。 auto:内容被修剪,显示滚动条查看其余内容。 hidden:内容被修剪,其余内容不可见。**inline:**内联元素默认值,没有换行符。**block:**块级元素默认值,带有换行符。**none:**不显示。
2024-08-08 09:30:00
404
原创 第六章 盒子模型
border-style(边框样式):none、hidden、doyyed、dashed、solid、double。border-width(边框粗细):像素值 thin、medium、thick。1.制作上半圆或下半圆时,元素的宽度是高度的2倍,而且圆角半径为元素的高度值。2.制作左半圆或右半圆时,元素的高度是宽度的2倍,而且圆角半径为元素的宽度值。 boder-bottom-color:下边框颜色。 四个:上、右、下、左。 三个:上、左右、下。
2024-08-07 18:30:00
499
原创 第五章 CSS3美化网页
文本阴影 text-shadow(color:阴影颜色、x-offset:阴影水平位移量、y-offset:阴影垂直位移量、blur-radius:阴影向外模糊的模糊范围)font-weight:normal(400)、bold(粗体/700)、bolder(更粗的)、lighter(更细的)font-size:单位:px、em(父元素大小 X em)、rem(根元素大小 X rem)、cm、pt、pc、mm。font-style:normal、italic(斜体)、oblique(倾斜体)
2024-08-07 13:23:19
794
原创 第四章 初识CSS3
导入外部链接表(使用@import导入的CSS文件,客户端显示HTML结构,再把CSS文件加载到网页当中)a[class*=links](class 属性中属性值包含links)a[id=first](a元素中有“id=first”相同的属性)li:first-of-type(ul下第一个类型是li的元素)a[href^=http](href属性值中以http开头的)a[href$=png](href属性值中以png结尾的)标签选择器(直接应用于HTML标签)a[id](含有id属性的a元素)
2024-08-07 08:02:57
767
原创 第三章 表单
规定文本框填写内容不能为空,否则不允许用户提交表单,适合于input标签:text、search、url、email、password、number、checkbox、radio、file等类型。:类型(默认text、password、checkbox、radio、submit、reset、file、hidden、image、button)提示语默认显示,当文本框中输入内容时提示语消失,适合于input标签:text、search、url、email和password等类型。(会自动验证邮箱格式是否正确)
2024-08-06 18:01:32
587
原创 第二章 列表、表格与媒体元素
超链接上设置target目标窗口属性为要打开的框架名(target属性值与iframe的name属性值一致)内联框架:视频元素:video(controls:提供播放、暂停和音量的控件)没有顺序(导航、侧边栏新闻、有规律的图文组合模块等)页面结构:整个页面、页面头部、页面主体、页面底部。没有顺序(一个标题下有一个或多个列表项的情况)有顺序(排序类型的列表:试卷、问卷选项等)表格的跨行(n:所跨的行数)
2024-08-06 12:38:11
446
原创 第一章 HTML基础
行内元素:内容撑开宽度,左右都是行内元素的可以排在一行(a、strong、em…块元素:无论内容多少,该元素独占一行(p、h1-h6…常见的图像格式:BMP、JPG、GIF、PNG、BMP。从一个页面链接到另外一个页面。电子邮件、QQ、MSN。
2024-08-06 08:57:22
386
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人