自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 资源 (5)
  • 收藏
  • 关注

原创 centos7中使用docker安装redis

v /home/redis/etc/redis.conf:/etc/redis/redis.conf 数据卷挂载,宿主机的redis.conf映射到redis容器中的/home/redis/etc目录下,可以理解为宿主机和docker容器共享这个文件。redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的redis.conf文件,最终找到的是宿主机/home/redis/etc/redis.conf文件。

2024-03-30 11:40:31 308

原创 docker创建自定义网络

可以看到,我们将两个容器添加到同一网络中了。我们可以看到,用名称或ip都是可以让容器互相访问的。

2023-05-06 18:34:51 255

原创 docker容器间的文件同步

(这里用容器id也可以)在docker01容器的volume01目录中创建docker01.txt文件,会在docker02容器中的volume01中看到这个文件。这样就实现了数据的共享。在前一篇文章中,我们知道了如何自定义构建镜像。也知道了容器中的文件如何与宿主机之前同步。那么容器之间的文件如何同步呢?依然用前一篇文章中的镜像来演示。这里用了 --volumes-from,表示挂载数据卷实现数据共享。

2023-05-05 15:19:13 632

原创 自定义构建docker镜像

号是上下文路径,指镜像构建时打包上传到Docker引擎中的文件的目录,这里的.指当前目录。当我们在容器中的volume01目录下创建文件时,发现在宿主机的对应目录下也能看到文件。这里就能看到volume01,volume02对应的宿主机的路径了。执行这个命令后,我们使用docker images就能看到自己构建的镜像了。-t:镜像的名字及标签,如mycentos是名称,v1.1是tag。这样,我们就构建了一个自己的镜像,并且还实现了数据卷的同步。,所以这里的路径中有一段名称是随机生成的。

2023-05-05 12:37:57 608

原创 docker安装及入门

docker安装及基本使用

2023-05-03 17:28:09 93

原创 记SpringCloud Finchley.SR4中使用ribbon.listOfServers无效的坑

前一篇文章提到了我将项目的SpringCloud版本由Dalston.RELEASE升级到了Finchley.SR4。因为我没有使用Eureka,而是使用的ribbon.listOfServers来指定服务器,然后进行服务调用的,所以这里在升级后就遇到了一个坑:就是先前Dalston.RELEASE版本的时候服务可以调用成功,现在升级后反而服务调不通了。懊恼痛苦中。。。。。。。。。。。。我通过查看消费端的日志,发现消费端根本就没有获取到服务器地址。日志如下:2021-05-18 20:17:06.00

2021-05-19 23:49:16 2348 8

原创 SpringCloud版本升级——由Dalston.RELEASE到Finchley.SR4

之前的项目用的是SpringCloud Dalston.RELEASE版本,现在要升级到Finchley.SR4。这里面有很多需要注意的,这里分享一下,避免入坑。首先在父工程的pom.xml中修改版本号,这里用的是SpringCloud Finchley.SR4 和Springboot 2.0.8.RELEASE<dependencies> <dependency> <groupId>org.springfram

2021-05-18 17:43:21 434

原创 Springboot事件监听机制——异步、自定义监听事件(三)

在Spring事件监听机制(二)中,我们提到了在SimpleApplicationEventMulticaster类的multicastEvent()方法发送事件广播时,有一个Executor对象,如果它不为空,就会异步去执行发送广播。那么本篇文章,我们来看一下如何去异步执行发送广播事件。异步一、自定义类直接继承SimpleApplicationEventMulticaster这里我们为了方...

2020-05-04 21:56:37 1660

原创 Springboot事件监听机制——事件发布(二)

Spring中的事件监听前面我们大致了解了一下事件监听,我们接着来看看Spring中的事件监听是如何使用的。这里我选用了springboot 1.5.7的源码来学习。在启动类中执行SpringApplication.run()后,首先会执行SpringApplication类的initialize(Object[] sources)方法,然后初始化initializers和listeners两...

