Java8
a18792721831
这个作者很懒,什么都没留下…
展开
-
java--序列化
java--序列化序列化介绍为什么需要序列化序列化的范围序列化扩展应用如何实现序列化创建需要序列化的bean序列化反序列化序列化相关的类自定义序列化策略序列化idtransient 阻止序列化序列化介绍为什么需要序列化Java 平台允许我们在内存中创建可复用的 Java 对象,但一般情况下,只有当 JVM 处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比 JVM 的生命周期更长。但在现实应用中,就可能要求在JVM停止运行之后能够保存(持久化)指定的对象,并在将来重新读取被保存的对象。Jav原创 2020-08-18 19:57:40 · 137 阅读 · 0 评论 -
java--最全注解解析
java--最全注解解析注解标准注解元注解Target 范围Retention 声明周期Documented 说明文档Inherited 传播注解元素注解元素的值注解元素的默认名称注解不支持继承注解解析器实例--定义注解注解类构造方法属性方法参数变量实例--解析注解注解类构造方法属性方法参数变量github地址:https://github.com/a18792721831/studyjdk.gitmodel:先来一张图总览:注解Annotation(注解)是 Java 提供的一种对元程序中原创 2020-08-16 17:38:26 · 224 阅读 · 0 评论 -
Java--反射详解
Java--反射详解动态语言反射机制--运行中知道全部的类和属性反射APIClassFieldMethodConstructor反射步骤获取Class==getClass()====class关键字====forName()==获取实例对象==Class的newInstance()====Constructor的newInstance()==动态语言动态语言,是指程序在运行时可以改变其结构:新的函数可以引进,已有的函数可以被删除等结构上的变化。比如常见的 JavaScript 就是动态语言,除此之外 R原创 2020-08-13 20:17:40 · 222 阅读 · 0 评论 -
Java--异常详解
Java--异常详解异常分类ThrowableErrorExceptionRuntimeExceptionnCheckedException异常处理方式throwthrowsjvm自动抛出throw和throws的异同异常的捕获异常调用链异常分类如果某个方法不能按照正常的途径完成任务,就可以通过另一种路径退出方法。在这种情况下会抛出一个封装了错误信息的对象。此时,这个方法会立刻退出同时不返回任何值。另外,调用这个方法的其他代码也无法继续执行,异常处理机制会将代码执行交给异常处理器。Throwable原创 2020-08-11 20:06:07 · 365 阅读 · 0 评论 -
Java基础--AQS原理
Java基础--AQS原理1. Lock 谱系图2. Lock 接口4. AbstractOwnableSynchronizer5. AbstractQueuedSynchronizer5.1 AQS的API5.2 自定义非重入独占锁5.2 自定义非重入独占锁的缺陷5.3 自定义重入独占锁5.4 自定义计数器锁5.1 Node5.2 ConditionObject3. Condition 接口6. synchronized 和 Lock 区别1. Lock 谱系图jdk对锁的实现的类主要是2个:Ree原创 2020-06-21 19:37:44 · 393 阅读 · 1 评论 -
Java基础--synchronized原理详解
Java基础--锁1. 多线程特性1.1 原子性(Atomicity)1.2 可见性(Visibility)1.3 有序性(Ordering)1.4 Happen-Before原则2. 锁定义3. 锁类型3.1 乐观锁3.2 悲观锁3.3 自旋锁1. 多线程特性1.1 原子性(Atomicity)原子性是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一单开始,就不会被其他线程干扰。1.2 可见性(Visibility)可见性是指当一个线程修改了某一个共享变量的值,其他线程是否能够原创 2020-06-13 13:19:39 · 393 阅读 · 0 评论 -
Java基础--多线程详解
1.线程的概念;2.线程如何使用;3.jdk支持的基本线程池;4.线程生命周期;5.线程启动与终止;6.后台线程;7.线程继承其他类;原创 2020-06-06 14:25:19 · 4041 阅读 · 0 评论 -
Java基础--HashMap源码
HashMap几乎是我们开发中用到的最多的数据结构之一了,但是,HashMap的源码实现你读过吗?原创 2020-05-23 23:40:57 · 449 阅读 · 0 评论 -
Java基础--HashTable源码
Java基础--HashTable源码1.Map接口2.Dictionary3.HashTable3.1 全局属性3.2 辅助类3.2.1 Entry3.2.2 EnumeratorHashTable的类图可以看到HashTable继承于Dictionary实现了Map、Cloneable、Serializable接口。其中Cloneable和Serializable是标记性接口。标记性接口,就是说接口里面没有定义任何的方法,一个类实现接口,也不需要实现任何的方法。这些接口存在意义只是标识,这些类可原创 2020-05-13 21:10:03 · 412 阅读 · 0 评论 -
jdk源码学习计划
jdk源码学习计划1.lang2.util3.io4.nio5.net6.beans7.math8.time9.rmi10.sql接下来一段时间,将会过一遍jdk源码。很简单就能够知道,jdk的结构。对比jdk的结构,暂时分为9部分,其中界面和web程序不进行研究。安全也不进行研究,暂时接触不到。自然语言相关的包也不进行研究。每次学习一点,回来增加一点。1.lang说实话,jav...原创 2020-02-03 17:09:36 · 361 阅读 · 0 评论 -
java8测试、调试和重构
java8测试、调试和重构1.Lambda化2.进进出出,摇摇晃晃3.孤独的覆盖4.同样的事情做两次5.使用forEach不如使用peak6.断点调试7.总结1.Lambda化使用Lambda表达式重构现有代码就是Lambda化。2.进进出出,摇摇晃晃如果一段代码不断的查询和操作某对象,目的只是在最后给该对象设个值,那么这段代码就本该属于操作的对象。3.孤独的覆盖使用集成,目的只是为了...原创 2019-04-19 19:42:00 · 341 阅读 · 0 评论 -
java 8新特性--数据并行化
java 8新特性--数据并行化1.并行与并发2.为什么选择并行化3.并行化流操作1.并行与并发并发:不同任务共享一个CPU的时间段。比如一个CPU分配不同的时间片。并行:一个任务共享不同CPU的时间段。比如一个任务由多个CPU执行。2.为什么选择并行化现在的芯片的处理速度达到GHz,超级计算机的处理速度更快。芯片的速度发展速度变慢,芯片的核数发展增加。可以预计,在未来一段时间内,通...原创 2019-04-18 20:55:20 · 432 阅读 · 0 评论 -
java 8Lambda表达式二
java 8Lambda表达式二1.Filter2.collect3.Java8之前的替换4.1.Filter源码:Stream<T> filter(Predicate<? super T> predicate);package java.util.function;import java.util.Objects;@FunctionalInterfacep...原创 2019-04-02 20:56:00 · 245 阅读 · 0 评论 -
java8包装类支持流操作
java8包装类支持流操作1.为什么包装类需要对流进行支持2.有哪些包装类2.1ToLongFunction:Long->long2.2ToIntFunction:Integer->int2.3ToDoubleFunction:Double->double2.4ToDoubleBiFunction:doSome:Double->double1.为什么包装类需要对流进行支持...原创 2019-04-08 19:11:11 · 271 阅读 · 0 评论 -
Java8新特性
Java8新特性1.方法重载2.@FunctionalInterface3.Java的二进制接口的兼容性4.默认方法5.多重继承6.多重继承于抽象类7.接口的静态方法8.避免空指针异常1.方法重载Java中可以进行方法重载,造成多个方法有相同的的方法名,但是签名却不同。这在推断参数类型时会带来问题,因为系统可能会推断出多种类型,这时,javac会选择最最具体的类型。 private void...原创 2019-04-08 20:29:14 · 144 阅读 · 0 评论 -
【转载】Java 8新特性终极指南
转自:http://www.importnew.com/11908.html<!-- BEGIN .entry-header --><div class="entry-header"> <h1>Java 8新特性终极指南</h1> </div><!-- BEGIN .entry-header -...转载 2019-04-16 15:55:56 · 645 阅读 · 0 评论 -
java8新特性--高级集合类和收集器
java8新特性--高级集合类和收集器1.方法引用2.元素顺序3.收集器得到集合4.收集器得到值5.数据分块6.数据分组7.字符串8.组合收集器9.StringJoiner10.Map的迭代1.方法引用什么是方法引用:对于一个对象,我们调用其方法,通常是对象引用.方法。比如:package domain;import java.io.Serializable;public cl...原创 2019-04-16 20:37:41 · 467 阅读 · 0 评论 -
java8设计和架构
java8设计和架构1.Lambda表达式和设计模式2.Lambda表达式和SOLID原则1.Lambda表达式和设计模式有时候,使用Lambda表达式可以使得设计模式更加简单。命令者模式策略模式观察者模式模板方法模式发现上述设计模式大都类似,都是框架差不多,但是细节不同,而且这些不同点一般是行为操作不同。。2.Lambda表达式和SOLID原则SOLID :Single...原创 2019-04-22 18:56:18 · 231 阅读 · 0 评论 -
【转载】Java回调机制解读
转自:https://www.cnblogs.com/xrq730/p/6424471.html Java回调机制解读 模块间调用在一个应用系统中,无论使用何种语言开发,必然存在模块之间的调用,调用的方式分为几种:(1)同步调用同步调用是最基本并且最简单的一种调用方式,类A的方法a()调用类B的方法b(),一直等待b()方法执行完毕,a()方法继续往下...转载 2019-04-22 20:00:21 · 185 阅读 · 0 评论 -
java8使用Lambda表达式编写并发
java8使用Lambda表达式编写并发1.提倡使用非阻塞性IO2.回调3.Lambda化4.末日金字塔5.Future6.CompletableFuture7.supplyAsync8.CompletableFuture一些常用方法9.响应式编程10.总结1.提倡使用非阻塞性IO阻塞性IO对于大量的数据的支持性并不是很好,如果有大量的IO操作等待执行,那么使用阻塞性IO就会降低整个程序的性能...原创 2019-04-22 20:48:14 · 1856 阅读 · 0 评论 -
Java8--Lambda表达式
Lambda表达式1.什么是Lambda表达式2.Lambda的参数列表3.Lambda的返回值4.Lambda表达式的类型推断5.Lambda表达式引用值6.函数接口7.jdk已定义的函数接口7.1BinaryOperator7.2Predicate7.3Consumer7.4Function7.5Supplier7.6UnaryOperator7.7@FunctionalInterface1...原创 2019-03-26 21:04:19 · 301 阅读 · 0 评论