自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 《计算机网络》复习笔记_计算机网络笔记

运输层功能运输层为应用进程之间提供端到端的逻辑通信(但网络层是为主机之间提供逻辑通信)运输层还要对收到的报文进行差错检测运输层需要有两种不同的运输协议,即面向连接的TCP和无连接的UDP运输层的两个主要协议TCP/IP 的运输层有两个不同的协议:用户数据报协议 UDP传输控制协议 TCPUDP 在传送数据之前不需要先建立连接。对方的运输层在收到 UDP 报文后,不需要给出任何确认。虽然 UDP 不提供可靠交付,但在某些情况下 UDP 是一种最有效的工作方式。TCP 则提供面向连接的服务。

2025-01-13 22:06:44 692

原创 《我用Python写网站02》数据库管理

u = User(username=‘xiaoming’,email=‘123@123.com’,password=‘123456’) # 创建User实例。u = User.query.filter_by(username=‘aaa’).first() # 查询。db.session.add(u) # 向数据库添加新数据。# 查询表中所有数据。db.session.commit() # 提交。db.session.delete(u) # 删除。

2025-01-13 22:03:03 580

原创 《TypeScript》入门与精通-数据类型的认识

声明了一个对象obj,对象有两个key,第一个是name,第二个是age,name的值必须是一个有数字组成的数组,age的值的类型必须是函数,并且第一个参数必须是数字,第二个参数必须是数字,返回值必须是一个由数字组成的数组。如果在ts文件中这么写的话,那么就相当于固定了键值,key必须是对应的,在这里的示例中,其实完整的写法应该是如下,另外,对象中的位置顺序没有关系,也就是name和age的位置没有关系,可以先写name,也可以先写age。// 报错,数组的长度必须是2,但是值的的数组长度是4了。

2025-01-13 21:59:22 393

原创 《Java并发编程的艺术》读后笔记-第二章 Java并发机制的底层实现原理

在我们了解实现原理之前先了解一下CPU的术语,便于后续理解。volatile是如何来保证可见性的呢?我们这里用汇编指令来具体解析有volatile和无volatile的区别。Java代码:// instance是volatile变量转变成的汇编代码,如下:有volatile变量修饰的共享变量进行写操作的时候会多出第二行汇编代码,通过查IA-32架构软件开发者手册可知,Lock将当前处理器缓存行的数据写回到系统内存。这个写回内存的操作会使在其他CPU里缓存了该内存地址的数据无效。

2025-01-13 20:59:38 674

原创 《JavaScript》20个非常实用的JavaScript一行代码,持续更新中

使用window.scrollTo() 会滚动至指定的坐标,如果设置坐标为(0,0),就会回到页面顶部。// Result: 参数为DOM元素,如果还元素处于焦点状态会返回 True 否则返回 False。// Result: 随机十六进制颜色,比如:#b6c349。有类型判断,自然就有对应的类型获取,获取当前变量的类型。// Result: 1-50之间的随机整数。

2025-01-13 20:55:57 328

原创 《Android内核剖析》笔记 第6章 应用框架Framework概述

SystemServer进程:该进程是zygote孵化出的第一个进程(详见第9章的描述),可以理解为应用框架的服务端,用来提供各种系统服务,核心的包括窗口管理服务WindowManagerService、活动管理服务ActivityManagerService等;注意:Wms中管理的窗口指的是View,并不是这个Window,这里的Window只是一个抽象类,android系统不仅仅可以在手机上运行,在其他设备上也可以运行,此时他们的窗口操作的实现可以完全不一样;

2025-01-13 20:52:15 715

原创 ② Ceph版本选择与安装

如前所示,我们执行admin的命令,要提供admin的key(–keyring ceph.client.admin.keyring)以及配置文件(-c ceph.conf)。实际上,ceph会默认地从/etc/ceph/中找keyring和ceph.conf。因此,我们可以把ceph.client.admin.keyring和ceph.conf放到每个node的/etc/ceph/。2、配置文件可以从多个地方进行顺序加载,如果冲突将使用最新加载的配置,其加载顺序为。4、安装Ceph软件(每个节点执行)