2020-05-01 18:51:17 1318

原创 Spring事件驱动机制(一)

观察者模式前面有聊过设计模式中的观察者模式,想必大家都应该有所耳闻。这里我们大致回顾一下,观察者模式中有几个角色:主题:主题中包含多个观察者,以及观察者的添加、删除,同时需要提供触发观察者事件的方法。观察者:也叫监听器,会有多个观察者,不同的观察者监听到事件后做不同的逻辑处理。关于设计模式具体讲解可以阅读博主写的另一篇文章:java观察者模式实现自己的事件驱动机制在spring中有很多...

2020-05-01 11:37:59 350

原创 java并发编程StampedLock

前面介绍的ReadWriteLock可以解决多线程同时读,但只有一个线程能写的问题。如果我们深入分析ReadWriteLock,会发现它有个潜在的问题:如果有线程正在读,写线程需要等待读线程释放锁后才能获取写锁,即读的过程中不允许写,这是一种悲观的读锁。要进一步提升并发执行效率,Java 8引入了新的读写锁:StampedLock。StampedLock和ReadWriteLock相比,改进...

2020-04-13 18:51:48 401

原创 自定义类如何重写hashCode()和equals()

在面试中经常遇到这样一个问题,==和equals()方法有什么区别?很多时候,我们回答的都不算完全。这里总结一下:==分两种情况:1.基本数据类型,比较的是值相等2.引用类型,比较的是对象的地址equals分两种情况:若没有对equals()进行重写,则比较的是引用类型的对象的地址,和==效果一样若对equals()进行了重写,如String、Date等类,那么比较的是值是否相等。...

2020-04-10 15:54:24 1019

原创 centos中安装elasticsearch的head插件

安装nodejs安装了elasticsearch,我们要想用图形化工具操作es。可以选用head插件,由于head插件是nodejs开发的,我们得先安装nodejs。下载node-v9.9.0-linux-x64.tar并上传到服务器。解压:tar -xf node-v9.9.0-linux-x64.tar然后配置环境变量:export NODE_HOME=/usr/local/nod...

2019-09-08 12:20:11 149

原创 centos中安装elasticsearch

首先,下载elasticsearch压缩文件,然后上传到服务器。解压:tar -zxvf elasticsearch-6.8.2.tar.gz解压之后,进入到解压目录的bin目录,执行启动:./elasticsearch控制台出现异常:通过日志可以看出,不能以root账户启动elasticsearch。这是出于系统安全考虑设置的条件。由于ElasticSearch可以接收用户输入...

2019-09-08 11:09:45 155

原创 Spring service调用当前类方法导致事务不生效

