Java

[Framework]系统jar包,sdk的制作及引用

尖兵 发布于 2018-12-09

因为我是开发ROM的,所以系统的一些改动需要暴露给我们自己的APP。比如: 之前在PowerManager里面添加过一个新接口,用来释放所有的wake lock,接口调用如下: PowerManager pm = (PowerManager) getSystemService(C...

阅读(1)评论(0)赞 (0)

Java播放多媒体

wenming.gapo 发布于 2018-12-09

Java对多媒体文件的支持很差,自带的库只能播放 .mp3 等有限的几种格式的文件,连 .wma 都不支持。所以,要想用Java播放几种常见的多媒体文件,就得救助外部的第三方库。 目前用Java播放 .wma 等格式的多媒体文件,主要有两种方式。一种是通过Java的 Runtim...

阅读(6)评论(0)赞 (0)

OKHttp源码解析(6)—-拦截器CallServerInterceptor

xiaoli.wang 发布于 2018-12-09

This is the last interceptor in the chain. It makes a network call to the server. 这是链中最后一个拦截器,它向服务器发起了一次网络访问 请求服务拦截器,负责向服务器发送请求数据、从服务器读取响应数据...

阅读(6)评论(0)赞 (0)

JVM类加载过程

puefu.he 发布于 2018-12-09

在Java语言里,编译时并不进行链接工作,类型的加载、链接和初始化工作都是在Java虚拟机执行过程中进行的。在Java程序启动时,Java虚拟机通过加载指定的类,然后调用该类的main方法而启动。在JVM启动过程中,外部class字节码文件会经过一系列的过程转化为JVM中执行的数...

阅读(4)评论(0)赞 (0)

HashMap实现原理

1

dulong 发布于 2018-12-09

HashMap 是在JDK1.2中引入的一种 K/V对 形式的集合类. 在底层, HashMap 通过 数组和单链表 组合的结构形式来存储数据,数组在这作为一个外部结构,数组中的每个节点被称做 Bucket(桶) ,而 桶是由在单链表构成 , JDK1.8 之后 为了解决长链表下...

阅读(6)评论(0)赞 (0)

Java 接口,最少必要知识

2

尖兵 发布于 2018-12-09

接口的使用分两步: 创建接口 实现接口 2.1 创建接口 //源码 public interface Move { void move(); } 复制代码 2.2 实现接口 //源码 public class Animal implements Move { @Override ...

阅读(6)评论(0)赞 (0)

Java8 Stream

1

xiaoli.he 发布于 2018-12-09

在Java 8中API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。在Java中只要你应用的版本是java 8以上的话都能使用该API,但是在Android中如果API低于24时,是无法使用该java API,今天我们来介绍在Android中如何使用 S...

阅读(7)评论(0)赞 (0)

MRoot 2.0 发布,Java 快速开发平台,代号:小小懒

dulong 发布于 2018-12-09

MRoot是基于Spring Boot2编写的快速开发平台 【调整】 由Kotlin改为Java实现 按照阿里巴巴Java代码规范进行开发 调整实体类,分为DO、BO和VO 架构分层更为清晰 引入SOFABoot 数据库更好的支持MariaDB 【升级】 Kotlin改为Java...

阅读(7)评论(0)赞 (0)

解锁JMeter(二)——JMeter自定义JavaSampler

7

songhua.gao 发布于 2018-12-09

阅读本文大约需要10分钟 JMeter提供了多种取样器,包括HTTP请求,Bean Shell Sampler, JDBC Request……可以支持大部分的请求。除此之外,如果公司使用了自定义的接口协议,JMeter依然可以强大地支持。JMeter提供了自定义Java请求,通过...

阅读(14)评论(0)赞 (0)

懒加载的艺术

zhuangli 发布于 2018-12-09

懒加载是一种加载方式,加载对象一般有两种方式,一是在启动时就立即创建好,另一种则是在需要用到的时候再去加载即懒加载。懒加载一般会针对单例场景,且一般是针对在加载消耗较大费时,且不一定会用到的场景。 好了,相信啥意思大家都明白!那么具体如何实现呢?其实挺有意思的! 方案1. 直接用...

阅读(9)评论(0)赞 (0)

Effective Java Item28 – 列表優於數組

3

Harries 发布于 2018-12-09

這篇是Effective Java – Prefer lists to arrays章節的讀書筆記 本篇的程式碼來自於原書內容 Item28: 列表優於數組 我們來看看先講泛型跟數組的不同 covariant 協變 跟 invariant 不可變 Array 是協變 ...

阅读(10)评论(0)赞 (0)

Java多线程编程笔记2:synchronized同步方法

xirruiqiang 发布于 2018-12-08

非线程安全会在多个线程对同一个对象中的实例变量进行并发访问时发生,产生的结果就是 脏读 ,也就是取到的数据是被更改过的。线程安全就是获得的实例变量的值是经过同步处理的。 方法内的变量是线程安全的 方法内的变量是线程安全的。非线程安全的问题存在于 实例变量 中,如果是 方法内部的私...

阅读(18)评论(0)赞 (0)

《深入理解 Java 虚拟机 》学习笔记

8

小丁 发布于 2018-12-08

第二章 Java 内存区域与内存溢出异常 内存区域 – from 姜志明 对象创建 加载类 若已经在内存中则跳过。 类加载完以后就可以确定对象所需的空间大小 // TODO why? 分配内存 根据 GC 回收算法的不同,分配方式略有区别。 标记整理算法,使用空闲列表 ...

阅读(16)评论(0)赞 (0)

使用R2DBC实现数据库的响应式访问

hellas 发布于 2018-12-08

Reactive Programming可以看作是一种编程模型,它通过创建事件驱动的非阻塞功能管道来促进可扩展性和稳定性,这些管道对资源的可用性和可处理性做出反应。延迟执行, 并发和异步性 只是底层编程模型的结果。 只有当整个堆栈都是被动的并且所有参与的组件(应用程序代码,运行时...

阅读(18)评论(0)赞 (0)

使用resilience4j-retry实现函数式重试

xiaoli.he 发布于 2018-12-08

Resilience4j中有一个特殊模块(Resilience4j -Retry),它是为Java8和函数式编程设计的容错库,它是具有最小依赖性的轻量级库(主要是vavr) 当你重试时,有很多例子: 用于远程系统调用的跨微服务通信,其中很可能还需要添加断路器逻辑 如果您...

阅读(19)评论(0)赞 (0)