5 zhoushenxian

尚未进行身份认证

我是一个菜鸟android开发工程师,目前从事电视端开发

等级
TA的排名 2k+

android. 使用stetho调试数据库

facebook的stetho,调试网络或者查看数据库或其他真实很方便,而且引入这个库也很简单第一步:implementation'com.facebook.stetho:stetho:1.5.0'最新版是1.5.1第二步:初始化在application或者activity中publicclassMyAppextendsApplication{@O...

2019-08-19 13:31:06

java基础面试题 String,Stringbuffer,Stringbuilder三者的区别

1StringString:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的查看它的源码publicString(){this.value="".value;}变量valueprivatefinalcharvalue[];被final修饰的类不能有子类,被final修饰的变量只能在...

2019-07-24 07:25:16

java 享元设计模式

定义:提供了减少对象数量从而改善应用所需的对象结构的方式javaString类就是使用了享元设计模式还有数据库连接池等缺点关注内部或者外部结构,关于线程安全的问题使系统逻辑结构复杂化内部状态不随外界变化而变化的外部状态会随外界变化而发生变化的比如计算公司有几个部门每个部门有多少人publicclassDepartment{p...

2019-07-24 05:03:02

java 组合设计模式

定义:将对象组合成树结构以表示部分-整体的层次结构组合模式使客户端对单个对象和组合对象保持一致的处理方式在android中View和View和ViewGroup就是使用了组合模式下面就看看View和ViewGroup的架构View是没有addView()添加子view的操作,而ViewGroup是可以添加子view的,View.javapublicclass...

2019-07-24 05:02:53

android tint使用

tint主要是针对图片进行变色,比如有一个条目点击后右边的小三角行图片变色,获取很常用就是筛选点击后图片变色,使用tint减少了设计师的压力,还有就是我们也少使用图片这样就减少了apk的大小<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android....

2019-07-19 21:53:13

android 谈谈invalidate和postInvalidate方法的区别

看这二个方法的区别只有深入到代码中去看了,首先看invalidate()方法invalidate()分析publicvoidinvalidate(){invalidate(true);}然后到voidinvalidateInternal(intl,intt,intr,intb,booleaninvalidateCache...

2019-07-16 07:10:57

android 面试题 谈谈主线程一直循环 为什么不会出现阻塞或者ANR异常

在ActivityThread类中的main方法有段代码:ActivityThreadthread=newActivityThread();thread.attach(false,startSeq);if(sMainThreadHandler==null){sMainThreadHandler=thre...

2019-07-16 05:52:14

android 面试题 Parcelable与Serializable区别

一、序列化与反序列化由于在系统底层,数据的传输形式是简单的字节序列形式传递,即在底层,系统不认识对象,只认识字节序列,而为了达到进程通讯的目的,需要先将数据序列化,而序列化就是将对象转化字节序列的过程。相反地,当字节序列被运到相应的进程的时候,进程为了识别这些数据,就要将其反序列化,即把字节序列转化为对象。有了以上理解,接下来我们认识两个用于序列化和反序列化的接口:java原生的Seriali...

2019-07-16 05:32:22

性能优化之 线程优化

线程调度原理在任意时刻,只有一个线程占用cpu,处于运行状态,在多线程并发的情况下,轮流使用CPU的使用权,但是现在是多核的时代,比如现在很多电脑或者手机是8核的,意思是有8个cpu,让这8个cpu去执行任务,如果是执行任务很多的情况下,cpu是轮流的方式去执行任务的,而这个CPU去执行任务是由cpu去负责调度的,线程调度模型线程调度模型有二类第一类:分时调度第二类:抢占...

2019-07-16 04:25:26

android 面试题谈谈transient关键字

我们知道在Java中只要实现了Serializable接口,这个都可以被序列化,在Android中进行序列化还有一种方式,就是Parcelable,而且比Java提供的序列话方式性能更高,但是在实际的开发中我们有些类虽然实现了Serializable接口,但是里面的有些属性不想进行序列化,这个时候就可以在这个变量的前面添加transient修饰了,classRectangleimp...

2019-07-16 03:02:36

android 面试题 谈谈深拷贝和浅拷贝

对称拷贝就是将一个对象的属性拷贝到另一个类有着相同类类型的对象中浅拷贝浅拷贝就是按位拷贝对象,它会创建一个新的对象,这个对象有着原始对象属性值的一份精确拷贝,如果属性是基本类型,拷贝的就是基本类型的值,如果属性是引用类型,拷贝的就是内存地址值,因此如果其中一个对象改变了这个地址就会影响其他的对象用demo来测试下publicclassShallowCopyTest{...

2019-07-16 02:38:23

android 面试题 集合类

java集合类主要由二个根接口派生的,Collection和MapCollection派生的类的结构List集合主要有ArrayList,VectorLinkedListStack(栈)Vector:已经废弃了,因为它是线程安全导致效率变慢,ArrayList:底层是由数组组成的,它的读插入和删除速度慢,时间复杂度都是O(n)但是它的读取元素的效率高时间复杂度为O(...

2019-07-16 00:19:02

Java 非对称加密介绍

秘钥对:公钥和私钥非对称:公钥加密私钥解密私钥加密公钥解密公钥互换:二个组织或者个人最典型的非对称加密是RSA,它的加密级别很高,但是加密速度是很慢...

2019-07-15 03:34:46

java DES加密解密

packagethread;importjavax.crypto.Cipher;importjavax.crypto.SecretKey;importjavax.crypto.SecretKeyFactory;importjavax.crypto.spec.DESKeySpec;importjava.security.SecureRandom;publicclass...

2019-07-13 09:49:17

android aop(三) AspectJ

AspectJ是面向切面编程的一个框架,它遵循了Jvm的语法并扩展了java语言,我们知道一个类想要运行起来,是先javac命令变成.class(字节码)再由java命令把该类加载到jvm中,而AspectJ就在javac命令在.java文件转变成.class文件的时候植入一些代码,这是在编译期完成的,不会影响性能但是在使用AspectJ有一些炕,比如:androidstud...

2019-07-12 16:45:14

android aop( 二)实现方式之动态代理

之前说了aop有四种实现方式,其中最不推荐的就是动态代理实现,因为它浸入代码强,不利于维护,但是也要知道,因为其他实现方式里面的原理也用到了动态代理,只是封装更好用起来更简单比如一个app要收藏或者关注必须是用户已经登陆情况,除非是app可以是游客的情况下登陆也能收藏或者关注,这是另话了,我定义了一个用户行为接口有收藏和关注方法publicinterfaceIUser...

2019-07-12 02:59:27

java 常见的对称加密算法介绍

DES:DataEncryptionStandard的缩写,数据加密标准AES:AdvancedEncryptionStandard的缩写,高级加密标准比DES加密更难以破解,对称加密特点1:加密速度快,可以加密大文件2:对称可逆,秘钥暴露文件就泄密3:加密后编码表找不到对应的字符,会出现乱码出现乱码就要集合Base64来解决...

2019-07-11 21:07:36

凯撒加密解密算法

凯撒加密的由古罗马大帝凯撒发明的,用来传递军事命令等信息,凯撒加密算法把字母移动一定的位数来实现加密和解密比如A偏移3位就变成了D,用代码体现publicstaticvoidmain(String[]args){charch='A';intascii=ch;intvalue=ch+3;//偏移...

2019-07-11 19:05:15

Java ASCII编码

定义:美国信息交换标准代码,代码用于显示现代英语和其他西欧语言我们可以使用代码来获取字符的ascii编码publicclassASCIIDemo{publicstaticvoidmain(String[]args){charch='A';charch1='a';intascii=ch;...

2019-07-11 18:10:20

数据结构与算法之时间复杂度和空间复杂度(三)

算法是要讲效率的,而效率是指算法的执行时间执行时间短当然是效率高反之则低那么如何来衡量算法的时间呢?1:算法采用的策略方案2:编译产生的代码质量3:问题的输入规模4:机器执行指令的速度比如1+2+...+100,第一种:intn=100;//执行一次intsum=0;//执行一次for(inti=...

2019-07-09 07:04:47

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。