- 博客(151)
- 资源 (4)
- 论坛 (1)
- 收藏
- 关注
原创 【视频】硬核5 分钟主方法推导过程
在归并排序或者和二叉树相关的算法中,我们需要将处理的数据,分割成两部分,然后再组合,此时关于时间复杂度,就成为了这样T(N) = 2T(N/2) + O(N)我们知道,归并排序的时间复杂度是 O(NlogN),那么这是怎么推导出来的呢?或者说更抽象一点,类似于这种分治手段的时间复杂度怎么计算呢?在《算法导论》中提出了主方法的概念,如下正如图中所示,由于a,b的不同关系,T(n)有三种可能性,接下来就来详细推导这个过程。首先我们先得做一个假定,T(1)=1,因为如果数据只有一个的话,我们根本不需要
2021-02-24 16:59:38
42
原创 别用Android 4.1 ,bug 满满,总有一款适合你
前几天,我怀着忐忑的心情升级了android studio,android 4.1稳定版其实早几个月就出来了,但是按照他的尿性,一般第一批吃螃蟹的都是一大堆bug,所以等了几个月,然而升级后,才发现bug一点也没少首先就是,打不开,直接给你报错Internal error. Please refer to https://code.google.com/p/android/issuesjava.lang.NoSuchMethodError: com.intellij.ide.plugins.Plug
2021-01-21 11:08:32
162
1
原创 android 升级 4.1后出现java.lang.NoSuchMethodError解决办法【mac 版】
今天尝试升级一下android studio,结果出现Internal error. Please refer to https://code.google.com/p/android/issuesjava.lang.NoSuchMethodError: com.intellij.ide.plugins.PluginManagerCore.loadDescriptors()[Lcom/intellij/ide/plugins/IdeaPluginDescriptorImpl; at com.
2021-01-18 17:44:18
1940
2
原创 2020写给未来 100w 粉丝的年终总结
前言2020年即将结束,这一年有许许多多的史无前例,注定将和 1776,1917 这些年份一样成为历史标志。人们的观念和生活习惯在这一年的变化,任何一个强大的政权都要花几十年才能做到。我们有幸成为了当事人,不过,对于我来说,更重要的不是这些宏观的东西,而是我个人的成长与收获,这篇就是小松今年大部分时间所经历和收获的,下面,就从生活,技术,思维,遗憾四个方面去总结小松的 2020,希望对读者有所启发。生活听书上班时,睡觉前,吃饭时,小松常常听一听书,认识了很多有趣的人,比如维特根斯坦,卡洛罗韦利,
2020-12-28 21:43:03
1123
8
原创 在腾讯,如何4个小时干出8个小时的工作量?
最近一个月都在搞需求,12点下班家常便饭,周末更是随时onCall,作为项目组里面最菜,最新的小松,一开始的时候总是半天搞不清楚需求,经过这段时间大佬的各种指导,加上自己的思考,现在的小松,工作效率可谓翻倍!首先,如何提高大脑的效率,我们需要明确这一概念每个人提升大脑的效率方式多种,比如睡觉,运动,喝咖啡,但是妨碍大脑效率的方式一定只有一个——切换这个切换,包含外界的打断,这是不可抗力,没办法但是还有自己的无谓切换,大脑的功能有思考,记忆,和比对正如电脑的功能,有cpu处理,IO和值比较外设准备
2020-12-08 00:54:57
174
1
原创 git 在未保存,add,commit,push下撤销的方法?收藏后再也不用找了
你可以先试着git statusgit会提示你怎么做,如果不确定的话,请往下看假设你写了代码,但是还没有做任何提交,此时代码在工作区(就是你的ide里面)git checkout -- <file>可将工作区的内容回退和暂存区一致,就是最近的修改全丢注意:上面的是已经不推荐使用,因为checkout还可以切换分支,所以2.23版后的git使用git restore <file>如果已经git add .表示已经提交到暂存区,使用git reset He
2020-11-30 00:07:06
106
原创 redis 最全知识总结,核心内容全在里面了
过去的两周,小松陆陆续续看完了一门长达十几个小时的课程 redis入门与精通。当然,仅仅课程是不足以精通redis的,不过用来入门和窥见redis的全貌大有帮助,今天,小松就记录一下过去两周在redis上的学习心得。目录基础五大基本类型进阶持久化发布订阅主从复制哨兵模式缓存雪崩穿透击穿基础五大基本类型key这是最基础的,Redis是典型的键值对数据库,key可以通过runoobkey设置,如果设置成功就会返回OK,删除返回1。redis 127.0.0.1:6379> SET run
2020-11-11 20:13:51
107
2
原创 【红黑树】背了又忘?深入本质,他也不过是一棵二叉树
目录前言二叉树二三树查找插入二三树生长过程红黑树小结前言小松最近好久没有更新文章了,是小松懒了吗?是的自从小松拿到了公司的测试机,近5000的小米10 Pro,还有因为内推几十个人得到的airpods pro奖品,还有公司每月发的Q币和点券,于是我的周末变成了这样。早上10点来公司,信心满满准备好好学一天,看到小米10,心想,要不玩一把王者?公司的网还贼好,下载近5~6m/s,开局全程50延迟以下,然后打开mac,上爱奇艺播放4k杜比漫威大片,在28寸大屏下当背景音,带上airpods,世界只剩
2020-10-14 20:04:59
266
原创 通过女朋友来通俗易懂讲解“接口回调”,一不小心就被绿
背景最近要接一个数据,小松不知道怎么弄,导师说:你可以定义一个接口回调啊然后我就吭哧吭哧的写,写到一半,发现有点不对劲,但是又不知道怎么办。顿时发现自己的接口回调用少了,只能对付常用的几个场景,一般在网上搜一搜都能发现很多一样的代码。但是一旦在几百万代码的产品中,很多接口回调都是自定义或者用别人的自定义,不熟悉,不习惯是理所当然的。所以今天,我们就好好的来剖析一下什么是接口回调回调假设,现在小松有一个女朋友,小鹿,我们在一起生活,要生活呢就要洗碗,如果我和她都学会洗碗,显然,我们内部的代码是重复的
2020-09-26 01:13:01
1674
1
原创 代码成诗之路,你需要了解的——命名,函数与注释规范
前言在我们平时刷题的时候,你可能会写过很多诸如int a,b,cint [] arrays=new int arrays[10];if((numbers > 10 && flag == 'true') || flag =='false')这种代码,对于我们自己练习编程或者解决一个算法题,当然没有问题。但是如果是在一个工程中,尤其是几十上百人维护了几年的工程中,还使用这种写法,倾泻自己天马行空的才华,保证leader不打死你哦。所以,对于代码的整洁性,可读性,自古以来就有很
2020-07-19 16:25:44
598
原创 2019.8.22腾讯android一面面经
100分钟的硬刚一面,之前发在其他平台上,现在转到这里记录一下android1、先谈谈自己的项目远程数据库传输图片到app端,我们当时将图片转换成base64存在数据库中,然后传到app端,app解析base64获得bitmap,直接显示然后面试官疯狂diss 为什么要将图片转成base64再传(二面也diss这个,问是否可以直接传图片地址)2、讲一下http连接的框架okhttp,retrofit2.1、retrofit原理注解+设计模式,包含代理模式2.2、什么是动态代理举了经济人和
2020-07-18 14:20:47
177
原创 【互联网大厂研究】让千千万万底层人民脱贫致富的【快手】,他有何等魔力?
天下**千千万,快手抖音占一半。这是我在大一时第一次听说【快手】这个词时的场景,忘了是谁说的,但是这个场景,我一直记忆犹新。虽然我对快手没有任何偏见,但是通过各种渠道多多少少的接触,对他并没有太多好感,最近打算研究下中国知名互联网公司的产品与商业逻辑,快手,就是第一个对象。原因很简单,快手出了一本书叫做《被看见的力量》,这书名起得很合我意,所以,本文将会依托这本书,以及我自己下快手来玩一玩,好好了解下这家公司。目录前言小故事快手有什么一切平等底层人民的上升通道重回熟人社会写在最后:前言小故事不知道
2020-07-13 21:16:22
943
原创 【源码】app是如何启动的?深入解析android应用程序的启动过程(中)
前言由上文可知,在启动了应用程序的进程后,接下来,就该启动应用程序本身了,你已经知道AMS(Activity Manager Service)是专门管理Activity的服务,而启动应用程序,本质上来说,就是启动应用程序的第一个Activity,这个Activity被称为根Activity,所以AMS在本文中依然是主角。本文将分为三个部分介绍,Launcher请求AMS,AMS到Application Thread的调用和Activity Thread 启动 Activity。Launcher请求AM
2020-07-08 17:06:36
226
原创 【源码】app是如何启动的?深入解析android应用程序的启动过程(上)
应用程序的进程启动简介当我们打开android手机的时候,不知道你是否想过app是如何启动的呢?接下来,我将从源码角度进行解析,当然,本文作为上篇,是介绍应用程序的进程启动过程,而不是应用程序的启动过程,他们的区别就是煮饭前要准备锅具,没有锅具就无法煮饭,本文就是准备锅具的,但是也不简单哦。文章将从两个方面介绍,一个AMS发送请求,一个是Zygote接受请求。AMS就是Activity Manager System,管理Activity的,而Zygote就是创建进程的一个进程,所以AMS要想创建进
2020-07-05 13:03:17
317
原创 【Git可视化】马上入职腾讯的我瑟瑟发抖,恶补git知识就靠这个技巧!
git自linux之父发明以来,一直是很多互联网企业组织团队协作写代码的利器,所以,只要入职公司,无一不要求学会git,做为刚毕业的小松,已经脱离了毕业生身份,虽然做过一些项目,但是git用得很少,马上入职了,对于git心里没底,碰巧看到一位知乎老哥推荐,点进去一看,立马打开了新世界的大门!学得那叫一个酣畅淋漓,一起来学学吧进入这个网站,会看到以下目录可以看到这是一个闯关模式,分为基础,高级,移动提交记录和杂项四个部分,我自己感觉学完基础和高级的一部分就已经能够解决工作中大部分需求了。基础篇git
2020-07-04 16:02:57
311
原创 离散数学【关系】习题解析(二)自反对称传递,闭包,warshall
1.求三大闭包R的关系矩阵如下MR=[1010000101001000000110000]M_R=\begin{bmatrix}1&0&1&0&0\\0&0&1&0&1\\0&0&1&0&0\\0&0&0&0&1\\1&0&0&0&0\end{bmatrix}MR=⎣⎢⎢⎢⎢⎡10001000001110000000
2020-06-24 17:26:15
829
原创 离散数学【关系】习题解析 序偶,直积,关系图,关系矩阵,哈斯图
下面是习题与解析第一题 序偶与类型(1) 解:R={<1,2>,<1,4>,<1,6>,<2,1>,<2,2>,<2,4>,<2,6>,<4,1>,<4,2>,<4,4>,<4,6>,<6,1>,<6,2>,<6,4>,<6,6>}因为 1+1=2所以<1,1> ∉\notin∈/ R ,<2,2
2020-06-19 10:05:38
1596
2
原创 flutter学习(六)DefaultTabController设计顶部滑动栏目
DefaultTabController可以设计类似于今日头条顶部的滑动栏。效果注:闪屏是因为夜神模拟器的bug代码解析return DefaultTabController( length: 2, child:Scaffold( appBar: AppBar( title:Row( mainAxisSize: MainAxisSize.max, children: <Widget>[ Expanded(
2020-06-17 02:27:08
463
2
原创 flutter学习(五)Swiper左右滑动图片
本文将要学习的组件是Swiper组件效果滑动效果如下代码解析要想左右滑动出现这么多图片,图片网址要准备好List<Map> imgList=[ { "url":"https://pic2.zhimg.com/v2-848ed6d4e1c845b128d2ec719a39b275_b.jpg" }, { "url":"https://pic2.zhimg.com/80/v2-40c024ce464642fcab3bbf1b0a233174
2020-06-17 02:19:03
798
1
原创 如何在Clion里面添加子文件夹,并且新建cpp文件运行
Clion来自于大名鼎鼎的JetBrain系列,但是他的配置和使用在网上的资料比较少,本文假定你已经配好了设置,但是不知道如何在子文件夹中运行其他的cpp文件在图中,main是可以直接运行的,那么first.cpp和位于子文件夹的practice1.cpp如何运行自己的代码呢?点击CmakeLists.txt在里面添加add_executable(first first.cpp )ADD_SUBDIRECTORY(stlTest)此时他会提醒你进行reload之后,表示将first.c
2020-06-15 15:47:24
1872
原创 Flutter学习(四)实例解析State的生命周期
import 'package:flutter/material.dart';void main()=>runApp(MyApp());class MyApp extends StatelessWidget{ @override Widget build(BuildContext context) { // TODO: implement build return MaterialApp( home: Scaffold( appBar: AppB
2020-06-14 15:12:50
173
原创 关于 618的前世今生,我帮东哥告诉你
最近618的广告铺天盖地,我的电脑时不时弹出618广告,手机很多app的启动界面也变成了618,在反感的同时,也在想,618为什么现在能冲出京东,成为广大电商选择的购物节呢?接下来,我就跟你详细说一说前言小故事故事得追溯到1998年,那一年发生了很多大事,有一件是我出生了,另外一件,就是1998年6月18日,刘强东在北京中关村创立了“京东”,这一下,618的由此而来。而“京东”的“京”不是北京的意思,是他的初恋女友龚小京。所以恐怕奶茶不一定喜欢这个公司名。彼时的京东不过是个小柜台,小门店,唯一和别
2020-06-11 14:26:56
1166
1
原创 【干货分享】从提升注意力来实践如何高效学习
观点市面上,会有很多的时间管理方法,在我看来,“时间管理”本身是个伪命题。因为时间是从宇宙诞生之日就有的,根本不可能属于任何人,我们平常说的管好自己的时间,不过是一种习惯叫法。为什么有些人花了很多时间学东西却一事无成?很简单,没有花注意力在要学的东西上,同样,工作也是如此,要想做好工作,需要投入的不是时间,而是足够的注意力,时间只是在投入注意力的过程中自然流逝罢了。这也解释为什么专心的时候觉得时间过得快,就是因为你的注意力,不在时间上,就像你在用水龙头接水时,当你不关注水流,他一下子就会接满了。而基本
2020-06-10 17:20:23
368
1
原创 离散数学图论习题解析,欧拉,哈密顿,powell着色,Prim与Kruskal最小生成树
1注:第一题包含了大部分知识,为了记忆方便,全部原理都有注明,后面的题将简略各点度数节点ABCDEF度数333252满足握手定理握手定理为 各点度数和=边数*2度数和为3+3+3+2+5+2=18边数为9不是欧拉图存在欧拉回路的图称为欧拉图,而无向图存在欧拉回路的充要条件是图中所有节点度数均为偶数或者只有两个节点为奇数,发现图中A,B,C,E都为奇数,所以没有欧拉回路。不满足哈密顿的充分条件哈密顿图的充分条件是具有n节点的简单图G
2020-06-10 09:56:13
385
原创 【Tensorflow】如何使用PWC-Net网络输出运动中的光流图像
对应的项目:PWC-Net对应的论文:PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume, CVPR 2018 (Oral)在这里由于原项目是使用pytorch和caffee的,所以我找的是一个tensorflow版本项目地址PWC-net是一个能够根据两张图像来输出对应的光流图,光流是一种矢量概念...
2020-06-02 14:52:10
2623
8
原创 长沙市湖南大学里面的黑心驾校——阳光星城的霸王条款,报名前和蔼可亲,要退款就拉黑
首先实名一下我叫陈松,是湖南大学2016级(也就是2020届)的一名学生,与2020年1月中旬在这个驾校办理了报名,因为那个时候还不知道疫情的事情,所以想着趁大四最后一个学期把车给连了。期末考完后,我就去咨询了里面的一个程老师,确实是和蔼可亲,关切备至,本来打算临走前考科一的,但是因为种种耽搁没考成,于1月17日回家。也就是说,我就报了个名,驾校就去过一次,录了个档案。体检也是我自费的(我记得是自费的)现在已经到了5月下旬,由于疫情原因学校还不让回校,我本来还抱有期望,说不定3,4月就可以回去了
2020-05-28 17:25:23
893
3
原创 深入剖析https原理——加密,完整与端点鉴别
本文取材自《计算机网络自顶向下(第7版)》,这也是去年助我拿offer的好书之一,可以保证时效性和正确性,然后再通过大牛的博客查缺补漏。以樱木花道,赤木晴子,流川枫三人的故事展开,虽仍不如大牛,但亦有闪光之处某天,晴子家买了电脑,于是赶紧登上,打算给远在美国的流川枫发消息,但是80年代的时候,http才刚刚联网不久樱木知道这件事,气的拿头撞篮板,伴随着嘴角的一丝微笑,他打算窃听密码晴子发了一句“哦哈哟”,哦不对,是“你好”樱木马上劫持了这句话,改成了“死开”流川枫收到后,马上明白了问题,告诉晴子,
2020-05-14 02:37:34
1243
33
原创 腾讯面试题: 百度搜索为什么那么快?
我还记得去年面腾讯时,面试官最后一个问题是:百度/google的搜索为什么那么快?这个问题我懵了,我从来没想过,搜素引擎的原理是什么然后我回答:百度爬取了各个网站的信息,然后进行排序,当输入关键词的时候进行文档比对……巴拉巴拉面试官:这不是我想要的答案我内心这个问题我一直耿耿于怀,终于今天,我把他写出来,以后再问,我直接把这篇文章甩给他!!!两个字:倒排,将贯穿整篇文章,也是面试官...
2020-05-07 19:17:06
49786
181
原创 【GC算法几人知?】五、GC标记-压缩法 思想荟萃的方法
大家好,我是【小松与蘑菇】,即将毕业去深圳的大学生,致力于android,java相关领域,也对AI很感兴趣。正朝着写出通俗易懂而又有深度的文章而努力前文地址【GC算法几人知?】一、前置知识积累【GC算法几人知?】二、标记清除法 全解析【GC算法几人知?】三、引用计数法,直抵GC本质的方法【GC算法几人知?】四、GC复制法,java所借鉴的方法本来想写一篇 jdk8的分代回收的,但...
2020-05-01 15:23:32
1196
37
原创 【GC算法几人知?】四、GC复制法,java所借鉴的方法
大家好,我是【小松与蘑菇】,即将毕业去深圳的大学生,致力于android,java相关领域,也对AI很感兴趣。正朝着写出通俗易懂而又有深度的文章而努力前文地址【GC算法几人知?】一、前置知识积累【GC算法几人知?】二、标记清除法 全解析【GC算法几人知?】三、引用计数法,直抵GC本质的方法今天来介绍GC复制算法,两个英语单词 From & To如果你对这两个词在GC中的角色...
2020-04-29 18:25:28
1165
15
原创 【GC算法几人知?】三、引用计数法,直抵GC本质的方法
大家好,我是【小松与蘑菇】,即将毕业去深圳的大学生,致力于android,java相关领域,也对AI很感兴趣。正朝着写出通俗易懂而又有深度的文章而努力前文地址【GC算法几人知?】一、前置知识积累【GC算法几人知?】二、标记清除法 全解析一个追根溯源的问题:哪些对象算是垃圾对象?答曰:从根开始无法引用的对象GC方法此时已经显而易见——判定一个对象是否根可引用,如果不行,就是垃圾,进行...
2020-04-22 20:18:31
543
16
原创 【GC算法几人知?】二、标记清除法 全解析
所谓标记-清除,顾名思义,就是先标记那些活动的对象,然后再遍历堆,所有非标记对象都是垃圾,需要清除,类似于hr筛选简历时没有看到985-211学校直接拒绝~步骤标记根据前置知识我们知道,一个对象有头有域,如何进行标记呢?就是在对象的头中设置一个mark标志位,然后从根开始,通过指针所找到的所有对象,清除...
2020-04-22 17:49:28
1199
28
原创 【GC算法几人知?】一、前置知识积累
从本文开始,将持续更新GC算法,GC算法是面试java必问的知识,同时,在c,c++这种需要手动GC的语言,更是需要掌握的算法,一起加油吧!本篇是接下来算法的前置知识,毕竟搞懂算法逻辑的基础,是搞懂概念结构对象组成:头:保存对象的一些基本信息,比如大小,种类等,他的地址也代表对象的地址,类似于数组的首地址域:对象中可以访问的部分,里面可以有各种数据,也可以有指向其他对象的指针(...
2020-04-16 11:29:13
777
22
原创 Android Studio 3.6 下 “Unable to start the daemon process ”问题解决
自从升级了android 3.6之后,天天都不省心,不是插件搜索不到了,就是build.gradle构建失败,这不,又来了显示Error:Unable to start the daemon process.This problem might be caused by incorrect configuration of the daemon.For example, an unreco...
2020-04-15 08:13:13
1163
9
原创 用android开发一个识别人形的app,一键切换背景
前言:我是小松,今年大四,在android开发中持续耕耘,快来一起学习把不知道大家有没有这种烦恼,手上有白底的证件照,但是学校偏偏要交红底的,万般无奈只能去照相馆再照,虽说可以进行PS,但是总归麻烦,现在可以用app一键解决啦目录效果如图项目介绍架构布局activity_mainactivity_still_cut功能MainActivityConstantBitmapUtilsImage...
2020-04-11 12:00:23
684
34
原创 《Android编程权威指南》项目三 MVVM架构实战解析
本文将通过一个BeatBox项目详细解析MVVM架构的使用以及android中主题样式的使用分析目录效果如图项目结构前期准备 SingleFragmentActivityactivity_single_fragment BeatBoxActivityMVVM BeatBox Soundlist_item_sound.xml SoundViewModel核心完成代码fragment_beat_...
2020-04-08 20:04:21
1345
14
原创 【一看就懂】自定义View入门实践,实现外方内圆效果
本文作为自定义View的初步实践,取材自《android开发艺术探索》目录效果如下方法activity_main.xmlattr.xml属性CircleView重写onDraw()重写onMeasure()java源代码效果如下方法activity_main.xml这是我们自己设计的CircleView控件,其在xml中如下表示<?xml version="1.0" enc...
2020-03-31 21:34:59
460
10
原创 一网打尽!关于mysql索引的基础与高级知识都在这里了
本文取材于《高性能MySQL第三版》的第5章,由于索引使用了较多的比较复杂的数据结构,限于篇幅,本文仅对这些数据结构进行简单介绍,如果不清楚的可以自行查资料学习目录索引类型b-Tree索引哈希索引空间数据索引 (R-Tree)如何构造高性能索引应该考虑的逐步优化前缀索引覆盖索引压缩索引应该小心的谨慎选择:多列单独的索引聚簇索引冗余,重复索引和未使用的索引索引和锁总结当我们使用select...
2020-03-25 20:14:42
2707
8
原创 任何优秀的程序员, 都有早逝的风险
本文取材于《程序员健康指南》主要由于我最近眼睛干涩,背部疼痛,所以进行了一些研究,并分享出来,原书pdf版本在文末关于健康的文章其实只需要看一篇即可,看多了反而太杂无法坚持,本文去掉了书中的一些比较麻烦的方法,并提供一些有帮助的软件,方法不会太复杂,只要有一颗希望健康的心即可目录问题习惯散步站着身体部位疼痛眼部疼痛头部疼痛背部 or 手腕疼痛总结 & 资源问题首先,有以下问题,...
2020-03-23 19:00:34
3728
10
java设计模式.pdf(清晰带书签,文字可复制)
2006-03-17
数据库系统 设计实现与管理 基础篇第6版 清晰带书签
2018-12-20
中国互联网发展研究.pptx
2019-05-13
java 8实战 清晰带书签
2019-02-11
大家觉得兼做公众号和up主怎么样
发表于 2020-01-29 最后回复 2020-08-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