java的平凡之路

博客的文章都是平时学习或者遇到其他人写的不错的文章分享,也是做一个记录,希望大家喜欢...

SimpleDateFormat时间格式化存在线程安全问题

 想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,...

2018-12-24 12:01:13

阅读数 82

评论数 0

运维监控数据模型

Counter(计数器)模型 计数器是一个累积指标,单调递增,其值仅能增长或重置为0。类似于“服务请求数”、“任务完成数”和“错误数”等可以使用计数器模型,而“进程数”等可能会出现下降的指标不适合使用计数器模型 Gauge(数值)模型 数值模型代表了简单的整形或非整形数字值,值可任意上升或下降。...

2018-11-02 16:26:29

阅读数 76

评论数 0

YAML快速入门

我们学习Java,都是先介绍properties文件,使用properties文件配合Properties对象能够很方便的适用于应用配置上。然后在引入XML的时候,我们介绍properties格式在表现层级关系和结构关系的时候,十分欠缺,而XML在数据格式描述和较复杂数据内容展示方面,更加优秀。到...

2018-10-19 14:58:02

阅读数 113

评论数 0

Coverity代码静态检测工具介绍

使用了Coverity代码静态检测工具。功能很强大,超乎我的期望。主要功能如下: 列出不会被执行到的代码 列出没被初始化的类成员变量 列出没有被捕获的异常 列出没有给出返回值的return语句 某个函数虽然有返回值,但调用该函数的地方没有用到它的返回值,这也会被列出来 列出没有被回收的...

2018-08-27 16:05:13

阅读数 291

评论数 0

Shiro 基础教程

一、前言 Apache Shiro 是 Java 的一个安全框架。功能强大,使用简单的Java安全框架,它为开发人员提供一个直观而全面的认证,授权,加密及会话管理的解决方案。 二、介绍 2.1 功能特点 Shiro 包含 10 个内容,如下图: 1) Authentication:身...

2018-08-23 17:14:31

阅读数 119

评论数 0

Vue.js——vue-resource全攻略

概述 上一篇我们介绍了如何将$.ajax和Vue.js结合在一起使用,并实现了一个简单的跨域CURD示例。Vue.js是数据驱动的,这使得我们并不需要直接操作DOM,如果我们不需要使用jQuery的DOM选择器,就没有必要引入jQuery。vue-resource是Vue.js的一款插件,它可以...

2018-08-06 15:49:46

阅读数 223

评论数 0

Vue.js更深入的认识、理解和部署优化

原文链接:http://caibaojian.com/step-in-vue-js.html Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式。本文旨在帮助大家认识Vue.js,了解Vue.js的开发流程,并进一步理解如何通过Vue.js...

2018-08-02 17:00:48

阅读数 233

评论数 0

vue--vuex详解

 Vuex     什么是Vuex?        官方说法:Vuex 是一个专为 Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。       个人理解:Vuex是用来管理组件之间通信的一个插件     ...

2018-08-02 16:13:57

阅读数 106

评论数 0

当ThreadLocal碰上线程池

ThreadLocal使用 ThreadLocal可以让线程拥有本地变量,在web环境中,为了方便代码解耦,我们通常用它来保存上下文信息,然后用一个util类提供访问入口,从controller层到service层可以很方便的获取上下文。下面我们通过代码来研究一下ThreadLocal。 新建...

2018-07-31 15:52:29

阅读数 290

评论数 0

Linux 下 yum源配置文件 repo 文件学习

什么是repo文件? repo 文件是 Linux 中yum源(软件仓库)的配置文件,通常一个 repo 文件定义了一个或者多个软件 仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被 yum读取和应用!   YUM的工作原理并不复杂,每一个 RP...

2018-07-25 15:57:00

阅读数 2246

评论数 0

高并发解决方案--负载均衡

