- 博客(100)
- 资源 (19)
- 收藏
- 关注
原创 如何选择一只股票,待完善。
悟空觉得师傅能力太差,自己亲自上场,直接做跨境物流,每个订单收费很高,一个筋斗十万八千里,一天就可以来回送好几趟。因此,通过与同行业或同类企业的比较,可以更准确地评估企业的资产利用效率。这可能意味着企业的风险较高,因为商誉在一定程度上是有风险的,如未来收入的不确定性和商誉价值的贬值风险。于是,师傅骑着白龙马去送外卖。该指标在实际操作的时候,最好是:选过去8个季度,每个季度的营收增长率都超过15%的公司。同时现金收入比率还可以判断,公司在上下游的话语权和地位,如果你对下游很弱势,那么下游可能会拖欠你的账款。
2023-09-21 09:24:26
22
原创 港股交易相关知识点,待完善
竞价限价盘是有指定价格的买卖盘。指定价格等同最终参考平衡价格或较最终参考平衡价格更具竞争力的竞价限价盘(即指定价格等同或高于最终参考平衡价格的买盘,或指定价格等同或低于最终参考平衡价格的卖盘)或可按最终参考平衡价格进行对盘视乎另一方是否有足够可配对的买卖盘。特别限价盘是没有输入价格的限制,只要沽盘的价格是等于或低于最佳买入价,又或者买盘的价格是等于或高于最佳沽出价。:限价盘是指投资者只可以其指定之价格,买入或卖出证券,卖盘的输入价格不可低于最佳买入价(如有),而买盘的输入价格不可高于最佳卖出价(如有)。
2023-09-07 09:14:58
19
原创 PAGView在RecyclerView中复用Item导致PAGView无法播放的问题
先说解决方法:将版本号升级到大于等于的版本可以解决问题。官方已经修复了这个问题。。低于这个版本都有问题。我们项目中的版本是。
2023-02-08 11:02:55
633
原创 Android Resource是如何获取颜色和图片的
首先扯点别的:上海天气真的是太热了。我们使用的颜色通常有两种,一种是在 文件中定义的普通的16进制的颜色。一种是在 目录下定义的xml格式的颜色文件。这种颜色是一个selector对象。例如: color_list.xml加载颜色,调用 Resources 的 getColor() 方法。注释1处,获取正常的16进制颜色并返回。注释2处,获取在src/main/res/color 目录下定义的xml格式的颜色。调用 ResourcesImpl 的 loadColorStateList 方法。注
2022-07-10 12:12:27
925
原创 股票相关知识
了解一些理财相关的知识,为实现财务自由奠定基础,哈哈。简书同步发布股票到底是什么1、股票的本质是什么?——股票是股份的凭证,股份是你对某家公司的所有权。2、企业为什么要发行股票?——为了融资来发展公司。3、个人为什么要投资股票?——为了获得收益,包括分红收益,以及股价上涨带来的溢价收益。股票的价格IPO:首次公开募股(Initial Public Offering)是指一家企业第一次将它的股份向公众出售。股价=每股收益×市盈率股价=每股收益 \times 市盈率股价=每股收益×市盈率,即P=E
2022-05-29 19:10:24
427
2
原创 基金相关知识
了解一些理财相关的知识,为实现财务自由奠定基础,哈哈。基金是什么##基金的本质是什么?基金:代表一种委托关系,委托专业机构帮你理财,收益受专业机构的理财能力影响,一般而言,收益小于股票,大于债券,相对应,风险小于股票,大于债券。基金的相关主体有哪些?基金管理公司:就是负责管理基金的公司,他们的工作包括发起设立基金,进行基金运作,帮助投资者获得收益。一个基金管理公司,可以管理多个基金(大点的基金公司,基本上都是好几十个)。投资者:投资者投资于基金,一个投资者可以同时投资于多个(没有限制,
2021-09-21 11:25:00
8349
原创 CardView是怎么实现阴影的?
Build.VERSION.SDK_INT >= 21实现原理Build.VERSION.SDK_INT >= 21,也就是Android版本5.0及以上采用了 Material Design 设计语言,引入了 Z 轴的概念,也就是垂直于屏幕的轴,Z 轴会让 View 产生阴影的效果。Android Material Design 阴影实现所以在Android版本5.0及以上很简单,就是Z轴实现的阴影。但是有一点需要注意,使用CardView的时候,CardView要距离父布局有一定的ma
2021-08-15 15:59:54
2380
原创 CardView是怎么实现圆角的?
源码版本:androidx1.0.0最基本的使用方式,添加了app:cardCornerRadius属性,就可以实现圆角了。app:cardElevation是用来实现阴影效果的,我们暂时不管阴影。Build.VERSION.SDK_INT >= 21实现原理我们先看Build.VERSION.SDK_INT >= 21,也就是Android版本5.0及以上的是如何实现圆角的。先说一下5.0及以上的结论:给CardView设置一个圆角矩形的背景。使用该背景作为轮廓剪裁CardView
2021-08-10 22:45:49
2441
原创 Android属性动画之旋转动画
旋转动画有三种绕着竖直中心线旋转绕着水平中心线旋转绕着中心点平面选择绕着竖直中心线旋转 val rotationYAnimator = ObjectAnimator.ofFloat(ivRotationY, "rotationY", 0f, 360f) rotationYAnimator.duration = 3000 rotationYAnimator.start()角度增加是逆时针方向旋转。注意,如果旋转角度是90度的话,最终View会不可见。当要旋转的View尺寸很小的时候,
2021-08-09 20:57:21
2301
原创 Android 混合模式之 PorterDuffXfermode
注意:在使用PorterDuffXfermode的时候,目标图像(DST)和图像(SRC)混合的操作要在一个新的图层上进行,否则当前的Canvas上的像素会影响混合操作。@Overrideprotected void onDraw(Canvas canvas) { //创建一个新的图层 int layerId = canvas.saveLayer(new RectF(), n...
2020-06-22 09:27:19
957
原创 Kotlin协程实现原理
为什么需要协程?协程可以简化异步编程,可以顺序地表达程序,协程也提供了一种避免阻塞线程并用更廉价、更可控的操作替代线程阻塞的方法 – 挂起函数。Kotlin 的协程是依靠编译器实现的, 并不需要操作系统和硬件的支持。编译器为了让开发者编写代码更简单方便, 提供了一些关键字(例如suspend), 并在内部自动生成了一些支持型的代码。实现细节Continuation passing styl...
2019-12-08 12:36:17
2385
原创 Java AbstractQueuedSynchronizer(AQS)浅析之一
本篇文章对Java中的AbstractQueuedSynchronizer(AQS)进行分析和学习。若有不正之处请多多谅解,并欢迎批评指正。为叙述方便,下文都以AQS替代AbstractQueuedSynchronizer。使用的Java版本src git:(master) ✗ java -version java version "1.8.0_201"Java(TM) SE Runti...
2019-11-12 08:52:35
184
原创 Java synchronized 关键字实现原理
使用的java版本src git:(master) ✗ java -version java version "1.8.0_201"Java(TM) SE Runtime Environment (build 1.8.0_201-b09)Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)先说结论:对于同...
2019-11-02 17:35:46
194
原创 Git 使用cherry-pick摘取提交
以前很少使用cherry-pick这个命令,今天研究了一下如何使用cherry-pick摘取提交,便记录一下以便后续查阅。初始git历史如下图所示。现在我们在master分支上开始测试cherry-pick这个提交点上,这个提交点上的commit id是674d60f。cherry-pick 摘取一个提交点git cherry-pick <commit-id>比如说我们现...
2019-11-01 09:16:21
1807
原创 Git重置某些文件到指定版本
简书同步发布 Git重置某些文件到指定版本开始提交历史如下图所示,我是使用source tree 来查看提交历史的。我的目的是将v3版本的 MainActivity.java 和 SecondActivity.kt 重置到v1版本。v1版本MainActivity.java private void mainV1(){ }SecondActivity.kt ...
2019-10-22 23:29:03
2208
原创 getDimension()、getDimensionPixelSize()、getDimenPixelOffset()
简书同步发布简书链接:getDimension()、getDimensionPixelSize()、getDimenPixelOffset()我们在自定义View的时候,通常会指定自定义View的字体大小,然后我们获取字体大小的时候,可以有三个方法供选择。getDimension()getDimensionPixelSize()getDimenPixelOffset()这三个方法的...
2019-09-26 22:34:12
404
原创 Java反转单链表
/** * <p> * Desc:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。 * <p> * 测试用例 * 1. head 为null * 2. 只有一个节点 * 3. 正常的链表 * <p> */public static class ListNode { int value; ...
2019-09-22 14:02:15
152
原创 Java实现快速排序算法
快速排序快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为两个子序列(sub-lists)。步骤为:从数列中挑出一个元素,称为"基准"(pivot),重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(相同的数可以到任一边)。在这个分区结束之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。递...
2019-09-22 13:35:36
1415
原创 Android Handler
Handler 实例化–>发送消息–>到处理消息流程。1:Handler 实例化在主线程中实例化 //在主线程创建Handler对象 private Handler handlerMain = new Handler() { @Override public void handleMessage(Message msg) { /
2019-07-27 23:48:00
1270
原创 Android View ViewGroup 的measure过程
首先扯点别的:“光阴似箭,日月如梭”,这句话小学就知道了,随着年龄的增长,越来越觉得如此,人生如白驹过隙。毕业工作快一年了,但是感觉自己Android方面的基础知识还是不扎实,所以看看开发艺术探索,巩固提高自己。View 的measure过程:measure 过程决定了View的宽和高。measure完成以后,就可以通过getMeasuredWidth和getMeasuredHeight来获取...
2019-07-11 22:50:14
1254
原创 看源码之HashMap
先扯点别的:听说拳皇97界的大魔王老K退役了,不知道以后还能不能见到那么犀利的大门。最近感觉自己的拳皇水平有点提升,应该能排到100多线的水平吧。今天记录一下看HashMap源码的过程,感觉HashMap的源码要比ArrayList难一点。所以只看主要流程,不可能每一行代码都搞懂什么意思。先看一下HashMap的继承结构图 HashMap:它根据键的hashCode值存储数据,大多数...
2019-06-23 23:27:19
929
原创 Android Studio 简单生成so文件并调用
平台:windows IDE :Android Studio 下载好ndk:下载地址 https://developer.android.com/ndk/downloads/index.html第1步:新建一个Android Studio 工程 JniHelloWorld。新建一个MyJni.java文件。 MyJni.javapublic class MyJni
2019-03-31 23:08:24
47961
17
原创 菜鸟看源码之AsyncTask
首先扯点别的:今天是第二天上班,看了看日历已经是2月23号了,2018年还剩9个多月。真是感觉人生如白驹过隙啊。今年自己竟然不知不觉已经26周岁了,趁着还算比较年轻(再过个3,4年这话就不好说了),努力奋斗!今天梳理一下AsyncTask的源码这部分文字叙述摘抄自郭霖老师的博客 Android AsyncTask完全解析,带你从源码的角度彻底理解 先看基本的使用方法:由于AsyncTas...
2019-02-14 09:20:47
298
原创 ThreadPoolExecutor是怎样执行任务的
先扯点别的:最近被公司外派到了嘉定区,新租了一个房子,马马虎虎,每天走路上班大约30分钟。早上8点半上班,下午5点半下班,和以前的作息规律有点不一样,逐渐适应,调整,然后还得把跑步这项运动坚持下来。这篇文章(一天写不完)探索一下Java中的ThreadPoolExecutor的使用,感觉还是挺重要的。如果出去面试能把这个讲清楚,估计能唬住不少面试官,哈哈。 先给出一个简单的使用示例,然后再探...
2018-03-16 23:06:59
4798
2
原创 菜鸟看源码之LinkedBlockingQueue
首先扯点别的:已经不记得上次是什么时候做仰卧起坐的了,现在重新开始锻炼起来,腹肌还是得保持的。但是刚做了两天就感觉小腹酸疼。做20个都得咬牙坚持。明天继续做。今天分析一下LinkedBlockingQueue的源码。LinkedBlockingQueue 是基于链表的阻塞队列,按照先进先出的顺序来排列元素。默认长度可以达到Integer.MAX_VALUE 。也可以指定LinkedBlocki...
2018-03-15 21:45:48
393
原创 FastJson在Android中的使用
以前都是使用Gson,从来没使用过FastJson。今天偶尔在一个项目中看到,就简单了解一下。 先交代使用到的两个类User类public class User { private Long id; private String address; public Long getId() { return id; } publi...
2018-03-07 22:16:14
14902
原创 菜鸟看源码之ArrayDeque
先扯点别的:今天上海风不小,现在窗外依然是狂风呜咽,不禁让人想起山科的风。今天分析一下ArrayDeque的源码ArrayDeque的继承关系图 ArrayDeque实现了Deque接口,内部使用一个可调整大小的数组来存放元素。数组没有容量限制,必要的时候数组的容量会增加。ArrayDeque不是线程安全的。不允许添加Null元素。当ArrayDeque 作为一个栈来使用的时候,Ar...
2018-02-27 23:00:02
1799
2
原创 Fragment 懒加载
首先扯点别的:今天买回家的火车票,12306还是没让我失望,果断没有抢到。先买了一个飞机票,然后等着抢明天的火车票,如果抢到了就把飞机票退了,不然就得坐飞机了。今天记录一下 Fragment 懒加载关于Fragment的懒加载有以下两点先声明一下:1.Fragment 的 setUserVisibleHint方法, 只有 Fragment 在 ViewPager 里才会被调用//如
2018-01-15 22:21:57
449
原创 菜鸟看源码之SparseArray
Android SparseArray 源码分析SparseArray 将整数映射到对象。和普通的对象数组不一样,SparseArray的元素之间可以有间隙。和使用HashMap将整数映射成对象相比,SparseArray 效率更高(关于SparseArray 和HashMap的效率的对比,请看文末的参考链接2),因为SparseArray 避免的键的自动装箱,而且对于每个映射,SparseA
2018-01-09 23:02:45
417
原创 Android 上传library到jcenter
首先扯点别的:上海的天气最近也是挺热的,都是快到40度,随便出去走走就出汗。 今天记录一下上如上传Android 的library到jcenter。前提条件:已经正确注册了bintray账号。不会注册可以参考这个网址。http://blog.csdn.net/roly_yu/article/details/53486731注册完成以后找到Edit Your Profile这个选项输入你的密码,然后
2017-07-23 15:00:43
466
原创 Java Lock学习
首先扯点别的:记得以前在大学校里和同学一起打勾级,我怂恿我的队友杜仁建出牌,硬说我队友的对门周通要不了杜仁建的牌,原话是这样的“他(周通)要是能要了,我把牌吃了吐出来再吃”。结果他(周通)还是把我队友(杜仁建)给闷了。现在想想也是有意思。今天记录一下Java中同步锁的使用。以后再慢慢理解。首先看一下Lock这个接口,在java.util.concurrent.locks.Lock包下面,R...
2017-07-06 22:12:38
402
原创 Android 图片压缩
首先扯点别的:最近上海的天气也是热的不得了,早上跑步也不合适了,中午吃饭也没胃口。今天记录一下Android中的图片压缩。注意,为了简单,代码中需要的读写存储空间的权限已经在上一个页面申请过了。尺寸压缩改变图片的尺寸,比如说原来是1280×1902的变成640×320的。压缩图片的尺寸可以减少图片占用的内存大小。获取一个Bitmap占用内存大小的方法,可以使用Bitmap的ge...
2017-07-04 21:23:16
471
原创 Java 观察者模式
观察者模式定义:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。类图Subject:主题接口,对象使用此接口注册为观察者,或者把自己从观察者中删除。 ConcreteSubjectA,ConcreteSubjectB:具体的主题。一个具体的主题总是实现主题接口,具体接口还实现了notifyObservers( )方法,此方法用于在状态改变时更新所有
2017-07-02 17:27:13
3320
原创 Java 迭代器模式
迭代器模式:提供一种方法顺序访问一个集合对象中的各个元素,而又不暴露其内部的表示。 类图 Aggregate:聚合,就是各种容器,提供抽象的返回迭代器的createIterator( )方法。 ConcreteAggregate:具体的容器类,像Java中的常用的ArrayList,HashMap等等要具体实现createIterator( )方法。 Iterator:所有迭代器必须实现的接
2017-07-01 10:11:39
570
原创 Java 抽象工厂模式
接上篇 Java 工厂方法模式抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。 抽象工厂允许客户使用抽象的接口来创建一组相关的产品(工厂方法模式只创建一个产品),而不需要知道(或者关心)实际产出的具体产品是什么。这样一来,客户就从具体的产品中被解耦。完全不知道上面两段在说什么……,还是去卖披萨吧。先交代一下做披萨的原料:腊肉,番茄酱,芝士等等(完全是我随便说的,从
2017-06-29 22:13:57
471
原创 Java 工厂方法模式
接上篇 Java简单工厂模式工厂方法模式定义:定义一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。工厂方法模式UML图Product:抽象的产品接口,所有的产品必须实现这个共同的接口。这样一来,使用这些产品的类就可以引用这个接口,而不是具体类。ContreteProcut:具体的产品类,实现Product接口。Creater:抽象的创建者,定义了抽象方法fact
2017-06-28 21:47:00
541
原创 Java 简单工厂模式
简单工厂模式:又叫做静态工厂方法模式,是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式UML图Client:客户端,调用工厂类的createProduct()方法来创建产品实例。 Factory: 工厂类,它负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法createProduct()可以被外界直接调用,创建所需的产品对象。 Product:抽象的产品类。 ProductA,
2017-06-26 22:56:49
1985
1
ListView下拉刷新和上拉加载
2016-08-20
fragment嵌套ViewPager
2016-04-11
蓝牙 简单应用
2016-04-10
TabLayout使ViewPager更优雅的滑动切换
2016-04-06
android 下拉刷新
2015-12-23
volley 和imageloader 加载网络图片
2015-12-19
安卓ADT Eclipse的颜色主题
2015-11-26
HumanWeather
2015-11-05
ListviewSort_By_A_Z
2015-10-28
LoveWeather
2015-10-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人