- 博客(49)
- 收藏
- 关注
原创 Java开发——三层架构,分层耦合
本文介绍了软件设计中的三层架构及其优势。三层架构包括Controller层(接收请求、响应数据)、Service层(业务逻辑处理)和Dao层(数据访问操作)。这种分层设计遵循单一职责原则,便于代码复用和维护,实现高内聚低耦合。通过解耦各层依赖关系,使修改某一模块时不影响其他部分,提高系统的灵活性和可维护性。
2025-05-28 21:31:23
414
原创 初始javascript
JavaScript(简称:JS)是一门跨平台、面向对象的脚本语言。是用来控制网页行为的,它能使网页可交互。JavaScript和Java是完全不同的语言,不论是概念还是设计。但是基础语法类似。JavaScript在1995年由Brendan Eich发明,并于1997年成为ECMA标准。ECMAScript6(ES6)是最新的JavaScript版本(发布于2015年)。内部脚本:将js代码定义在HTML页面中JavaScript代码必须位于<script></script标签之间。
2025-03-21 20:15:56
1182
原创 鸿蒙 Java 人工智能 嵌入式 测试运维简单分析
用java技术栈开发维护后端和分布式系统,保障高性能高可用,协同实现业务需求,处理业务逻辑。人工智能聚焦于大模型应用开发,包含数据构建、模型调优以及应用集成等方面的工作。在专用硬件上通过软硬件协同设计与优化,实现嵌入式系统的可靠高效运行。产品经理先对接用户需求,对接完毕之后产出需求文档和需求优先级。●资源依赖性强:依赖GU算力和高质量数据集,个人学习成本高。●门槛高:需要扎实的数学基础、算法能力、学习难度大。大模型应用开发本科就行,但不是一般人可以学的。然后需求完后:每个人做每个事情。
2025-03-12 18:46:54
357
原创 web—HTML
●HTML(HyperText Markup Language):超文本标记语言。◆超文本:超越了文本的限制,比普通文本更强大。除了文字信息,还可以定义图片、音频、视频等内容。◆标记语言:由标签“<标签名>”构成的语言>HTML标签都是预定义好的。例如:使用<h1>展示标题,使用<img>展示图片,使用<video>展示视频。>HTML代码直接在浏览器中运行,HTML标签由浏览器解析。●CSS(Cascading Style Sheet):层叠样式表,用于控制页面的样式(表现)。
2025-03-09 14:12:09
1238
原创 初始网络编程
因为ipv6没有普及,现在怎么解决ipv4不够用的问题。●公网地址(万维网使用)和私有地址(局域网使用)。●192.168.开头的就是私有址址,范围即为192.168.0.0--192.168.255.255,专门为组织机构内部使用,以此节省IP特殊IP地址127.0.0.1,也可以是localhost:是回送地址也称本地回环地址,也称本机IP,永远只会寻找当前所在本机。常用的CMD命令:ipconfig:查看本机IP地址ping:检查网络是否连通。
2025-03-04 21:05:27
856
原创 Java—初始多线程
举例理解:就像我们一边打游戏,一边吃东西,一边喝水一样,我们的打游戏喝水吃东西都是一个线程。void setName(String name) 设置线程的名字(构造方法也可以设置名字)1、哪条线程执行到这个方法,那么哪条线程就会在这里停留对应的时间。3. 创建MyCallable的对象(表示多线程要执行的任务)3、当时间到了之后,线程会自动的醒来,继续执行下面的其他代码。在以前,我们写的所有的代码,其实都是运行在main线程当中。2.重写call(是有返回值的,表示多线程运行的结果)
2025-02-27 19:55:26
2129
原创 java工具包—Commons-io和使用文档,Hutool工具包
readUtf8 Lines:按照UTF-8的形式,把文件中的数据,读到集合中。appendLines:把集合中的数据写出到文件中,续写模式,readLines:指定字符编码,把文件中的数据,读到集合中。appendLines:把集合中的数据写出到文件中,续写模式,readLines:指定字符编码,把文件中的数据,读到集合中。writeLines:把集合中的数据写出到文件中,覆盖模式。writeLines:把集合中的数据写出到文件中,覆盖模式。fi1e:根据参数创建一个fi1e对象。
2025-02-26 19:39:41
715
原创 Java—File
当调用者File表示的路径是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏文件。当调用者File表示的路径是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回。当调用者File表示的路径是需要权限才能访问的文件夹时,返回null。当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组。/细节1:这个方法只能获取文件的大小,单位是字节。当调用者File表示的路径不存在时,返回null。当调用者File表示的路径是文件时,返回null。
2025-02-12 11:32:38
829
原创 Java—异常
意义:就是为了让控制台的报错信息更加的见名之意自定义异常的使用:创建一个类来定义一个异常aly+insert快捷键定义异常类写继承关系空参构造带参构造。
2025-02-10 17:58:23
1011
原创 Java—方法引用
把已经有的方法拿过来用,当做函数式接口中抽象方法的方法体条件:1.引用处必须是函数式接口2.被引用的方法必须已经存在3.被引用方法的形参和返回值需要跟抽象方法保持一致4.被引用方法的功能要满足当前需求::是什么符号?方法引用符代码案例:对一个数组从大到小排序。
2025-02-08 11:53:34
603
原创 stream流的中间方法和终结方法
注意:string类型的Java已经帮我们写好了hashcode和equals方法不用重写了。如果不是string类型的需要重写hashcode和equals方法。注意1:中间方法,返回新的Stream流,原来的Stream流只能使用一次,建议使用链式编程。注意2:修改Stream流中的数据,不会影响原来集合或者数组中的数据。终结方法之后不能在调用其他方法了,所以叫做终结方法。这里的split是切割方法。
2025-02-06 11:52:33
649
原创 Java—获取Stream流
结合了Lambda表达式,简化集合、数组的操作Stream流的使用步骤:①先得到一条Stream流(流水线),并把数据放上去②利用Stream流中的API进行各种操作。
2025-02-06 11:50:54
409
原创 常用集合的简单总结
比较字符串默认是按首字母大小来排序的,如果我们想先按长度进行排序如果长度一样再按首字母排序。键+值这个整体我们称之为“键值对”或者“键值对对象”,在Java中叫做"Entry对象"底层数据结构是依然哈希表,只是每个键值对元素又额外的多了一个双链表的机制记录存储的顺序。使用原则:默认使用第一种,如果第一种不能满足当前需求,就使用第二种。注意:默认按照键的从小到大进行排序,也可以自己规定键的排序规则。键和值是一一对应的,每一个键只能找到自己对应的值。有序:是指存和取的顺序是一样的,不是大小有序。
2025-02-05 18:23:35
588
原创 Java—不可变集合
●List、Set、Map接口中,都存在of方法可以创建不可变集合。超过10个用ofEntries方法或copyof的方法。●Map:元素不能重复、键值对数量最多是10个。创建Map的不可变集合,键值对的数量超过10个。●定义完成后不可以修改,或者添加、删除。简单理解:不想让别人修改集合中的内容。不可变集合:不可以被修改的集合。创建不可变集合的应用场景。2.如何创建不可变集合?1.不可变集合的特点?●Set:元素不能重复。
2025-02-05 17:21:02
362
原创 Java—双列集合
原理:底层数据结构是依然哈希表,只是每个键值对元素又额外的多了一个双链表的机制记录存储的顺序。键+值这个整体我们称之为“键值对”或者“键值对对象”,在Java中叫做"Entry对象"注意:默认按照键的从小到大进行排序,也可以自己规定键的排序规则。创建集合时传递Comparator比较器对象,指定比较规则。创建集合时传递Comparator比较器对象,指定比较规则。键和值是一一对应的,每一个键只能找到自己对应的值。这里的有序指的是保证存储和取出的元素顺序一致。删除键返回值,如上后面的删除郭靖返回黄蓉。
2025-02-03 14:46:06
691
原创 Java—三种遍历方式
格式:对象名.forEach(new Consumer<String>()它是JDK5之后出现的,其内部原理就是一个Iterator迭代器。增强for的底层就是选代器,为了简化迭代器的代码书写的。方法体只有一行return可以省略大括号可以省略。所有的单列集合和数组才能用增强for进行遍历。函数式接口可以改成lambda表达式。迭代器使用案例一般在集合中使用。如果参数只有一个小阔和可以省略。特点:迭代器不依赖素引。第四步数据类型可以省略。
2025-01-29 14:05:02
725
原创 Java—工具类类使用
我们要遍历数组就可以调用这个工具类不用再写一遍代码了。学生类的属性为: name、age、gender。定义一个工具类,用于获取集合中最大学生的年龄。需求:定义一个集合,用于存储3个学生对象。工具类的调用:工具类名.方法名。写一个遍历数组的工具类。
2025-01-29 12:39:38
464
原创 set集合
比较字符串默认是按首字母大小来排序的,如果我们想先按长度进行排序如果长度一样再按首字母排序。string Integer 在HashSet中不需要重写方法因为这俩类已经重写好了。无索引:没有带索引的方法,所以不能使用普通for循环遍历,也不能通过索引来获取元素。如果集合中存储的是自定义对象,必须要重写hashCode和equals方法。使用原则:默认使用第一种,如果第一种不能满足当前需求,就使用第二种。可以看出set是无序的存和打印的顺序不一样。加载因子:是用来数组的扩容的。2.Set集合的实现类特点。
2025-01-28 12:24:39
1081
原创 数据结构(树)
每一个节点包含:父节点地址 值 左子节点地址 右子节点地址如果一个节点不含有:父节点地址或左子节点地址 右子节点地址就记为null。
2025-01-27 10:31:42
691
原创 Java集合进阶 单列集合collection和list
Java当中一共有很多种集合之前学过的ArrayList只是其中的一类。Collection单列集合:添加一个元素Map双列集合:添加俩个元素。
2025-01-25 15:12:48
1904
原创 简单的排序算法
插入排序:将0索引的元素到N索引的元素看做是有序的,把N+1索引的元素到最后一个当成是无序的。遍历无序的数据,将遍历到的元素插入有序序列中适当的位置,如遇到相同数据,插在后面。选择排序:从0索引开始,拿着每一个索引上的元素跟后面的元素依次比较,小的放前面,大的放后面,以此类推。递归算法的作用:把一个复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。冒泡排序:相邻的数据两两比较,小的放前面,大的放后面。1,相邻的元素两两比较,大的放右边,小的放左边。2,小的放前面,大的放后面。
2025-01-25 11:02:56
708
原创 二分查找 分块查找
如果数据是乱的,先排序再用二分查找得到的索引没有实际意义,只能确定当前数字在数组中是否存在,因为排序之后数字的位置就可能发生变化了。如果要查找的元素在mid的左边,缩小范围时,min不变,max等于mid减1。如果要查找的元素在mid的右边,缩小范围时,max不变,min等于mid加1。插值查找:mid尽可能的靠近要查找的数据,但是要求数据尽可能的分布均匀。二分查找:mid每次都是指向范围的中间位置。都是通过不断的缩小范围来查找对应的数据的。前提条件:数组中的数据必须是有序的。插值查找(二分查找的改进)
2025-01-24 20:14:12
529
原创 API—时间相关类
Calendar代表了系统当前时间的日历对象,可以单独修获取时间中的年,月,日。public Date(long date)创建Date对象,表示指定时间。Date类是一个jDK写好的avabean类,用来描述时间,精确到毫秒。public Date()创建Date对象,表示当前时间。//那么调用者是不会发生改变的,产生一个新的时间。利用空参构造创建的对象,默认表示系统当前时间。利用有参构造创建的对象,表示指定的时间。//如果我们修改了,减少了,增加了时间。//DK8新增的时间对象都是不可变的。
2025-01-24 15:32:35
812
原创 Java八股文:MQ篇
消息去重:可以记录已经消费过的消息的 ID 或者其他标识,再次消费时先进行判断,如果已经消费过则跳过该消息。消息持久化:支持消息持久化,可以保证即使在系统重启或者故障的情况下,未完成的任务也不会丢失,可以继续被处理。消息解耦:使用RabbitMQ作为中间件,可以将各个系统解耦,减少系统间的直接依赖。分区消费:将消息按照不同的分区进行发送和消费,每个分区只有一个消费者,这样可以保证每个分区的消息顺序性。消息排序:在消息队列中添加消息排序的功能,根据消息的ID或者其他标识进行排序,保证消息的顺序性。
2025-01-23 19:09:26
1346
原创 java—内部类
类的五大成员:属性、方法、构造方法、代码块、内部类为什么要学习内部类:内部类可以直接访问外部类的成员,包括私有外部类要访问内部类的成员,必须创建对象例子:成员内部类(了解)静态内部类(了解)局部内部类(了解)匿名内部类(掌握)写在成员位置的,属于外部类的成员。成员内部类可以被一些修饰符所修饰,比如:private默认protectedpublic,static等如何创建内部类对象:方式一:外部类编写方法,对外提供内部类对象方式二:直接创建格式:外部类名.内部类名对象名=外部类对象.内部类对象;范
2025-01-19 15:14:53
461
原创 java—接口
接口用关键字interface来定义publicinterface接口名{}接口不能实例化接口和类之间是实现关系,通过implements关键字表示publicclass类名implements接口名{}接口的子类(实现类)要么重写接口中的所有抽象方法要么是抽象类注意1:接口和类的实现关系,可以单实现,也可以多实现。publicclass类名implements接口名1,接口名2}注意2:实现类还可以在继承一个类的同时实现多个接口。
2025-01-19 13:24:58
1889
原创 Java-抽象方法
在开发项目中很多时候是一个团队在开发,如果方法直接写在子类中,那么另一个人调用时就需要去子类看一下方法名,而抽象类把方法直接统一化,这样就不用在去看子类的方法名了。●抽象方法:将共性的行为(方法)抽取到父类之后。由于每一个子类执行的内容是不一样,所以,在父类中不能确定具体的方法体。该方法就可以定义为抽象方法。●抽象类:如果一个类中存在抽象方法,那么该类就必须声明为抽象类。由于方法体不确定,需要定义为抽象。抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类。要么重写抽象类中的所有抽象方法。
2025-01-19 11:26:01
417
原创 java—关键字fianl
例子如下:fianl修饰show方法,子类重写show方法将会报错;例子如下:fianl修饰变量a后面将不能再给a赋值如果赋值将会报错。final修饰的变量是基本类型:那么变量存储的数据值不能发生改变。例子如下:fianl修饰fu类子类将不能继承会报错。final修饰的变量是引用类型:那么变量存储的。:表明该方法是最终方法,不能被重写。:表明该类是最终类,不能被继承。:叫做常量,只能被赋值一次。
2025-01-18 14:10:29
361
原创 3.MySQL—约束
alter table 表名 add constraint [外键名称]foreign key(外键字段名)references 主表 (主表列名)on update 行为 on delete 行为;alter table 表名 add constraint [外键名称]foreign key(外键字段名)references 主表 (主表列名);把员工表(外键的表)称为子表 把部门表(主键的表)称为父表。约束的概述:约束是作用与表中字段上的规则,用于限制储存在表中的数据。剩下的可以自行验证。
2025-01-18 11:40:46
485
原创 Java进阶—继承extends
子类在初始化的时候,有可能会使用到父类中的数据,如果父类没有完成初始化,子类将无法使用父类的数据。当类与类之间,存在相同(共性)的内容,并满足子类是父类的一种,就可以考虑使用继承,来优化代码。在继承体系中,子类出现了和父类中一模一样的方法声明,我们就称子类这个方法是重写的方法。先在子类中找最近的,子类中没有就会去父类中找 ,父类中没有就会报错;子类可以在父类的基础上,增加其他的功能,使子类更强的大。多层继承:子类a可以继承父类b,父类b可以继承父类c。1.重写方法的名称、形参列表必须与父类中的一致。
2025-01-17 20:44:11
933
空空如也
答案为啥是3 3 0 0jdjdj
2023-11-28
运行的时候,没有显示是什么三角形
2023-11-04
c➕➕什么时候带.0什么时候可以不带
2023-10-30
c语言编程语言1.0和1疑问
2023-10-23
怎么修改123456
2023-10-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人