1,什么是负载均衡?当一台服务器的性能达到极限时,我们可以使用服务器集群来提高网站的整体性能。那么,在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据每台服务器的负载情况将请求分配给某一台后端服务器去处理。那么在这个过程中,调度者如何合理分配任务,保证所...

2018-07-05 14:08:07

阅读数 150

评论数 0

TCP 三次握手原理,你真的理解吗?

问题描述场景:JAVA的client和server,使用socket通信。server使用NIO。1.间歇性得出现client向server建立连接三次握手已经完成,但server的selector没有响应到这连接。2.出问题的时间点,会同时有很多连接出现这个问题。3.selector没有销毁重建...

2018-07-05 14:07:29

阅读数 183

评论数 0

HttpClient 4.3连接池参数配置及源码解读

 目前所在公司使用HttpClient 4.3.3版本发送Rest请求,调用接口。最近出现了调用查询接口服务慢的生产问题,在排查整个调用链可能存在的问题时(从客户端发起Http请求->ESB->服务端处理请求,查询数据并返回),发现原本的HttpClie...

2018-07-03 15:49:32

阅读数 74

评论数 0

HttpClient 4.3连接池参数配置及源码解读

 目前所在公司使用HttpClient 4.3.3版本发送Rest请求,调用接口。最近出现了调用查询接口服务慢的生产问题,在排查整个调用链可能存在的问题时(从客户端发起Http请求->ESB->服务端处理请求,查询数据并返回),发现原本的HttpClie...

2018-07-03 15:49:32

阅读数 95

评论数 0

Netty,HttpAsyncClient和阻塞I/O(Httpclient)比较

客户端比较Netty 4.0.8(无连接池)Apache HttpAsyncClient 4.0-beta4(启动连接池)Apache HttpClient 4.3(启用连接池)测试设置在服务器端,在Amazon EC2云中设置了一组服务器。它们都服务相对静态的内容,其中唯一的变化是可以从客户端的...

2018-06-27 16:45:55

阅读数 500

评论数 0

异步httpclient---HttpAsyncClient的使用

这两天研究了一下异步的httpclient ---- httpAsyncClient原来使用httpclient都是同步的,如果项目中有大量的httpclient的话,可能会造成阻塞,如果使用异步请求的话可以避免这些问题可以用在调用第三方接口或者不需要知道请求返回结果的场景下于是写了一个工具类来封...

2018-06-26 14:25:58

阅读数 311

评论数 0

基于Netty4的HttpServer和HttpClient的简单实现

Netty的主页:http://netty.io/index.html使用的Netty的版本:netty-4.0.23.Final.tar.bz2 ‐ 15-Aug-2014 (Stable, Recommended)Http 消息格式:Http request:Method path-to-re...

2018-06-26 11:36:54

阅读数 59

评论数 0

netty的http client连接池设计

使用netty作为http的客户端,pool又该如何进行设计。本文将会进行详细的描述。1 复用类型的选型1.1 channel 复用多个请求可以共用一个channel模型如下:                     特点:       1:callback队列为回调队列。 不同的callback...

2018-06-25 17:16:59

阅读数 450

评论数 0

Netty之ChannelOption

在用netty作为底层网络通信的时候关于ChannelOption的参数让我一直模糊不清楚,于是去看一下linux网络编程,发现ChannelOption的各种属性在套接字选项中都有对应  下面简单的总结一下ChannelOption的含义已及使用的场景  1、ChannelOption.SO_B...

2018-06-25 15:46:24

阅读数 104

评论数 0

Netty笔记4-如何实现长连接

一个简单的长连接demo分为以下几个步骤:创建连接(Channel)发心跳包发消息,并通知其他用户一段时间没收到心跳包或者用户主动关闭之后关闭连接​ 看似简单的步骤,里面有两个技术难点:如何保存已创建的Channel这里我们是将Channel放在一个Map中,以Channel.hashCode...

2018-06-25 11:30:50

阅读数 207

评论数 0

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