最近在项目中遇到一个问题,在service类中调用当前类的一个方法,没有开启事务,如下:@Service("userService")public class UserServiceImpl implements UserService{ @Autowired private UserMapper userMapper; //默认情况下Spring的声明式事务对所有的运行时异常进...

2019-05-18 19:24:17 1854

原创 Spring的事务的传播属性

Spring事务有7种传播属性:1.PROPAGATION_REQUIRED:如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务。2.PROPAGATION_SUPPORTS:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。3.PROPAGATION_MANDATORY:支持当前事务,如果当前没有事务,就抛出异常。4.PROPAGATION_REQUIRES_NEW...

2019-05-18 18:19:43 497

转载 数据库设计的三大范式

第一范式(1NF):属于第一范式的数据库的表的列(属性)是不能再进一步拆分的。比如某些数据库系统中需要用到“地址”这个属性,本来直接将“地址”属性设计成一个数据库表的字段就行,但如果系统经常访问“地址”属性中的“城市”部分,那么一定要把“地址”属性拆分为省份、城市、详细地址等多个部分来存储,这样对地址中某一个部分操作的时候将非常方便,这样设计才算满足数据库的第一范式。编号姓名性别...

2019-05-13 18:19:51 122

转载 JVM核心之JVM运行和类加载全过程

类加载机制JVM把class文件加载到内存,并对数据进行校验、解析和初始化,最终形成JVM可以直接使用的java类型的全过程。加载将class文件字节码内容加载到内存中,并将这些静态数据转换成方法区中的运行时数据结构,在堆中生成一个代表这个类的java.lang.Class对象,作为方法区类数据的访问入口,这个过程需要类加载器参与。链接将java类的二进制代码合并到JVM的运行状态之...

2019-05-11 16:21:29 186

原创 ZooKeeper——555555

555555555

2019-05-11 16:07:16 148 1

原创 ZooKeeper——4444

44444

2019-05-11 16:06:58 363

原创 ZooKeeper——33333

3333333

2019-05-11 16:06:37 175

原创 ZooKeeper——2222

2222222

2019-05-11 16:06:07 126

原创 ZooKeeper——1111

11111

2019-05-11 16:05:30 142

原创 ZooKeeper——开源客户端Curator

Curator是Netflix公司开源的一套ZooKeeper客户端框架,作者是Jordan Zimmerman。和ZkClient一样,Curator解决了很多ZooKeeper客户端非常底层的细节开发工作,包括连接重连、反复注册Watcher和NodeExistsException异常等,目前已经成为了Apache的顶级项目。Patrick Hunt(ZooKeeper代码的核心提交者)以一句...

2019-03-22 18:01:03 409

原创 Zookeeper——开源客户端ZkClient

111

2019-03-13 22:33:37 241

原创 Zookeeper——Java客户端API使用

Zookeeper作为一个分布式服务框架,主要用来解决分布式数据一致性问题,它对多种编程语言提供了API。下面重点来学习Zookeeper的Java客户端API使用。创建会话客户端可以通过Zookeeper(org.apache.zookeeper.Zookeeper)实例来连接Zookeeper服务器,有如下4种构造方式:ZooKeeper(String connectString, in...

2019-03-13 19:30:24 364

原创 Zookeeper

待更新。。。。

2019-03-13 18:40:02 88

原创 LockSupport工具

LockSupport定义了一组以park开头的方法用来阻塞当前线程,以及unpark(Thread thread)方法来唤醒一个被阻塞的线程。方法名称描述void park()阻塞当前线程,如果调用unpark(Thread thread)方法或者当前线程被中断,才能从park()方法返回void parkNanos(long nanos)阻塞当前线程,最长不超过...

2019-02-28 16:06:09 315

翻译 websocket学习

WebSocket概念 websocket是HTML5开始提供的一种浏览器与服务器之间进行全双工通信的网络技术,WebSocket API被W3C定为标准。 在WebSocket API中,浏览器和服务器只需要做一个握手动作,两者之间就形成了一条快速通道。WebSocket基于TCP双向全双工进行消息传递,相比HTTP的半双工协议,性能得到很大提升。 具有以下特点:单一的TCP连接,采...

2018-08-01 15:21:27 553

原创 centos7中Nginx的安装与启动

Nginx是一款不错的服务器,可以用来做正向代理和反向代理及负载均衡。下面我们来说一下Nginx的安装步骤。 由于Nginx的安装环境需要gcc、pcre、zlib、openssl,因此我们首先需要在服务器上下载安装这些环境。 安装gcc:yum install gcc-c++安装pcre:yum install -y pcre pcre-devel安装zlib:yum i...

2018-04-21 18:12:07 347

原创 Java中的线程池

线程池的原理 当一个任务提交到线程池时,线程池的处理流程如下: 1)、线程池判断核心线程池里的线程是否都在执行任务。如果不是,则创建一个新的工作线程来执行任务。如果核心线程池里的线程都在执行任务,则进入下个流程。 2)、线程池判断工作队列是否已经满。如果工作队列没有满,则将新提交的任务存储在这个工作队列里。如果工作队列满了,则进入下个流程。 3)、线程池判断线程池的线程是否都处于工作状态。...

2018-04-05 19:48:37 146

转载 java中的synchronized和Lock

