- 博客(22)
- 资源 (3)
- 收藏
- 关注
原创 【WearOS】【WatchFace】基于WearOS的表盘绘制相关逻辑
WearOS 5.0上表盘模块的更新不大,最主要是增加了Samsung的绘制工具,大大减少了工作量,但是还是要从代码层面去理解表盘绘制以及数据展示的逻辑。
2024-08-07 15:44:33
645
原创 【Kotlin】【Flow】使用zip和combine监听数据变化
最近在项目中遇到了需要同时监听四个数据变化的需求。注册两个Sensor采集a+g的数据,并获取时间戳和xyz的数据,同时完成对应的操作,这个需求需要同时监听四个数据的变化,之前使用observe()去监听一个数据的变化,所以我想到了使用Flow来监听数据变化。
2024-06-26 17:46:19
516
原创 ArrayList和LinkedList的区别
ArrayList和LinkedList的区别有: 1、数据结构不同 2、效率不同 3、自由性不同 4、主要控件的开销不同1、数据结构不同ArrayList是数组的数据结构,LinkedList是链表(双向链表)。2、效率不同当随机访问时,ArrayList的效率要比LinkedList效率要高。当对数据进行增加或者删除时,LinkedList效率较高。因为数组增加或者删除,需要遍历所有索引。3、自由性不同ArrayList自由性较低,因为它需要手动的.
2022-03-07 21:09:56
5459
原创 mybais占位符#与$的区别
#与$的区别使用#{}格式的占位符,只能表示某个值! MyBatis在处理时, 会通过预编译的方式进行处理。使用${}格式的占位符时, 可以表示SQL语句中的任意片段#{}是预编译处理,${}是字符串替换。Mybatis 在处理#{}时,会将 sql 中的#{}替换为?号,调用 PreparedStatement 的set 方法来赋值。Mybatis 在处理$ {}时,就是把${}替换成变量的值。使用#{}可以有效的防止 SQL 注入,提高系统安全性...
2022-03-07 20:56:23
421
原创 SQL学习 DAY 1
1、基本语句SELECT - 从数据库中提取数据UPDATE - 更新数据库中的数据DELETE - 从数据库中删除数据INSERT INTO - 向数据库中插入新数据CREATE DATABASE - 创建新数据库ALTER DATABASE - 修改数据库CREATE TABLE - 创建新表ALTER TABLE - 变更(改变)数据库表DROP TABLE - 删除表CREATE INDEX - 创建索引(搜索键)DROP INDEX - 删除索引2、SELECT语句
2021-09-23 23:00:07
127
原创 yaml文件
1、简介适合用来做以数据为中心的配置文件2、基本语法key: value;kv之间有空格大小写敏感使用缩进表示层级关系缩进不允许使用tab,只允许空格缩进的空格数不重要,只要相同层级的元素左对齐即可'#'表示注释字符串无需加引号,如果要加,’'与""表示字符串内容 会被 转义/不转义3、数据类型字面量:单个的、不可再分的值。date、boolean、string、number、null冒号后面一定要带空格k: v对象:键值对的集合。map、hash、set、o
2021-09-09 22:19:48
157
原创 启动maven插件的另一种途径(plugin中没有显示插件)
问题详情在pom.xml中导入mybatis生成器generator的时候,我发现我的plugin中没有mybatis-generator这个插件。解决方案在Edit Configurations添加maven configuration1、第一步2、第二步working directory:项目路径(无需改动)Conmand line:命令行语句我们需要在Command line中加入mybatis-generator:generate -X3、第三步点击小三角运
2021-08-06 21:29:47
163
原创 idea连接MySQL数据库报错
报错详情java.lang.RuntimeException:com.mysql.cj.exceptions.InvalidConnectionAttributeExcep解决方案在URL栏中语句最后面添加?serverTimezone=UTC
2021-08-06 21:05:05
84
原创 CentOS 6.5下 Tomcat服务器搭建
1、安装jdkyum install java-1.7.0-openjdk版本检测java -version如下内容:2、安装Tomcatcd /tmpwget http://mirrors.cnnic.cn/apache/tomcat/tomcat-7/v7.0.108/bin/apache-tomcat-7.0.108.tar.gztar xzf apache-tomcat-7.0.108.tar.gzmv apache-tomcat-7.0.108 /usr/local/tom
2021-04-20 11:23:58
129
原创 CentOS6.5 samba服务器搭建
1、安装samba以及samba-clientyum install samba samba-client查看是否安装成功rpm -qa|grep samba2、设置开机自启chkconfig smb onchkconfig nmb on3、更改配置文件cd /etc/samba/vim smb.config添加[public](任意取。每添加一个samba用户,都需要加入一个)4、添加samba用户useradd publicsmbpasswd public 5
2021-04-19 08:39:10
180
原创 Centos6.5 配置yum源(本地yum源以及网络yum源)
1、查看是否安装yumrpm -qa|grep yum如下图,就是安装好yum的linux系统:2、配置本地yum源cd /etc/yum.repos.d/#查看是否有.repo的文件ll将CentOS-Base.repo和CentOS-Debuginfo.repo两个文件改名:mv CentOS-Base.repo CentOS-Base.repo.bakmv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak测试是否成功:yum
2021-04-13 10:54:15
1471
原创 Centos6.5下WWW服务器的搭建
1、安装Apache httpd在Centos环境下yum install httpd2、将Apache httpd设置为开机自启chkconfig httpd on使用chkconfig查看是否开启成功:此时为开启成功3、开启httpd服务receive httpd start服务开启成功4、更改配置文件cd /etc/httpd/confvim http.conf找到ServerName将www.example.com改为localhost5、查看防火墙是否开启
2021-04-12 08:57:44
330
原创 str.equals(““)与““.equals(str)的区别
str.equals("")会引起nullPointerException;而”“.equals(str)则不会引起nullPointerException
2021-03-05 11:09:38
204
原创 Python 3 生成器
生成器在 Python 中,使用了 yield 的函数被称为生成器(generator)。跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。调用一个生成器函数,返回的是一个迭代器对象。下面是一个所有语言都常见的例子,斐波那契数列:import sysfrom builtins
2021-01-19 22:25:56
90
原创 Python 3 迭代器
迭代器迭代是Python最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter() 和 next()。字符串,列表或元组对象都可用于创建迭代器:from builtins import iterlist = [1, 2, 3, 4]it = iter(list)for i in it: print(i)输出结果1234
2021-01-19 21:57:42
117
原创 Python 3 集合
集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。创建格式:parame = {value01,value02,...}或者set(value)``集合特点实例:#去重功能basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}print (basket)结果输出{'b
2021-01-19 20:15:29
185
2
原创 Python 3 元组
Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号 ( ),列表使用方括号 [ ]。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。例:str = ("baidu", "google", 'firefox', 2020)或`str = "baidu", "google", 'firefox', 2020# 不需要括号也可以创建空元组str = ()索引格式:正向从0开始,逆向从-1开始访问元组tup1 = ('Google', 'b
2021-01-19 14:33:40
96
转载 编译原理基本知识
编译原理第一章 引言1.从面向机器的语言到面向人类的语言汇编指令:用符号表示的指令被称为汇编指令汇编语言:汇编指令的集合称为汇编语言2.语言之间的翻译转换(也被称为预处理):高级语言之间的翻译,如FORTRAN到ADA的转换编译:高级语言可以直接翻译成机器语言,也可以翻译成汇编语言,这两个翻译过程称为编译汇编:从汇编语言到机器语言的翻译被称为汇编交叉汇编:将一个汇编语言程序汇编成为可在另一机器上运行的机器指令成为交叉汇编反汇编:把机器语言翻译成汇编语言反编译:把汇编语言翻译成高级语言
2020-12-24 19:36:47
4955
1
原创 多线程练习实例
多线程的训练:线程共有以下几种状态:新建,运行(可运行),阻塞,等待,及时等待,终止。比如:使用new操作符创建新线程时,线程处于新建状态,当调用start()方法时,线程处于运行(可运行)状态。第一题:编写类ThreadState,该类实现了Runnable接口。该类定义了三个方法:waitForASecond():使当前线程等待0.5秒waitForYears():使当前线程永久等待,...
2020-12-24 19:22:21
169
原创 JAVA关键字——Instanceof
Instanceof 运算符简介在 JavaScript 中,判断一个变量的类型尝尝会用 typeof 运算符,在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 “object”。ECMAScript 引入了另一个 Java 运算符 instanceof 来解决这个问题。instanceof 运算符与 typeof 运算符相似,用于识别正在处理...
2020-12-24 19:21:09
138
转载 c++ vector 用法
1.1 vector 说明vector是向量类型,可以容纳许多类型的数据,因此也被称为容器(可以理解为动态数组,是封装好了的类)进行vector操作前应添加头文件#include 1.2 vector初始化:方式1.//定义具有10个整型元素的向量(尖括号为元素类型名,它可以是任何合法的数据类型),不具有初值,其值不确定vector<int>a(10);方式2.//定义具有10个整型元素的向量,且给出的每个元素初值为1vector<int>a(10,1);
2020-12-24 19:18:47
131
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人