笑忘哭的博客

路痴的救赎

Java8新特性之方法引用

方法引用 前面讲过Lambda表达式,而方法引用是Lambda表达式的一种特殊情况,或者说,是Lambda表达式的一种语法糖。 方法引用的分类 方法引用可以分为4类: 1、类名::静态方法名 2、引用名(对象名)::实例方法名 3、类名::实例方法名 4、构造方法引用:类名::new 类名...

2019-07-08 12:50:11

阅读数 52

评论数 0

Java8新特性之java.util.function包下的函数式接口

Function接口 Function接口,是函数式接口,在用户实际使用的时候可以传递任意的操作给该函数,它可以用来传递行为。 对于 Function<T,R>的参数,其表示传入T类型的对象,返回R类型的对象。 public class FunctionTest{ ...

2019-07-07 17:41:20

阅读数 29

评论数 0

Java8新特性之Lambda表达式

为什么需要Lambda表达式 在Java中,我们无法将函数作为参数传递给一个方法,也无法声明返回一个函数方法。 Lambda表达式为Java添加了缺失的函数式编程的特性,使我们能将函数当做一等公民看待,在Java中,Lambda表达式是对象,他们必须依附于一类特别的对象类型——函数式接口。 下面...

2019-07-05 10:47:21

阅读数 45

评论数 0

Java并发编程之阻塞队列

ArrayBlockingQueue:是一个基于数组结构的有界阻塞队列,此队列按FIFO(先进先出)原则对元素进行排序。 LinkedBlockingQueue:是一个基于链表结构的阻塞队列,此队列按FIFO(先进先出)排序元素,吞吐量通常高于ArrayBlockingQueue。 Synch...

2019-06-05 16:07:50

阅读数 31

评论数 0

Android数据处理之SQLite数据处理

背景概述 SQLite的特点 小型、单文件形式、B-Tree结构效率高、可嵌入、开源跨平台、关系型数据库、支持事务 实现方式介绍与对比 创建数据库的方式 context.openOrCreateDatabase(name,mode,cursorFactory) 继承SQLite...

2019-05-27 18:20:10

阅读数 40

评论数 0

Android数据处理之SharePreferences

概述与特点分析 以键值对的方式进行存储 支持多种数据类型 特点与应用场景 特点:存储位置(当前App所属的文件夹下shared_prefs目录)、访问权限(只要自己的App能够访问到)应用场景:非结构化存储,简便存储 将数据存入SharedPreference 获取SharedP...

2019-05-27 18:08:46

阅读数 29

评论数 0

Android数据处理之File数据处理

Assets中的数据处理 Assets目录的文件位置 assets目录位于项目文件下,其与java、res目录是平级的关系,我们可以在assets目录下放置我们需要的资源文件。 对资源文件的读取 通过AssetManager读取 context.getAsset().open(fi...

2019-05-27 17:56:21

阅读数 28

评论数 0

Redis的事务

简介 Redis事务可以一次执行多个命令(允许在一个单独的步骤中执行一组命令),按顺序地串行化执行,执行过程中不会被其他命令插入,不许加塞。 在输入 MULTI 命令开始,输入的命令会依次进入命令队列,但不会执行。 输入 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余命令依然...

2019-05-24 17:06:02

阅读数 30

评论数 0

Redis发布订阅

简介 Redis发布订阅是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 Redis客户端可以订阅任意数量的频道。 命令 订阅频道: SUBSCRIBE channel [channel] #订阅给定的一个或多个频道的信息 PSUBSCRIBE patt...

2019-05-24 17:02:58

阅读数 32

评论数 0

Java基础之自动装箱和拆箱

自动装箱和拆箱就是将基本数据类型和包装类之间进行的自动转换。JDK1.5 后,Java引入了自动装箱(autoboxing)、拆箱(unboxing) 自动装箱 基本类型的数据处于需要对象的环境中时,会自动转为”对象“ 以Integer为例,在JDK1.5以前,这样的代码 Integ...

2019-05-24 16:49:48

阅读数 29

评论数 0

Java基础之Arrays工具类的使用

JDK提供的java.util.Arrays类,包含了常用的数组操作,方便我们日常开发。 Arrays类包含了:排序、查找、填充、打印内容等常见操作。 打印数组 int a[]= {1,2}; System.out.println(a); //打印数组引用的值 System.out.p...

2019-05-24 16:46:36

阅读数 31

评论数 0

Java基础之内部类的分类

在Java中内部类主要分为成员内部类(非静态内部类、静态内部类)、匿名内部类、局部内部类。 成员内部类 1)、非静态内部类 非静态内部类必须存在一个外部类对象里。因此,如果有一个非静态内部类,那么一定存在对应的外部类对象。非静态内部对象单独属于外部类的某个对象。 非静态内部类可以直...

2019-05-21 16:42:39

阅读数 31

评论数 0

Java基础之浮点型变量和BigDecimal的使用

带小数的数据在Java中称为浮点型,浮点型可以分为float类型和double类型。 类型 占用存储空间 表数范围 float 4字节 -3.403E38~3.403E38 ...

2019-05-21 16:37:17

阅读数 34

评论数 0

Java基础之RandomAccessFile随机访问流

RandomAccessFile介绍 随机访问文件,自身具备读写方法 通过skipBytes(int x),seek(int x)来达到随机访问 特点 该对象既能读,又能写 该对象维护了一个byte数组,并通过指针可以操作数组中的元素 可以通过getFilePointer方法获...

2019-05-21 16:29:49

阅读数 64

评论数 0

缓存设计与优化

缓存的受益与成本 受益 加速读写 通过缓存加速读写速度:CPU L1/L2/L3 Cache、Linux page Cache加速硬盘读写、浏览器缓存、Ehcache缓存数据库结果。 降低后端负载 后端服务器通过前端缓存降低负载:业务端使用Redis降低后端MySQL负载等。 成本 ...

2019-05-21 16:22:33

阅读数 43

评论数 0

Redis实现分布式锁

锁的处理 单应用中使用锁:单进程多线程 使用 synchronized 或 Lock 实现该场景下的锁机制 分布式应用中使用锁:多进程 分布式锁的实现方式 数据库的乐观锁 基于zookeeper的分布式锁 基于redis的分布式锁 分布式锁的注意事项 互斥性:在任意时刻,只有一...

2019-05-06 16:21:14

阅读数 22

评论数 0

Redis使用JavaAPI

安装 加载redis驱动包 连接到Redis服务器 //连接redis服务 Jedis j=new Jedis("10.2.6.63",6379); //查看服务是否运行 System.out.println(j.ping()); String类型数据实例 //...

2019-05-06 16:12:49

阅读数 17

评论数 0

Redis持久化的取舍和选择

Redis持久化的两种方式 redis是一个支持持久化的内存数据库,也就是说,redis需要经常有内存中的数据同步到硬盘来保证持久化。为了保证数据数据的持久性,它提供了两种持久化方式。 RDB方式 AOF方式 RDB 什么是RDB RDB是通过一条命令,将Redis内存中的数据完...

2019-05-06 16:06:29

阅读数 43

评论数 0

Redis主从复制(Centos7)

主从复制 1、主服务器可以拥有多个从服务器 2、多个从服务器可以连接同一个主服务器外,还可以连接到其他从服务器 3、主从复制不会阻塞主服务器,在同步数据时,主服务器可以继续处理客户端请求 4、提供系统的伸缩性 主从复制过程 1、从服务器与主服务器建立连接,发送sync同步命令 2、主服务器开...

2019-05-06 13:21:04

阅读数 20

评论数 0

Redis的高级命令

Redis服务相关命令 redis-server:启动redis服务 redis-cli:进入redis客户端 redis-benchmark:性能测试工具 redis-check-aof:aof文件进行检查工具 redis-check-dump:rdb文件进行检查工具 redis-senti...

2019-05-06 13:17:15

阅读数 18

评论数 0

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