2025-01-13 13:45:40 974

原创 Spring系列第25篇:@Value【用法、数据来源、动态刷新】

***///@2@1:使用了@Scope注解,value为引用了一个常量,值为my,一会下面可以看到。@2:注意这个地方,参数名称也是proxyMode,类型也是ScopedProxyMode,而@Scope注解中有个和这个同样类型的参数,spring容器解析的时候,会将这个参数的值赋给@MyScope注解上面的@Scope注解的proxyMode参数,所以此处我们设置proxyMode值,最后的效果就是直接改变了@Scope中proxyMode参数的值。

2025-01-12 22:14:45 1054

原创 Spring注解驱动之后再说事务吧

举例:领导有饭吃,我偏不要,自己买东西自己吃 1.标志REQUIRES_NEW会_新开启事务,外层事务不会影响内部事务的提交/回滚_。2.标志REQUIRES_NEW的_内部事务异常,会影响外部事务的回滚_来使用拦截,在 TransactionInterceptor 拦截时,会在目标方法开始执行之前创建并加入事务,并执行目标方法的逻辑, 最后根据执行情况是否出现异常,利用抽象事务管理器。这意味着同一个目标对象内部的方法调用,即使调用的方法标记有@Transactional,也不会在运行时导致事务拦截。

2025-01-12 22:11:04 479

原创 Spring事务扩展机制——@Transactional

这个对象里面通过 ThreadLocal 保存了线程需要状态以及资源对象。resources:保存连接资源,因为一个方法里面可能包含两个事务(比如事务传播特性为:TransactionDefinition#PROPAGATION_REQUIRES_NEW),所以就用 Map 来保存资源.synchronizations在进行数据库操作的时候,如果需要多个操作要么一起成功,要么一起失败那么就需要使用事务操作了。

2025-01-12 22:07:22 648

原创 springboot解析不到docker中含有点号的环境变量

【代码】springboot解析不到docker中含有点号的环境变量。

2025-01-12 20:01:57 292

原创 SpringBoot源码分析系列之一:配置自动化

在这个类中,使用SpringFactoriesLoader.loadFactoryNames方法来扫描具有META-INF/spring.factories文件的jar包,spring-boot-autoconfigure-x.x.x.x.jar里就有一个spring.factories文件,这个文件中声明了有哪些类要自动配置。等等,这类注解即为该修饰的类赋予某项能力,在每个该类注解中都会通过@Import注解来导入实现对应功能的类。这个类,按照这个类的字面理解为自动配置导入选择器,它实现了以下几个接口。

2025-01-12 19:58:17 304

原创 SpringBoot文件上传临时目录找不到的问题

3,那么问题来了现在这样肯定是不能解决上传问题滴,(重点配置)新增一个配置 :这个代码很关键,这个就是指定临时上传路径的临时地址(本地也会报错)saveDO.setSftpupurl(“/usr/fjl/file”);//这里是文件路径上传服务器里面路径 记得chomd 777。//使用IDUtils工具类生成新的文件名,新文件名 = newName + 文件后缀。return R.error(“上传error”);其中/usr/fjl/file 是服务器路径的地址。//上传成功关闭信息。

2025-01-12 19:54:35 391

原创 javaScript(八) 对象

set:function (value) { //给这个属性设置一个函数,注意,调用对象的函数的方法是xm.xarm(),有括号的,代表方法,不是xm.xarm,没有括号意思是打印值。value:function () { //属性值,这边属性值是一个函数,注意,调用对象的函数的方法是xm.xarm(),有括号的,代表方法,不是xm.xarm,没有括号意思是打印值。,只会将对象自有的属性名以数组的形式返回,**这个方法就不必担心有没有原型链上的对象,**示例如下。//输出false,删除失败,

2025-01-11 12:49:02 903

原创 JavaScript数组详细归纳

Array和1). 字符串拆分为数组2). 将集合和映射转换为新数组const a1 = new Map().set(“name”,“张三”).set(“age”,18)console.log(Array.from(a1)) // [[“name”,“张三”], [“age”,18]3). 对现有数组进行浅复制name: “小明”,age: 18,gender: “男”},name: “小明”,age: 18,gender: “男”}]运行结果:4).arguments。

