BufferedinputStream学习 思考:有了inputStream为什么还需要BufferedInputStream?inputStream和bufferedInputStream的区别就是后者带有缓冲区,前者没有inoutStream在读取的时候,每读一个字节就需要写入一个字节,这样就会频繁的进行IO操作bufferedInputStream带缓冲区的流,可以一次性读取很多字节,但是不往磁盘中写入,只是放在内存中,等凑够了缓冲区大小的是时候,一次性写入到磁盘中也就引生出了一个需要注意的地方在使用bufferedInputStr
PlumeLog日志搭建-redis+es PlumeLog日志搭建Plumelog一个简单易用的java分布式日志组件搭建步骤:1: 安装redis or kafka这里使用的是redis redis 官网:https://redis.io kafka:http://kafka.apache.org 推荐使用docker安装redis:# 拉取镜像sudo docker pull redis# 下载redis.confwget -P /usr/local/redis http://download.red
使用spring的ioc实现简单工厂模式 有一个需求是这样的,有五家银行的数据需要进行从excel中读取,进行筛选,每一家的筛选逻辑是不一样的,创建了5个bean,现在需要通过解析excel的名称然后动态的进行获取bean对象先不使用工厂模式来实现着一个功能设计:创建一个Map集合,key存放excel所需要匹配的名字,value是需要的bean对象package com.picc.peek.dvp.filter;import com.picc.peek.dvp.service.BankBussinessType;import com
SpringCloud-----Ribbon手写轮询算法 1.在服务的消费方提供一个接口public interface LoadBalancer{ // serviceInstanceList 为eureka中服务的数量 ServiceInstance instance(List<ServiceInstance> serviceInstanceList);}2.实现接口@Component // 注意一定要将其注入到spring容器之中public class MyLb implements LoadBalancer{
JAVA基础之-----反射详解(**) 反射是框架实现的灵魂所在必须先得到字节码的class思考? java中如何创建对象1.使用new关键字:这是我们最常见的也是最简单的创建对象的方式2.使用Clone的方法:无论何时我们调用一个对象的clone方法,JVM就会创建一个新的对象,将前面的对象的内容全部拷贝进去3.使用反序列化:当我们序列化和反序列化一个对象,JVM会给我们创建一个单独的对象4.反射一、反射的概述java反射机制:在运行状态中,对于任意一个类,都能够知道这个类的属性和方法。对于任意一个对象,都能够调用他的属性
java基础之------泛型详解 一、概述泛型是jdk1.5之后引入的一个新特性,泛型提供了编译时类型安全的检测机制,这个机制允许程序员在编写程序的时候进行非法参数的检测。使用泛型要比使用Object类型要好的多的多,让代码具有了更高的可读性和安全性泛型就是将原来具体的类型参数化,类似于方法中的变量参数,在使用的时候传入具体的类型目的: 在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型1.添加参数的时候可以进行参数的合法性判断2.获取参数的时候不用进行强制类型的转换泛型的本质是参数化类型 也就是所有操
java基础之-------异常详解 异常(Throwable)异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。Throwable 为最顶级的Error:(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。例如,Java虚拟机运行错误(Virtual MachineError),当 JVM 不再有继续执行操作所需的内存资
Ubuntu 20.04 美化macos 1.安装完之后ubuntu成这样我觉得太丑了,美化他,1. 修改清华源https://blog.csdn.net/luodong1501/article/details/1061773552. 下载火焰截图sudo apt-get install flameshot配置快捷键: flameshot gui3.下载macos主题https://www.pling.com/s/Gnome/p/1275087/4. 下载ubuntu 优化sudo apt install gnome-twe
ubuntu 为swap添加空间(交换空间) 原先电脑只有2g的交换,卡到飞起来,有没有钱换新的电脑,只能加交换1.在/ 目录下创建一个文件夹sudo mkdir /swapcd /swapsudo fallocate -l 16G swapfile2. cd /swap/swapfile3. 查看刚才创建的ls -lh /swapfile 4.修改权限sudo chmod 600 /swap/swapfile5.将这个目录设置为交换分区sudo mkswap /swap/swapfile6.启用交换分区sudo s
Redis学习之-----主从复制 互联网的三高:高可用高并发高性能如果redis是单节点会出现以下问题:机器故障:容量瓶颈redis主从复制:为了避免单点Redis服务器故障,准备多台服务器,互相连通。将数据复制多个副本保存在不同的服务器上,连接在一起,并保证数据是同步的。即使有其中一台服务器宕机,其他服务器依然可以继续提供服务,实现Redis的高可用,同时实现数据冗余备份。会提供两个或两个以上的机器进行搭建:一个master作为数据的写入工作,其他的作为slave用于数据的读取怎么解决数据的同步问题
Redis的删除策略----详解 Redis的删除策略Redis是在内存中存储数据的,所有的数据都放在内存中。内存中的数据状态可以通过TTL进行获取状态-1 永久性存储的数据-2 已经过期的数据/被删除的数据/未定义的数据XX 具有时效性数据过期的数据真的被删除了吗?现实生活中的一个例子:你女朋友叫你去吧垃圾扔掉但是,在打游戏的你真的会去干吗???过了一会,女朋友过来看见垃圾还在,这就是回到正题,当redis处理东西,发出一条指令到cpu(cpu无一点压力)但是,如果一下子来了好多的指令呢?这时候,删除过
Redis的事物-----详解 在说redis的事物之前,说一个小故事收银员在数钱,一个小孩在唱歌,这时候收银员就不能专心的去数钱了1.什么是事物?redis的事物就是一个命令执行的队列,将一系列预的指令包装成为一个整体,当执行的时候,一次性的按照添加的顺序依次执行,中间不会被干扰。2.事物的操作开启事物:multi: 设定事物开启的位置,此指令执行后,后续的所有指令的都会加入到事物中结束事务:exec : 设定事物结束的位置,同时执行