- 博客(44)
- 资源 (5)
- 收藏
- 关注
转载 flutter使用image_picker报错:PlatformException(already_active, Image picker is already active,null)
flutter使用image_picker报错:PlatformException(already_active, Image picker is already active,null)flutter使用image_picker报错:PlatformException(already_active, Image picker is already active,null)由于使用了flutter_boost,需要使用红框中的部分,所以不能继承FlutterActivity,然而这样,在我使用imag
2022-05-10 11:17:12 2446
原创 消息中间件——RocketMQ是什么?
RocketMQ是阿里开发的消息中间件,吸取了RabbitMQ和Kafka的优点:并发高,功能丰富,适用场景广。双十一里可以承受数亿级的高并发,主要是它的功劳。一、RocketMQ内部结构模型和概念上图就是rocketMQ的架构图,需要注意的是:每一个组件都是集群形式,因为它被开发创造的时候,就是为了解决大规模数据的生产环境下的消息发送。所以集群形式部署才是它最适合的用法。RocketMQ由以下这几个组件组成NameServer : 路由消息的提供者,他管理着broker的信息,相当于zook
2021-12-20 18:19:37 1805
原创 消息中间件——RabbitMQ是什么?
目录一、MQ简介二、RabbitMQ 简介三、RabbitMQ 的安装和配置1、安装2、配置四、spring项目中使用RabbitMQ1、生产者producer项目 :2、消费者consumer项目:五、补充一、MQ简介MQ:全称是MessageQueue,消息队列。在两个系统中间传递消息,从而满足一些业务需求,它对我们总体架构的作用有:解耦:提高系统容错性和可维护性异步:提升用户体验和系统吞吐量削峰:提高系统稳定性常用的MQ产品包括Kafka、RabbitMQ和RocketMQ。我们对这
2021-12-11 20:55:37 2295
原创 Redis从使用到源码剖析
最近深入的学习了一下Redis ,在此记录一下。Redis在互联网企业中是非常常用的技术,因为它是基于内存的数据库,可以承受上万的并发请求。 而 普通硬盘的数据库可以承受的读写并发只有几百。一、redis的数据结构和常用命令五种数据结构字符串string哈希hash列表list集合set有序集合zset常用命令推荐一个Redis命令很全的中文参考网站,而且有详细的命令介绍和使用示例。http://redisdoc.com/#下面,我列出一些常用的命令:1.字符串string常
2021-12-06 16:59:16 2511 1
原创 Spring从源码层面剖析——下
前言这次写的内容,是接着上次的博客Spring从源码层面剖析——上因为spring源码有几万行,即使只看核心代码,也要看很久,所以分两次来学习记录。AOP接着上次看Spring的AOP,看它是怎么创建bean对象。根据上次debug看程序的执行流程,我们知道了spring已经把几个后置处理器类 ( xxxPostProcessor)和我们定义的配置类(MainConfig)注册成了bean定义(BeanDefinition)。 我们看到了核心方法 refresh(),然后进一步跟到了一个方法pro
2021-11-27 15:06:54 625
原创 Spring从源码层面剖析——上
一、前言作为一名普通的Java开发者,面对项目组的不同需求, 几乎每天的工作都只是:基于spring框架上做着CURD(增删改查)。 在做CURD 的时候,更是把CV(复制粘贴)大法也练得炉火纯青。因为要更快的完成工作安排 ,所以我们只会注重那个功能是否实现,这个接口是否调通。每天沉浸在spring肤浅的使用上,时间久了却忘了初心。忘了去思考,它为何可以调通,为何可以实现这样那样的功能。久而久之 我们跟spring成了最熟悉的陌生人。今天就从源码层面,深入学习一下spring。Spring 最重
2021-11-21 19:15:03 654
原创 flutter在IOS上的登录实现——QQ登录、微信登录、自动识别手机号一键登录、apple登录
开发背景:我们在使用flutter开发的时候,第一版都基于安卓设备开发的,所以登录功能,也都只适配了安卓设备。第一版完成后,就由我适配在IOS设备上的登录模块,因为安卓的登录模块不是我开发的,所以修改别人的代码,还尽量不影响原先的逻辑着实让我头疼。 呕心沥血完成后,赶紧做个记录。我们APP登录方式很多:QQ登录、微信登录、自动识别手机号一键登录、手机号验证码登录、apple登录除了手机号验证码登录,其他4种方式我都得重新适配。一、QQ登录使用的第三方库:tencent_kitgit地
2021-11-11 21:28:27 8780
原创 前端——从html到flutter的前端之路
最近接触了好多前端平台和技术,想来记录一下。Web: html+css+js+jquery , AngularJS, vue.js。微信小程序、安卓联盟的快应用、字节小程序、flutter技术。作为一个后端开发者,花费了较多精力在这些前端领域的技术上,有一丢丢不务正业的负罪感。感谢 “快应用”快应用:快应用是国内的各大安卓厂商联合研发的一个无需下载安装的应用。想说的话:感谢"快应用"让我有了写技术博客的初始念头。在我开发快应用项目的时候,网上的资料很少,开发社区一点都不活跃,经常遇到一
2021-11-01 18:22:22 5077 4
原创 Java的并发编程涉及到知识点总结
Java的并发编程涉及到知识点总结一、JMM模型二、volatile关键字三、synchronized原理详解四、AQS五、BlockingQueue六、 Semaphore七、CountDownLatch八、CyclicBarrier九、Atomic十、Unsafe十一、HashMap十二、ConcurrentHashMap十三、线程池概念十四、线程池—ThreadPoolExecutor十五、定时线程池—ScheduledThreadPoolExecutor十六、什么是 Fork/Join 框架?十七、
2021-10-16 18:59:28 1272
原创 Java中的位运算(移位、 与&、或|、异或^、非~) 口诀记忆
位运算就是,把数转换为 二进制后,针对二进制上 每个位 按照一定规则进行变换,形成新的二进制数。????为了方便记忆,我总结了几个口诀:数转二进制,按位来运算,左移零补位,右移看正负,无符号右移,皆用零补位,运算符牢记,与或异或非& 与与:两方是一,我取1| 或或: 只要有一,我取1^ 异或:两方相异,我取1~ 非非:管你零一,我取非所有的解释和示例都写在了代码里: public class test { public static void main(Stri
2021-09-30 14:53:50 1378
原创 Mysql——内部结构了解
Mysql——内部结构详解一、结构概况二、连接器三、查询缓存四、分析器五、优化器六、执行器七、bin-log归档一、结构概况MySQL大概来讲分为两大层:service层 和 引擎层service层:主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数 (如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。引擎层: 存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、
2021-09-17 19:02:01 323
原创 Mysql——索引底层数据结构与Explain用法
Mysql——索引底层数据结构与Explain用法一、索引底层数据结构1、Mysql不同引擎对应的数据结构2、B+Tree数据结构2.1、 二叉树 (Binary Search Trees)2.2、 红黑树(Red-Black Trees)2.3、 B-Tree2.4、 B+Tree二、Explain用法1、Explain工具介绍2、Explain分析2.1、explain 两种扩展2.1.1 、explain extended2.1.2 、explain partitions2.2、explain中每个列
2021-09-11 16:49:33 634
原创 JVM调优——3、JVM调优命令及工具
JVM调优工具写在前面的话:一、调优时基础命令1.1 Jmap (java内存信息、实例个数以及占用内存大小)(1)命令: jmap -histo 2272 > ./log.txt(2)命令: jmap -heap 2272(3)命令: jmap ‐dump:format=b,file=xxxx.hprof 22721.2 jatack (查线程信息)(1) 命令:jstack 2272(2)通过jstack命令 找出占用cpu最高的线程堆栈信息1.3 Jinfo (查jvm参数信息)
2021-08-15 14:27:24 846
原创 JVM调优——2、垃圾收集器详解
JVM调优——2、垃圾收集器详解一、垃圾收集算法1.1分代收集理论1.2垃圾收集算法:1.2.1标记-复制算法1.2.2 标记-清除算法1.2.3 标记-整理算法二、垃圾收集器2.1Serial收集器2.2 Parallel Scavenge收集器2.3 ParNew收集器2.4 CMS收集器2.5 G1收集器2.6 ZGC收集器(-XX:+UseZGC)一、垃圾收集算法1.1分代收集理论当前虚拟机的垃圾收集都采用分代收集算法,根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代,
2021-07-25 13:27:16 193
原创 JVM调优——1、基础结构和机制
JVM调优——1基础结构JVM类加载机制JVM类加载机制我们在开发工具中完成编码 => 编译成 .class 后缀的文件 => 然后通过jvm虚拟机执行.class文件,就可以得到我们想要的结果了。那主要聊聊 jvm第一步是怎么加载到这个.class文件的呢?一句话概括就是通过jvm中不同的类加载器,来最终完成.class的加载。java中的类加载器有:引导类加载器:加载安装JRE的lib目录下的核心类库扩展类加载器:加载安装JRE的lib目录下的的ext扩展目录中的类库
2021-07-25 12:15:32 244
原创 Spring常用注解
我们在用spring框架的时候,常常会用到注解。可是一个项目做久了,就只在那里复制粘贴了。前两天在街上有人问我:处理请求地址映射的注解是哪个。 我当时觉的好简单,我每天都在用,却不会拼写,因为每天都在复制粘贴。来总结一下Spring常用的注解吧:组件:@Controller用于标注控制层组件用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解。@Servi
2021-07-06 17:10:02 111
原创 爬虫篇——新浪新闻的详细采集过程(列表新闻和新闻内容)
腾讯新闻、新浪新闻的详细采集过程一、新浪新闻采集1.按分类采集新浪的列表新闻分析过程:代码编写:代码执行:2.采集新浪新闻内容分析过程代码编写:执行效果:二、腾讯新闻采集一、新浪新闻采集1.按分类采集新浪的列表新闻分析过程:用浏览器打开新浪新闻的网页版,进入一个分类如:娱乐-明星 分类 https://ent.sina.cn/star/index.d.html?vt=4按F12 打开浏览器 的开发者工具,打开Network 查看页面请求的 数据连接(抓包)。 滑动新闻列表,分析找到传输新
2021-07-05 11:04:33 6053
原创 爬虫篇——腾讯新闻的详细采集过程(列表新闻和新闻内容)
腾讯新闻、新浪新闻的详细采集过程一、腾讯新闻采集1.按分类采集腾讯新闻列表分析过程:具体代码:2.采集腾讯新闻内容分析过程具体代码一、腾讯新闻采集1.按分类采集腾讯新闻列表分析过程:采集的网页地址:https://xw.qq.com/?f=c_news2.先进入一个分类(娱乐)来分析数据如何传输的通过在娱乐分类页面里,向下滑动新闻加载更多数据,同时 利用chrome的Network可以发现有一个加载下一页的url接口: https://pacaio.match.qq.com/xw/sit
2021-07-02 18:29:12 5798
原创 一篇认识 Elasticsearch
一篇认识 Elasticsearch一、什么是Elasticsearch1.简介2.使用案例3.跟solr的比较二、深入了解1.核心概念2.Elasticsearch与Mysql数据库的比较3.存入、搜索、容错原理图示:倒排索引原理:单node环境下创建index:两个node环境下创建index:容错恢复机制:数据写入存储流程:存入和搜索机制:一、什么是Elasticsearch1.简介Elasticsearch 是在 Apache Lucene 上构建的开源 RESTful 分布式搜索和分析引擎。
2021-06-25 13:37:48 140
原创 Kafka 实战
Kafka 实战一、kafka集群的安装与搭建1.1 kafka下载1.2 服务器准备1.3 解压安装包1.4 修改配置文件1.5配置环境变量1.6启动集群1.7kafka的命令行的使用创建topic查看所有的topickafka的消息发送kafka消息的消费使用zk来连接集群二、kafka的API使用第一步:创建maven工程,导入jar包第二步:kafka的生产者API第三步:kafka的消费者的API三、kafkaManager管理工具的使用一、kafka集群的安装与搭建1.1 kafka下载下
2021-06-22 18:08:17 952
原创 一篇认识kafka
一篇认识kafka1. Kafka是什么?2.Kafka能帮我解决什么?3.kafka与activeMQ的区别activeMQ主要是基于一种pub和sub的架构,服务端主动推送消息给订阅者(发布订阅模型)。 JMSkafka是基于push和poll的过程,生产者主动把消息发送到kafka集群当中,消费者主动从kafka集群中pull消息(主动拉取的行为)4.kafka与RabbitMQ的区别4.1、在架构模型方面4.2、在吞吐量4.3、在可用性方面4.4、在集群负载均衡方面5、 kafka的架构模型5.1
2021-06-21 11:14:13 210
翻译 Zookeeper 实战
Zookeeper 手摸手实战一、安装部署1.1分布式安装部署1.2客户端命令行操作二、API应用2.1 环境搭建2.2 创建ZooKeeper客户端2.3 创建子节点2.4 获取子节点并监听2.5 判断znode是否存在三、案例实战监听服务器节点动态上下线案例一、安装部署1.1分布式安装部署集群规划:首先要有三台服务器节点,可以是用vmware软件来生成虚拟服务器。命名为: hadoop102、hadoop103和hadoop104,在这三个节点上部署Zookeeper。解压安装解压
2021-06-18 14:33:57 422
翻译 一篇认识 Zookeeper
这里写目录标题一 、Zookeeper概述1.1概述1.2特点1.3 数据结构1.4 应用场景1.4.1 统一命名服务1.4.2 统一配置管理1.4.3 统一集群管理1.4.4 服务器节点动态上下线1.4.5 软负载均衡二、Zookeeper安装2.1 本地模式安装部署2.2 配置参数解读三、Zookeeper内部原理3.1 选举机制3.2 节点类型3.3 stat结构体3.4 监听器原理3.5 写数据流程一 、Zookeeper概述1.1概述Zookeeper是一个开源的分布式的,为分布式应用提供协
2021-06-17 17:02:21 302
原创 反编译微信小程序 亲测成功 补充解决常见问题 (详细最新教程)
网络上相关文章良莠不齐,随时间的流逝或许随着微信的更新,有出现编译不成功的现象。我这里总结一下我最新的编译过程。可成功获得小程序源码。1、环境准备和工具下载反编译需要 nodejs的环境下载链接:https://nodejs.org/en/安装后将nodejs设置为环境变量。打开cmd,测试是否安装成功:在命令行输入node -v 出现版本号说明已经安装成功。下载用于反编译的工具 wxappUnpacker链接:https://pan.baidu.com/s/1O2WF2YKG8yc7n
2021-06-15 16:48:50 7887 17
原创 sql 数据库的优化【经验贴】
所谓数据库的优化,就是要实现: 执行sql语句时要 耗最小的性能、最短的时间1.正确创建索引对于那些查改频繁且数据量较大的表(>50万条数据的表)索引的创建,可以极大的优化sql的执行效率,是我们优化数据库最常用的方法。除了要了解那些常见的索引分类:主键索引、唯一索引、聚集索引、非聚集索引这里我主要想讲一下 联合索引(或者叫多列索引) :应对场景:在实际工作中,对于一个承载着业务核心的表,它除了数据条数多之外,而且会有很多列。 对于这样核心的表,我们又频繁的有查询修改操作。查询的时候 往往
2021-06-10 17:19:33 904
原创 推荐几款好用的Chrome插件,码农的利器。
推荐几款好用的Chrome插件,在插件市场有着优秀的排名,且都是四星+评价, 用户都在10W+。插件用的好,开发效率将会提高数倍。一、JSON-handleJSON-handle 安装后,不需要做任何操作。 当浏览器打开链接时,如果是json格式的接口。可以看到美化格式后的数据。 (虽然 FeHelper(前端助手) 插件 也有这个功能,但是没这个好用)效果:二、FeHelper(前端助手)FeHelper(前端助手) 有强大丰富的功能 看下图,安装好后,需要什么功能在设置里安装就可。
2021-06-04 19:14:51 814
原创 爬虫篇——采集单机游戏(网页游戏),爬取小游戏
接到需求,要求要将几个好玩的网页版本的单机小游戏。采集到我们的服务器中。这里以 水枪射手 这个游戏举例http://m.7k7k.com/player/198961.htm?uc_biz_str=qk_enable_gesture%3afalse|OPT%3ABACK_BTN_STYLE%400%7COPT%3ATOOLBAR_STYLE%4011、首先准备好抓包工具或者直接在用浏览器自带的抓包,推荐用抓包工具可以批量复制抓到的资源链接。如chrome浏览器:fiddler抓包工具:2、抓
2021-06-01 19:33:08 30549 3
原创 JAVA——list子集为map时常用的一些操作方法
在开发中,我们会用到List集合去传递参数,较为常用的方式是List携带子集map。List<Map<String, String>> myList = new ArrayList<Map<String, String>>();我们常常会根据需求对List做一些操作,除了常用的Add()方法,我们也可能用到一些排序、删除的方法。后面是详细的示例,这里先列出关键方法的代码:1.按Map元素中子元素的值来排序ListCollections.sort(m
2021-05-25 15:33:17 517
原创 快应用- 丰富的快应用动画组件库
推荐一组丰富的动画组件库,专为快应用开发的,具有丰富的动画效果组件可以选择,而且使用起来非常方便。组件文档地址:https://vivoquickapp.github.io/qa-animation/动画效果在网页一览无遗,便于找到自己想要的效果。部分动画效果预览: 在页面点击任意动画组件,即可获得对应的代码,复制到自己的项目里就可以直接使用。...
2021-05-24 18:15:27 450
原创 快应用-华为市场快应用审核总是不通过,无法复现华为审核时的bug【经验贴】
最近完成了一个快应用项目,在提交各个市场审核的时候,除了华为市场总是不过,其他市场(vivo/oppo/小米 等)都很快通过了审核。最让人恼火的是,华为反馈的bug内容 我们尝试各种方法都无法复现,无法复现bug就很难定位修改。修改bug全靠猜,就这样我们提交了5次,5次都被拒绝。我通过各种途径,终于联系到了华为快应用技术人员,得知他们有自己的快应用开发工具和应用加载器,调试的话需要使用华为的快应用加载器!这就意味着开发一套快应用:开发工具要用两个,调试器也得两个。一个是快应用联盟的,一个是华为的
2021-04-27 10:46:55 2365 3
原创 auto.JS 是什么?如何使用? 【图文讲解】
一.了解auto.JSauto.js是安卓平台上的JavaScript自动化工具,操作方便简单、容易上手、不需要root权限,功能强大。是由国内的一名开发者(作者: 牙叔)开发的。官方网址:https://hyb1996.github.io/AutoJs-Docs/#/可以做什么?在手机上,可以实现自动点击、滑动、输入文字、打开应用等等。比如我喜欢在支付宝中的蚂蚁森林里收集好友的能量,每天重复一样的操作很费时间精力。于是我就可以编写一个javascript脚本,运行在auto.js软件中。它就可
2021-04-23 15:49:26 58297 19
原创 Java—将webp格式图片转为jpg或png (windows)
目的webp格式是谷歌研发的一种新的图片格式具有空间小效果好的优点,然而像IOS14系统以下并不支持这样的格式,所以需要我们后端来转成jpg或png格式。方法起初我尝试引入 webp-imageio.jar 来完成(很多文章中提到的方法)结果执行后报错:java.lang.IllegalArgumentException: image == null!java.lang.IllegalArgumentException: image == null! at javax.imageio.Imag
2021-04-21 17:58:22 2438
原创 快应用-在快应用中接入友盟统计
友盟接入快应用最新开发文档(快应用SDK 2.0.0版)https://developer.umeng.com/docs/66632/detail/92733刚开始我在 “快应用SDK 1.0.5版” 的开发文档里,找了好久的SDK包的下载入口,一直找不到。后来才发现它有另一个文档SDK2.0才能用 o(╥﹏╥)o。这里我不再赘述接入的具体方法,友盟的开发文档讲的很详细。需要注意的是:1.快应用在友盟里归类到了安卓分类;2.快应用的友盟统计,也可以统计每个渠道的多个维度的数据(设备厂商),不用
2021-04-21 16:55:46 662
原创 快应用-Canvas实现尺子左右滑动的效果
完成效果:在web页面中,如果我们要实现左右滑动的效果,只需要在css中写上:overflow: hidden;overflow-x: scroll;就可以达到效果。但是在快应用中,不支持overflow命令。所以这里用canvas画图来实现,左右滑动的效果核心代码:<div show="{{showRule}}" class="cover" @click="hideRule"></div> <!-- 食物选择尺寸 -->
2021-04-20 17:19:44 1138
原创 快应用-实现添加购物车的动画效果
因为在快应用中,有些方法不支持,所以实现起来比较受限制。我写了一个简易的效果。未用到贝塞尔曲线,想做的效果更完美的话可以花时间尝试一下。实现后的效果:核心实现代码:template :<template> <div> <!--红点的元素--> <div class="fly" show="{{showfly}}" style="{{positonStyle}}"></div> </div></t
2021-04-19 10:47:12 300 2
原创 快应用- 一套丰富完整的第三方组件库apex-ui
推荐一个专为快应用开发的 非常丰富的第三方组件库是由vivo平台开发的apex-ui (https://vivoquickapp.gitee.io/apex-ui-docs)这个组件库,几乎可以满足 在开发中所用到的页面形式及效果。组件的动画交互效果也很不错。其中包括:日历、弹出框、对话框、下拉框、提示框、进度环、提示消息、手风琴、标签栏、分段器、分页器、图标库、按钮、图表库 等等。尤其是图表组件,有多种样式可以选择,而且 可以灵活的自定义图表中的模块。我截了部分图,如下:
2021-04-15 14:53:22 1401 2
原创 js中 list的合并、list元素的移除添加、list元素的去重
list的合并: concat var arr1=['a','b','c','d','e'] var arr2=['1','2','3','4','5'] arr1.concat(arr2); // ["a", "b", "c", "d", "e", "1", "2", "3", "4", "5"]list的添加: push var arr1=['a','b','c','d','e'] arr1.push('k'); console.log(arr1); // ["a", "b", "
2021-04-07 09:28:12 17247 4
原创 快应用-扩展组件-(官方示例代码运行后的 图示效果)四
快应用-扩展组件-(官方示例代码运行后的 图示效果)四官方文档中仅有示例代码,但没有示例效果图,要看组件的效果 需要将示例代码运行在 开发工具中,比较麻烦,这里将运行后的组件示例代码效果 整理成GIF图,可以高效的找到需要的组件。其他组件drawerrefresh2section-listslide-view官方文档中仅有示例代码,但没有示例效果图,要看组件的效果 需要将示例代码运行在 开发工具中,比较麻烦,这里将运行后的组件示例代码效果 整理成GIF图,可以高效的找到需要的组件。其他组件drawer
2021-04-02 18:08:19 251 1
cwRsync_4.0.5服务端和客户端及使用教程.zip
2020-05-07
jpcap Demo以及dll文件.zip
2020-01-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人