
java基础核心技术
LazyestCoder
Android开发工程师
展开
-
android 装饰模式应用
一、定义:装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实对象。二、特点(1) 装饰对象和真实对象有相同的接口,这样客户端对象能以和真实对象相同的方式和装饰对象交互。 (这一点和代理相似,只是侧重点不同,代理侧重隐藏被代理类,装饰侧重扩展被装饰的对象)(2) 装饰对象包含一个真实对象的引用(reference)(3...原创 2020-04-22 12:33:14 · 460 阅读 · 0 评论 -
输入输出流
很多同学在用遇到输入输出流时都分不清什么时候用输入流,什么时候用输出流,这里分享一下我的方法,只需要记住四个字 “读入写出”,当你需要 “读” 数据的时候,就用 “输入流”,当你要 “写” 数据的时候,就用 ”输出流”。接下来我们看一下输入流的处理:字节流-》字符流-》字符缓冲流package com.c.temp;import java.io.BufferedReader;impor...原创 2019-12-27 21:11:24 · 150 阅读 · 0 评论 -
Java实现单例
1. 什么是单例模式单例模式指的是在应用整个生命周期内只能存在一个实例。单例模式是一种被广泛使用的设计模式。他有很多好处,能够避免实例对象的重复创建,减少创建实例的系统开销,节省内存。单例模式的要求有三点:某个类只能有一个实例它必须自行创建这个实例他必须自行向整个系统提供整个实例2. 单例模式和静态类的区别首先理解一下什么是静态类,静态类就是一个类里面都是静态方法和静态field,构...原创 2019-12-19 11:34:34 · 126 阅读 · 0 评论 -
自定义线程池
本文是简单自定义线程池,只是帮助理解线程池的工作流程,其中很多地方有待完善,不能直接拿到项目里用。package com.c.study.threadpool;import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;/** * @Author geyuecan...原创 2019-10-15 18:03:31 · 125 阅读 · 0 评论 -
ThreadLocal用法
ThreadLocal使用场景:多个线程共用一个变量值(如一个静态变量),当每个线程对该变量做处理时,保证其他线程中该变量值不变,即多个线程共用,但是只是各自持有这个变量的拷贝,这个时候我们要用到ThreadLocal.使用代码示例如下:package com.c.study.thread;import androidx.annotation.Nullable;/** * ...原创 2019-10-14 11:14:25 · 254 阅读 · 0 评论 -
线程顺序执行
在面试时我们常被问及如何让java线程顺序执行,这我们就要了解一下 join() 方法了,我们首先来看下join()源码:/** * Waits for this thread to die. * * <p> An invocation of this method behaves in exactly the same * way as ...原创 2019-10-12 14:47:54 · 174 阅读 · 0 评论 -
取消线程二
##中断线程(二)java中中断线程不能用stop、suspend,这两种方法会强制中断线程,可能会造成不同步,破坏数据,并且这个时候线程所持有的资源未得到释放,会造成阻塞。那么我们该怎样终止线程呢,java给我们提供了intterrupt方法如下:public class InterruptThread { public static void main(String[] args...原创 2019-10-10 18:00:21 · 303 阅读 · 0 评论 -
取消线程(一)
可以取消并且有返回值的线程一、首先看代码实现package com.c.study.thread;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;/** * @Author geyue...原创 2019-10-10 11:59:55 · 146 阅读 · 0 评论 -
Java反射获取类的全部属性和全部方法#getMethods、getDeclaredMethods区别#getFields、getDeclaredFields区别
Java反射获取类的全部属性和全部方法如下://获取该类Class对象返回Class<?>,也可用 对象.getClass获得// Class<?> clazz = Class.forName("com.c.butter.Unbinder");// Class<? extends List> clazz = l...原创 2019-03-28 11:41:32 · 1074 阅读 · 0 评论 -
深入理解 Java 垃圾回收机制
深入理解 Java 垃圾回收机制一:垃圾回收机制的意义java 语言中一个显著的特点就是引入了java回收机制,是c++程序员最头疼的内存管理的问题迎刃而解,它使得java程序员在编写程序的时候不在考虑内存管理。由于有个垃圾回收机制,java中的额对象不在有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存;内存泄露:指该内存空间使用完毕后未回收,转载 2017-04-24 23:30:46 · 364 阅读 · 0 评论