张育嘉的博客

你值得更好

通过Nginx在同一台服务器上配置多个二级域名

背景:同个域名下的三个子域名各自绑定了一个项目,每个项目都在自己的tomcat里运行,而且这三个tomcat都在同一个服务器上。 www.portal.a.com www.blog.a.com www.backadmin.a.com 需求:都通过浏览器默认的80端口访问。 问题:我们知道...

2018-08-10 01:47:59

阅读数 1766

评论数 0

上传图片到七牛云(前端和后端)

在开发项目的时候,经常会用到上传图片的功能,如果把图片全都存放在项目路径下,会导致项目越来越臃肿,因此可以考虑把图片上传交给第三方处理,此处采用七牛云进行图片存储。 经过测试,通过七牛云获取图片确实比直接通过自己的服务器获取的速度要快得多,赶快去注册七牛云吧。 上传图片的方式有两种: 通过...

2018-08-06 14:56:09

阅读数 5291

评论数 4

Disruptor中遇到的坑

经朋友推荐,我在项目采用lmax的disruptor无锁队列框架来实现异步记录监控统计信息。disruptor体积很小,功能强大,一路配置下来,很容易上手,而且经过测试发现确实吞吐量比blockqueue性能提升了好几个数量级。可是直到有一天突然发现好久没收到监控的统计数据了,于是检查服务,发现服...

2018-08-31 16:08:48

阅读数 232

评论数 0

并发编程之重入锁和读写锁

Java多线程中,除了sychronized关键字实现多线程之间同步互斥操作,其实还有另外一种高效的机制去完成”同步互斥”操作。即Lock对象,比synchronized关键字更为强大功能,并且有嗅探锁定,多路分支等功能。 重入锁 分为公平锁和非公平锁,默认非公平锁 public Ree...

2018-08-30 23:17:07

阅读数 112

评论数 0

多线程之CountDownLatch和CyclicBarrier

一、倒计时CountDownLatch CountDownLatch是一个非常实用的多线程控制工具类,称之为“倒计时器”,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。 举了例子: 我们知道的集齐七颗龙珠就可以召唤神龙,那我们就一起召唤一下,下边我需要派7个人(7个线程)去...

2018-08-30 16:44:48

阅读数 34

评论数 0

使用支付宝沙箱实现扫码支付

准备 注册支付宝,进入开放平台的沙箱环境,接入当面付功能。 期间需要设置支付宝公钥、应用公钥、应用私钥等,具体这些操作我就不多说了,可以自找资料。 当面付 《支付宝当面付文档》 下载Demo,然后进行测试。 在zfbinfo.properties中主要配置这几项: #...

2018-08-30 11:41:44

阅读数 1384

评论数 2

并发编程之线程池

为什么使用线程池 有时候,系统需要处理非常多的执行时间很短的请求,如果每一个请求都开启一个新线程的话,系统就要不断的进行线程的创建和销毁,有时花在创建和销毁线程上的时间会比线程真正执行的时间还长。而且当线程数量太多时,系统不一定能受得了。 使用线程池主要为了解决以下几个问题: 通过重用线程...

2018-08-29 22:23:54

阅读数 36

评论数 0

使用腾讯云的短信业务进行短信验证

在验证用户中,除了常用的账号密码外,还可使用手机号和验证码的方式进行验证。 找了许多提供短信验证功能的平台,好多平台的套餐最低都得上千的,慌的一批,后来找到了腾讯云的短信业务。 每个月提供100条免费短信,这对于个人学习来说足够了。 首先注册腾讯云,选择接入短信业务。创建应用,配置短信内容:...

2018-08-28 23:48:55

阅读数 1176

评论数 0

并发编程之Master-Worker模式

Master-Worker模式是常用的并发模式,核心是Master和Worker两个进程,Master接收和分配任务,各个Worker执行任务并返回结果,由Master来归纳和总结。好处是能将大任务分解为若干个小任务,提高系统的吞吐量。 代码示例: public class Maste...

2018-08-27 17:22:00

阅读数 40

评论数 0

Spring之使用@Value为静态变量赋值

使用@Value为静态变量赋值 @Value("${integraion.url}") private static String integraionUrl; 说明:integraion.url为Spring Boot配置文件application.p...

2018-08-26 22:19:15

阅读数 397

评论数 0

Spring之注入静态变量的三种方式

Spring静态注入的三种方式: (说明:MongoFileOperationUtil是自己封装的一个Mongodb文件读写工具类,里面需要依赖AdvancedDatastore对象实例,dsForRW用来获取Mongodb数据源) 在Spring Framework里,我们不能@Autowi...

2018-08-26 22:06:07

阅读数 239

评论数 0

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined(tomcat error)

问题: Linux下启动和关闭tomcat报错,如下所示: Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is ...

2018-08-26 17:30:07

阅读数 236

评论数 0

多线程之Future模式

概述: Futrue模式:对于多线程,如果线程A要等待线程B的结果,那么线程A没必要等待B,直到B有结果,可以先拿到一个未来的Future,等B有结果是再取真实的结果。 主要角色: Main:系统启动,调用Client发出请求 Client:返回Data对象,立即返回FutureDat...

2018-08-25 22:03:40

阅读数 100

评论数 0

多线程基础之wait和notify

wait( ),notify( ),notifyAll( )都不属于Thread类,而是属于Object类,也就是每个对象都有wait( ),notify( ),notifyAll( ) 的功能,因为每个对象都有锁,锁是每个对象的基础 当需要调用以上的方法的时候,一定要对竞争资源进行加锁,如果不...

2018-08-23 21:47:31

阅读数 48

评论数 0

SpringBoot之集成通用Mapper

第一种: 1.引入POM坐标,需要同时引入通用mapper和jpa <dependency> <groupId>tk.mybatis</groupId> ...

2018-08-19 14:04:11

阅读数 346

评论数 1

Maven+Tomcat实现热部署

热部署:所谓热部署,就是在系统正在运行的时候升级软件,却不需要重新启动应用。 Tomcat热部署方式一: 直接将一个web项目打成一个war包,并将war包放入tomcat的webapps目录下,此时tomcat服务器会自动将次war包解压并在服务器上进行部署发布。 Tomc...

2018-08-19 10:45:59

阅读数 119

评论数 0

Netty最佳实践之数据通信

使用Netty进行两台或者多台服务器之间的数据通信,大体有以下三种情况: 使用长连接通道不断开的方式进行通信。也就是服务器和客户端的通道不断开,一直处于开启状态,如果服务器的性能足够好,并且我们的客户端数量足够少的情况下,推荐这种方式。 一次性批量提交数据,推荐采用短连接方式。即我们可以把数据...

2018-08-18 16:57:45

阅读数 128

评论数 0

Netty之ChannelPipeline 和 ChannelHandler

版本为 Netty4.1。 概述 Netty 的 ChannelPipeline 和 ChannelHandler 机制类似于 Servlet 和 Filter 过滤器,这类拦截器实际上是职责链模式的一种变形,主要是为了方便事件的拦截和用户业务逻辑的定制。 Servlet Filter ...

2018-08-18 16:22:33

阅读数 56

评论数 0

Netty入门示例

服务端: public class DiscardServer { private int port; public DiscardServer(int port){ this.port = port; } public void run() ...

2018-08-18 16:12:03

阅读数 53

评论数 0

Java基础之NIO

Java NIO(New IO或 Non Blocking IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。 java IO 与 java NIO 的区别 ...

2018-08-16 11:37:32

阅读数 43

评论数 0

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