3 Wim同学

尚未进行身份认证

no pains , no gains

等级
TA的排名 9w+

FastDFS的介绍与入门Demo

一、介绍FastDFS是用c语言编写的一款开源的分布式文件系统,由阿里巴巴公司开发。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。二、FastDFS的架构FastDFS架构包括Trackerserver和Storageserver。...

2018-12-10 22:16:24

Java高并发秒杀解决方案

一.秒杀业务分析所谓秒杀,就是网络卖家发布一些超低价格的商品,所有买家在同一时间网上抢购的一种销售方式。秒杀商品通常有两种限制:时间限制,库存限制。秒杀业务的运行流程主要可以分为以下几点:商家提交秒杀商品申请,录入秒杀商品数据,主要有:商品标题,商品原价,秒杀价格,商品图片,介绍等信息运营商审核秒杀申请秒杀频道首页列出秒杀商品,点击秒杀商品图片可以跳转到秒杀商品详细页面商品详细页面...

2018-12-09 13:04:55

并发tools之交换者Exchanger

一.简介  Exchanger就是交换者的意思,用于之间线程间协作交换彼此数据,其核心依靠一个exchange(V v)方法,当两个线程调用exchange方法时候,会将传入的数据传递给彼此,当其中一个线程到达exchange方法时,另一个线程还没到达exchange,则此线程阻塞到另一个线程执行exchange,就是说Exchanger提供一个同步点,在这个同步点上交换彼此的数据。如果另一个...

2018-12-06 19:44:41

Dubbox简介与入门实战

前言什么是Dubbox?Dubbox是一个分布式服务框架,其前身是阿里巴巴开源项目Dubbo,被国内电商及互联网项目中使用,后期阿里巴巴停止了Dubbo项目的维护(现Dubbo已捐献给Apache基金会),因为阿里巴巴内部的HSF框架比Dubbo更高效,更贴合他们业务。当当网便在Dubbo基础上进行优化,并继续进行维护,为了与原有的Dubbo区别,故将其命名为Dubbox。Dubbox作用d...

2018-10-27 19:17:59

Zookeeper简介与安装

Zookeeper介绍Zookeeper动物园管理员,根据名字的意思它是一个管理者的角色,它是Google的Chubby一个开源的实现,是Hadoop的分布式协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Dubbo服务中Zookeeper可以起到注册中心的作用,管理各个服务应用,注册中心负责服务地址的注册与查找,相当于目录服务,服务提供...

2018-10-27 18:59:00

JVM知识点笔记总结

1.Java内存区域与内存溢出异常运行时数据区:主要分为线程私有和线程共享两大块。线程私有(生命周期与线程相同,共生死):Java虚拟机栈(NativeStack)本地方法栈(VMStack)程序计数器(PC)线程共享(生命周期与JVM相同):堆(heap)方法区(Methodarea,逻辑分开,物理属于堆)程序计数器:是一块较小的内存空间,它可以看作是当前线程所...

2018-10-26 19:00:00

NIO学习总结与实战

