简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
大家好,笔者最近学习docker相关的技术。今天,我们一起制作一个 centos镜像。记得上大学期间我们学习Linux的时候,我们通常是在Window上安装一个vmvare软件,然后下载一个几个G的centos的镜像文件,最后安装centos虚拟机。整个过程非常痛苦,因为安装一个虚拟机,需要花费小半天时间,常常会因为各种原因,安装好的虚拟机启动不起来。并且,我们需要启动多个机器时,会很吃宿主机的c
这也许是目前最为完整的Java OOM异常的解决指南。1、java.lang.OutOfMemoryError:Java heap spaceJava应用程序在启动时会指定所需要的内存大小,它被分割成两个不同的区域:Heap space(堆空间)和Permgen(永久代):这两个区域的大小可以在JVM(Java虚拟机)启动时通过参数-Xmx和-XX:MaxPermSize设置,如果你没有显式设置,
前一段时间,我发表了一篇关于Redis实现分布式锁 分布式环境下利用Redis实现分布式锁,今天我带领大家熟悉用zookeeper实现分布式锁。在学习分布式锁之前,让我们想一想,在什么业务场景下会用到分布式锁以及设计分布式锁要注意什么?分布式锁介绍1、在什么业务场景中会使用到分布式锁当多个客户端访问服务器上同一个资源的时候,需要保证数据的一致性,比如秒杀系统,举个栗子:某件商品...
在某些高并发的业务场景下,例如秒杀、选课等系统,为了避免出现商品超卖、选课人数超出课程规定人数的问题发生,读写数据库时需要进行加锁操作,保证某时刻已有一个用户在操作。在Java单机应用中,直接使用synchronized关键字没有任何毛病,但在分布式系统中就不行了,这时就需要引入分布式锁来解决问题。分布式锁可以用Zookeeper或Redis来实现,本文重点讲解使用Redis实现分布式锁。
好久没写技术文章了,由于公司马上要做消息相关的业务,所以最近在Docker上搭了一台RabbitMQ并研究研究。从网易蜂巢上拉取的镜像:docker pull hub.c.163.com/library/rabbitmq:latest启动容器:docker run -d --hostname my-rabbit --name some-rabbit -p 15672:15672...
当请求是json数据,使用@RequestBody将json数据转化为Java对象,使用@ResponseBody将Java对象转化为json串当请求是key/value数据,不需要@RequestBody将json数据转化为java对象(SpringMVC自动完成),使用@ResponseBody将java对象转化为json串准备环境:需要的jar包:jackson-co
BlockingQueue queue = new LinkedBlockingQueue(10);//无界队列//queue = new ArrayBlockingQueue(10);//有界队列//queue = new SynchronousQueue();//默认ThreadPoolExecutor tpe = new ThreadPoolExecutor(5, 20
在Ajax的应用中,我们通常需要将JavaBean,List,Map等对象转为Json串,方便页面解析需要导入的jar包有commons-beanutils-1.7.0.jarcommons.collections-3.2.jarcommons-lang-2.4.jarcommons-logging-1.1.jarezmorph-1.0.4.jarjdom.jarj
java中的DBCP数据源,与c3p0数据源类似,需要读取的配置文件dbcpconfig.properties#连接设置driverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/testusername=rootpassword=root#initialSize=10#最大连接数量maxActi
在Dao层操作数据库时,需要频繁的得到数据库链接,所以自定义一个数据库的工具类JdbcUtils.java有两种方案:1、线程不安全的数据库工具类2、线程安全的数据库工具类代码如下1、线程不安全的数据库工具类db.propertiesdriver=com.mysql.jdbc.Driverurl=jdbc\:mysql\://localhost\:3306/test