Java
珍心
诚心学习,非诚勿扰
展开
-
程序员知识总结,持续更新中
AndroidAndroid-TextView-文本可选择复制+定制ActionModeJAVAJava-线程池原理原创 2021-08-22 12:43:39 · 226 阅读 · 0 评论 -
【Java】Java注解简单熟悉和了解
学而不思则罔,思而不学则殆【Java】Java注解简单熟悉和了解引言注解定义注解分类元注解TargetRetention普通注解Method之获取注解Method返回类型Method的注解Method的参数Method参数的注解引言最近在学习Retrofit网络请求框架,发现该框架中主要使用注解来封装内部逻辑,使开发的时候调用简洁。因此写一篇文章记录一下注解的相关知识注解定义Java 注解是在 JDK5 时引入的新特性,注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可原创 2020-11-17 22:43:13 · 164 阅读 · 2 评论 -
【RxJava】RxJava入门和原理分析
学而不思则罔,思而不学则殆【RxJava】RxJava入门和原理分析引言数据源+数据处理引言个人理解:RxJava 是 一种链式调用链,原理是双向链表调用链+代理模式首先什么是链式调用,常见的是就Builder(构建者模式)的用法,比如OkHttp中的Client构造: OkHttpClient client = new OkHttpClient().newBuilder() .connectTimeout(10, TimeUnit.SECONDS)原创 2020-11-12 08:20:30 · 372 阅读 · 1 评论 -
【Java】CountDownLatch简单使用
学而不思则罔,思而不学则殆【Java】CountDownLatch简单使用CountDownLatch简单介绍CountDownLatch不足使用场景简单测试测试countDown测试多线程下载demoawait 超时逻辑CountDownLatch简单介绍用来等待某些任务完成后继续后续的工作。CountDownLatch能够使一个线程在等待另外一些线程完成各自工作之后,再继续执行。使用一个计数器进行实现。计数器初始值为线程的数量。当每一个线程完成自己任务后,计数器的值就会减一。当计数器的值为0时原创 2020-10-28 21:24:12 · 245 阅读 · 0 评论 -
【Java】TimeUnit简单了解
学而不思则罔,思而不学则殆【Java】TimeUnit简单了解时间单位说明DAYSTime unit representing twenty four hours表示24小时的时间单文,天HOURSTime unit representing sixty minutes表示六十分钟的时间单位,小时MINUTESTime unit representing sixty seconds表示60秒的时间单位,分钟SECONDSTime unit repr原创 2020-10-26 07:55:15 · 814 阅读 · 0 评论 -
【Java】深入理解ReentrantLock可重入锁之简单使用
学而不思则罔,思而不学则殆【Java】深入理解ReentrantLock可重入锁简介使用+原理分析简介使用+原理分析原创 2020-10-22 07:58:55 · 258 阅读 · 2 评论 -
【Java】深入理解AtomicInteger
学而不思则罔,思而不学则殆【Java】深入理解AtomicInteger简介方法测试lazySetgetAndIncrement --> i++incrementAndGet --> ++igetAndDecrement --> i--decrementAndGet --> --igetAndAddgetAndSetcompareAndSetweakCompareAndSetgetAndUpdateupdateAndGetgetAndAccumulateaccumulateAndG原创 2020-10-18 16:03:49 · 324 阅读 · 3 评论 -
【Java】Java集合之ArrayDeque了解和原理分析
学而不思则罔,思而不学则殆【Java】Java集合之ArrayDeque了解和原理分析方法总结对比测试ArrayDeque辅助方法1.测试空集合2.测试入队和出队3.扩容逻辑测试扩容扩容情况一扩容情况二扩容逻辑原理分析扩容一分析扩容二分析先看一下ArrayDeque的结构。方法总结对比方法方法实现是否抛出异常addaddLastNullPointerExceptionaddLast实现代码NullPointerException测试ArrayDeque原创 2020-10-14 07:48:35 · 299 阅读 · 3 评论 -
【Java】ArrayList源码解析
学而不思则罔,思而不学则殆【Java】ArrayList源码解析引言测试添加元素测试代码测试空列表添加一个元素测试数组第二次扩容ArrayList扩容长度总结长度扩容验证15 --》2222 --》33测试删除元素删除0下标位置的元素引言ArrayList是一个很常见的列表工具类,虽然是列表,但它的底层原理却是数组。 /** * Default initial capacity. */ private static final int DEFAULT_CAPACI原创 2020-09-27 20:27:18 · 166 阅读 · 0 评论 -
【Java】Arrays
学而不思则罔,思而不学则殆【Java】ArraysArraysArrays原创 2020-09-26 08:24:23 · 120 阅读 · 0 评论 -
【Java】Array-简单使用介绍
学而不思则罔,思而不学则殆【Java】Array介绍测试测试getgetgetBooleangetByte测试set测试getLength测试newInstance一维数组二维数组多维数组介绍Array作为Java中非常基本的工具类,提供了一些很强大很基础的公共方法。也作为了很多数组工具的基础方法支持者。查看方法简介,方法主要分为几类:分类作用getxxx获取数组中某个标的元素的值setxxx设置数组中某个位置的元素值getLength获取数组的长度原创 2020-09-25 22:28:51 · 445 阅读 · 0 评论 -
【Java】System.arraycopy
curl http://localhost:3434/okhttpcurl http://localhost:3434/okhttp{"code":200,"msg":"OK","data":"GET from Server,Your Msg is :"}curl -I http://localhost:3434/okhttpHTTP/1.1 200 OKDate: Thu, 24 Sep 2020 00:10:47 GMTContent-Type: application/json;原创 2020-09-25 08:05:12 · 464 阅读 · 0 评论 -
【Android】多线程AsyncTask简单使用和原理分析
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档【Android】多线程AsyncTask简单使用和原理分析前言一.目录二.定义三.作用优缺点优点缺点类图二、使用步骤1.引入库2.读入数据总结前言提示:AsyncTask是Android原生的,轻量级的线程切换工具类,本身是抽象类,需要继承,子类实现业务逻辑提示:以下是本篇文章正文内容,下面案例可供参考一.目录二.定义一个Android 已封装好的轻量级异步类属于抽象类,即使用时需实现子类来实现业务逻辑publi原创 2020-09-09 08:44:38 · 230 阅读 · 0 评论 -
【Java】【多线程】线程的方法join
【Java】【多线程】线程的方法joinjoin简单范例main线程状态test_join线程状态join范例一 - 有join和没有join的结果测试范例二测试范例二学而不思则罔,思而不学则殆join简单范例jion某个线程,会使当前线程进入等待,直到线程A结束生命周期或者达到给定的时间,那么在此当前线程出图BLOACKED的。 private static void testJoin() { Thread threadA = new Thread(new Runnable原创 2020-09-05 13:11:16 · 141 阅读 · 0 评论 -
【Java】【多线程】线程interrupt
【Java】【多线程】线程的方法yield初步了解isInterruptedisInterrupted 测试一isInterrupted 测试二interruptedinterrupted测试源码解析学而不思则罔,思而不学则殆初步了解interrupt简单熟悉。 private static void testInterrupt() throws InterruptedException { Thread thread = new Thread(new Runnable()原创 2020-09-05 11:52:15 · 191 阅读 · 0 评论 -
【Java】【多线程】线程的方法yield
【Java】【多线程】线程的方法yield学而不思则罔,思而不学则殆原创 2020-09-05 09:05:47 · 184 阅读 · 0 评论 -
【Java】位运算基础知识
【Java】位运算基础知识与运算($)或运算(|)取反异或运算(^)左移右移学而不思则罔,思而不学则殆位运算包括:与或非,异或,左移和右移运算符总结与(&)都为1才为1或(|)有1才为1非(~)取反异或(^)相同为0,不同为1左移(<<)普通左移和循环左移右移(>>)普通右移和循环右移与运算($) System.out.println("测试与(&)"); Sys原创 2020-09-03 08:23:25 · 95 阅读 · 0 评论 -
【Java】【多线程】线程的方法sleep
【Java】【多线程】线程的方法sleepsleep方法介绍例子范例二学而不思则罔,思而不学则殆sleep方法介绍sleep是一个静态方法,有两个重载方法,一个需要传入毫秒数,另一个需要毫秒数和纳秒数。public static native void sleep(long millis) throws InterruptedException;public static void sleep(long millis, int nanos) ... sleep(millis);}原创 2020-08-31 08:26:59 · 341 阅读 · 0 评论 -
Java命令总结大全
【Java】Java命令总结大全学而不思则罔,思而不学则殆Java中有很多命令命令说明Jconsole监控进程情况原创 2020-08-31 08:17:50 · 690 阅读 · 0 评论 -
【Java】【多线程】守护线程
【Java】【多线程】守护线程非守护线程守护线程作用学而不思则罔,思而不学则殆 /** * Marks this thread as either a {@linkplain #isDaemon daemon} thread * or a user thread. The Java Virtual Machine exits when the only * threads running are all daemon threads. * * &l原创 2020-08-31 07:45:32 · 146 阅读 · 0 评论 -
【Java】Java的四种引用
【Java】Java的四种引用总结四种引用测试StrongReferenceSoftReferenceWeakReferencePhantomReference学而不思则罔,思而不学则殆Java有四种引用,强软弱虚总结引用类型type说明强引用StrongReference最普遍的引用软引用SoftReference只有在内存不足的时候JVM才会回收该对象弱引用WeakReference一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的原创 2020-08-19 22:18:19 · 168 阅读 · 1 评论 -
JVM-虚拟机类加载机制
JVM-虚拟机类加载机制学而不思则罔,思而不学则殆原创 2020-08-11 07:55:59 · 133 阅读 · 0 评论 -
Java对象初始化方法执行顺序探索
Java对象初始化顺序结论测试学而不思则罔,思而不学则殆结论顺序如下:父类静态代码块,父类静态成员变量(同级,按代码顺序执行)子类静态代码块,子类静态成员变量(同级,按代码顺序执行)父类普通代码块,父类普通成员变量(同级,按代码顺序执行)父类构造方法子类普通代码块,子类普通成员变量(同级,按代码顺序执行)子类构造方法注意点:静态内容只在类加载时执行一次,之后不再执行。默认调用父类的无参构造方法,可以在子类构造方法中利用super指定调用父类的哪个构造方法。测试父类原创 2020-08-08 15:33:18 · 182 阅读 · 0 评论 -
finally简单学习
finally简单学习结论测试一测试二测试三测试四测试五测试六测试七测试返回值测试1测试2测试3学而不思则罔,思而不学则殆结论try中只要没有System.exit(0)类似的退出,finally就一定会执行只要finally中有返回值,那么最终的返回值一定是finally中的如果try中有返回值,这个是时候在,finally中修改,是不会修改其返回值的测试一 public static void main(String[] args) { TestMain te原创 2020-08-08 10:46:43 · 186 阅读 · 0 评论 -
Java的8基本数据类型
Java的8基本数据类型学而不思则罔,思而不学则殆类型类位数取值范围byteByte8位-128 127short(短整数)Short16位-215 - 225-1int(整型)Integer32位-231 - 231-1long(长整数)Long64位-263 - 263-1float(单精度)Float32位-231 - 231-1double(双精度)Double64位-263 - 263-1原创 2020-07-30 21:57:07 · 83 阅读 · 0 评论 -
Java拆箱和装箱
Java拆箱和装箱定义可拆装箱的类型学而不思则罔,思而不学则殆定义【装箱】把基本类型用它们相应的引用类型包装起来,使其具有对象的性质。int包装成Integer、float包装成Float;装箱是将值类型转换为引用类型【拆箱】和装箱相反,将引用类型的对象简化成值类型的数据;拆箱是将引用类型转换为值类型可拆装箱的类型对应关系:byte 《==》Byteshort 《==》Shortint 《==》Integerlong 《==》 Longchar 《==》 Characterdou原创 2020-07-30 21:19:34 · 160 阅读 · 0 评论