自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Zachary的基地

在大海里遨游~~

  • 博客(32)
  • 收藏
  • 关注

原创 Java问题try catch finally,try里有return,finally还执行吗?

try{}里有一个return语句,紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?答:肯定会执行,finally{}块的代码只有在try{}块中包含遇到System.exit(0);之类的导致Java虚拟机直接退出的语句才会不执行。当程序执行try{}遇到return时,程序会先执行return语句,但并不会立即返回——也就是把return...

2018-04-30 11:37:29 807

原创 Java之锁机制

Java中锁的机制:synchronized在修饰代码块的时候需要一个reference对象作为锁的对象.在修饰方法的时候默认是当前对象作为锁的对象.在修饰类时候默认是当前类的Class对象作为锁的对象.线程同步的方法:sychronized、lock、reentrantLock分析方法锁(synchronized修饰方法时)通过在方法声明中加入 synchroni...

2018-04-30 09:26:24 1082

原创 Java之多线程同步

同步的方法:一、同步方法  即有synchronized关键字修饰的方法。由于java的每个对象都有一个内置锁,当用此关键字修饰方法时,内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状态。注: synchronized关键字也可以修饰静态方法,此时如果调用该静态方法,将会锁住整个类。二、同步代码块  即有synchronized关键字修饰的语句块。被...

2018-04-28 19:50:50 176

原创 Java之notify和notifyAll区别

notify()和notifyAll()的本质区别notify()和notifyAll()都是Object对象用于通知处在等待该对象的线程的方法。两者的最大区别在于:notifyAll使所有原来在该对象上等待被notify的所有线程统统退出wait的状态,变成等待该对象上的锁,一旦该对象被解锁,他们就会去竞争。notify则文明得多,它只是选择一个wait状态线程进行通知,并使它获得该对象上的锁,...

2018-04-28 11:06:14 1840

原创 Java之InterruptedException 异常

当一个方法后面声明可能会抛出InterruptedException 异常时,说明该方法是可能会花一点时间,但是可以取消的方法,是阻塞方法。抛InterruptedException的代表方法有:1. java.lang.Object 类的 wait 方法2. java.lang.Thread 类的 sleep 方法3. java.lang.Thread 类的 join 方法...

2018-04-28 10:50:39 466

转载 Java之线程池队列的饱和策略

转载地址Java线程池会将提交的任务先置于工作队列中,在从工作队列中获取(SynchronousQueue直接由生产者提交给工作线程)。那么工作队列就有两种实现策略:无界队列和有界队列。无界队列不存在饱和的问题,但是其问题是当请求持续高负载的话,任务会无脑的加入工作队列,那么很可能导致内存等资源溢出或者耗尽。而有界队列不会带来高负载导致的内存耗尽的问题,但是有引发工作队列已满情况下,新提交的任务如...

2018-04-28 09:16:17 641

原创 Java之回调机制