2025-01-11 12:45:22 610

原创 JavaScript异步编程之async await_trao 生成的代码包含‘async await‘,因为该模块使用的是"外部脚本

推荐用 async/await 语法替换掉直接使用 Promise 语法,这能让代码更简洁、捕获错误更简单、代码更容易调试。

2025-01-11 12:41:40 228

原创 08章MySQL:聚合函数

聚合函数不能嵌套调用,比如不能出现类似“AVG(SUM(字段名称))”形式的调用;

2025-01-09 21:03:18 673

原创 03 设计模式之工厂模式

工厂方法一般是创建单个类的实例,或者没有内在联系的类的实例。而且抽象工厂一般是创建有关联,或者相互依赖的类的实例,可以理解为生产产品簇的工厂。抽象工厂模式提供了一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的实现类。AbstractFactory:抽象工厂,定义约束创建一系列产品对象的操作接口。ConcreteFactory:抽象工厂的具体实现类,负责一系列有相互关系的类的对象的创建。AbstractProduct:定义一系列产品对象的接口。

2025-01-09 20:52:05 882

原创 02-Redis常用数据类型

本章节主要是对redis中的常用数据类型存储结构,基本操作进行了分析和实践,结合指令特性理解其应用场景,

2025-01-09 20:48:23 400

原创 (ROOT)KAFKA详解

6)创建ClientRequest;7)将ClientRequest交给NetworkClient,准备发送;8)NetworkClient将RequestSend发送给KafkaChannel缓存区域;9)向Kafka服务执行网络IO请求;10)收到响应,将CientResponse交给ClientRequest的回调函数;11)调用RecordBatch的回调函数,最终会指定每条消息的回调函数;

2025-01-09 20:19:27 573

原创 # Day06-Java基础_此时构造方法中参数的名称变得有意义了,但是这样一来就出现问题了,发现属性没有内

Person per = new Person(“张三”,20);age = age;//this.name 表示类中的属性nameSystem.out.println(“-----欢迎光临-----”);System.out.println(“-----欢迎光临-----”);System.out.println(“-----欢迎光临-----”);return “姓名:”+name+“,”+“年龄:”+age;

2025-01-09 20:15:45 544

原创 07-三大特殊数据类型

添加地理位置。

2025-01-09 13:40:40 734

原创 (连载)Android 8

源码下载是我们分析源码的开始,Android源码可以全量下载,也可以单个下载,我们先介绍全量下载。

2025-01-09 13:33:14 950

原创 Android中webview里js和java的相互调用--含代码demo解析

Toast.makeText(getBaseContext(), “js调用了本地java方法”, Toast.LENGTH_LONG).show();原因是在4.4.2中对JavascriptInterface安全性的要求更高更严格,需要标识出这个方法是能被js调用的方法,以增加安全性。

2024-12-17 00:54:09 500

原创 Android三大巨头,手把手教你用Flutter搭建个人网站?so easy!

如果你正在寻找 Flutter 的学习资源,下面我整理了一些关于 Flutter的资料,需要的**私信( Flutter)**我分享给你。由于node项目目录太深,在命令行运行也很麻烦,我们写个shell脚本,来帮我搞定。我创建了一个public_flutter_web,为了是以后文件区分,也建议你做一样的操作。大功告成,这样就行了吗,nono,对于一个懒惰的人来说,我们要写一些脚本,辅助项目自动构建。构建web包,最终会在build文件夹下生成web包,web包下就是网站的相关文件。

2024-12-17 00:50:28 806

原创 Android一次面试失败的复盘和自我反思_安卓自我反思

