- 博客(23)
- 收藏
- 关注
原创 java语言中的XML解析
XML(eXtensible Markup Language,可扩展标记语言) 是一种用于存储和传输数据的标记语言,由万维网联盟(W3C)于 1998 年发布。它的设计初衷是分离数据内容与展示形式,并实现跨平台的数据交换,其核心思想源于 SGML(标准通用标记语言),但语法更为简洁。1、DOM解析:将整个XML文件加到内存中,构建树形结构,便于随机访问节点,但消耗内存较高。3、SAX解析:流式解析,按顺序读取文档,适合处理大文件,但无法反向访问节点。示例:使用DOM4J解析XML文件(解析上述XML文件)
2025-06-24 21:42:21
920
原创 仓颉基于http协议的web开发
3.最后,如果出现html页面中的视频文件播放时有音效但是没有画面的情况,可能是MP4视频的编码格式的问题,案例中使用的编码格式为H.264。http是一种用于分布式、协作式超媒体信息系统的应用层协议,它定义了客户端与服务器之间请求与响应的标准格式和交互流程。应用场景:访问网页、API数据查询、下载文件等。将对应文件的IP地址,写到html标签<video>和<audio>的src路径中,如上图所示。POST请求:用途:向服务器提交数据(如表单、文件上传、JSON数据等)GET请求:用途:获取服务器资源。
2025-06-10 14:28:20
548
原创 ArkTS基于SQLite数据库的增删改查
字段不强制绑定数据类型,值的类型由内容决定。支持 NULL、INTEGER、REAL(浮点数)、TEXT、BLOB(二进制数据)五种基本数据类型。支持完整的 ACID(原子性、一致性、隔离性、持久性)事务。事务可确保数据操作要么完全成功,要么完全回滚,避免数据不一致。格式),无需独立的数据库服务器进程;库文件体积小(约 500KB-1MB),可直接嵌入应用程序中运行。SQLite 是一款轻量级、嵌入式、无服务器的关系型数据库管理系统。1.轻量级与无服务器架构。2.跨平台兼容性好。3.高性能与低资源消耗。
2025-06-05 09:44:35
591
原创 仓颉语言---Socket编程
Socket(套接字)可以被理解为网络上两个进程之间通信的端点。它是网络通信的抽象表示,封装了底层网络协议的复杂性,为应用程序提供了一个简单统一的接口。Socket 编程是一种网络编程范式,它允许不同计算机上的进程通过网络进行通信。这种通信可以发生在同一设备上的不同进程之间,也可以发生在不同地理位置的设备之间。Socket 编程提供了一种标准的方式来实现网络通信,是构建各种网络应用的基础。
2025-06-02 14:33:11
1019
原创 仓颉语言---I/O流机制
标准输出流:负责将数据从内存写出到外存。输出端可以一段一段地从管道中读出数据,每次可读取任意长度的数据(不要求与输入端匹配),但需遵循先入先出原则。标准输入流::负责将数据从外存读取到内存。输入端可一段一段地向管道中写入数据,这些数据段按先后顺序形成长数据流。示例代码:1、BufferedOutputStream() 是为另一个输出流添加缓冲功能。2、BufferedInputStream() 为另一个输入流添加缓冲功能。示例代码:1、读取输入流,并在控制台打印。读取文件内容,将外部文件内容读取到内存中。
2025-05-31 10:12:58
610
原创 java多线程
线程是程序里能够独立运行的最小执行单元。它和进程不同,进程是程序在操作系统中的一次执行实例,而线程则是进程中的一个执行路径。多线程允许程序同时处理多个任务,以此提升程序的性能与响应速度。线程的特点 1.轻量级:创建和销毁线程的开销比进程小得多。因为线程共享进程的资源,所以在创建线程时,不需要像创建进程那样分配大量的系统资源。 2.并发执行:同一进程中的多个线程可以并发执行,从而提高程序的执行效率。例如,在一个音乐播放软件中,一个线程可以负责播放音乐,另一个线程可以负责处理用户对播
2025-05-21 17:11:22
739
原创 了解HashSet
HashSet是一种基于哈希表实现的集合数据结构,它用于存储不重复的元素。在 HashSet中,元素没有特定的顺序,并且不允许出现重复项。
2025-05-05 17:19:43
211
原创 面向函数编程--闭包
闭包是指有权访问另一个函数作用域中变量的函数。从本质上来说,闭包是由函数以及该函数所引用的外部环境组合而成的一个实体。即便创建该函数的上下文已经执行完毕,闭包仍能访问其外部函数作用域内的变量,这些变量会被保存在内存中而不会被销毁。
2025-04-25 10:58:54
430
原创 lambda表达式
Lambda 表达式是一种简洁的、匿名的函数定义方式,它允许你在代码中快速创建小型、一次性使用的函数,而无需显式定义一个完整的函数。Lambda 表达式在仓颉编程语言中也是支持的。
2025-04-24 14:51:19
586
原创 面向函数编程
把程序分解成一系列函数,每个函数接收输入参数并返回输出结果,强调函数的纯粹性,即相同的输入必然产生相同的输出,且不产生可观察的副作用(例如不修改全局变量、不进行 I/O 操作等)。
2025-04-23 18:09:44
1160
原创 设计模式--模板模式
模板模式是一种行为设计模式,它在抽象类里定义了一个操作中的算法骨架,将一些步骤的实现延迟到子类。这样一来,子类可以在不改变算法结构的基础上,重新定义算法里某些步骤的具体实现。(1)代码复用性高:将固定不变的部分封装在抽象类的模板方法中,可变的部分则交由子类来实现,从而避免了代码的重复编写。(2)可维护性强:由于其核心部分在抽象类的模板方法中,当需要修改算法的整体结构时,只需要在抽象类中进行修改,而不会影响到各个子类。(3)符合开闭原则:“对扩展开放,对修改关闭”。
2025-04-22 17:56:47
495
原创 设计模式--代理模式
在程序运行的流程中,“客户”并没有直接的去调用目标方法/类,而是通过一个“中介”,通过在目标业务的前面和后面进行控制,判断“客户”是否满足条件来执行目标方法。
2025-04-21 16:53:48
326
原创 设计模式--工厂模式
工厂模式就是将创建对象的具体过程包装起来,然后根据用户的实际需求来创建不同的对象。实现方法是提供专门的工厂类,来创建具体的对象。创建工厂的方法可以有实例方法和静态方法,场景为工厂A和工厂B分别生产A商品和B商品。
2025-04-17 16:46:49
128
原创 设计模式--单例模式
单例模式用于在应用程序中只有一个实例化对象,以确保资源的高效利用和程序的稳定性,比如在读取或解析文件,加载数据到对象中,都只能在唯一的对象中同步数据。(如果存在多个对象,则会造成数据的不一致)。单例模式有两种类型:1.饿汉式单例2.懒汉式单例。在类加载时,就已经创建好了对象,等到程序调用时直接返回该对象即可。与饿汉式单例不同的是,懒汉式单例是等到被调用时再去创建。程序在运行期间只会创建一个对象。
2025-04-16 11:11:08
299
原创 仓颉语言--面向对象编程之抽象
抽象方法是没有方法体的,但一定要有返回值类型,抽象方法一定要被重写,其访问修饰符为protected或public。使用abstract关键字修饰类,那么该类为抽象类,主要作用就是为了加强运行时多态。1.抽象类是必须要被继承的,抽象类是不能实例化的,需要通过绑定子类完成实例化。2.抽象类中可以有构造方法,子类的构造函数一定依赖于父类的构造函数。使用interface关键字修饰,为了加强运行时多态和动态绑定。3.抽象类中可以没有抽象方法,但有抽象方法的一定是抽象类。4.有抽象属性设计器的类,一定是抽象类。
2025-04-15 17:22:41
285
原创 仓颉语言--面向对象编程之多态
指在继承关系中,方法名相同,参数列表相同,返回值类型相同,也就是子类对父类方法的重写。那么具体调用哪个重写的方法,是由实际创建的对象来决定的。因为创建对象是在运行期间完成的,所以称之为运行时多态。指在一个类中,方法名相同,参数列表不同,与返回值类型无关,称为方法重载。那么决定调用哪个方法,是由参数列表确定的。因为参数列表是在编译期间就确定了,所以称之为编译时多态。在上述代码的基础上,在声明一个子类daughter。
2025-04-14 17:38:52
504
原创 仓颉语言--面向对象编程之继承
因为子类可能会使用父类的数据,所以在子类完成初始化之前,一定先完成父类数据的初始化,所以子类构造函数的第一条语句都会调用父类的构造函数,如果父类的构造函数中有参数,就需要显示的调用父类构造函数,使用关键字super()1.仓颉语言中,继承为单继承,就是说子类只能有一个父类,不可以直接继承多个父类,但一个父类可以有多个子类。3.子类可以拥有父类的属性和方法,也可以扩展新的属性和方法,父类也可以调用子类扩展的方法。在仓颉编程语言中,继承的格式为:public class 子类名 <:父类名{ }
2025-04-12 11:11:13
353
原创 仓颉语言--面向对象编程之封装
封装在面向对象的编程思想中,确保类中数据的完整性和安全性是非常重要的。那么如何去提高数据访问的安全性呢?这里就需要用到“封装”,通过阻止外部对内部数据的直接访问和修改,来提高数据的安全性。就像给我们的手机账号设置密码,通过密码来保护我门的账号信息和个人隐私。那么在程序代码中,需要用到关键字private来修饰,通过将修饰的内容私有化,外部不能够直接的去访问,来提高数据访问的安全性。
2025-04-11 18:00:54
399
原创 仓颉语言--标识符的命名规则和数据类型
定义时使用struct关键字修饰*该类型不支持继承(不能有子类)* struct自定义类型是个值类型在struct自定义类型中,可以定义:1.成员变量:静态变量,实例(非静态)变量2.构造函数:主构造函数(只能有一个):方法名与struct定义的名字一致普通构造函数(可以有多个):方法名为init,有多个时,方法名一致,参数列表不同,形成构造函数重载,目的是为了给创建自定义类型struct的不同对象提供多种入口*二者均不能使用关键字func修饰*静态构造函数,用于初始化静态变量。
2025-04-10 12:13:20
1205
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人