自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程同步辅助类(一)

1.资源的并发访问控制信号量:是一种计数器,用来保护一个或者多个共享资源的访问。如果线程要访问一个共享资源,它必须先获得信号量。如果信号量的内部计数器大于0,信号量将减1,然后允许访问这个共享资源。计数器大于0意味着有可以使用的资源,因此线程将被允许使用其中一个资源。import java.util.concurrent.Semaphore;public class PrintQu

2017-09-29 10:53:38 407

原创 线程同步基础(二)

6.修改锁的公平性ReentrantLock和ReentrantReadWriteLock类的构造器都含有一个布尔参数fair,它允许你控制这两个类的行为。默认fair值是false,他称为非公平模式。在非公平模式下,当有很多线程在等待锁时,锁将选择他们中的一个来访问临界区,这个选择是没有任何约束的。如果fair值是true,则称为公平模式,锁会选择等待时间最长的访问临界区。这两种模式只适用于

2017-09-29 08:46:58 288

原创 线程同步基础(一)

1.使用synchronized实现同步方法如果一个对象已用synchronized关键字声明,那么只有一个执行线程被允许访问它。如果其他某个线程试图访问这个对象的其它方法,它将被挂起,直到第一个线程执行完正在运行的方法。静态方法则有不同的行为。用synchronized关键字声明的静态方法,同时只能够被一个执行线程访问,但是其它的线程可以访问这个对象的两个不同的synchronized方

2017-09-28 11:40:11 350

原创 线程管理

1.2线程的创建和运行继承Thread类,并且覆盖run()方法创建一个实现Runnable接口的类。使用带参数的Thread构造器来创建Thread对象。这个参数就是实现Runnable接口的类的一个对象当一个程序的所有线程都运行完成时,更明确地说,当所有非守护线程都运行完成的时候,这个Java程序将宣告结束。如果执行main()方法的线程结束了。其余的线程仍将继续执行到他们运行

2017-09-26 15:52:49 387

原创 自定义View中如何获得文本的宽和高

文本的真实宽和高,可以通过如下方法来获取: Rect rect = new Rect(); mPaint.getTextBounds(str,0,str.length(),rect); int height = rect.height(); int width = rect.width();

2017-09-25 10:42:34 304

原创 创建复合控件

以创建一个TopBar为例,做一个整理定义属性:在res资源目录的values目录下创建一个arrts.xml的属性文件  我们需要新建一个类继承自ViewGroup或者其子类,然后重写它的

2017-09-22 09:34:13 277

原创 Broadcast Receiver

Android中的广播主要分为两类类型:标准广播和有序广播。Android内置了很多系统级别的广播,我们可以在应用程序中通过监听这些广播来得到各种系统的状态信息。

2017-09-12 14:24:35 315

原创 Activity的生命周期和启动模式

一个活动在其生命周期中最多会有四种状态:运行状态、暂停状态、停止状态和销毁状态。Activity类中定义了7个回调方法,覆盖了生命周期的每一个环节。活动的启动模式一共有四种:standard、singleTop、singleTask和singleInstance,可以在AndroidManifest.xml配置文件中给<activity>标签指定android:launchMode属性来选择启动模式。

2017-09-11 10:23:20 512

原创 Intent的使用

Intent是android程序中各组件之间进行交互的一种重要方式,既可以在不同组件之间传递数据,还能指明当前组件想要执行的动作。Intent可被用于启动活动、启动服务、以及发送广播等。大致分为两种使用方式:显示Intent和隐式Intent。这里主要讲启动活动。

2017-09-08 16:04:45 492

转载 Android Studio开发时遇见adb.exe已结束工作

1、CMD命令窗口输入:adb nodaemon server 。然后就会提示你哪个端口被占用了。2、输入netstat -ano | findstr "5037" 。然后会弹出提示告诉你哪些进程占用了该端口,记住非0地址的后面的数字3、打开任务管理器,点击“进程“,“查看”-“选择列”,勾选PID4、查找第2步中看到的数字PID,然后结束相关进程,即可后来发现是3

2017-08-17 10:11:29 357

原创 Java反射机制

1.Class类的实例化a.Class类中本身没有定义任何的构造方法,所以如果要使用则首先必须通过forName()方法实例化对象b.可以使用"类.class"实例化c.可以使用"对象.getClass()"方法实例化2.Class类的使用①通过无参构造实例化对象class Student{ private String name; private int age;

2017-08-15 09:50:00 497

原创 管道流、BufferedReader类、对象序列化

1.管道流管道流的主要作用是可以进行两个线程间的通信。分为管道输出流(PipedOutputStream)和管道输入流(PipedInputStream)。如果要进行管道输出,则必须把输出流连在输入流上,在PipedOutputStream类上有如下方法用于连接管道。public void connect(PipedInputStream snk)throws IOException

2017-08-14 14:42:32 717

原创 字节流与字符流

1.字节流与字符流基本操作在字节流中输出数据主要使用OutputStream类完成,输入使用的是InputStream类。在字符流中输出主要是使用Writer类完成,输入主要是使用Reader类完成。在Java中IO操作也是有相应步骤的,以文件的操作为例,主要的操作流程如下:(1)使用File类打开一个文件(2)通过字节流或者字符流的子类指定输出的位置(3)进行读/写操作(

2017-08-11 09:51:51 332

原创 操作文件的类-----File

File类中的主要方法public static final String pathSeparator 表示路径的分隔符(windows是:";")public static final String separator 表示路径的分隔符(windows是:"\")public File(String pathname)  创建File类对象,传入完整路径public

2017-08-11 09:43:32 371

原创 java.io.IOException: 拒绝访问

问题:写了如图所示的代码,但是运行的时候发现出现异常,是怎么 回事?虽然最后显示了新建成功但是并未创建。原因:是调用File.createNewFile()引起的,这是因为D盘的访问权限不够

2017-08-10 14:12:24 33682 3

原创 java泛型知识点总结

1.泛型的基本应用泛型可以解决数据类型的安全性问题,其主要原理是在类声明时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这样在类声明或者实例化时只要指定好需要的类型即可。[访问权限] class 类名称 {[访问权限] 泛型类型标识 变量名称;[访问权限] 泛型类型标识 方法名称(){};[访问权限] 返回值类型声明 方法名称 (){泛型类型标识 变量

2017-08-10 13:36:26 727

原创 Java多线程知识点总结

1.Java中线程的实现(1)继承Thread类多线程的定义语法:class 类名称 extends Thread{//继承Thread类属性...; //类中定义属性方法...; //类中定义方法public void run(){//覆写Thread类中的run()方法,此方法是线程的主体线程主体;}}为什么启动线程不能直接使用run()

2017-08-10 09:49:46 320

空空如也

空空如也

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

TA关注的人

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