自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(174)
  • 资源 (4)
  • 收藏
  • 关注

原创 国内下载android源码

安装git和curlsudo apt-get install git-core curl建立AOSP目录mkdir ~/AOSPcd ~/AOSPAOSP随便你命名,就是一个目录,存放我们clone下来的源码配置 Gitgit config --global user.name Your Namegit config --global user.email [email protected]下载并配置repoRepo 是我们建立在 Git 之上的工具。 Repo 帮助我们管理许多 Gi

2021-07-18 00:02:23 1635

原创 KMP算法

朴素字符串比较朴素字符串比较就是主串T与匹配串P一个一个字符进行比较,假设主串有m个字符,匹配串有n个字符,那么就要比较(m-n+1)n个(m>n)public static int simple(String t, String p) { if (t == null || p == null) { return -1; } if (t.length() < p.length()) { return -1; } cha

2021-06-20 13:59:23 236

原创 Arouter讲解4_Core

ARouter讲解1-InterceptorProcessorARouter讲解2-AutowiredProcessorARouter讲解3_RouteProcessorArouter讲解4_Core复习经过前面的文章,我们知道注解处理后重新生成的文件,我们再来复习下被Route注解的会生成类似下面这样的类如果是IProvider类型的,会生成类似下面的类如果是 IInterceptor 类型的,会生成类似下面的类,其实 IInterceptor 也是 IPro..

2021-05-14 00:02:41 309 2

原创 ARouter讲解3_RouteProcessor

ARouter讲解1-InterceptorProcessorARouter讲解2-AutowiredProcessorARouter讲解3_RouteProcessorRoute@Target({ElementType.TYPE})@Retention(RetentionPolicy.CLASS)public @interface Route { String path(); String group() default ""; String name..

2021-05-12 23:59:36 380

原创 ARouter讲解2-AutowiredProcessor

ARouter讲解1-InterceptorProcessorARouter讲解2-AutowiredProcessorAutowired@Target({ElementType.FIELD})@Retention(RetentionPolicy.CLASS)public @interface Autowired { // Mark param's name or service name. String name() default ""; // If r..

2021-05-11 23:11:22 407

原创 ARouter讲解1-InterceptorProcessor

概述这是讲解Arouter的一篇文章,从源码级别带你分析,看这篇文章前,你需要知道一点 AbstractProcessor处理注解的技巧。InterceptorProcessor 注解@Target({ElementType.TYPE})@Retention(RetentionPolicy.CLASS)public @interface Interceptor { /** * 权重值,值越小权重越大 */ int priority(); /**

2021-05-11 00:38:58 308 3

原创 Deep Learing之Jaccard系数

Jaccard系数Jaccard系数值越大,样本相似度越高。J(A,B)=∣A⋂B∣∣A∣+∣B∣−∣A⋂B∣J(A,B)= \frac{|A\bigcap B|}{|A| +|B| - | A \bigcap B| }J(A,B)=∣A∣+∣B∣−∣A⋂B∣∣A⋂B∣​Jaccard 距离与Jaccard 系数相关的指标叫做Jaccard 距离,用于描述集合之间的不相似度。Jaccard 距离越大,样本相似度越低。dj(A,B)=1−∣A⋂B∣∣A∣+∣B∣−∣A⋂B∣d_{j}(A,B

2021-03-06 12:58:33 763

原创 复数基本概念

复数域z=x+iy或者z=x+yi,i2=−1z=x+iy或者z=x+yi,i^2=-1z=x+iy或者z=x+yi,i2=−1实数x与y分别称为复数z的实部和虚部,记作x=Rez,y=Imzx=Re z,y=Im zx=Rez,y=Imz虚部为零的复数就可以看作实数,虚部不为零的复数称为虚数x+iy和x−iy称为互为共轭复数x+iy和x-iy称为互为共轭复数x+iy和x−iy称为互为共轭复数复数运算z1±z2=(x1±x2)+i(y1±y2)z1z2=(x1+iy1)(x2+iy

2021-02-23 11:11:22 3465

原创 python打包exe

pyinstaller安装 pyinstallerpython -m pip install pyinstaller安装后,把Scripts所在路径添加到PATH中。pyinstaller -F main.py去除控制台加-wpyinstaller -F -w main.py加入应用图标-ipyinstaller -F -w -i .\resource\app.ico main.py执行上面的命令后会生成一个spec文件# -*- mode: python ; coding:

2021-02-09 09:50:15 185 1

原创 Linux0.11内核源码分析1-main函数运行之前的准备

主题列表:juejin, github, smartblue, cyanosis, channing-cyan, fancy, hydrogen, condensed-night-purple, greenwillow, v-green, vue-pro, healer-readable, mk-cute, jzman, geek-black贡献主题:https://github.com/xitu/juejin-markdown-themestheme: juejinhighlight:在阅读该文.

2020-12-25 11:23:12 1173

原创 为什么调用fork后需要调用wait

主题列表:juejin, github, smartblue, cyanosis, channing-cyan, fancy, hydrogen, condensed-night-purple, greenwillow, v-green, vue-pro, healer-readable, mk-cute, jzman, geek-black贡献主题:https://github.com/xitu/juejin-markdown-themestheme: juejinhighlight:就拿lin.

2020-12-23 13:18:39 561

原创 理解fork子进程为什么返回0

从linux0.11源码分析fork函数的作用fork函数最早出现在main.c的main方法中void main(void) { ... sched_init(); ... if (!fork()) { init(); // 在新建的子进程(任务1)中执行。 } ...}头文件在unistd.h里面,int fork(void);fork函数的实现其实是一个宏定义#define _syscall0(type,name) \type name(void)

2020-12-22 21:38:16 2864 3

原创 Android Activity Launch Mode

1. standardstandard是默认的启动模式,即如果不指定launchMode属性,则自动就会使用这种启动模式。这种启动模式表示每次启动该Activity时系统都会为创建一个新的实例,并且总会把它放入到当前的任务当中。声明成这种启动模式的Activity可以被实例化多次,一个任务当中也可以包含多个这种Activity的实例。假如现在的任务栈是 A -> B -> CC启动C后,就是 A -> B -> C -> C下面是打开一个页面的ActivityRunn

2020-08-06 13:54:53 227

原创 Confetti效果实现

随机初始化x的坐标,y的坐标是在屏幕的上方初始化,随机初始化宽度随机初始化倾斜长度 function confettiParticle(color) { this.x = Math.random() * W; this.y = Math.random() * H - H; this.r = RandomFromTo(20, 40); this.color = color; this.tilt = Math.floor(.

2020-07-29 20:58:44 1401

原创 地球绕太阳运行模拟

质量为m的地球的动能质量为m的相对太阳的引力势能设太阳的质量为M,其无穷远处的势能为零点,当质量为m的物体从无穷远处移动到太阳r处时,引力做功从无穷远处来到r处,引力势能变化所以r处的引力势能为我们此时知道了地球的引力势能与动能,使用拉格朗日函数找到r的关系解出来就是找到θ的关系因为θ与L没有关系,所以偏导数就是0计算r的加速度距离的二阶导数就是加速度 function calculateDistanceAcceleration(state) { ` .

2020-07-14 18:37:14 1488 2

原创 帧率FPS控制

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>帧率控制</title> <style type="text/css"> body, html { width: 100%; height: 100%; } </sty.

2020-07-13 20:35:29 679

原创 霍纳法则(Horner Rule)--计算多项式的值

假设有n+1个实数a0,a1,…,an,和x的序列,要对多项式**Pn(x)= anxn +an-1xn-1+…+a1x+a0**求值,直接方法是对每一项分别求值,并把每一项求的值累加起来,这种方法十分低效,时间复杂度O(nk)。有没有更高效的算法呢?答案是肯定的。通过如下变换我们可以得到一种快得多的算法,即Pn(x)= anxn +an-1xn-1+…+a1x+a0=((…(((anx +an-1)x+an-2)x+ an-3)…)x+a1)x+a0这种求值的方法我们称为霍纳法则比如Pn(x)

2020-07-09 20:28:22 2576

原创 拉格朗日(Lagrange)插值算法

多项式除法假定平面上有**A(1,-1) ,B(2,9),C(3,25)求出最低次多项式f(x)经过这些点,前面我们讲过牛顿插值,现在我们不用这个方法。想要经过这些点,那么当满足某些条件时,我们假设有三个函数f1(x) , f2(x), f3(x)**满足以下关系已知有给定的k + 1个取值点:(x0,y0), … ,(xk,yk)假设任意两个不同的xj都互不相同,那么应用拉格朗日插值公式所得到的拉格朗日插值多项式为练习:参考:https://zh.wikiped

2020-07-09 17:29:27 2656

原创 用多个点来近似求导,并给出精度

一阶导数二阶导数三阶导数高阶导数参考:http://ocw.snu.ac.kr/sites/default/files/NOTE/Lecture%2008_0.pdf

2020-07-09 15:17:59 1157

原创 牛顿插值算法

###差商定义称 **f [ x0 , xk ] = ( f ( xk ) - f ( x0 ) ) / ( xk - x0 )为函数f(x)关于点x0,xk**的一阶差商(或者均差)######0阶差商f[x0] = f(x0)f[x1] = f(x1)…f[xk] = f(xk)######二阶差商f [x0 , x1 , x2] = ( f [ x1 , x2 ] - f [ x0 , x1 ] ) / (x2 - x0)######K阶差商f [x0 , x1 , …, x

2020-07-09 09:08:43 644

原创 过点找曲线方程----牛顿插值多项式

问题给定平面上X坐标互不相等的四个点A(1,1) 、B(3,3)、C(4,1)、D(5,5),如何找到一个三次函数通过这四个点?###利用行列式求解令 f(x) = ax3 + bx2 + cx + d可以将四个点带入得到方程组计算行列式最后得出方程 f(x) = x3 -9x2 + 24x -15###牛顿插值法求解牛顿插值原理因为过4个点,可以找到一条3阶方程设方程为P(x) = a0 + a1(x-x1) + a2(x - x1)(x - x2) + a3(x - x1)

2020-07-09 09:08:08 1246

原创 Metaball变形球效果实现

效果图一 .求出圆的外公切线两个圆心之间的距离,也就是两点之间的距离const distanceBetweenCenter = Math.sqrt(Math.pow(c1.cx - c2.cx, 2) + Math.pow(c1.cy - c2.cy, 2));计算直线C1C2与水平线的角度const angleBetweenCenters = Math.atan2(c2.cy - c1.cy, c2.cx - c1.cx);角P2C1C2可以根据公式求出const spread = Ma

2020-07-03 15:19:03 750

原创 用高数研究小阻尼弹簧情形

在同济版高数1中323页有个这样的例题,为了方便,这里只研究小阻尼情况设弹簧的弹性系数为C, 根据牛顿第二定律,用微方表示就是移项后得到我们设,为什么是2n,k平方,后面解微分方程就有用了最后我们就等得到这样的微分方程剩下的就是解微分方程了,2n是常数,k是常数,这样就是常系数齐次线性微分方程我们只研究小阻尼情况,所以n<k,所以微分方程的根就是一对共轭复数根,看到了吗,为了容易解出方程,设k平方这样微分方程的通解就是我们知道了通解,但是不知道特解,假设t=0时,x.

2020-05-26 12:07:01 593

原创 js 切割三角形

前面我说过怎么切割圆形三角形的切割就是每一条边(注意是线段)与另一个线段的交点的问题我们把三角形的每一条边看成一个向量,切割的线段也是一个向量,这样就是两个向量求交点问题现有向量AB 与向量CD 相交于P点设A(x1,y1) , B(x2, y2),C(x3,y3) , D(x4, y4) ,P(x,y)因为向量CP // 向量DP ,向量AP // 向量BP向量CP =...

2020-05-07 18:48:45 346

原创 js切割圆形

这种类型就是线段与圆的交点问题设线段就是P1P2就是我们的线段,P1(x1,y1) , P2(x2,y2)交点是P(x,y)那么向量 OP = 向量O P1 + u(P1P2),u是一个系数则x = x1+u(x2−x1)y = y1+u(y2−y1)由于P也在圆上,所以(x−x3)2+(y−y3)2=r2带入方程,求解Au2+Bu+C=0A = (x2−x1)2+(y...

2020-05-07 18:02:56 633

原创 js内公切线切点的计算

之前讨论过外公切线切点的计算很类似,主要就是计算∠P1C1C2 的角度△P1C1O与△P3C2O是相似三角形令 圆心之间的距离 d = C1C2这样可以求出C1O的距离C1O = d r1/(r1+r2 )那么∠P1C1O = arccos(r1/C1O) = arccos((r1+r2 )/d)let canvas = document.getElementById("ta...

2020-04-20 10:13:39 407

原创 js外公切线切点的计算

令P1P3 与C1C2 的交点是E点P1C1 / P3C2 = C1E / C2E = C1E / (C1E - C1C2)令 圆心之间的距离 d = C1C2∴ ∠P1C1E = arccos((P1C1 - P3C2) / C1C2 ) = arccos( (r1 -r2 ) / d)计算 C2C1 与水平线夹角,然后加上∠P1C1E就是P1的角度let canvas = ...

2020-04-20 09:49:12 757 1

原创 js过圆外一点的直线与圆相切的切点坐标计算

由圆外一点P1(x1,y1)向圆(x - a)2 + (y - b)2 = R2作切线,切线与圆相切的切点是P0(x0,y0)先求直线P0P1直线方程因为P0P1⊥OP0向量OP0 = (x0 - a,y0 - b )向量P0P1 = (x1 - x0, y1 - y0)所以 向量P0P1 点乘 向量OP0 = 0所以 (x0 - a)* (x1 - x0) + (y0 - b)(...

2020-04-19 19:49:13 6736

原创 Spans

前言基于Android API 23文档和源码。 SpannableStringBuilder void setSpan (Object what, int start, int end, int flags)函数意义: 给SpannableString或SpannableStringBuilder特定范围的字符串设定Span样式,可以设置多个(比如同时加上下划线和删除线等),Falg

2016-01-13 16:40:18 1794

原创 Java IO系列6 字节流之PipedInputStream与PipedOutputStream

用于不同线程之间的通信,如果我们在一个线程中同时使用会发生什么呢?PipedInputStream inputStream = new PipedInputStream(); //默认1024字节的缓冲区 //第一种连接方式 //PipedOutputStream outputStream = new PipedOutputStream(inputStream);

2015-12-27 13:42:59 701

原创 Java IO系列5 字节流之BufferedInputStream

BufferedInputStreamBufferedInputStream 是一个带有内存缓冲的 InputStream.使普通的文件输入流具备了内存缓存的功能,通过内存缓冲减少磁盘io次数。publicclass BufferedInputStream extends FilterInputStream { //该变量定义了默认的缓冲大小 2^13 = 2^10*2^3 = 8K

2015-12-25 17:23:44 865

原创 Java IO系列4 字节流之PushbackInputStream

PushbackInputStream原理是在内部保存一个字节缓冲区,如果unRead一个字节,就会向这个缓冲区倒着写入数据,下一次read的时候,就会把该缓冲区里的字节读取出来。 当缓冲区里没数据时,跟别的字节输入流一样 但是当有数据时 例如:我们现在读取1数据,这个时候unRead 4个字节,顺序是20、21、22、23 当我们再次read的时候顺序是23、22、21、20、2 pub

2015-12-25 16:02:03 839

原创 Java IO系列3 字节流之DataInputStream与DataOutputStream

编码与字符集什么把这个专题放在这,因为DataInputStream与DataOutputStream里有个 readUTF()或writeUTF(String str)方法。 由于这方面的内容我看的资料还有限,难免出错,看到下面的内容后自己去找资料证实。不要相信别人的话,要自己求证。以下内容仅供参考编码和字符集不是一个概念,字符集表示码点与字符之间的映射关系,至于怎么存储,字符集也不关心,

2015-12-25 14:07:46 2086

原创 Java IO系列2 InputStream之ObjectInputStream

一、对象序列化当一个可序列化类有多个父类时(包括直接父类和间接父类),这些父类要么有无参数的构造器,要么也是可序列化的,否则反序列化时抛出InvalidClassException。如果父类是不可序列化的,只是带有无参数的构造器,则该父类中定义的Field值不会序列化到二进制流中public class Computer { public String name; public in

2015-12-23 11:34:10 3018

原创 Java IO系列1 字节流之ByteArrayInputStream与ByteArrayOutputStream

public class ByteArrayInputStream extends InputStreamA ByteArrayInputStream contains an internal buffer that contains bytes that may be read from the stream. An internal counter keeps track of the n

2015-12-22 18:14:49 773

原创 Java IO系列0 InputStream与OutputStream(字节流)

该系列的分析源码基于Java 1.8.0_45public abstract class InputStream extends Object implements CloseableThis abstract class is the superclass of all classes representing an input stream of bytes.Appli

2015-12-22 16:55:08 645

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2015-11-25 22:38:59 392

原创 android Interpolator

所有内容参考Android 6.0文档public interfaceInterpolator                                                Added in API level 1implements TimeInterpolatorandroid.view.animation.Interpola

2015-11-18 10:01:24 696

原创 Shape 与ShapeDrawable

public classShapeDrawableextends Drawablejava.lang.Object   ↳android.graphics.drawable.Drawable    ↳android.graphics.drawable.ShapeDrawable

2015-11-15 23:54:13 853

原创 RippleDrawable

public classRippleDrawable                                      Added in API level 21extends LayerDrawablejava.lang.Object   ↳android.graphics.drawable.Drawable

2015-11-12 16:43:46 3560 1

PanoramaGL_0.2-beta.jar

PanoramaGL_0.2-beta.jar

2014-08-27

循环显示图片的ViewPage

可以在ViewPage里左右循环查看图片,自定义的标签可以控制显示哪个Viewpage里的数据!

2014-08-26

ListView与CheckBox

在ListView中实现全选与反选,模仿删除短信时的界面功能,读取SIM卡联系人

2014-08-06

深入JAVA虚拟机第二版

深入JAVA虚拟机第二版 (美)Bill Venners著 曹晓刚 蒋倩译

2014-03-18

空空如也

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

TA关注的人

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