
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
Redis是非常优秀的基于键值对的内存数据库,在项目中使用非常广泛。在高并发的项目中,经常会需要进行缓存的预热,或者部分数据在接入层就可以进行渲染,那么nginx和redis就成了绝配。在openresty之前,想要在nginx中连接redis那是非常难的一件事情,而有了openresty之后,一切就变得非常简单了。1、安装redis如果是要安装最新版本的redis,需要依赖gccwget htt
多线程的形式上实现方式主要有两种,一种是继承Thread类,一种是实现Runnable接口。本质上实现方式都是来实现线程任务,然后启动线程执行线程任务(这里的线程任务实际上就是run方法)。这里所说的6种,实际上都是在以上两种的基础上的一些变形。继承Thread类万物皆对象,那么线程也是对象,对象就应该能够抽取其公共特性封装成为类,使用类可以实例化多个对象,那么实现线程的第一种方式就是继承...
多线程的形式上实现方式主要有两种,一种是继承Thread类,一种是实现Runnable接口。本质上实现方式都是来实现线程任务,然后启动线程执行线程任务(这里的线程任务实际上就是run方法)。这里所说的6种,实际上都是在以上两种的基础上的一些变形。继承Thread类万物皆对象,那么线程也是对象,对象就应该能够抽取其公共特性封装成为类,使用类可以实例化多个对象,那么实现线程的第一种方式就是继承...
我们在很多的项目中经常会有用到多个数据源。比如数据库读写分离,读操作都去从库里读,写操作都往主库里写。那么这里主库和从库就是两个不同的数据源。再比如要做两个数据库之间的数据转换,从一个数据库读取数据写到另一个数据库中,等等这些情况都需要系统使用两个或多个数据源。那么该如何配置多个数据源呢?我这里使用的是spring管理,数据库连接池使用的是阿里的druid。具体步骤如下:1.修改spring的
Vert.x底层通信框架依赖于Netty,并封装了对Http协议的支持,因此可以非常方便的进行Web开发,且不依赖于任何中间件。笔者所在的公司老系统使用的是SSM架构的项目,部署在Weblogic上,每年花在中间件上的钱就非常多,现在全面改造为Vert.x,中间件的费用直接就省了。另外不依赖中间件,编程会变得非常灵活,定制性非常强,安全性也会得到一定层度的提高。对于实现一个简单的web服务,有..

对于Java开发人员,想要实现一个http服务,非常简单,写个servlet,打成war包,放到tomcat下就能运行。但如果要实现一个tcp服务就没那么简单了,因为tcp是传输层协议,并不像http那样,有类似tomcat的中间件给我们封装底层的网络协议,封装线程的交互。要实现一个tcp服务,只能自己动手处理网络和线程问题,这是非常考验编程功底的事情,而且如果团队人员素质不高,项目周期要求较短的

在Vert.x 创建HTTP服务 中我们已经创建了一个简单的HttpServer,但这个HttpServer比较低级,对于请求参数解析、Session等常用功能都需要我们通过编码实现,也就是要重复造轮子,非常不方便。Vert.x提供了Web开发组件vertx-web,提供了一堆Web开发中常用的功能。比如参数封装,路由,国际化,认证和授权,session和cookie以及模板等,可以非常方便的..

Event Bus(事件总线) 是Vert.x的神经系统,负责应用系统消息的传递。Vert.x各模块(Verticle)之间的相互调用就是通过Event Bus实现的,因此各Verticle之间是高度解耦的。Event Bus提供发布订阅功能和点对点的消息服务,类似于消息队列,每条消息在Event Bus上都有一个地址(address),发布者向这个地址发送消息,接收者从这个地址接收消息。...

我们在VMware环境中经常会有复制虚拟机的操作,比如我们搭建集群等等,而在复制完毕,配置网络的时候,我们总会发现这样那样的问题,网卡不管怎么样,就是起不来。下面我来跟大家分享一下我的一个处理过程。1.修改网卡配置文件,使用和源主机(源主机就是克隆的母体)不同的ip地址/etc/sysconfig/network-scripts/ifcfg-eth0如果是静态IP地址,你要修改的就是 IP...
安装有两个过程,第一个是下载,第二个是安装。安装之前要下载Java的安装包,在下载之前,我们先来掰扯一下Java的各种版本。众所周知,Java是免费开源的,这里的开源有两层含义,第一是Java本身是开源的,第二其规范也是开源的。这也就意味着Java可以有多个虚拟机,可以有多个编译环境。这里说这个问题跟我们安装jdk没有任何关系。只是告诉大家,我们安装的是Java虚拟机,以及Java的...







