自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (8)
  • 收藏
  • 关注

转载 Executor 之 线程池及定时器

1. Executor系列接口Executor用于解耦任务(Runnable)提交者和执行者,它只有一个方法void execute(Runnable command),通过调用它向执行者提交任务,但无法知道执行的结果/进度,也无法拿到任务返回值。ExecutorService 继承Executor,是一个更具体的接口。它额外提供了以下方法: 关闭执行者   shut...

2018-11-12 10:27:11 532

转载 mongodb启动脚本

启动脚本:nohup /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --logpath=/data/mongodb.log --logappend >/dev/null 2>&1 & 这样敲命令也着实苦逼,所以从网上找了一个mongodb服务脚本就舒服多了: 1 ...

2018-08-28 14:33:27 1814

转载 ELK的安装,快速搭建一个ELK日志分析平台

ELK 是 ElasticSearch、 LogStash、 Kibana 三个开源工具的简称,现在还包括 Beats,其分工如下:LogStash/Beats: 负责数据的收集与处理ElasticSearch: 一个开源的分布式搜索引擎,负责数据的存储、检索和分析Kibana: 提供了可视化的界面。负责数据的可视化操作基于 ELK Stack 可以构建日志分析平台、数据分析搜索平台等非常有用的项...

2018-07-15 04:21:58 460

转载 java 7个工具

Alex Zhitnitsky告诉我们这7个辅助工具的主要功能特点,这些工具每个java程序员都应该了解一下。这篇文章最初发表在takipi的博客–Java与Scala异常分析和性能监控.在准备进行锁和负载测试之前,应该对一些最新的最具创新性的工具有一个快速了解。为了防止你错过这些信息,rebellabs最近公布了对Java工具和技术全景的一个全球性调查结果。除了一些已有的或知名度很高的工具,现在...

2018-07-09 17:20:53 1539

转载 Spring Boot 编写Servlet、Filter、Listener、Interceptor的方法

