自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 Servlet详细学习

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。一、生命周期Servlet 通过调用 init () 方法进行初始化。Servlet 创建于用户第一次调用对应于该 Servlet 的 URL 时,但是您也可以指定 Servlet 在服务器第一次启动时被加载。当用户...

2018-04-21 20:54:41 173

原创 字符串

String对象是不可变的,你可以给一个String对象加任意多的别名。因为String对象具有只读特性,所以指向它的任何引用都不可能改变它的值,因此,也就不会对其他引用有什么影响。 一、重载“+”与StringBuilder不可变性会带来一定的效率问题。为String对象重载的“+”操作符就是一个例子。重载的意思是,一个操作符在应对于特殊的类时,被赋予了特殊的意义。在使用“+”拼接字符串时,编译

2017-12-27 00:48:58 147

原创 通过异常处理错误

一、概念异常:阻止当前方法或作用域继续执行的问题。 异常和普通问题的区别:普通问题是指,在当前环境下能得到足够的信息,总能处理这个错误。异常就不能继续下去了,因为在当前环境下无法获得必要的信息来解决问题。你所能做的就是从当前环境跳出,并且把问题提交给上一级环境,这就是抛出异常时所发生的事情。当异常抛出时,首先将使用new在堆上创建异常对象。然后,当前的执行路径被终止,并且从当前环境中弹

2017-11-06 21:38:07 199

原创 持有对象

Java提供了三大类容器:数组——将数字与对象联系起来;Collection——保存单一的元素;Map——将对象与对象相关联。 一、Collection Arrays.asList()接受一个数组或是一个用逗号分隔的元素列表,并将其转换为一个List对象;Collections.addAll()方法接受一个Collection对象,以及一个数组或是一个用逗号分隔的列表,将元素添加到Collec

2017-10-29 19:41:48 323

原创 复用类

一、复用类组合语法:将对象引用置于新类中;继承语法:Java会自动在导出类的构造器中插入对基类构造器的调用;代理:代理是继承与组合之间的中庸之道,因为我们将一个成员变量对象置于所要构造的类中(就像组合),但与此同时我们在新类中暴露了该成员对象的所有方法(就像继承)。代理解决了这种问题,可以向新类只暴露我们想让他使用的方法,不想让它使用的方法就不会被暴露;二、在组合与集成之间选择继承和组合都能

2017-09-21 23:04:00 261

原创 访问权限控制

一、包:库单元当编写一个Java源代码文件时,此文件通常被称为编译单元,而在编译单元内则可以有一个public类,该类的名称必须与文件名相同。每个编译单元只能有一个public类,否则编译器就不会接受。Java可运行程序是一组可以打包并压缩为一个Java文档文件(JAR)的.class文件。Java解释器负责这些文件的查找、装载和解释。 类库实际上是一组类文件。其中每个文件都有一个public类

2017-09-19 00:43:38 447

原创 初始化与清理

一、构造器1. 重载重载根据参数的数量、类型、顺序来区分同名方法,但不能根据返回值来区分。如两个方法:void f(){}int f(){ return 1;}调用的时候只写了f(),编译器无法确定你想要调用的是哪一个。2. 构造器除构造器外,编译器禁止在其他任何方法中调用构造器;二、 清理:终结处理和垃圾回收Java虚拟机具有自动垃圾回收机制,在合适的时候,虚拟机会开启一个线程,去清理垃

2017-08-27 16:47:29 249

原创 控制执行流程

