- 博客(62)
- 收藏
- 关注
原创 谈谈JSON
对于后端来讲,序列化即Java对象→JSON字符串,反序列化即JSON字符串→Java对象。后端一般会通过@responseBody注解将 “return Java对象” 转化为 “JSON对象”,传到前端。可以清楚的看到,JSON是基于JavaScript对象语法的数据格式,所以所有的JSON对象都是JavaScript对象。的过程,以便可以将对象保存到磁盘上,将其传输到网络上,或者将其存储在内存中,以后再进行反序列化,将字节流重新转换为对象。JSON 相比于 XML 来说,更小、更快,更易解析。
2024-12-25 18:10:43
543
原创 HTML&CSS&JavaScript&DOM 之间的关系?
HTML来定义网页的结构和内容;CSS来美化网页的外观和布局;JavaScript来实现网页的交互功能和动态效果;其中DOM是连接HTML、CSS和JavaScript的桥梁,通过DOM,JavaScript可以访问和操作HTML元素及其样式(CSS),从而实现网页的动态更新和交互功能。
2024-12-24 23:30:41
1609
2
原创 Java中多态的理解和应用
关于什么是Java中的多态,相信正在看这篇文章的同学们已经了解了不少概念,所以在这里我们就不再说过多废话,直接上代码来理解什么是多态~
2024-09-08 19:35:18
416
原创 UML类图
全局变量就是关联关系、局部变量就是依赖关系、“同生共死”就是组合关系、关联关系+依赖关系=聚合关系、Java中看到“extends”关键字就是泛化关系、Java中看到“implements”关键字就是实现关系
2023-06-19 15:17:28
613
1
原创 JDBC 中关于 ResultSet.getXXX( ) 方法的理解
最近在写orm框架,遇到了原生JDBC中的 getInt( )、getFloat( )、getDouble( )、getString( )、getObject( ) 等这类方法,发现与原先的理解有些偏差,特此记录一下这几个常用的方法参数在不同 sql 查询下的含义。总结:① 对于 'getXXX(int columnIndex) { } ' 重载形式,其中的columnIndex 表示的是我们写的 sql 语句中字段的索引,而不是数据库表中字段的索引。
2023-02-28 23:37:53
988
1
原创 map 和 flatMap 的区别
当我们需要将具有层级结构的数据展平时,也就是将多层数据转换为单层数据操作时,我们可以使用 flatMap 方法。如果我们只是简单的对流中的数据计算或者转换时,可以使用 map方法。举例:① 使用 flatMap:[a,b,c,d,[e,f [g,h,i]]] 转换为 [a,b,c,d,e,f,g,h,i]② 使用 map: [1,2,3,4,5,6] 转换为 [11,12,13,14,15,16]③ 使用 map: [a,b,c] 转换为 [A,B,C]
2023-02-08 22:54:31
37890
7
原创 下载 rabbitmq 和 erlang 的 .rpm 文件
今天也是从网上找了好久下载资源地址,看到了有些文章需要花钱才能拿到文件,有些文章不是全部都有,特此记录一下!
2023-01-17 00:46:59
1812
2
原创 为什么JS中被const修饰的变量会发生改变?
const 的本质: const 定义的变量并非常量,并非不可变,它定义了一个常量引用一个值。使用 const 定义的对象或者数组,其实是可变的。在JS中,被const修饰的简单类型(或者说是基本类型)是不能发生改变的,但是被const修饰的引用数类型是可以被多次修改的。
2023-01-13 18:37:16
555
1
原创 Nginx操作的常用命令
当我们使用Nginx命令时,必须要进入到nginx目录中。重加载Nginx(重新加载配置文件)Nginx配置文件位置。查看Nginx版本号。
2023-01-12 16:08:24
218
2
原创 Nginx简介
Nginx是一个高性能的HTTP和反向代理Web服务器,同时也提供IMAP/POP3/SMTP服务。Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3/SMTP)代理服务器。Nginx的特点是:占有内存少,并发能力强。Nginx专门为性能优化而开发,性能是最重要的考量,非常注重效率,事实上Nginx的并发能力在同类型的网页服务器种表现较好,能够支持高达50000个并发连接响应数。
2023-01-12 16:05:35
8251
3
原创 Magic value如何解决?
最近在书写代码时,总是会产生弱警告,显示 Magic value,虽然不是什么大问题,但是肯定是因为编码不规范导致的,所以在此总结一下~Magic value:是指在代码中无故出现的数字。在我们看来,能够理解是什么含义,可是对于团队合作的人员来说,就需要阅读你代码的上下文,才能推断出是什么含义。这样就会给团队人员以及后期维护带来不便,所以我们要尽量的避免魔法值的出现。当别人阅读我们的代码时们就会产生疑惑,"0" 和 ”." 意味着什么,与上下文有着怎样的逻辑关系?该如何理解?
2022-12-05 10:50:12
951
2
原创 谈谈Go语言中函数的本质
通过结果我们可以看出,在Go语言中,函数也是一种数据类型。通过反馈回来的结果我们可以得知,函数名 fun 不加括号时,fun 函数就变成了一个变量;如果 fun 加括号变为 fun( ) 时,就变成了函数调用。变量 v 本身的地址是0xc0000ca018,其存储的 value 值是0x76fb00,也就是函数 function 所在的地址,所以当 function 赋值给变量 v 后,我们就可以用变量 v 加括号来调用函数 function。
2022-11-30 21:54:37
500
2
原创 Go语言中的值传递和引用传递 附: 内存地址分析
对于值传递来说,在传递过程中,传递的是数据的副本,在其它函数中修改数据,并不会对原始数据产生影响。那么对于引用传递来说,变量在内存中的存放在一定的地址上,修改变量实际上就是修改变量所在地址处的内容。
2022-11-29 22:08:48
1515
1
原创 Go语言报错:# awesomeProject .\demo02.go:5:6: main redeclared in this block .\demo01.go
报错原因:在一个目录下创建了两个package main的项目解决方式:① 第一种方式: 可以创建多个目录将不同的 .go的package main分别放入到不同的目录中,即可解决问题② 第二种方式:我们在初学 Go 时,并不想重复创建目录来运行不同的 package main,可以用如下图方式解决Ⅰ、修改 NameⅡ、修改 Run Kind 为 File 类型Ⅲ、修改 Files 中所对应的 .go 项目名,与要运行的项目名对应即可
2022-11-29 10:31:26
676
2
原创 Go语言编译时报 CreateProcess error=5, 拒绝访问
Go语言在编译时报错:CreateProcess error=5, 拒绝访问关闭 360 !!!( 360拦截了 )
2022-11-28 18:15:56
702
2
原创 Task ‘wrapper‘ not found in project ‘:app‘.* Try:Run gradle tasks to get a list of available task.
Task 'wrapper' not found in project ':app'.* Try:Run gradle tasks to get a list of available task.
2022-10-19 19:18:32
5754
2
原创 CPU 指令重排序
as-if-serial 和 happens-before 原则,都是为了保障,在 CPU 指令重排序时,不论是单线程还是多线程的情况下,最终指令重排序后的结果都应该与代码本身的应有结果保持一致。对于单线程,可能在重排序后不会产生什么问题,但是对于多线程,这个规则可能就会产生一些问题~CPU 指令重排序后,体现在代码层面的就是,写在后面的代码,可能在 CPU 重排序之后,就可能会先执行。
2022-10-08 13:48:13
1247
2
原创 HashMap 和 Hashtable 的区别
1)Hashtable 的 key 和 value 键值对是不允许值为 null,而对于 HashMap,key 和 value 都是可以值为 null2)实现方式不同,Hashtable 继承的是抽象类Dictionary,而 HashMap 继承的是抽类AbstractMap3)Hashtable 支持 Iterator 和 Enumeration 两种遍历方式,而 HashMap 只支持 Iterator 这一种遍历方式......
2022-10-04 21:45:07
823
2
原创 Java 设计模式 — 建造者模式(4)
建造者模式是将不同的简单类经过一系列操作,最终构建为一个复杂对象的过程。建造者模式更关注的时零件装配的过程。建造者模式通常使用在一些基础组件不改变,但是组合经常会发生变化的时候。
2022-10-04 12:41:59
728
2
原创 Java 设计模式 — 单例模式(3)
1. 在使用单例模式时,声明的对象,构造函数都需要私有化,防止外界的访问。2. 懒汉模式与饿汉模式的本质区别在于,懒汉模式在方法外只是声明对象,只有在调用方法时才会进行 new 对象,而饿汉模式则是直接声明创建对象。3. 不建议使用懒汉模式,建议使用饿汉模式来实现单例模式。4. 需要明确做到 Lazy loading时,可以使用登记式/静态内部类。5. 如果涉及反序列化创建对象时,可以使用枚举。6. 以上情况都不符合,可以考虑双重校验锁。
2022-10-03 18:00:36
469
2
原创 Java 设计模式 — 抽象工厂模式(2)
关于一个超级工厂创建其他工厂说到这里,可能就会有人有疑惑,那么这与工厂模式有什么区别呢?我们先来看看抽象工厂模式到底是什么再去进行比对~
2022-09-29 20:43:03
498
3
原创 谈谈 Python 中的字符串
在 Python 中,如果给两个变量直接赋值相同的字符串对象,那么 Python 就会启用字符串驻留机制,使得两个变量指向同一字符串对象;而对于拼接的字符串,如果使用 join( ) 函数,那么一定会创建一个新的字符串对象,并不会启用字符串驻留机制,而对于 + 拼接的字符串,如果驻留池中存在,那么就会指向驻留池中的字符串对象,并不再创建新的字符串对象。
2022-09-27 21:31:53
768
2
原创 Java 设计模式 — 工厂模式(1)
设计模式是我们在软件开发过程中遇到问题的一种解决方案,在项目中合理的使用不同的设计模式,可能会很好的解决我们所遇到的问题。设计模式可以使代码在编写上更加容易,保证了代码的可靠性,提高了代码的可拓展性,使代码的可读性增强。
2022-09-26 21:53:47
381
2
原创 错误:The activity must be exported or contain an intent-filter.
【代码】错误:The activity must be exported or contain an intent-filter.
2022-09-25 00:02:32
2588
2
原创 Android 的 Activity (四)
关于 Intent 的介绍每一个 Activity 中都会激活或者启动一个 Intent,Intent是一个消息对象。在 Android 运行时,它向Android 发出请求,去启动或者激活其他组件或者应用程序。当我们从 Home 启动 MainActivity 时,运行时的 Android 会发送 Intent 到我们的 app 来启动我们的"主要" 动作(也就是所谓的主程序 ),
2022-09-24 23:34:29
2229
2
原创 第一个Android应用程序 (二)
在 Android Studio 中创建项目并选择模板。定义布局,直接使用可扩展标记语言 (XML) 编写代码。使用 Java 编程语言编写代码,为应用程序的所有组件创建源代码。在真实和虚拟设备上构建和运行应用程序。测试和调试应用程序的逻辑和 UI。通过组装最终的 APK(包文件)发布应用程序。
2022-09-23 12:50:13
1327
2
原创 初识 Android (一)
Android 是谷歌为手机和平板电脑等其他移动设备开发的操作系统和编程平台。与 Java 类似,Android 同样也提供了软件开发工具包—SDK,可帮助我们编写原始代码并组装软件模块,以便为 Android 用户创建应用程序。Android 代表了移动应用程序的生态系统。
2022-09-21 23:08:56
235
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人