每日收获
文章平均质量分 69
月亮是我踹弯的
抱怨没有用,一切靠自己
展开
-
Android进阶学习收获(7~12节)
第07节:Java内存模型与线程 Java内存模型(Java Memory Model)简称JMM,它所描述的是多线程并发、CPU缓存等方面的内容。在每个线程中,都会有一块内部的工作内存,这块工作内存保存了主内存共享数据的拷贝副本。我们在第一节课中,了解到JVM内存结构中有一块线程独立共享的内存空间----虚拟机栈,所以这里我们会自然而然的将线程工作内存理解为虚拟机栈。实际上这种理解是不正确的,虚拟机栈和线程的工作内存并不是一个概念,在Java线程中并不存在所谓的工作内存,它只是对CPU寄存...原创 2020-07-03 16:31:19 · 238 阅读 · 0 评论 -
2020年5月 每日收获的知识点
1.字符串的最大长度是多少? 在String对象内部是使用一个char数组来维护字符序列,也就是说,字符串的最大长度取决于字符数组的最大长度,我们知道在指定数组长度时,我们可以使用byte、short、char、int,而不能使用long,也就是说最大值为Integer.MAX_VALUE,十进制数就是2147483647,而一个char类型占2字节,那最大字符串长度也即是占4294967294个字节,将近4G。计算机能够承受多大的数组跟软硬件等诸多因素有关。 ...原创 2020-05-11 14:12:38 · 246 阅读 · 0 评论 -
Vue学习每日收获
2020.4.271.通过Vue官方推荐的脚手架Vue Cli 来创建项目,安装脚手架命名如下:npm install -g @vue/cli or yarn global add @vue/cli2.创建一个名为hello-world的vue项目,命令如下:vue create hello-world3.进入 hello-world文件夹下:cd hello-wo...原创 2020-04-27 19:32:03 · 568 阅读 · 0 评论 -
Android高手课----内存优化1
Android中的内存优化是我们性能优化中比较重要的一环,其主要包括两方面的工作:优化RAM(Random Access Memory 也即主存,是与CPU直接交换数据的内部存储器,可以随时读写,而且速度快),即降低运行时内存。目的是防止程序发生OOM异常,以及降低程序由于内存过大被LMK机制杀死的概率。另外,不合理的内存使用会使GC大大增多,从而导致程序变卡。 优化ROM(Re...原创 2020-02-29 21:33:47 · 591 阅读 · 0 评论 -
Android使用SonarLint插件检测java代码
哪些问题会被检测出来呢?高优先级重复代码:相同的字符串在一个文件里多次被用,会建议定义一个常量使用; 空方法会被检测出来,会建议抛个异常或加注释; 一个方法的认知复杂度过高,会要求重构; 注释的无用代码会提示及时删除掉; 声明的变量没有用会提示及时删掉; 一个类不应该继承太多的父类,也即是不能继承太深,一般不超过5个; 如果两个变量名定义的过为相似,比如只是某个字母大小写不同,则...原创 2020-02-12 09:07:24 · 807 阅读 · 0 评论 -
2019年12月 每日收获的知识点
2019.12.21.为什么要有反射?Java中已经有了封装,为什么还要有发射呢?看起来像是破坏了封装性,甚至让私有变量都可以被外部访问到,使得类变得不那么安全了。从Oracle官方的文档可以看出,反射主要用在以下几个方面:反射可以让开发人员通过外部类的全路径名创建对象,并使用这些类,实现一些扩展的功能。 反射让开发人员可以枚举出类的全部成员,包括构造函数、属性、方法,以帮助开发者写...原创 2019-12-02 14:32:10 · 172 阅读 · 0 评论 -
2019年9月 每日收获的知识点
2019.9.91.HTTPS协议采用的是对称和非对称混合的加密机制,在交换密钥环节使用非对称加密方式,之后的建立通信交换报文阶段则使用对称加密。具体的做法是:发送密文的一方通过对方的公钥进行加密处理“对称的密钥“,然后对方用自己的私钥解密拿到的“对称的密钥“,这样可以确保交换的密钥是安全的前提下,使用对称加密的方式进行通信。这也是HTTPS解决内容被窃听的方案。2.HTTPS解决报文可能...原创 2019-09-09 14:06:45 · 235 阅读 · 0 评论 -
2019年5月-8月每日收获的知识点
2019.5.51.AIDL文件里就是一个接口,不过这个接口比较特殊,它只能定义方法,不能定义常量;且AIDL所支持的类型有限,只支持以下6种情况的类型: 1)基本数据类型(int ,double ,float等)。 2)String和Charsequence类型。 3)List只支持ArrayList,但入参类型可以定义List...原创 2019-02-28 15:57:56 · 512 阅读 · 0 评论 -
2019年1月-4月每日收获的知识点
2019.1.161.在master分支打tag命令:git tag -a tag名 -m ‘注释’例如:git tag -a v0.8.8 -m ‘巡更离线数据上线’以上只是将标签添加到了本地的版本管理,我们需要在创建标签之后同步到远程仓库,使用以下命令:推送所有本地标签:git push origin --tag推送指定本地标签:git push origin 版本号。...原创 2019-06-21 09:55:20 · 173 阅读 · 0 评论 -
2018年8月-12月每日收获知识点
2018.08.07 学会了使用Android Studio 插件提交开发效率。 1)Alibaba Java Coding Guidelines,用来约束自己的编码习惯。 2)findViewByMe,该插件用来自动初始化View,不用再手写 findViewById。 3)GsonFormat,该插件用来自动生成bea...原创 2019-06-21 09:53:29 · 201 阅读 · 0 评论