synchronized是java中的一个关键字,也就是说是Java语言内置的特性。java.util.concurrent.locks包下常用的类首先,我们先看一下Lock接口的API:public interface Lock { void lock(); void lockInterruptibly() throws InterruptedException;...

2018-03-24 18:15:58 201

原创 Netty服务端与客户端通信

最近开始学习Netty,服务端:public class TimeServer { public void bind(int port) throws Exception { /** * NioEventLoopGroup 是用来处理I/O操作的多线程事件循环器, * Netty提供了许多不同的EventLoopGroup的...

2018-03-18 16:50:41 725

转载 Redis配置文件的几大区域

查看redis的配置文件,会发现还是很有条理的。redis的配置文件被分成了几大块区域,分别是: 1.通用(general) 2.快照(snapshotting) 3.复制(replication) 4.安全(security) 5.限制(limits) 6.追加模式(append only mode) 7.LUA脚本(lua scripting) 8.慢日志(slow log) ...

2018-03-12 19:09:13 1046

转载 Redis的持久化

Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。 Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以...

2018-03-10 13:01:54 179

原创 redis的发布订阅

Redis提供了发布订阅功能,可以用于消息的传输,Redis的发布订阅机制包括三个部分:发布者、订阅者和Channel。订阅消息 发布消息 这里返回的2表示接收到该消息的订阅者的数量为2: 再次发布消息: 这里返回的1表示接收到该消息的订阅者的数量为1: ...

2018-03-09 17:21:49 181

原创 Linux中安装Redis与启动

首先,我们下载redis-3.2.5.tar.gz文件并上传到linux服务器上,然后解压:tar -zxvf redis-3.2.5.tar.gz然后make, 接着:make install PREFIX=/usr/localPREFIX = 存放的路径,你可以随意设置 按照以上的操作,会在/usr/local目录下生成一个bin文件,这个就是redis...

2018-03-09 15:56:55 158

原创 java 8之函数式接口

Java 8中函数式接口是一大新特性。本文就来说说Java 8 中的几种函数式接口。 一、Function接口 Function接口就是将传入的参数,通过一个或多个方法的迭代,输出和参数类型一样或者不一样的结果。 示例:// Function//toInteger的Function中的T类型必须与toString的Function中的T类型相同,FunctionString, I

2018-01-28 12:55:29 210

原创 外网ip注册dubbo服务

我们在调用服务器的dubbo服务时,有时候会调用不了。通过观察dubbo管理控制台,我们发现dubbo服务注册的是内网ip。因此我们需要做一些修改,让dubbo服务以外网ip注册。1,通过hostname命令得到机器名。 2,修改hosts文件,vi /etc/hosts,hosts内容如下: 通过hostname得的机器名为VM_12_66_centos,这里我们发现VM_12_66_cent

2017-08-03 17:57:08 6310 1

转载 Spring MVC过滤器-委派过滤器代理(DelegatingFilterProxy)

org.springframework.web.filter中有一个特殊的类——DelegatingFilterProxy,该类其实并不能说是一个过滤器,它的原型是FilterToBeanProxy,即将Filter作为spring的bean,由spring来管理。配置DelegatingFilterProxy的常用方法如下所示:<filter> <filter-name>testFil

2017-07-25 16:51:59 348

html仿android提示

html仿android的Toast提示功能

2015-07-25

html文件转pdf文件的jar包,非常实用,还能自动换行

html文件转pdf文件的jar包,非常实用,还能自动换行,用这2个包就能将html文件转换为pdf文件了。

2013-11-29

很好用的jxl.jar

很好,很实用的jar文件,很好,很实用的jar文件,很好,很实用的jar文件

2013-08-21

正则表达式文档

很实用,很全面的正则表达式文档哦,而且示例很详细

2013-04-23

struts-1.3.8所有的jar

包含了struts-1.3.8开发所有需要的jar包,真的很实用。

2012-11-13

空空如也

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

TA关注的人

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