- 博客(219)
- 资源 (21)
- 收藏
- 关注
原创 MySQL数据库入门到精通
终于将黑马程序员 MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括这个视频看完了,发现自己之前掌握的数据库知识只能算是个入门,现在将这个视频的笔记整理一下,方便复习。准备按基础篇,进阶篇,运维篇分类来整理。
2023-09-21 14:38:32 534
原创 Android调用科大讯飞语音转写 API以及解析踩坑之旅
需要对本地音频文件,调用科大讯飞的api进行转文字,本来呢,以为很简单,结果坑不少。语音转写 API 文档下载demo,代码也挺简单,放到idea中,替换一下key,直接运行,但是看到返回,傻眼了不知道为什么要这样返回,在线找的一些json转JavaBean的工具都解析不出来,最后没办法,只能自己剥洋葱一样,一点一点解析,拿到需要的结果(我不知道有没有更好的办法,我只能用这个笨办法了)这是后台代码,可以定一个方法作为回调,但是呢,又没有提供其他平台的sdk,所以android的怎么定义回调?总不能去后
2024-09-30 15:37:44 1017
原创 android 蓝牙语音转换成pcm文件,进行播放暂停停止操作
最近在做蓝牙与android之间互联通信,有个需求,是通过指令,控制蓝牙开启录音,结束录音,录音过程中,将蓝牙传回的数据,转换成pcm文件,然后再做个文件列表,点击播放pcm,包括暂停,重新播放之类的操作。蓝牙传输的数据,先转换成Byte[],然后再转换成pcm文件,保存到本地。
2024-09-29 10:40:31 1392
原创 JVM系列--垃圾回收器
垃圾回收器的组合关系虽然很多,但是针对几个特定的版本,比较好的组合选择如下:JDK8及之前:ParNew + CMS(关注暂停时间)、Parallel Scavenge + Parallel Old (关注吞吐量)、 G1(JDK8之前不建议,较大堆并且关注暂停时间)JDK9之后:G1(默认)从JDK9之后,由于G1日趋成熟,JDK默认的垃圾回收器已经修改为G1,所以强烈建议在生产环境上使用G1。
2024-08-26 09:40:27 730 1
原创 JVM系列--垃圾回收
在C/C++这类没有自动垃圾回收机制的语言中,一个对象如果不再使用,需要手动释放,否则就会出现内存泄漏。内存泄漏指的是不再使用的对象在系统中未被回收,内存泄漏的积累可能会导致内存溢出。在这段代码中,通过死循环不停创建Test类的对象,每一轮循环结束之后,这次创建的对象就不再使用了。但是没有手动调用删除对象的方法,此时对象就会出现内存泄漏。这段代码中,手动调用delete删除对象,就不会出现内存泄漏。称这种释放对象的过程为垃圾回收,而需要程序员编写代码进行回收的方式为手动回收。
2024-08-23 15:23:07 985
原创 JVM系列--运行时数据区
Java虚拟机在运行Java程序过程中管理的内存区域,称之为运行时数据区。《Java虚拟机规范》中规定了每一部分的作用。
2024-08-23 14:37:48 1187
原创 JVM系列--类加载器,双亲委派机制,打破双亲委派机制
一个Tomcat程序中是可以运行多个Web应用的,如果这两个应用中出现了相同限定名的类,比如Servlet类,Tomcat要保证这两个类都能加载并且它们应该是不同的类。如果不打破双亲委派机制,当应用类加载器加载Web应用1中的MyServlet之后,Web应用2中相同限定名的MyServlet类就无法被加载了。Tomcat使用了自定义类加载器来实现应用之间类的隔离。每一个应用会有一个独立的类加载器加载对应的类。那么自定义加载器是如何能做到的呢?
2024-08-23 10:44:02 904
原创 JVM系列--字节码文件详解
完成了对局部变量i的赋值操作。比如在代码中,编写了两个相同的字符串“我爱北京天安门”,字节码文件甚至将来在内存中使用时其实只需要保存一份,此时就可以将这个字符串以及字符串里边包含的字面量,放入常量池中以达到节省空间的作用。Java虚拟机会校验字节码文件的前四个字节是不是0xcafebabe,如果不是,该字节码文件就无法正常使用,Java虚拟机会抛出对应的错误。jad命令可以将类的字节码文件进行反编译成源代码,用于确认服务器上的字节码文件是否是最新的,如下将demo.MathGame的源代码进行了显示。
2024-08-22 17:04:15 802
原创 JVM系列--初始JVM
JVM 全称是 Java Virtual Machine,中文译名 Java虚拟机。JVM 本质上是一个运行在计算机上的程序,他的职责是运行Java字节码文件。Java源代码执行流程如下:分为三个步骤:1、编写Java源代码文件。2、使用Java编译器(javac命令)将源代码编译成Java字节码文件。3、使用Java虚拟机加载并运行Java字节码文件,此时会启动一个新的进程。
2024-08-22 09:58:06 856
原创 vue下载文件,获取header头文件名乱码,下载文件名有下划线的解决
elink.download前后有下划线,这可能意味着download是一个保留字或者属性名包含非法字符。使用方括号语法来访问download属性,这是因为它可能是一个保留字或者包含非法字符(比如空格)后台以数据流将文件返回,将文件名放在header头里,是中文名,有乱码,如图。访问网络使用的是axios,在。有乱码,用以下方法处理。
2024-05-14 16:39:36 716
原创 vue 移动端app预览和保存pdf踩坑
使用Vue开发h5,嵌套到Android和IOS的Webview里,需要实现pdf预览和保存功能,预览pdf的功能,我这边使用了三个库,pdf5,pdf.js,vue.pdf,现在把这三个库在app端的坑分享一下。先说预览的,保存的实现等会再说。
2024-02-28 14:57:19 2142 5
原创 刚拿到的《HarmonyOS应用开发者高级认证》,全网整理的题目,将近300题,100%通过
全网整理的HarmonyOS应用开发者高级认证题目和答案
2024-02-26 15:43:05 27479 16
原创 vue 集成高德地图,点击图标,弹出van-action-sheet,一闪而过的问题探究
后来和公司前端大佬交流,找到了问题,地图图标点击的时候,会刷新地图,van-action-sheet刚弹出来,地图刷新了,van-action-sheet就消失了,所以才出现一闪而过,这样就好解决了,在点击事件里边,加一个延时,刷新完了,在弹出对话框。地图图标点击,然后呢,设置sheetShow 为true,弹出van-action-sheet,逻辑上是没错的,我把这个代码放在地图外的控件,是可以正确弹出对话框的,然后在浏览器模式下,是正常能弹出的,切换成手机模式,又不能弹出。
2023-11-07 11:17:20 733
原创 设数据为01101001,试采用4个校验位求其偶校验方式的海明码。
p1的1在最后一位,找最后一位是1的位置, m3 m5 m7 m9 m11 对应数值 1 0 1 0 1 偶数校验 1。p2的1在倒第二位,找倒数第二位是1的位置 ,m3 m6 m7 m10 m11 对应数值 1 0 1 1 1 偶数校验 0。p4的1在第一位,找第一位是1的位置 ,m9 m10 m11 m12 对应数值 0 1 1 0 偶数校验 0。p3的1在第二位,找第二位是1的位置 ,m5 m6 m7 m12 对应数值 0 0 1 0 偶数校验 1。校验位就设为p吧,有4个。
2023-11-03 16:13:32 538
原创 2023年最新最全Java面试题及解答(上百道题,近5w字,包括Redis、MySQL、框架、微服务、消息中间件、集合、jvm,多线程、常见技术场景)
程序员加油!最新最全Java面试题及解答(上百道题,近5w字,包括Redis、MySQL、框架、微服务、消息中间件、集合、jvm,多线程、常见技术场景)
2023-10-24 16:57:27 838
原创 android webview加载第三方网页,<select>控件无法弹出的问题
我这边用原生的webview加载第三方网页,有个弹框,无法弹出,一看网页源码,用的是select控件,但是在安卓手机浏览器上,iOS上,都是可以的,然后调试,控制台也没报错。我发现问题是出在webview的初始化上,之前呢,webview都是直接findviewbyid的,后来因为释放内存的需要,修改成在代码里new一个webview,问题就出在这个初始化上,不要用getApplicationContext(),用当前activity,就可以了。WebviewBase是当前activity。
2023-10-19 15:48:36 643
原创 WebMagic抓取医院科室,医生信息实战及踩坑
WebMagic项目代码分为核心和扩展两部分。核心部分(webmagic-core)是一个精简的、模块化的爬虫实现,而扩展部分则包括一些便利的、实用性的功能。WebMagic的架构设计参照了Scrapy,目标是尽量的模块化,并体现爬虫的功能特点。
2023-10-18 15:17:05 1254
原创 MySQL数据库入门到精通9--运维篇
3.1.1 问题分析随着互联网及移动互联网的发展,应用系统的数据量也是成指数式增长,若采用单数据库进行数据存IO瓶颈:热点数据太多,数据库缓存不足,产生大量磁盘IO,效率较低。请求数据太多,带宽不够,网络IO瓶颈。CPU瓶颈:排序、分组、连接查询、聚合统计等SQL会耗费大量的CPU资源,请求数太多,CPU出现瓶颈。为了解决上述问题,我们需要对数据库进行分库分表处理。分库分表的中心思想都是将数据分散存储,使得单一数据库/表的数据量变小来缓解单一数据库的性能。
2023-09-25 16:55:38 266
原创 MySQL数据库入门到精通8--进阶篇( MySQL管理)
执行上述指令,会出错,数据不能完成备份,原因是因为我们所指定的数据存放目录/root,MySQL认为是不安全的,需要存储在MySQL信任的目录下。上述的两个文件 score.sql 中记录的就是表结构文件,而 score.txt 就是表数据文件,但是需要注意表数据文件,并不是记录一条条的insert语句,而是按照一定的格式记录表结构中的数据。如果我们在数据备份时,不需要创建表,或者不需要备份数据,只需要备份表结构,都可以通过对应的。B. 备份db01数据库中的表数据,不备份表结构(-t)
2023-09-25 15:45:31 371
原创 MySQL数据库入门到精通7--进阶篇( InnoDB引擎)
InnoDB的逻辑存储结构如下图所示:1). 表空间表空间是InnoDB存储引擎逻辑结构的最高层, 如果用户启用了参数 innodb_file_per_table(在8.0版本中默认开启) ,则每张表都会有一个表空间(xxx.ibd),一个mysql实例可以对应多个表空间,用于存储记录、索引等数据。2). 段段,分为数据段(Leaf node segment)、索引段(Non-leaf node segment)、回滚段。
2023-09-25 15:31:13 274
原创 MySQL数据库入门到精通6--进阶篇(锁)
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。MySQL中的锁,按照锁的粒度分,分为以下三类:全局锁:锁定数据库中的所有表。表级锁:每次操作锁住整张表。行级锁:每次操作锁住对应的行数据。
2023-09-25 14:48:35 287
原创 MySQL数据库入门到精通5--进阶篇(视图/存储过程/触发器)
4.1.1 介绍视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。4.1.2 语法1). 创建2). 查询3). 修改4). 删除上述我们演示了,视图应该如何创建、查询、修改、删除,那么我们能不能通过视图来插入、更新数据呢?接下来,做一个测试。
2023-09-25 11:06:29 381
原创 MySQL数据库入门到精通4--进阶篇(SQL优化)
如果我们需要一次性往数据库表中插入多条记录,可以从以下三个方面进行优化。1). 优化方案一批量插入数据2). 优化方案二手动控制事务3). 优化方案三主键顺序插入,性能要高于乱序插入。3.1.2 大批量插入数据如果一次性需要插入大批量数据(比如: 几百万的记录),使用insert语句插入性能较低,此时可以使用MySQL数据库提供的load指令进行插入。操作如下:主键顺序插入性能高于乱序插入示例演示:A. 创建表结构B. 设置参数C. load加载数据。
2023-09-22 16:56:03 275
原创 MySQL数据库入门到精通3--进阶篇(存储引擎,索引)
存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。我们可以在创建表的时候,来指定选择的存储引擎,如果没有指定将自动选择默认的存储引擎。1). 建表时指定存储引擎CREATE TABLE 表名(字段1 字段1类型 [ COMMENT 字段1注释 ] ,......字段n 字段n类型 [COMMENT 字段n注释 ]) ENGINE = INNODB [ COMMENT 表注释 ];
2023-09-22 15:29:18 249
原创 MySQL数据库入门到精通2--基础篇(函数,约束,多表查询,事务)
概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。目的:保证数据库中数据的正确、有效性和完整性。分类:注意:约束是作用于表中字段上的,可以在创建表/修改表的时候添加约束。5.2.1 数据准备执行如下脚本,创建emp表与dept表并插入测试数据-- 创建dept表,并插入数据name varchar(50) not null comment '部门名称')comment '部门表';
2023-09-22 09:48:36 311
原创 MySQL数据库入门到精通1--基础篇(MySQL概述,SQL)
目前主流的关系型数据库管理系统:Oracle:大型的收费数据库,Oracle公司产品,价格昂贵。MySQL:开源免费的中小型数据库,后来Sun公司收购了MySQL,而Oracle又收购了Sun公司。目前Oracle推出了收费版本的MySQL,也提供了免费的社区版本。SQL Server:Microsoft 公司推出的收费的中型数据库,C#、.net等语言常用。PostgreSQL:开源免费的中小型数据库。DB2:IBM公司的大型收费数据库产品。
2023-09-21 14:37:31 630
原创 关于vant2 组件van-dropdown-item,在IOS手机上,特定条件下无法点击问题的探讨
van-dropdown-menu 在IOS上不能点击
2023-08-15 14:29:45 1988
原创 No view found for id 0x7f0901c3 for fragment解决以及线上bug排查技巧
No view found for id
2023-08-15 13:57:15 1659
原创 Redis7实战加面试题-高阶篇(Redis为什么快?高性能设计之epoll和IO多路复用深度解析)
4种组合方式:1.同步阻塞:服务员说快到你了,先别离开我后台看一眼马上通知你。客户在海底捞火锅前台干等着,啥都不干。2.同步非阻塞:服务员说快到你了,先别离开。客户在海底捞火锅前台边刷抖音边等着叫号3.异步阻塞:服务员说还要再等等,你先去逛逛,一会儿通知你。客户怕过号在海底捞火锅前台拿着排号小票啥都不干,一直等着店员通知4.异步非阻塞:服务员说还要再等等,你先去逛逛,一会儿通知你。拿着排号小票+刷着抖音,等着店员通知。
2023-06-02 17:08:11 825
原创 Redis7实战加面试题-高阶篇(手写Redis分布式锁)
1.synchronized,单机版oK,上分布式死翘翘2.nginx分布式微服务单机锁不行3.取消单机锁,上redis分布式锁setnx只加了锁,没有释放锁,出异常的话,可能无法释放锁,必须要在代码层面finally释放锁宕机了,部署了微服务代码层面根本没有走到finally这块,没办法保证解锁,这个key没有被删除,需要有lockKey的过期时间设定为redis的分布式锁key,增加过期时间此外,还必须要setnx+过期时间必须同—行。
2023-05-31 16:24:41 1121
原创 Redis7实战加面试题-高阶篇(布隆过滤器BloomFilter,缓存预热+缓存雪崩+缓存击穿+缓存穿透)
1.现有50亿个电话号码,现有10万个电话号码,如何要快速准确的判断这些电话号码是否已经存在?2.判断是否存在,布隆过滤器了解过吗?3.安全连接网址,全球数10亿的网址判断4.黑名单校验,识别垃圾邮件5.白名单校验,识别出合法用户进行后续处理是什么:由一个初值都为零的bit数组和多个哈希函数构成,用来快速判断集合中是否存在某个元素设计思想:设计:减少内存占用。方式:不保存数据信息,只是在内存中做一个是否存在的标记flag布隆过滤器是—种类似set的数据结构,只是统计结果在巨量数据下有点小瑕
2023-05-30 15:15:24 2679 1
原创 Redis7实战加面试题-高阶篇(案例落地实战bitmap/hyperloglog/GEO)
面试题:抖音电商直播,主播介绍的商品有评论,1个商品对应了1系列的评论,排序+展现+取前10条记录用户在手机App上的签到打卡信息:1天对应1系列用户的签到记录,新浪微博、钉钉打卡签到,来没来如何统计?应用网站上的网页访问信息:1个网页对应1系列的访问点击,淘宝网首页,每天有多少人浏览首页?你们公司系统上线后,说一下UV、PV、DAU分别是多少?记录对集合中的数据进行统计:在移动应用中,需要统计每天的新增用户数和第2天的留存用户数;
2023-05-29 09:34:45 807
原创 Redis7实战加面试题-高阶篇(Redis线程与IO多路复用,BigKey,缓存双写)
面试题:Redis为什么选择单线程?这种问法其实并不严谨,为啥这么说呢?Redis的版本很多3.x、4.x、6.x,版本不同架构也是不同的,不限定版本问是否单线程也不太严谨。1 版本3.x ,最早版本,也就是大家口口相传的redis是单线程。2 版本4.x,严格意义来说也不是单线程,而是负责处理客户端请求的线程是单线程,但是开始加了点多线程的东西(异步删除)。3 2020年5月版本的6.0.x后及2022年出的7.0版本后,告别了大家印象中的单线程,用一种全新的多线程来解决问题。
2023-05-26 15:48:55 1618 1
原创 Redis7实战加面试题-基础篇(Redis复制(replica),Redis哨兵(sentinel),Redis集群(cluster))
就是主从复制,master以写为主,Slave以读为主。当master数据变化的时候,自动将新的数据异步同步到其它slave数据库。能干嘛:读写分离,容灾恢复,数据备份,水平扩容支撑高并发1.配从(库)不配主(库)2.权限细节master如果配置了requirepass参数,需要密码登陆,那么slave就要配置masterauth来设置校验密码,否则的话master会拒绝slave的访问请求。
2023-05-25 17:06:54 1054
原创 Redis7实战加面试题-基础篇(Redis持久化,Redis事务,Redis管道,Redis发布订阅)
开启:以MULTI开始一个事务入队:将多个命令入队到事务中,接到这些命令并不会立即执行,而是放到等待执行的事务队列里面执行:由EXEC命令触发事务。
2023-05-24 16:11:45 669
原创 Redis7实战加面试题-基础篇(Redis10大数据类型)
Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库提供了丰富的数据结构,例如String、Hash、List、Set、SortedSet等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能特性提供了主从模式、Redis Sentinel和Redis Cluster集群架构方案。Redis能干嘛?
2023-05-24 11:25:29 829
springboot在线教育.rar
2020-08-24
android组件化demo
2018-12-10
《React Native零基础入门到项目实战》项目2(Android)
2017-01-24
ViewPager+Fragment以及GridView的使用 源码
2016-01-25
实现水波上涨与水滴滴下效果,修改过的源码(2)
2015-12-30
实现水波上涨与水滴滴下效果,修改过的源码
2015-12-30
volley框架
2015-12-01
google android sdk开发范例大全第三版源代码 part2
2012-09-07
google android sdk开发范例大全第三版源代码 part1
2012-09-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人