从刚接触安卓,我就知道了回调这个东西,再看一次吧。1.先看一个简单回调例子:(小明做题)超级计算器的add()方法应该包含两个操作数和小明自身的引用,代码如下:public class SuperCalculator{public void add(int a, int b, Student xiaoming){int result = a ...

2018-04-27 19:22:49 190

原创 Java之自定义FIFO线程池

自定义线程池Android中常用的线程池就上面的四种,其实在Java中还有一种常见的线程池(newSingleThreadScheduledExecutor),其实上面的线程池对于我们开发已经是足够了,不过有时候上面的仍然不能满足我们,这时候我们就需要自定义不同功能的线程池。上面我们也说了线程池功能的不同归根到底还是内部的BlockingQueue实现不同,所以,我们要实现我们自己相要的线程池,就...

2018-04-27 18:48:56 664

原创 Java之对象的比较

Java中实现对象的比较:Comparable接口和Comparator接口在实际应用中,我们往往有需要比较两个自定义对象大小的地方。而这些自定义对象的比较,就不像简单的整型数据那么简单,它们往往包含有许多的属性,我们一般都是根据这些属性对自定义对象进行比较的。所以Java中要比较对象的大小或者要对对象的集合进行排序,需要通过比较这些对象的某些属性的大小来确定它们之间的大小关系。一般,Java中通...

2018-04-27 17:32:18 143

原创 Java之常用线程池

使用线程池好处:每次都new Thread的弊端如下:每次new Thread新建对象性能差。线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统资源导致死机或oom。缺乏更多功能,如定时执行、定期执行、线程中断。线程池的好处在于:重用存在的线程,减少对象创建、消亡的开销,性能佳。可有效控制最大并发线程数,提高系统资源的使用率,...

2018-04-27 17:05:55 221

原创 Android之集成极光推送消息

极光推送是为 App 提供第三方推送服务的平台之一,它提供四种消息形式:通知,自定义消息,富媒体和本地通知。1.通知Push Notification,即指在手机的通知栏(状态栏)上会显示的一条通知信息。Android: 依靠 JPush service ,由 JPush SDK 实现在手机通知栏的展示。Android 通知消息的流程是这样的:我们可以调用极光的 API...

2018-04-27 16:58:42 2167

原创 Android之消息推送方案

Android平台下几种推送方案的基本情况以及优缺点:一、使用GCM(Google Cloude Messaging)Android自带的推送GCM可以帮助开发人员给他们的Android应用程序发送数据。它是一个轻量级的消息,告诉Android应用程序有新的数据要从服务器获取,或者它可能是一个消息,其中包含了4KB的payload data(像即时通讯这类应用程序可以直接使用该payload消息)...

2018-04-27 16:53:00 319

原创 Android之allowBackup安全问题

<application android:allowBackup="false">是否允许备份应用的数据,默认是true,当备份数据的时候,它的数据会被备份下来。如果设为false,那么绝对不会备份应用的数据,即使是备份整个系统。1.allowBackup安全风险描述Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此功能的开...

2018-04-24 19:20:18 398

原创 Android笔记之AsyncTask

AsyncTask的四个重写方法: onPreExecute(): 这个方法在后台服务开始执行之前调用。用于进行一些界面上的初始化操作,比如显示一个进度条对话框等。 doInBackground(): 这个方法中的所有代码都会在子线程上运行,应该处理耗时操作,不可以进行UI操作,如需要更新UI元素,可以调用publishProgress()方法完成 onProgr...

2018-04-22 23:38:16 428

原创 Android之App应用内存分配

内存分配,默认16M。

2018-04-22 23:00:42 2278

原创 Android之图片三级缓存

一、概述:现在android应用中不可避免的要使用图片,有些图片是可以变化的,需要每次启动时从网络拉取,这种场景在有广告位的应用以及纯图片应用(比如百度美拍)中比较多。现在有一个问题:假如每次启动的时候都从网络拉取图片的话,势必会消耗很多流量。在当前的状况下,对于非wifi用户来说,流量还是很贵的,一个很耗流量的应用,其用户数量级肯定要受到影响。当然,我想,向百度美拍这样的应用,必然也有其内部的图...

2018-04-22 20:57:12 266

原创 Android之LeakCanary框架

为了能够简单迅速的发现内存泄漏,Square公司基于MAT开源了LeakCanarydebugCompile'com.squareup.leakcanary:leakcanary-android:1.3'releaseCompile'com.squareup.leakcanary:leakcanary-android-no-op:1.3'2、Application中初始化l...

2018-04-22 17:11:45 311

原创 Android之Socket发送十六进制数据

要发送向服务器发送十六字节的数据可以采用以下的方式:1.数据类型是byte型:private byte[] msg = new byte[2];2.给数据赋值:msg[0] = (byte) 0xaa;msg[1] = (byte) 0xdd;3.在socket中使用write的方式:OutputStream socketWriter = socket.getOutputStrea...

2018-04-19 19:46:31 4116

原创 Android笔记之手机功能

手机基础功能的开发电话应用开发:拨打电话功能Intent调用Android系统内置拨打电话界面:拨打电话界面:UritelUri=Uri.parse(“tel:110”);Intentintent=newIntent(Intent.ACTION_DIAL,telUri);startActivity(intent);直接呼叫电话号码:UritelUri...

2018-04-19 18:32:05 341

原创 Android笔记之图形和动画

绘图技术:2D:Android基本组件构成3D:通过OpenGLES技术实现两种图形引擎技术:Skia(View及其子类通过它画出来的)和OpenGLES2D绘制技术:画布与画笔:(Canvas与Paint)Paint常用方法:setColor(intcolor):设置颜色setAlpha(inta):设置透明度(0~255)setStyle:设置样式s...

2018-04-19 18:30:12 251

原创 Android笔记之网络通信

网络通知技术:应用层网络通信技术包括:Socket、HTTP、HTTPS、WebService等Socket通信:原始的通信方式,编写服务器代码和客户端代码,自己开端口、制定通信协议、验证数据安全和合法性,开发繁琐但是,灵活,不受编程语言、设备、平台、操作系统的限制,通信快速高效HTTP协议:超文本传输协议,属于应用层面向对象协议,简洁、快速的方式适用分布式超文本传输...

2018-04-19 18:28:07 284

原创 Android笔记之多媒体开发

安卓作为移动设备,音视频也作为大家最常见的娱乐方式。开发音频和视频的应用,其中常识在此记录:多媒体文件:音频多媒体:音频文件在编码中对音频文件解码,过程中数据量很大无损格式:非数据压缩格式:WAV、AU、APE等文件有损格式:对数据进行压缩,丢掉一些数据:MP3 WindowsMediaAudio(WMA)WAV:存储多种类型的音频数据MP3:利用MPEG...

2018-04-19 18:25:35 441

原创 Android笔记之广播接收器

广播接收器:五个组件(活动、服务、广播接收器、内容提供者、意图)广播概述:一些系统发出的广播:时区改变、电池量低、照片已被拍、改变语言习惯自己应用发出广播:标准广播:采用异步方式并行发送广播,同时发送多个广播sendBroadcast()发送标准广播有序广播:采用同步方式串行发送广播,同意时刻只能接收一个广播sendOrderedBroadcast()发...

2018-04-14 16:13:25 269

原创 Android笔记之多线程

多线程开发:(多任务、分时设计)进程:一个执行中的程序、一个进程有一个独立的内存空间、一组系统资源。内部数据、状态完全独立。线程:一个进程可以包含多个线程.多线程:(计时器案例)单个程序中:运行多个不同的线程、执行不同的任务(多个语句可以看上去几乎同一时间内同时完成)完成某特定功能的代码,程序中单个顺序的流控制同类多个线程共享一块内存空间和一组系统资源Java中的线程:...

2018-04-14 16:12:01 141

原创 Android笔记之ContentProvider与Service

使用内容提供者共享数据:(ContentProvider实现数据的共享)所要学习的内容:内置的内容提供者;自定义的内容提供者;ContentURI含义。Android的系统是基于Linux的,文件访问权限控制很严格,不同的用户启动不同的应用。内置的内容提供者:(当然可以自定义内容提供器)多媒体音频文件、视频文件、图片、联系人、电话记录、...

2018-04-14 16:10:37 790

原创 Android笔记之数据存储

四大存储方式:文件系统:保存在本地文件中,使用JavaIO流技术实现对数据的读写数据库:SQLite数据库:性能和安全都很好云服务:网络通信技术访问SharedPreferences:存放少量的“键-值”对形式的数据(控件状态,用户偏好)实例:健康助手设计用户实现:增、删、改、查---->数据的操作数据库设计:设计表、字段。本地文件格式设计:自己设定格式,并...

2018-04-14 16:08:11 264

原创 Android笔记之Intent

安卓意图是一种消息机制,活动、服务和广播接收器之间的调用和消息传递都是通过意图实现的。意图实现组件之间的通信:(以下三种)1.启动活动:startActivity()startActivityForResult()2.启动服务:startService()//启动一个本地服务bindService()//连接一个远程服务3.发送广播:调用广播接收器sendBro...

2018-04-14 16:05:38 178

原创 Android笔记之Activity、Fragment

个人读书笔记,看看活动和碎片的流程

2018-04-14 16:04:13 456

原创 Android笔记之控件

按钮:Button、ImageButton、ToggleButtonButton:android.widget.Button继承android.widget.TextViewButton是显示文本的按钮。ImageButton:android.widget.ImageButton继承android.widget.ImageViewImageView是显示图片的按钮。ToggleButton:...

2018-04-14 16:01:22 359

原创 Android笔记之界面布局

界面设计:相关类:Activity、Fragment、View、ViewGroup、Layout。视图:简单控件:Button、ImageButton、ToggleButton、TextView、EditText、RadioButton、CheckBox、ImageView、ProgressBar、SeekBar、RatingBar等。高级控件:AutoCompleteTex...

2018-04-14 15:59:15 367

原创 Android笔记之琐碎知识

Android系统的缔造者是精通Java和linux。想深入安卓需要有扎实的Java和linux基础。安卓由五方面组成:LinuxKernel、Libraries、AndroidRuntime、Applicationframework、Application。Android4.1==16;动画特效开始展露头角Android5.0==21;语音很特别、使用64位处理器...

2018-04-14 15:56:37 205

原创 Java之基础面试题

Java面试题,看一遍心里有点数。

2018-04-14 15:51:02 178

空空如也

空空如也

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

TA关注的人

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