离职到现在已经有两个月了,由于行情确实不大行,面试机会非常少。这阵子我的心情都是处于一个很down的状态,个人的性格变得有些烦躁易怒,甚至发展到线下笔试都有不耐烦没有写完题的情况。这次的面试算是一个教训,告诉我必须要调整好自己的心态,至少在应对面试这件事上,一定要抱以敬畏和学习的态度去面对,而不是心浮气躁自以为是。其次是关于面试八股文的问题,八股文里面很多手写题,有些功能我用api很快实现就不管了,实际上自己也不确定如果不使用这些api自己会不会写。然后还有对笔试的抵触问题,这个也是我要去改变的一个点。

2024-12-17 00:46:47 752

原创 Android-性能优化------启动优化

从而完成应用的启动。我个人觉得针对于启动优化,在Application中的onCreate()进行初始化任务操作,我们首先需要对这些任务进行一个优先级划分,针对于那些优先级高的任务,我们可以优先进行处理,对于那些优先级较低的,我们可以适当的延迟进行加载。,这种我觉得是非常不可取的,假如说放在postDelayed中的任务耗时2s,延迟1s进行处理,那么在执行2s任务的过程中,有用户进行操作,那岂不是很卡吗,很明显,这是指标不治本的。针对上面说的几个痛点,怎么在处理上面的几个痛点,又能保证代码的可维护性呢?

2024-12-17 00:43:07 722

原创 Android-Studio-教程:入门开发第一个程序

这个区域主要是和Android设备和虚拟机相关的操作。1、虚拟设备管理。2、同步工程的Gradle文件,一般在Gradle配置被修改的时候需要同步一下。3 、项目结构,一些项目相关的属性配置。4、Android SDK管理5、Genymontion模拟器(需要装Genymontion插件,安装篇[模拟器安装]部分)这个区域主要是工程文件资源等相关的操作。

2024-12-17 00:39:26 1314

原创 Android-kotlin-空值处理&字符串比较&常量

string1.equals(string2) 等同于string1 == string2, 所以在Kotlin中的==是比较值本身, 而Java是[Java中 == 比较的是内存地址]意思是:允许传null。// 打印true,因为在Kotlin中 == 比较的是值本身, [Java中 == 比较的是内存地址]// 所以string1.equals(string2) 等同于string1 == string2。var car1 : Car = Car(“保时捷AXT系”, 1000000.00)

2024-12-17 00:35:45 886

原创 Android-kotlin-接口与多态的表现

定义此功能的标准,只要是符合typeC接口的充电器就能充电,否则就无法充电,接口标准必须是Type-C。2.描述 红色的TypeC手机充电器,(符合手机充电接口标准规范 InterfacePhone)3.描述 蓝色的TypeC手机充电器,(符合手机充电接口标准规范 InterfacePhone)4.描述 黑色的TypeC手机充电器,(符合手机充电接口标准规范 InterfacePhone)println(“红色充电器,正常的给手机充电了–> 充电中…(接口关注的是功能)

2024-12-17 00:32:04 759

原创 Android 音乐APP(三)播放音乐、自定义进度条、自动下一曲

首先播放布局不随页面滚动,一直固定在屏幕的底部,其次是播放的进度是左边的这个logo中,而这个logo在播放的时候自动旋转,logo右边的是歌曲信息,当内容超过控件时会有跑马灯效果,最右边自然就是控制歌曲的播放和暂停了。这个嘛,我打算放在下一篇文章再来说明,步步为营,循序渐进。作为音乐APP的主要功能,我放到了第三篇文章,因为播放音乐的功能并没有看上去那么简单,里面有很多细节是在写代码的时候就要考虑,并且加入到逻辑里面的,这可不是危言耸听,下面来看是怎样一个不简单吧。图标你可以去我的源码里面拿,

2024-12-17 00:24:43 694

原创 Android 面试:常见问题总结

使用SharedPreferences存储数据;文件存储数据;SQLite数据库存储数据;使用ContentProvider存储数据;网络存储数据;Android 中的数据存储都是私有的,其他应用程序都是无法访问的,除非通过ContentResolver获取其他程序共享的数据。ContentProvider:为存储和获取数据提供统一的接口,可以在不同的应用程序之间共享数据。无论数据的来源是什么,ContentProvider都会认为是一种表,然后把数据组织成表格。

2024-12-17 00:21:01 707 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除