1. for循环Java里唯一用到逗号操作符的地方就是for循环的控制表达式。public class CommaOperator{ pulic static void main(String[] args) { for(int i =1,j=i+10; i<5;i++, j=i*2){ System.out.println("i = " + i +

2017-08-27 15:28:13 208

原创 操作符

1. 赋值“=”基本类型存储了实际的数值,而并非指向一个对象的引用,所以在为其赋值的时候,是直接将一个地方的内容复制到了另一个地方。例如,对基本数据类型使用a=b,那么b的内容就复制给了a。若接着又修改了a,而b不会受到影响。但是在为对象“赋值”的时候,是将一个对象的引用从一个地方复制到另一个地方,改变一个会影响另一个。2. 算数操作符一元操作符:+、-二元操作符:+、-、*、/、%3. 自

2017-08-27 15:16:17 245

原创 一切都是对象

一、用引用操作对象String s;这里创建的只是引用,并不是对象。String s = "abc";这里用“=”把s和一个String关联在一起,后面可以用s去操作这个对象。二、储存位置寄存器最快的存储区,它在处理器内部,它是根据需求自己进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象。堆栈位于RAM中,先进后出。引用就是存放在这里,存放着堆中对应的对象的位置信息。它

2017-08-20 20:07:55 158

原创 关于maven的常见错误

1. 第一次从SVN上检出项目时,maven会自动下载jar包到本地仓库,需要一段时间,在此之前可能会大量报错;2. maven未下载完成的文件(jar包)以updating结尾,可以通过删除这些文件,手动添加jar包来改错;或者通过网上搜索国内镜像文件地址(如阿里云),通过在setting.xml中设置镜像文件的配置地址,在哪个地址中下载不能下载的jar包;3. pom.xml中报错的地

2017-04-18 19:50:27 610

原创 单行函数の转换函数

一、TO_CHAR1.将日期转换成字符串 —— TO_CAHR(date,'fmt')—  使用format定制日期的格式—  使用fm来去除空格或者0日期格式模型的元素(日期的默认格式:DD-MON-YY):—  year:英文年份(例如:two thousand seven(2007年))—  month:英文月份(例如:march)—  mon:英文月份的缩写(例

2016-12-17 17:29:01 255

原创 Interpreter解析器模式

Interpreter解析器模式        在特定领域中,某些变化虽然频繁,但可以抽象为某种规则。这时候,结合特定领域,将问题抽象为语法规则,从而给出在该领域下的一般性解决方案。        在软件构建中,如果某一特定领域的问题比较复杂,类似的结构不断重复出现,如果使用普通的编程方式来实现将面临非常频繁的变化。这种情况下,将特定领域的问题表达为某种语法规则下的桔子,然后构建一个解

2016-10-09 18:06:19 415

原创 “对象创建”模式

“对象创建”模式        定义:通过“对象创建”模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象的稳定。它是接口抽象之后的第一步工作。一、Factory Method1. 动机        在软件系统中,经常面临着创建对象的工作;由于需求的变化,需要创建的对象的具体类型经常变化。如何应对这种变化?如何绕过常规的对象创建方法(new),

2016-10-09 18:05:34 343

原创 行为变化模式

行为变化模式        在组件的构建过程中,组件行为的变化经常导致组件本身剧烈的变化。“行为变化”模式将组件的行为和组件本身进行解耦,从而支持组件行为的变化,实现两者之间的解耦。一、Command模式        在软件构建过程中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合(比如需要对行为进行记录、撤销、重复、事务等处理),这种无法抵御变化的紧耦合是不适合

2016-10-09 15:50:28 372

原创 数据结构模式

状态变化模式        在组件构建的过程中,某些对象的状态经常面临变化,如何对这些变化进行有效的管理?同时又维持高层模块的稳定?“状态变化”模式为这一问题提供了一种解决方案。

2016-10-09 12:16:52 686

原创 接口隔离模式

接口隔离模式        在组件构建过程中,某些接口之间直接的依赖常常会带来很多问题、甚至根本无法实现。采用添加一层间接(稳定)接口,来隔离本来互相紧密关联的接口是一种常见的解决方案。一、Facade门面模式        为了系统中的一组接口提供一个一致(稳定)的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用(复用)。        如下图,B方案

2016-10-07 15:23:14 494

原创 面向对象的设计模式(三)——Bridge模式

2. Bridge 桥模式◆  动机:        由于某些类型的固有的实现逻辑,使得他们具有两个变化的维度,乃至多个维度的变化。如何应对这种“多维度的变化”?如何利用面向对象技术来使得类型可以轻松地沿着两个乃至多个反向变化,而不引入额外的复杂度?我们还是先上代码:abstract class Messager { public abstract void logi

2016-09-29 14:23:30 395

原创 面向对象的设计模式(二)——Decorator模式

(二)“单一职责”模式在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键就是划清责任。1.  Decorator 装饰模式◆  动机:        在某些情况下我们可能会“过度地使用继承来扩展对象的功能”,由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增

2016-09-29 10:01:03 298

原创 面向对象的设计模式(一)

一、软件设计概要设计模式:可复用面向对象软件的基础——其中 可复用是目标,面向对象是手段,这两点是整个设计模式的核心。学习目标:松耦合设计思路、面向对象的设计原则、重构技法改善设计、GOF核心设计模式

2016-09-29 00:51:56 764

原创 NDK和依赖的一些知识

NDKJDK : Java Development Kit(Java开发工具包)SDK : Software Development Kit(软件开发工具包)NDK :Native Development Kit (原生开发工具包,可以通过这个工具包用C / C++开发)JNI :Java Native Interface (Java原生的接口)使用NDK的优劣:优

2016-09-28 13:52:35 443

原创 电量优化

电量消耗:25%~30%消耗在核心功能上——画图、布局、动画剩下的75%左右——上传统计数据、检查位置信息、轮训服务器,拉取广告信息网络优化——把非即时的网络请求打包批处理手机与基站的连接是通过芯片完成的,也就是我们发送网络请求和接收数据都是要唤醒芯片来完成。当芯片发送网络请求和接收网络请求时,芯片的电量消耗会达到峰值,而且芯片在完成网络任务后会保持唤醒状态一段时间才会停止

2016-09-24 13:53:57 373

原创 视图优化

GPU向缓存区写入每一帧的视图数据,是一行一行地写入图像数据的写入的。如果帧率大于屏幕刷新率,就会产生视图割裂现象。

2016-09-24 11:38:59 944

原创 内存优化

Memory Monitor:方便显示内存使用和GC情况;快速定位卡顿是否和GC有关;快速定位Crash是否和内存占用过高有关;快速定位潜在的内存泄漏问题;简单易用,但不能准确定位问题;Allocation Tracker:定位代码中分配的对象的类型、大小、时间、线程、堆栈等信息;定位内存抖动问题;配合Heap Viewer一起定位内存泄漏问题;

2016-09-23 21:22:56 2038

原创 Gradle的基本概念和使用

一、Gradle        Gradle是一个自动化构建工具,它使用一种基于Groovy的特定领域语言来声明名目设置,而不是传统的xml。当前仅支持Java、Groovy和Scala语言。        首先我们要知道,在软件开发过程中,Coding之外还有其他很多工作要做,比如:编译源代码、运行单元测试和集成测试、执行静态代码分析、生成分析报告、创建爱你发布版本、部署到目标环境、部署

2016-09-11 12:32:03 8879

原创 第十章 传感器和LBS

一、传感器别忘记注销,在onPause方法中注销,不然会耗电很快,因为硬件会不断扫描数据上传谨慎使用传感器延时,根据应用场景选择合适的频率,因为他会占用系统资源、消耗电量甚至造成卡死;

2016-09-05 13:58:15 438

原创 第九章 Service不可不知的事

当旋转手机屏幕,竖屏变横屏时,activity是重新创建的,所以service的binder和activity会自动断开;

2016-09-01 12:30:59 271

原创 第九章 多进程(multiprocess)

一、多进程的基础知识◆  为什么使用多进程?        一个应用默认使用一个进程,这个进程(主进程)的名字就是应用的包名,进程是系统分配资源和调度的基本单位,每个进程都有自己独立的资源和内存空间,其他进程不能任意访问当前进程的内存和资源,系统给每个进程分配的内存会有限制。        如果一个进程占用内存超过了这个内存限制,就会报OOM的问题。为了解决应用内存的问题,Androi

2016-08-30 14:16:54 2909

原创 第八章 多线程

拾遗:1.  在整理、重构代码时,按F6可以将一个类移到其他地方;2.

2016-08-24 12:48:10 408

原创 第六章 解析网络数据

解析XML数据和JSON数据        首先要知道的一个问题 —— 数据到底是以什么样的格式在网络上传输的呢?随便传递一段文本肯定不行,因为另一方根本不知道这段文本的用途是什么。因此,我们会在网络上传输一些格式化后的数据,这种数据有一定的结构规格和语义,另一方收到数据消息之后就可以按照相同的结构规格进行解析,进而取出它想要的那部分内容。        网络上常用的传输数据的格式有两种

2016-08-22 14:06:49 712

原创 第六章 使用网络技术

GET拾遗:1. 泛型:

2016-08-19 11:20:37 456

原创 第五章 SQLite

快捷键Ctrl+Shift+A弹出对话框中可以输入要执行的操作的名字,可快速执行操作;用上述快捷键输入ADB Clear清除这个工程在手机中的数据,和安卓系统中setting工具(下图)的清除工具是一样的效果;原始的SQL语句执行效率更高,如rawQuery、execSQL语句;数据库是什么,可以做什么uri和URL

2016-08-15 13:50:44 341

原创 JAVA中I/O的基础知识

JAVA中I/O的基础知识1.1 File类和流File类包含了获得一个文件/目录的属性,以及对文件/目录进行改名和删除的方法。但它不包括创建文件的方法,也不包括从/向文件读/写数据的方法。流的分类:根据数据的单位不同分为字节流和字符流;    根据数据的流向分为输出流和输入流;1.2 文本文件的I/O写数据——PrintWriter

2016-08-12 03:29:08 462

原创 第五章 SharedPreferences与文件管理

一、数据持久化Android中提供了三种实现数据持久功能的方式:文件存储、SharedPreference存储、数据库存储;如何修改——修改就是直接用put把以前的数据覆盖掉如何删除——remove相同key的值注意都要commitcommit和apply的区别:commit是同步操作,apply是异步操作,一般建议用apply,因为和网络、IO相关的操作都用异步,后台

2016-08-09 10:33:47 402

原创 第三章 服务和广播

一、线程和Handler异步消息机制1.1 线程与主线程线程是一个单一的执行序列。单个线程中的代码可得到逐步执行。每个Android应用的运行都是从主线程开始的。然而,主线程并非如线程般的预定执行序列,如下图。相反,它处于一个无限循环的运行状态,等待着用户或系统触发事件的发生。事件触发后,主线程便负责执行代码,以响应这些事件。注意:如果想要更新应用程序里的 UI 元素,则必

2016-08-02 14:13:04 524

原创 第三章 自定义控件和Fragment

1.大小、长度单位px :像素点   —— 一般不用做长度单位,因为不同型号的手机的像素密度是不一样的,以它为单位的话会造成控件在不同手机的长度不一样;dp:与像素点密度密切相关         —— dp可以使不同型号的手机显示基本相同的长度;sp:相当于dp(用来修饰文字)dip = dp使用方法:文字的尺寸一律用sp单位;   非文字的的尺寸一律用dp单位;  偶

2016-07-25 11:03:05 3474

原创 布局技巧与列表控件

1. 布局与优化1.1五大布局LinearLayout ——线性布局; RelativeLayout ——相对布局; RrameLayout ——帧布局; AbsoulteLayout——绝对布局(被废弃); TableLayout ——表格布局;1.2 布局原理UI = 布局 + 控件;· 系统怎么把图形画出来:读取xml文件——> 解析标签 ——> 绘图(控件)

2016-07-24 14:18:25 501

原创 第一周 Android开发环境搭建

Android开发环境的搭建

2016-07-20 12:32:19 595

Android 刮刮卡效果 自定义控件实现

资源为博客的实例代码: http://blog.csdn.net/lmj623565791/article/details/40162163 有问题请博客留言

2017-11-17

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

TA关注的人

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