自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 springboot整合redis实现消息队列--异步接收、多线程发送

1.新建springgboot项目 新建springboot项目redis-queue.2.引入依赖 引入相关依赖,其中用到了lombok,需要安装lombok插件。<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:s

2020-06-18 17:09:01 4547 6

原创 Java分布式锁及解决方案

分布式锁的使用场景?使用分布式锁必须要满足以下条件:(1)系统是一个分布式系统,java的锁已经锁不住共享资源了;(2)操作共享资源;(3)同步访问,即多个进程同时操作共享资源;分布式锁使用场景示例:消费积分在很多系统里都有,信用卡系统、电商网站等通过积分换礼品等,这里「消费积分」这个操作典型的需要使用锁的场景。「事件A:」以积分兑换礼品为例来讲,完整的积分消费过程简单分成3步:A1:用户选中商品,发起兑换提交订单。A2:系统读取用户剩余积分,判断用户当前积分是否充足。A3:积分充足则扣

2020-09-01 21:16:33 640

原创 CAS中的ABA问题

ABA问题是CAS机制中出现的一个问题,这里先说明一下CAS和原子操作:CAS:Compare And Swap,比较并交换。是java.util.concurrent包实现的区别于同步锁synchronized同步锁的一种乐观锁。CAS有三个操作数,内存值V,预期值A,要修改的值B,当且仅当内存值V与预期值A相等时,将内存值V修改为B,否则什么也不做。原子操作:“原子”代表最小的执行单位,该操作在执行完毕前不会被任何其他任务或者事件打断。AtomicInteger类的compareAndSet通过原

2020-09-01 16:15:40 7787 9

原创 oracle数据库的启动与关闭

我们只说linux环境下最简单的启动与关闭方式:1. 启动数据库1)切换到oracle用户su - oracle输入数据库密码。2)启动监听lsnrctl start3)连接数据库不以任何用户登录sqlplus /nolog以管理员身份连接conn / as sysdba4)启动实例startup2. 关闭数据库shutdown immediate...

2020-08-06 12:10:52 206

原创 Java注解解析及示例

首先引入官方的一句话:Java注解用于为Java代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。也许你对这句话不是很理解,从下面的说明中我们就能逐渐理解这句话的含义。一、注解的定义Java注解是从Java5开始引入的,它是类的一种类型,修饰符是@interface。二、元注解在写一个注解之前我们要对元注解的概念进行理解。元注解,顾名思义,就是最基础的注解,自定义的一些注解都要依赖于这些元注解。常用的元注解有以下五种:(1)@RetentionR

2020-06-24 17:32:21 320

原创 kafka日志被异常清理导致进程频繁挂掉

项目中使用到了kafka作为消息中间件,但是部署到服务器上之后kafka进程不定期挂掉,zookeeper却无任何影响。1.错误日志最近一次项目中kafka挂掉,查看日志文件kafkaServer.out看到了如下的错误:[2020-06-21 17:35:04,919] ERROR Failed to clean up log for __consumer_offsets-30 in dir /tmp/kafka-logs due to IOException (kafka.server.LogDi

2020-06-23 11:13:53 3146 1

原创 Java反射机制--常用方法及示例

Java发射机制是在运行状态中使用的,在运行状态中,我们可以通过获取类的字节码文件对象来动态获取对象信息以及动态调用对象方法。有时我们会遇到这样的业务场景,在程序之前,不知道具体要调用的对象方法。在程序运行中,需要动态地根据传递过来的对象参数来进行动态调用,这就需要使用到反射机制。查看Java API与反射相关的类有:类名作用Class代表类或接口的实体Constructor代表类的构造方法Field代表类的成员变量Method代表类的成员方法1.C

2020-06-23 10:18:32 202

原创 linux下docker的安装及简单使用

容器化部署与运维一、安装docker1. 检查环境linux内核版本,必须是3.10以上,查看版本uname -r不满足时,更新版本yum update2. 安装dockeryum安装yum install docker3.启动docker执行命令systemctl start docker查看docker版本号docker -v设置开机启动stystemctl enable docker查看docker运行状态systemctl status docker

2020-06-20 09:42:35 153

原创 Oracle导出远程数据库到本地

在我们工作中有时需要搭建本地开发、测试环境,需要使用到数据库的导入导出操作,下面进行说明:注意:使用exp命令需本地安装oracle,并且bin目录下有exp命令。假设远程数据库的ip地址是192.168.0.1,端口号是1521,实例为orcl,用户名为lpl,密码为123456。用户lpl要为dba角色,后面数据库导入到本地也要赋予用户相同的角色。1.导出远程数据库打开本地oracle监听和服务,进入cmd使用命令登录并导出远程数据库,exp lpl/123456@192.168.0.1:15

2020-06-19 17:19:49 2717 3

原创 oracle常用查询记录

下面记录了一些平时遇到的查询语句:1.级联查询select * from (表名) start with (根字段)(条件) --例如:root_field in (#{查询条件}) connect by prior (子节点字段) = (父节点字段)向上递归时只需将连接条件改为:(父节点字段)=(子节点字段)2.分页查询select * from ( select t.*, rownum as r from (表名) t where rownum <= #{a} )wh

2020-06-19 16:28:39 176

原创 linux(center OS7)安装JDK、tomcat、mysql 搭建java web项目运行环境

一、安装JDK1.卸载旧版本或者系统自带的JDK(1)列出所有已安装的JDKrpm -qa | grep jdk(2)卸载不需要的JDKyum -y remove 安装包名称2.下载并解压JDK(1)下载安装包进入到/usr/local目录下新建java目录mkdir java在Java目录下使用wget指令下载安装包,如wget --no-cookies --no-check-certificate --header "Cookie:gpw_e24=http%3A%2F%2Fw

2020-06-19 14:24:52 1140

原创 linux安装部署ftp图片服务器

1.安装http反向代理服务器、安装ftp文件传输组件vsftpd详细安装及配置参见安装vsftpd、nginx2.搭建图片服务器环境2.1 实现的效果例如,图片通过ftp客户端上传至服务器/home/ftpuser/www/images目录下,我想通过nginx反向代理服务器来访问ftp目录下的图片文件,该url地址为:http://192.168.140.128/images/car.jpg,即使用http请求访问原本需要ftp请求才能访问到的静态资源文件。2.2 具体实现方法修改nginx

2020-06-19 13:31:50 321

原创 sql面试基础知识总结

总结了一些sql基础知识及概念:1.delete与truncate的区别?1)truncate的速度远快于delete,原因是:当执行delete操作时所有哦表数据先被 copy到回滚表空间,而truncate则是直接删除表结构及数据。2)delete删除后可以进行rollback进行回滚,而truncate则直接删除不能回滚。3)truncate不能带where子句只能删除全部表数据,delete可指定条件删除。2.集合操作符union:不包含重复值,默认按第一个查询的第一列升序排序。uni

2020-06-19 10:03:10 1385

原创 linux安装redis-6.0.1单机和集群

redis作为一个直接操作内存的key-value存储系统,也是一个支持数据持久化的Nosql数据库,具有非常快速的读写速度,可用于数据缓存、消息队列等。一、单机版安装1.下载redis进入redis官网下载安装包,这里使用的是目前最新版6.0.4http://download.redis.io/releases/redis-6.0.4.tar.gz2.上传到服务器并解压上传到服务器/usr/local目录并解压tar -zxvf redis-6.0.4.tar.gz3.编译和安装3.

2020-06-18 18:24:51 592

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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