前言JavaNIO是从jdk1.4版本开始引入的一个新的IOAPI,可以代替标准的JavaIOAPI.你可以称它为NEWIO亦或non-blockingIO,NIO支持面向缓冲区,基于通道的IO操作,NIO以更加高效的方式进行文件的读写操作。NIO与IO的区别NIOIO面向缓冲区(Buffer)面向流(Stream)非阻塞IO(non-blockin...

2018-10-26 17:26:29

Nginx负载均衡配置常用策略

前言:Nginx负载均衡配置常用策略有如下这几种轮询(默认)权重iphashurlhash(第三方)fair(第三方)轮询:upstreamwww.baidu.com{serverwww.baidu.com:8080;serverwww.baidu.com:9080;}优点:实现简单.缺点:不考虑每台机器的处理能力权重:upstreamwww.bai...

2018-10-25 13:13:58

并发tools之信号量Semaphore

前言:信号量可以控制某个资源可以被同时访问的个数,通过构造函数设定一定数量的许可调用acquire()获取一个许可,如果没有就等待调用release()释放一个许可. 实战:(下面例子只允许5个线程同时进入执行acquire()和release()之间的代码)publicclassSemaphoreDemo{publicstaticvoidmai...

2018-10-25 11:00:56

并发tools之闭锁CountDownLatch

前言:CountDownLatch是Java并发编程很好用的一个tools,其作用是主线程等待子线程都完成后主线程才开始执行,比如说可以用来计算子线程任务完成后共耗时多少,或者一个游戏场景所有玩家准备后主线程才开始游戏等等CountDownLatch的功能和Future的get()方法类似,只有任务完成了才返回,不然一直阻塞.CountDownLatch内部有个计数器,在新建这个闭...

2018-10-25 10:49:28

并发tools之栅栏CyclicBarrier

前言:CyclicBarrier翻译过来就是:循环的屏障,这个类是一个可以重复利用的屏障类.它允许一组线程相互等待,直到全部到达某个公共屏障点,然后所有的这组线程再同步往后执行.await()函数每被调用依次,计数便会减少1,并阻塞当前线程.当计数减至0,阻塞解除. CountDownLatch和CyclicBarrier的区别?1.CountDownLatch的作用是允许...

2018-10-25 10:31:33

生产者消费者的多种方式实现

前言:生产者消费者模式是工作中多线程开发很常用的一种模式,也是笔试面试高频考点1.使用阻塞队列实现(阻塞队列有很多,如ArrayBlockingQueue,LinkedBlockingQueue,PriorityBlockingQueue,SynchronousQueue)/***使用阻塞队列实现**@authorm969130721@163.com*@da...

2018-10-25 10:19:45

单例模式的5种写法

前言:单例模式是23种设计模式中最简单的一种,也是笔试面试中最常考察的一种设计模式,所以我们必须掌握它。1.饿汉(线程安全)/***饿汉**@authorm969130721@163.com*@date18-6-14下午4:52*/publicclassDemo1{privatestaticDemo1demo1=newDemo...

2018-10-25 09:46:16

Easyui datagrid数据网格 过滤插件和分页冲突,解决办法。

  最近我在写一个高校共享单车系统项目,前端页面使用的是EasyUI,在我写完datagrid并弄好过滤和分页后,发现能过滤数据,但是按分页按钮毫无反映,解决办法:解决办法很简单,只需把你写的查找sql语句中的limit语句去掉,因为使用了easyuifilter后是在本地过滤的不用经过数据库,所以要查找全部。 ...

2018-02-14 18:08:15

SpringMVC对日期类型的转换

在做web开发的时候,页面传入的都是String类型,SpringMVC可以对一些基本的类型进行转换,但是对于日期类的转换可能就需要我们配置。  1、如果查询类使我们自己写,那么在属性前面加上@DateTimeFormat(pattern = "yyyy-MM-dd") ,即可将String转换为Date类型,如下@DateTimeFormat(pattern="yyyy-MM-dd")...

2018-02-10 23:00:38

手写SpringMVC,原来写一个简易SpringMVC框架这么Easy!

项目地址(功能已更新,如对你有帮助记得给个star哦!)首先大家写JAVA项目多多少少都有接触过SpringMVC这个表现层框架,但是大多数人只知道怎么用这框架,却不了解这框架的原理,如果到时候工作的公司用的是公司自己的框架难道又要慢慢重学一遍吗?所以不如了解框架的原理,再学其他框架就能很快上手。如上图所示的是SpringMVC的架构流程,下面我只简单的实现SpringMVC的...

2018-01-29 23:42:12

jdk9新特征系列

(一):jdk和jre的改变JDK和JRE已经在JavaSE9中进行了模块化处理。在JavaSE9之前,JDK构建系统用于生成两种类型的运行时映像——Java运行时环境(JRE)和Java开发工具包(JDK)。JRE是JavaSE平台的完整实现,JDK包含了JRE和开发工具和类库。可下图显示了JavaSE9之前的JDK安装中的主目录。JDK_HOME是安装JDK的目录。如果你

2017-12-29 11:12:57

String的按值传递,java传参都是传值!!!

目录首先是String。然后是StringBuffer同理,看自己创建的对象peoplejava中对象作为参数传递给一个方法,到底是值传递,还是引用传递?String和int参数传递是按值传递还是引用传递?一道面试题目,String的传递:123456789

2017-12-14 20:42:38

我来教你制作JS脚本,一键完成学校教务系统的评教!

需求:我们在学校每学期都要完成教师教学评教,但是课程多,评教有点麻烦,我们能不能一键评教所有课程老师的评教呢? 答案肯定是有的。首先登陆你学校的教务系统,我学校的教务系统是正方教务系统。推荐使用Chrome浏览器,登陆到评教页面,再按F12,显示如下图所示的页面。 点中上图的Console控制台,把下面的代码复制黏贴过去按回车。注意教师评教页面是要等待30秒,才能点击保存的,这是...

2017-12-14 15:21:51

Linux下MySQL5.6的修改字符集编码为UTF8(解决中文乱码问题,亲测可用!)

Linux下MySQL5.6的修改字符集编码为UTF8(解决中文乱码问题)一、登录MySQL查看用 SHOWVARIABLESLIKE‘character%’; 下字符集,显示如下:+--------------------------+----------------------------+|Variable_name|Value|+-----------

2017-12-13 20:32:22

查看更多

勋章 我的勋章
    暂无奖章