自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (3)
  • 收藏
  • 关注

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

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

2019-07-24 07:25:16 707 1

原创 java 享元设计模式

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

2019-07-24 05:03:02 137

原创 java 组合设计模式

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

2019-07-24 05:02:53 296

原创 android tint使用

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

2019-07-19 21:53:13 935

原创 android 谈谈invalidate和postInvalidate方法的区别

看这二个方法的区别只有深入到代码中去看了,首先看invalidate()方法invalidate()分析 public void invalidate() { invalidate(true); }然后到 void invalidateInternal(int l, int t, int r, int b, boolean invalidateCache...

2019-07-16 07:10:57 590

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

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

2019-07-16 05:52:14 2376

原创 android 面试题 Parcelable与Serializable区别

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

2019-07-16 05:32:22 1048

原创 性能优化之 线程优化

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

2019-07-16 04:25:26 6126

原创 android 面试题谈谈transient关键字

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

2019-07-16 03:02:36 1857

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

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

2019-07-16 02:38:23 771

原创 android 面试题 集合类

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

2019-07-16 00:19:02 595

原创 Java 非对称加密介绍

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

2019-07-15 03:34:46 162

原创 java DES加密解密

package thread;import javax.crypto.Cipher;import javax.crypto.SecretKey;import javax.crypto.SecretKeyFactory;import javax.crypto.spec.DESKeySpec;import java.security.SecureRandom;public class ...

2019-07-13 09:49:17 1070

原创 android aop(三) AspectJ

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

2019-07-12 16:45:14 215

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

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

2019-07-12 02:59:27 501

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

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

2019-07-11 21:07:36 1081

原创 凯撒加密解密算法

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

2019-07-11 19:05:15 7163

原创 Java ASCII编码

定义:美国信息交换标准代码,代码用于显示现代英语和其他西欧语言我们可以使用代码来获取字符的ascii编码public class ASCIIDemo { public static void main(String[] args) { char ch = 'A'; char ch1 = 'a'; int ascii = ch;...

2019-07-11 18:10:20 12690

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

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

2019-07-09 07:04:47 161

原创 算法(二)

算法定义:算法是解决特定问题求解的步骤的描述,在计算中表现为指令的有限序列,并且每个指令表现为一个或者多个操作.算法的5个基本特征1:输入 算法需要有0个或者多个输入 比如一个方法没有行参 就打印一段话2:输出 算法至少一个或者多个输出 输出可以是打印结果输出 或者一个方法返回值也算输出3:有穷性 指算法执行有限的步骤后,会自动结束而不会出现死循环,并且每一个步骤都是在可接受的时...

2019-07-09 05:42:04 294

原创 数据结构概要

什么是数据结构:数据结构是一门研究非数值计算程序设计中问题中的操作对象,以及他们之间的关系和操作等相关问题的学科.通俗的来讲就是研究数据元素之间的关系存在一种或者多种特定关系的集合传统上把数据结构分为物理结构和逻辑结构逻辑结构:是指数据对象中数据元素之间的相互关系 体现在时间上物理结构:是指数据的逻辑结构在计算机中存储的形式 体现在空间上逻辑结构有四种:1:...

2019-07-09 05:20:35 626

原创 Android 面试题 如何计算一张图片在内存中大小

如何计算图片所占内存大小其实图片所占内存大小和图片本身大小几乎没啥关系, 为什么这么说呢?我现在把一张图片加载到内存去计算它的宽和高,图片如下:你看啊 它的大小是72*72,现在我放在不同的目录下看看它的宽和高,drawable它的宽和高是144*144drawable-hdpi它的宽和高是96*96drawable-mdpi它的宽和高是144*144d...

2019-07-08 02:12:33 1335

原创 android 谈谈AOP(一)

学Java有个OOP (Object Oriented Programming)即面向对象编程,它不是一门技术,而是思想,而AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术AOP是OOP的延续,是软件开发中的一个热点,也是很多框架如 java中的Spring框架中的一个重要内容,是函数式编程...

2019-07-07 23:38:31 463

原创 android面试题 谈谈强 软 弱 虚引用

首先看类的结构图:t它是在java.lang.ref包下 从上面的单词就知道了Reference是引用的意思,前面的前缀就是所说的软 弱 虚引用,我们通常都是使用强引用, Person person = new Person();Java默认就是强引用,比如上面的new Peson对象,强引用的特点:当内存不足, jvm开始垃圾回收,对于强引用的对象,就算出现OOM异常...

2019-07-07 05:37:48 603

原创 android 面试题 谈谈屏幕适配

面试问你屏幕适配,那么你要知道为什么Android要做屏幕适配,因为Android是开源的, 各大厂商不仅可以对软件定制,还可以对硬件定制,这样就造成市场上不同分辨率的手机超多,现在估计得有几万或者几十万种,这就导致android设备的碎片化很严重。所以还是做ios很辛福啊,下面对一些概念弄清楚屏幕尺寸:指屏幕的对角线的长度,单位是英寸,1英寸=2.54厘米屏幕分辨率:是指横纵上的像素点 ...

2019-07-06 20:25:59 3935 3

原创 android 面试题 谈谈Handler

Handler几乎每个人都会用,但是如果面试被问到,相信也不是每个人都能回答出来,特别是大点公司,特别喜欢问原理,或者你工作3年以上,别人不再问你怎么用了,而是问你底层实现原理,不然怎么区分你是高级还是中级 ,不给你定级别,工资不好给啊,Handler作用:主要用于异步消息的处理,那么可能好奇,什么是异步消息,我们在学线程这块就知道,线程一般是用于处理比较耗时的操作,就是结果不是马上就能...

2019-07-04 23:51:51 461

原创 android 面试题 状态模式

定义:当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类首先从这个名字上看,状态,比如视频播放,它有一些状态,比如 暂停 播放 停止,快速,这些状态是可以切换的,在普通的人们心中可能会定义几个static变量或者枚举的方式来对状态的切换,但是如果新增的需求 可能要修改源代码,这就违背了设计模式的开闭原则,就是对扩展开放 对修改关闭,这个时候就适合用状态...

2019-07-04 06:03:07 126

原创 android ThreadLocal使用以及作用

如果想看懂Android中Handler源码,那么ThreadLocal类的作用必须要懂,ThreadLocal的出现解决了线程存存储自己的数据不发生异常,而不是解决线程安全问题,看下例子:package thread;public class ThreadLocalTest { static ThreadLocal<String> threadLocal = new...

2019-07-04 01:35:45 793

原创 android 面试题 说说创建线程的几种方式

在Java中一般创建线程有四种方式:第一种:继承Thread,这种创建线程的缺点就是因为Java是单继承,假如是四个线程共享一分资源的话,这种方式就不使用了第二种:实现Runnable接口,一般都是使用第二种,因为Java机制是多实现单继承,第三种Callable 使用这种方式创建线程的好处是可以有返回值,android中AsyncTask源码就会用到,第四种方式就使用线程池了....

2019-07-02 20:03:38 385

原创 android 面试题 ArrayList是线程不安全的,请写出例子并给出解决方案

我们知道List集合不安全的是因为add()方法没有使用synchronized,我们知道jdk很早有个Vector类,看看它的add()public synchronized boolean add(E e) { modCount++; ensureCapacityHelper(elementCount + 1); elementData[e...

2019-07-02 03:21:59 2122

原创 android 面试题 CAS

首先弄清楚什么是cas:在计算机科学中,比较和交换(Conmpare And Swap)是用于实现多线程同步的原子指令。 它将内存位置的内容与给定值进行比较,只有在相同的情况下,将该内存位置的内容修改为新的给定值。 这是作为单个原子操作完成的。 原子性保证新值基于最新信息计算; 如果该值在同一时间被另一个线程更新,则写入将失败。 操作结果必须说明是否进行替换; 这可以通过一个简单的布尔响应(这...

2019-07-02 02:37:18 769

原创 android. mac. 如何查看jdk安装目录

最近在准备面试, 学习下并发这块,要看下源码,突然不知道jdk安装位置在哪里,可以使用如下命令/usr/libexec/java_home -V注意: V大写的,在此记录下!

2019-07-02 01:02:16 989

原创 android 面试题 请谈谈对volatile的理解

volatile是使用在多线程环境下,单线程使用没啥作用,所以前提是多线程volatile是java虚拟机提供的一种轻量级的Java同步机制,它有三大特性1:保证可见性2:不保证原子性3:禁止指令重排要完全的理解这个volatile要对jvm中的内存模型jmm(Java memory model)理解我们的数据存储能力. 磁盘<内存<cpu(只计算)J...

2019-07-01 21:35:52 583 1

android_simple_sqlite

这是一个android数据库框架

2017-02-14

android_simple_sqlite框架

这是手写数据库框架的一部分

2017-02-07

android 资料

环信的demo 及时聊天 让你轻松搞定和qq一样的强大功能,还等什么 赶快下载吧,亲

2015-04-26

空空如也

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

TA关注的人

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