在编写过滤器、监听器、拦截器之前我们需要在spring-boot启动的类上加上注解@ServletComponentScan:?1234567@SpringBootApplication@ServletComponentScanpublic class MySpringbootApplication {  public static void main(String[] args) {   Spr...

2018-07-05 09:44:13 238

转载 Spring MVC中@JsonView的使用

一、@JsonView注解的简介@JsonView是jackson json中的一个注解,Spring webmvc也支持这个注解,它的作用就是控制输入输出后的json二、@JsonView注解的使用步骤1.使用接口来声明多个视图package com.knyel.dto;public class User { public interface UserSimpleView {};...

2018-06-18 16:59:38 361

转载 JSONPath-简单入门

JSONPath - 是xpath在json的应用。xml最大的优点就有大量的工具可以分析,转换,和选择性的提取文档中的数据。XPath是这些最强大的工具之一。如果可以使用xpath来解析json,以下的问题可以被解决:1,数据不使用特殊的脚本,可以在客户端交互的发现并取并获取。2,客户机请求的JSON数据可以减少到服务器上的相关部分,这样可以最大限度地减少服务器响应的带宽使用率。如果我们愿意,这...

2018-06-18 16:51:42 13457

转载 Java锁之自旋锁详解

锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA下常见的锁名称以及特性,为大家答疑解惑。1、自旋锁自旋锁是采用让当前线程不停地的在循环体内执行实现的,当循环的条件被其他线程改变时 才能进入临界区。如下复制代码...

2018-05-30 17:33:18 551

原创 ThreadFactory 作用

异常捕获public class LoggerThreadFactory implements ThreadFactory { @Override public Thread newThread(Runnable r) { Thread t = new Thread(r); t.setUncaughtExceptionHandler(new Thread....

2018-05-30 16:02:52 2122

转载 404错误处理进阶

前言在上一篇文章中介绍了spring boot 官方文档推荐的异常处理方式.承接上一篇文章,我们来了一下如何更好的处理404错误.在spring boot / cloud (二) 规范响应格式以及统一异常处理这篇文章的最后跟大家提到了如下的配置spring.mvc.throw-exception-if-no-handler-found=truespring.resources.add

2017-08-31 14:56:16 295

转载 异常统一处理进阶

前言在spring boot / cloud (二) 规范响应格式以及统一异常处理这篇博客中已经提到了使用@ExceptionHandler来处理各种类型的异常,这种方式也是互联网上广泛的方式今天这篇博客,将介绍一种spring boot官方文档上的统一处理异常的方式.大家可以在spring boot 官方文档查看介绍在开始介绍新的方法之前 , 我们先来分析一下 , 以前的做法有那些地

2017-08-31 14:54:50 577

转载 使用quartz搭建调度中心

###quartz介绍:Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz 2.3.0##思路将quartz

2017-08-31 14:53:56 679

转载 使用rabbitmq消息中间件

###rabbitmq介绍:RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。它可以用于大型软件系统各个模块之间的高效通信,支持高并发,支持可扩展。###amqp介绍:即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端

2017-08-31 14:53:19 1493

转载 使用RestTemplate来构建远程调用服务

###RestTemplate介绍:RestTemplate是spring框架中自带的rest客户端工具类,具有丰富的API,并且在spring cloud中,标记@LoadBalanced注解,可以实现客户端负载均衡的rest调用.##思路RestTemplate虽然提供了丰富的API,但是这些API过于底层,如果不稍加控制,让开发人员随意使用,那后续的代码也将会变的五花八门

2017-08-31 14:52:35 1529

转载 使用@Retryable来进行重处理

###什么时候需要重处理?在实际工作中,重处理是一个非常常见的场景,比如:发送消息失败,调用远程服务失败,争抢锁失败,等等,这些错误可能是因为网络波动造成的,等待过后重处理就能成功.通常来说,会用try/catch,while循环之类的语法来进行重处理,但是这样的做法缺乏统一性,并且不是很方便,要多写很多代码.然而spring-retry却可以通过注解,在不入侵原有业务逻辑代码的方式下,优

2017-08-31 14:50:47 1457

转载 开启CORS跨域访问

###什么是CORS?Cross-origin resource sharing(跨域资源共享),是一个W3C标准,它允许你向一个不同源的服务器发出XMLHttpRequest请求,从而克服了ajax只能请求同源服务的限制.并且也可以通过灵活的设置,来指定什么样的请求是可以被授权的.###什么是跨域?假设你在http://xxx.com/test/下有一个js文件,从这个js里

2017-08-31 14:43:21 1629

转载 规范响应格式以及统一异常处理

我认为,采用预先约定好的数据格式,将返回数据(无论是正常的还是异常的)规范起来,有助于提高团队间接口对接的效率(前端和后端,后端和后端等).##思路自定义统一的ResposeBody类 : 用于统一响应格式自定义统一的Error类 : 用于统一异常格式自定义异常 : 区分不同场景的异常实现ExceptionHandler : 用于拦截处理异常##

2017-08-31 14:30:36 881

转载 使用filter防止XSS

跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。##二.思路###基于filter拦截,将特殊字符替换为html转意字

2017-08-31 14:25:27 427

转载 CSRF攻击原理及防御

一、CSRF攻击原理  CSRF是什么呢?CSRF全名是Cross-site request forgery,是一种对网站的恶意利用,CSRF比XSS更具危险性。想要深入理解CSRF的攻击特性我们有必要了解一下网站session的工作原理。   session我想大家都不陌生,无论你用.net或PHP开发过网站的都肯定用过session对象,然而session它是如何工作的

2017-08-30 11:39:30 253

转载 spring cloud config

config

2017-08-08 01:19:40 796

原创 brew install rabbitmq

mac:brewinstall rabbitmq/usr/local/Cellar/rabbitmq/3.6.9_1/sbin/rabbitmq-server/usr/local/Cellar/rabbitmq/3.6.9_1/sbin/rabbitmq-plugins enable rabbitmq_management访问:http://localhos

2017-08-08 00:04:43 224

转载 断路器(Hystrix)

在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用(RPC)。为了保证其高可用,单个服务又必须集群部署。由于网络原因或者自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务累计,导致服务瘫痪,甚至导致服务“雪崩”。为了解决这个问题,就出现断路器模型。一、断路器简介Net

2017-08-07 16:07:17 377

转载 音视频的流程:录制、播放、编码解码、上传下载等

仿网易云音乐 安卓版-- https://github.com/aa112901/remusicAndroid本地视频播放器开发- http://blog.csdn.NET/jwzhangjie/article/category/953509android本地视频播放器开发--NDK编译FFmpeg- http://blog.csdn.net/jwzhangjie/article/de

2017-08-07 14:13:19 1563

转载 如何搭建一个完整的视频直播系统?

https://www.zhihu.com/question/42162310?sort=created朋友打算打造一个全新模式的视频直播平台,主要功能有些类似现在很多的美女直播平台。假设前期同时在线观看人数为2W人,清晰度不低于720P,拥有美颜、混音等附加功能,还有最重要的不能卡顿。如果以上假设成立,需要做哪些准备工作,技术门槛有多高,资金支出要多少?

2017-08-07 14:02:18 16149 1

转载 spring cloud -- Ribbon

自定义负载均衡策略  springboot-h2.ribbon.NFLoadBalancerRuleClassName=com.netflix.loadbalancer.RandomRule // 自定义使用随机策略,springboot-h2是服务应用名  修改调用代码@RestController  public class RestTemplateCont

2017-08-04 11:24:42 223

转载 spring boot mq

brew更新到最新版本,执行:brew update 安装Erlang,执行:brew install erlang 安装RabbitMQ Server,执行:brew install rabbitmq.bash_profile或.profile文件中增加下面内容: PATH=$PATH:/usr/local/sbin通过rabbitmq-server命令来启动RabbitMQ的服务端 打开

2017-07-27 18:20:39 346

原创 spring boot mybatis

<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <dependency>

2017-07-27 13:37:13 241

转载 #spring boot 3 -- cache

cache引入:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId></dependency>在Spring Boot主类中增加@EnableCaching注解开启缓存功能 在数据访问接口中,增加缓存配置注解@Cache

2017-07-27 11:44:32 378

转载 java 21点

关于Java的编程知识,有人会问哪几个是重要的知识点,不知道大家是否知道呢?给大家分享一下!1.JVM相关(包括了各个版本的特性) 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深, 对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资深开发者来说,不会JVM几乎是不可接受的。JVM作为java运行的基础,很难相信对于JVM一点都不了解的

2017-07-25 15:27:40 502

转载 tomcat 日志分隔 1.2.3

在Linux系统下,tomcat日志catalina.out并不会像window系统下,按日期进行重写备份,因此在Linux系统下会造成日志文件过大的情况,本文介绍采用 cronolog工具进行如在window下的效果,做到按日期自动分割日志,过程如下:      1.在Linux安装cronolog,本文中采用的是cronolog-1.6.2版本      [root@Test

2017-07-22 08:21:35 170

原创 spring boot 2

异步调用为了让@Async注解能够生效,还需要在Spring Boot的主程序中配置 @EnableAsync@Async public void doTaskOne() throws Exception { // 同上内容,省略 }异步回调@Asyncpublic Future<String> doTaskOne() throws Exception {

2017-07-21 00:20:25 346

原创 mongodb mac 安装

brew install mongodbTo have launchd start mongodb now and restart at login:  brew services start mongodbOr, if you don't want/need a background service you can just run:  mongod --config /

2017-07-20 22:16:16 151

原创 spring boot

log增加文件输出,需要在application.properties中配置logging.file或logging.path属性。 logging.file,设置文件,可以是绝对路径,也可以是相对路径。如:logging.file=my.log logging.path,设置目录,会在该目录下创建spring.log文件,并写入日志内容,如:logging.path=/var/log 日志文

2017-07-20 22:07:12 151

转载 Nginx 单机百万QPS环境搭建

1. 首先设置一些linux系统参数 在/etc/sysctl.conf 中增加如下配置[plain] view plain copyvm.swappiness = 0  net.ipv4.neigh.default.gc_stale_time=120  net.ipv4.conf.all.rp_filter=0  net.i

2017-07-13 17:08:52 1145

原创 springmvc测试

为集成测试控制器创建Mock MVCimport static org.hamcrest.Matchers.*;import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;import static org.springframework.test.web

2017-07-11 16:25:01 598

转载 java 泛型详解-绝对是对泛型方法讲解最详细的

对Java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。本文参考java 泛型详解、Java中的泛型方法、 java泛型详解1. 概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方

2017-07-10 12:09:58 8924 3

原创 Gradle安装

Gradle,地址:http://www.gradle.org/downloads如果你下载了all,需要添加GRADLE_HOME指向gradle的安装目录的跟目录,例如:D:\Program Files\gradle-2.0。然后需要在Path环境变量中加上gradle的bin目录,例如:D:\Program Files\gradle-2.0\bin以上步骤设置完毕,打开cmd

2017-07-05 22:51:13 247

转载 spring 注入例子

傲慢与偏见                仲夏夜之梦                雾都孤儿                                                        羽毛球                乒乓球                玻璃球                排球               

2017-07-04 18:55:00 201

原创 ssh 免密码配置

ssh

2017-06-29 00:09:19 171

原创 nginx

nginx

2017-06-28 22:15:18 206

redis_mysql

mysql脚本

2017-06-28

Java 8实战

本书全面介绍了Java 8 这个里程碑版本的新特性,包括Lambdas、流和函数式编程。有了函数式的编程特性,可以让代码更简洁,同时也能自动化地利用多核硬件。全书分四个部分:基础知识、函数式数据处理、高效Java 8 编程和超越Java 8,清晰明了地向读者展现了一幅Java 与时俱进的现代化画卷。

2017-02-27

activiti实战源代码

activiti实战源代码

2016-01-25

一步一步学习 iOS 6 编程 第四版

一步一步学习 iOS 6 编程 第四版

2013-10-13

空空如也

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

TA关注的人

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