<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[MEdwardM的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/MEdwardM</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; MEdwardM]]></copyright><item><title><![CDATA[分析非线程安全SimpleDateFormat以及使用改进优化方案]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/80901116</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/80901116</guid><author>MEdwardM</author><pubDate>Tue, 03 Jul 2018 16:55:12 +0800</pubDate><description><![CDATA[SimpleDateFormat 是非线程安全的


  我们经常使用一些单例处理的实例作为工具类基础，然而SimpleDateFormat的单例实例在在并发情况下回出现各种灵异错误。 
  原因是因为SimpleDateFormat不是线程安全的。我们之所以忽视线程安全的问题，是因为从SimpleDateFormat提供的接口看不出来它是非线程安全的 
  只是在JDK文档的类注释有如下说明： ...]]></description><category></category></item><item><title><![CDATA[基于maven进行编译打包的通用例子]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/80887627</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/80887627</guid><author>MEdwardM</author><pubDate>Mon, 02 Jul 2018 17:47:26 +0800</pubDate><description><![CDATA[1、相关插件


maven-jar-plugin 


  单独将工程单独打包成单独的 jar 利于维护，根据需求将相应的配置文件和资源纳入或排除打包范围，便于资源维护

maven-dependency-plugin


  单独下载依赖包便于发布维护

maven-assembly-plugin


  归档打包发布




2、打包目录规划






-app
    |-bin    ...]]></description><category></category></item><item><title><![CDATA[Zookeeper介绍以及使用]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/79790114</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/79790114</guid><author>MEdwardM</author><pubDate>Mon, 02 Apr 2018 15:31:57 +0800</pubDate><description><![CDATA[一、什么是 Zookeeper


  高可用的发布/订阅模式的分布式数据管理和系统协调框架，基于ZAB算法的实现，该框架能够很好的保证分布式环境中数据的一致性




二、分布式一致性算法原理：Paxos 算法和 Zab 算法



1. Paxos 算法

推荐阅读博客：http://blog.jobbole.com/110389/



2. zookeeper 底层实现使用的算法：Paxo...]]></description><category></category></item><item><title><![CDATA[Vue学习之路(7) 插槽测试]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/79388666</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/79388666</guid><author>MEdwardM</author><pubDate>Tue, 27 Feb 2018 15:12:49 +0800</pubDate><description><![CDATA[引言


  测试基于vue初始化的脚手架,不加router等其他的,使用index.html,编辑的入口main.js,结合控制台和页面观察输出结果,学习选项的使用




单个插槽




// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set...]]></description><category></category></item><item><title><![CDATA[Vue学习之路(6)-组合配置选项以及其他配置选项]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/79321260</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/79321260</guid><author>MEdwardM</author><pubDate>Tue, 13 Feb 2018 13:47:46 +0800</pubDate><description><![CDATA[引言


  测试基于vue初始化的脚手架,不加router等其他的,使用index.html,编辑的入口main.js,结合控制台和页面观察输出结果,学习选项的使用


组合配置选项



parent



类型：Vue instance

详细
指定已创建的实例之父实例，在两者之间建立父子关系。
子实例可以用 this.$parent 访问父实例，子实例被推入父实例的 $children 数...]]></description><category></category></item><item><title><![CDATA[Vue学习之路(5)- 生命周期钩子函数配置选项触发演示]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/79321247</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/79321247</guid><author>MEdwardM</author><pubDate>Tue, 13 Feb 2018 13:44:30 +0800</pubDate><description><![CDATA[beforeCreate


  在实例初始化之后，数据观测 (data observer) 和 event/watcher 事件配置之前被调用。




created


  在实例创建完成后被立即调用。在这一步，实例已完成以下的配置：数据观测 (data observer)，属性和方法的运算，watch/event 事件回调。然而，挂载阶段还没开始，$el 属性目前不可见。




befo...]]></description><category></category></item><item><title><![CDATA[Vue学习之路(4)-资源配置选项(自定义内容配置)]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/79321238</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/79321238</guid><author>MEdwardM</author><pubDate>Tue, 13 Feb 2018 13:42:03 +0800</pubDate><description><![CDATA[引言


  测试基于vue初始化的脚手架,不加router等其他的,使用index.html,编辑的入口main.js,结合控制台和页面观察输出结果,学习选项的使用


components



//定义局部组件
类型：Object 
//包含 Vue 实例可用组件的哈希表
//下面的方法是注册全局组件
Vue.component('my-component', {
  // 选项
})
//...]]></description><category></category></item><item><title><![CDATA[Vue学习之路(3)-Dom定义选项]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/79321226</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/79321226</guid><author>MEdwardM</author><pubDate>Tue, 13 Feb 2018 13:39:58 +0800</pubDate><description><![CDATA[引言


  测试基于vue初始化的脚手架,不加router等其他的,使用index.html,编辑的入口main.js,结合控制台和页面观察输出结果,学习选项的使用


el选项





//限制：只在由 new 创建的实例中遵守。

// 提供一个在页面上已存在的 DOM 元素作为 Vue 实例的挂载目标。可以是 CSS 选择器，也可以是一个 HTMLElement 实例。

//在实例挂载...]]></description><category></category></item><item><title><![CDATA[Vue学习之路(2)-数据定义选项]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/79321217</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/79321217</guid><author>MEdwardM</author><pubDate>Tue, 13 Feb 2018 13:37:25 +0800</pubDate><description><![CDATA[引言


  测试基于vue初始化的脚手架,不加router等其他的,使用index.html,编辑的入口main.js,结合控制台和页面观察输出结果,学习选项的使用




data选项:Vue 实例的数据对象(对象的成员变量)



类型：Object | Function

var vm = new Vue({
    data: function () {
      return {
 ...]]></description><category></category></item><item><title><![CDATA[Vue学习之路(1)-创建对象和组件]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/79288882</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/79288882</guid><author>MEdwardM</author><pubDate>Thu, 08 Feb 2018 13:57:37 +0800</pubDate><description><![CDATA[引言


  测试基于vue初始化的脚手架,不加router等其他的,使用index.html,编辑的入口main.js,结合控制台和页面观察输出结果,学习选项的使用




定义组件



var 组件名={
    组件配置
} 

var HelloWorld={
  template:'&amp;lt;div&amp;gt;Hello World&amp;lt;/div&amp;gt;',
  data: functio...]]></description><category></category></item><item><title><![CDATA[类的实例化顺序实验]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/79141895</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/79141895</guid><author>MEdwardM</author><pubDate>Tue, 23 Jan 2018 17:00:39 +0800</pubDate><description><![CDATA[public class Paramter {
    static {
        System.out.println("Paramter static");
    }

    public Paramter(String s){
        System.out.println("Paramter constructor " + s);
    }
}


public clas]]></description><category></category></item><item><title><![CDATA[docker常用命令使用样例]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/78949485</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/78949485</guid><author>MEdwardM</author><pubDate>Tue, 02 Jan 2018 10:25:22 +0800</pubDate><description><![CDATA[使用镜像# 下载镜像
docker pull ubuntu:14.04
# 列出镜像
docker images
#启动镜像
# i 交互操作
# t 终端
# rm 退出容器时将镜像删掉 一般是docker rm 才可以删除，随便执行看看有无作用
# bash 进入bash交互
docker run -it --rm ubuntu:14.04 bash
# 退出容器
exit
管理镜像#查询镜像]]></description><category></category></item><item><title><![CDATA[nginx配置将http请求转发支持ssl双向认证https请求的正向代理]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/72621527</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/72621527</guid><author>MEdwardM</author><pubDate>Mon, 22 May 2017 09:59:23 +0800</pubDate><description><![CDATA[一、引言
  nginx 是否支持将http请求转发为https支持ssl双向认证，网上没什么用例可以参考，查询各大开发运维社区了下有几种说法支持：
不支持：
不清楚家祭不忘告乃翁：
https://www.bjornjohansen.no/redirect-to-https-with-nginx
  N多种方法，按照以上支持的小伙伴的说法，一种种去尝试（虽然发现各种不合理，完全没有涉及到客户端密钥]]></description><category></category></item><item><title><![CDATA[使用keytool和openssl工具生成SSL双向认证密钥对和证书库]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/72321164</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/72321164</guid><author>MEdwardM</author><pubDate>Tue, 16 May 2017 18:08:53 +0800</pubDate><description><![CDATA[一、引言
  由于需要开发一个支持https双向认证的服务，开发期间需要自己生产ssl双向认证证书，服务是基于springboot的开发的，所以进行了一段时间的技术调研，以下是操作生成操作步骤
二、操作1、keystore以及服务器密钥对的生成keytool -genkeypair -alias server -keyalg RSA  -validity 365 -keystore server.j]]></description><category></category></item><item><title><![CDATA[nginx配置正向代理]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/71455212</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/71455212</guid><author>MEdwardM</author><pubDate>Tue, 09 May 2017 14:07:55 +0800</pubDate><description><![CDATA[一、安装Nginx
  服务器选用ubuntu，不做其他配置优化，仅作简单安装
#install Nginx
sudo apt-get install nginx#检查服务配置文件
sudo nginx -t
#nginx: configuration file /etc/nginx/nginx.conf test is successful  表示配置文件符合标准配置，解析成功#sudo serv]]></description><category></category></item><item><title><![CDATA[java独立程序部署shell脚本]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/71212658</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/71212658</guid><author>MEdwardM</author><pubDate>Fri, 05 May 2017 15:36:22 +0800</pubDate><description><![CDATA[一、介绍
  实际项目中为了将java程序部署到服务器上，服务器的环境和开发者在自己的电脑上运行程序是不一样的，开发期间程序的运行一般依赖于IDE上面集成好的环境，只要在软件上面直接运行main方法一般即可验证，然而Linux服务上面一般除了我们安装的jdk就没有别的环境，在不考虑有各种集成好的发布独立程序的平台的情况下，一般需要我们自己编写运行脚本等各种运维脚本了
二、服务器环境搭建1、安装jdk]]></description><category></category></item><item><title><![CDATA[基于ejb3,对JDBC进行封装,让使用JDBC时能像hibernate使用annotation注解一样简便,而且更加轻巧]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/71158808</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/71158808</guid><author>MEdwardM</author><pubDate>Thu, 04 May 2017 10:34:27 +0800</pubDate><description><![CDATA[为了方便阅读,必须对Java的泛型和反射有一定的了解,以及hibernate的annotation注解使用有一定的了解,因为这个封装就是对hibernate的部分功能的模仿,虽然性能不像hibernate那样齐全,但至少能让JDBC的使用变得十分简便,而且让项目跑起来变得十分轻巧,开发变得更加的简便,少去的市面上部分半自动的ORM框架还要配置文件的烦恼
　　ejb3的sun后期根据市面上多种多样]]></description><category></category></item><item><title><![CDATA[使用Junit进行耗时多线程测试]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/62418430</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/62418430</guid><author>MEdwardM</author><pubDate>Thu, 16 Mar 2017 10:55:58 +0800</pubDate><description><![CDATA[1、引言
  有个需求要求将对一个接口进行并发测试，查看是否符合需求，由于习惯使用Junit进行测试，所以就写了以下操作
  @Test
    public void testsend(){
        final  AtomicLong l = new AtomicLong(0);
        long begin = System.currentTimeMillis();]]></description><category></category></item><item><title><![CDATA[.  Cause: java.sql.SQLException: Incorrect string value: '\xE6\xB5\x8B\xE8\xAF\x95' for column 'name]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/53610370</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/53610370</guid><author>MEdwardM</author><pubDate>Tue, 13 Dec 2016 15:40:19 +0800</pubDate><description><![CDATA[[2016-12-13 15:35:48,946] [main] (XmlBeanDefinitionReader.java:317) INFO  org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource [system/a]]></description><category></category></item><item><title><![CDATA[xml解析兼容性问题的避免]]></title><link>https://blog.youkuaiyun.com/MEdwardM/article/details/53169553</link><guid>https://blog.youkuaiyun.com/MEdwardM/article/details/53169553</guid><author>MEdwardM</author><pubDate>Tue, 15 Nov 2016 11:26:00 +0800</pubDate><description><![CDATA[1、引言
  js在处理xml过程中，由于浏览器兼容性问题，要做许多的兼容处理，随着浏览器是升级，大多数浏览器都已经默认保持统一标准，以便于我们日常的开发，然而有了微软的IE这个奇葩的存在，形成了大多数前端开发者的噩梦，最近做的一个项目就踩中一个大坑，IE11和以往的IE6、7、8等既然都不一样，并且没和其他浏览器保持统一标准
2、问题描述
  前端开发过程中一般希望能全部使用原生js就避免使用封装]]></description><category></category></item></channel></rss>