自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

转载 制作一个半透明遮罩层的库——TipView

效果图知识点要实现这个自定义ViewGroup,需要知道几点知识:DecorView 是什么?在 DecorView 上添加 View 之后,如何防止点击事件被透传到 content_view?Canvas和Bitmap的关系ViewGroup 不会调用 onDraw() 要如何解决?如何绘制阴影加空洞?ondraw() 和dispatchdraw()的区别pub...

2016-10-19 17:22:00 161

转载 RxJava 中的 subscribeOn 和 observeOn 的区别

如果我们有一段这样的序列Observable .map // 操作1 .flatMap // 操作2 .subscribeOn(io) .map //操作3 .flatMap //操作4 .observe...

2016-10-19 09:09:00 157

转载 一个操作SQLite数据库的例子

public class User { private int id; private String name; private int age; public User(int id) { this.id = id; } // getter and setter}public class Us...

2016-10-17 23:14:00 157

转载 我的读书计划

《Java网络编程第四版》《ngix从入门到精通》《构建之法》转载于:https://www.cnblogs.com/okadanana/p/5963121.html

2016-10-15 12:13:00 75

转载 Java ThreadLocal

ThreadLocal 类可以让你创建只被同一个线程读取和写入的变量,其他线程都不能做到,即使是在多个线程执行的是同一段代码的情况下,这些线程都不能看到彼此的 ThreadLocal 变量域。创建 ThreadLocalprivate ThreadLocal myThreadLocal = new ThreadLocal();每个线程实例化一次 ThreadLocal 对象。这样即...

2016-10-11 21:26:00 56

转载 3. 请求与响应

取得请求参数与标头处理中文字符请求与响应设置与取得请求范围属性正确使用转发、包含、重定向Web容器做了什么Web容器做了几件事:创建 Servlet 实例,并完成 Servlet 名称注册以及 URL 模式的对应。在请求到来的时候转发正确的 Servlet 来处理请求。当浏览器请求 HTTP 服务器时,而 HTTP 服务器转交请求给容器时,容器会创建一个代表当次请求的 H...

2016-10-08 23:37:00 94

转载 Java的Volatile关键字

Java 的 volatile 关键字是用来标记 Java 变量是“存储在内存中的”。更精确的说,读取 volatile 变量时,会从内存中读取,而不是从 CPU 缓存中读取。写入 volatile 变量的值时,会写入到内存中去,而不是写入 CPU 缓存中。volatile 可以保证可见性volatile 可以保证变量变化跨线程的可见性。在多线程应用中,因为性能的原因,线程可能会直...

2016-10-08 22:13:00 71

转载 排序

排序算法的模版public class Example { public static void sort(Comparable[] a) { // 不同的算法不同的实现 } public static boolean less(Comparable v, Comparable w) { return v.compare...

2016-10-08 20:58:00 61

转载 2. 编写与设置Servlet

开发环境的准备与使用开发环境如下:Java 8Tomcat 8.0Eclipse Java EEServlet API 封装在 Tomcat 目录的 lib 子目录中的 servlet-api.jarServlet API 架构public class HttpServlet extends GenericServlet { getAllDeclaredMeth...

2016-10-05 15:03:00 86

转载 1. Web应用程序简介

关于HTMLWeb应用程序,是由客户端和服务器端两个部分组成的。客户端时浏览器,服务器端是HTTP服务器。服务器上的文件或资源必须产生HTML。关于HTTPHTTP——架构在TCP/IP之上应用层的一种协议。两个基本特性:基于请求/响应模型无状态客户端队服务器发出一个取得资源的请求,服务器将要求的资源响应给客户端,每次联机只作一次请求/响应。没有请求就不会有响应。服务...

2016-10-04 19:09:00 209

转载 背包、队列和栈

背包定义背包是一种不支持从中删除元素的集合类型。使用场景帮助用例收集元素并迭代遍历所有收集到的元素。迭代的顺序不确定并且与用例无关。典型用例求平均值和方差public class Stats { public static void main(String[] args) { Bag<Double> numbers = new Bag&l...

2016-10-03 14:18:00 56

转载 Java 同步块

Java同步块用来标记一个方法或一个代码块为同步的。Java同步块可以用来避免竞态。Java同步关键字在 Java 中使用 synchronized 来标记同步块。一个同步块是同步在某些对象上。同一个对象上的所有同步块只能有一个线程执行里面的代码。其他线程试图进入同步块都会被阻塞,直到同步块中的现成离开同步块。synchronized 可以用来标记 4 种不同的同步块:实例方法...

2016-09-28 22:19:00 80

转载 Andriod性能优化笔记

布局优化布局优化的思想很简单,就是尽量减少布局文件的层级。如何进行布局优化呢?首先是删除布局中无用的空间和层级,其次有选择地使用性能较低的 ViewGroup,比如 RelativeLayout 的性能比起 LinearLayout 和 FrameLayout 就不是很好。利用 RelativeLayout 可以减少嵌套,因为嵌套意味着增加了布局的层级。另外,还可以使用以下几个标...

2016-09-27 22:42:00 73

转载 背包、队列和栈

API背包public class Bag implements IterableBag()创建一个空背包void add(Item item)添加一个元素boolean isEmpty()背包是否为空int size()背包中的元素数量先进先出(FIFO)队列pubilc class Queue imple...

2016-09-27 21:51:00 59

转载 Java内存模型

Java 内存模型内部原理JVM 中的 Java 内存模型将内存分为线程栈和堆。JVM 中的每一个线程都有自己的线程栈。线程栈包含方法的信息,也叫调用栈。线程栈也包含调用栈中的方法的局部变量。线程创建的局部变量对其他县城来说是不可见的。类型是基本类型的局部变量(boolean,byte,short,char,int,long,float,double)都存放在线程栈中,对其他线程...

2016-09-26 23:58:00 52

转载 算法和数据结构的定义

算法:即适用计算机解决问题的方法。数据结构:即便于算法操作的组织数据的方法。我们关注的大多数算法都需要适当地组织数据,而为了组织数据就产生了数据结构。学习算法的主要原因是它们能解决非常多的资源,甚至能够让我们完成一些本不可能完成的任务。无论在任何应用领域,精心设计的算法都是解决大型问题最有效的方法。转载于:https://www.cnblogs.com/okadanana/p...

2016-09-25 11:43:00 140

转载 线程安全和不可变性

竞态之发生在多线程访问相同的资源,同时有一个或多个线程写入东西到资源。相反,如果是多线程读取资源的话,反而不会发生竞态。比如public class ImmutableValue { private int value = 0; public ImmutableValue(int value) { this.value = value; ...

2016-09-22 22:49:00 59

转载 竞态条件和临界区

竞态和临界区当多个线程写入相同资源的时候,可能会发生问题。但是,如果数据没有变化的话,多个线程读取相同资源倒是没有问题。下面有个例子,如果多个线程同时处理的话就会发生问题public class Counter { protected long count = 0; public void add(long value) { th...

2016-09-21 22:50:00 68

转载 使用WIFI调试Android应用

华为手机有个奇怪的地方,当我使用USB连上电脑之后,手机里的SD卡就无法使用了,导致一些需要用到SD卡的应用无法运行。那么能不能不用USB线,仅通过WIFI进行远程调试?当然可以。下面是几个步骤启动ADB服务在CMD中输入adb start-server启动一下ADB服务插上手机使用USB连接手机和电脑,然后再CMD中输入adb devices看看是否能看到设备已连接上...

2016-09-21 21:48:00 67

转载 Pointer in C++

Pointer Variable Declarations and InitializationPointer variables contain memory address as their values.Diagrams typically represent a pointer as an arrow from the variable that contains an ad...

2016-09-20 22:58:00 94

转载 创建和启动一个Java线程

创建和启动一个Java线程创建和启动线程新建一个线程Thread thread = new Thread();启动一个 Java 线程,只需要调用它的 start() 方法thread.start()这个例子里没有写其他的代码,当线程启动之后马上就停止了。有两个办法指定线程去执行代码。一种是创建一个 Thread 的子类,覆盖 run() 方法。第二种是传入一个实现 Run...

2016-09-20 22:03:00 92

转载 多线程模型

并发模型和分布式系统的相似之处在并发系统中,不同的线程之间会进行交流,就像分布式系统中的不同进程会进行交流一样。在分布式系统中会遇到一些挑战:网络可能会异常,远程的电脑或进程挂掉了等等。并发系统中也会遇到类似的情况:CPU挂了,网卡异常,硬盘挂了等等。Parallel Workers并行工作者模型。任务会分发给不同的工作者,每个工作者完成整个任务,工作者运行在不同线程上,也有可能...

2016-09-20 21:13:00 57

转载 多线程的代价

多线程也不是万金油,也是有代价的:程序设计更复杂上下文切换的开销耗费更多的资源More complex design多线程访问共享资源的时候要注意;多线程之间交换没那么简单;出了问题很难发现、重现和修复。Context Switching Overhead当CPU从一个线程切换到另外一个线程的时候,需要保存现场,然后切换到另外一个线程时也要恢复现场。上下文切换的代价不是...

2016-09-14 23:43:00 60

转载 多线程的好处

多线程有三个好处:更好的资源分配有些情况下,程序设计更简单程序的性能提高Better resource utilization假设有一个应用用来读取磁盘里的文件并处理。读取文件需要5秒,处理文件需要2秒。如果需要读取、处理两个文件,在单线程的清下,时间消耗为5秒用来读取文件 A2秒用来处理文件 A5秒用来读取文件 B2秒用来处理文件 B=============...

2016-09-14 22:11:00 73

转载 自定义View中的onMeasure()方法

自定义View中的onMeasure()方法在自定义 View 的时候,需要实现 onMeasure() 方法,去告诉系统这个自定义 View 的大小。onMeasure() 方法如下:@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {}测量模式通过 Measure...

2016-09-12 23:03:00 100

转载 Android中的Builder模式

没有Builder模式的时候,是怎么样写代码的?举个组装电脑的例子来说明。有一台电脑类,如下public class Computer { private String cpu; private String motherboard; private String displayCard; private String ram; private...

2016-09-08 22:21:00 55

空空如也

空空如也

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

TA关注的人

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