![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
shuzl213
这个作者很懒,什么都没留下…
展开
-
关于设计模式的思考——创建型模式
第一篇blog,边学习边记录吧。虽然是第一次仔细学设计模式,但是在平时的编码中,基本都是用过。把代码抽象成设计模式,有点像武功一样,看着老虎跑,可以创出虎拳,其实就是将最基本的进行有序的组合。下面开始学习吧。工厂方法模式就是借用工厂的平时运营的方法,来设计程序构建思路。工厂模式分成三种,普通工厂、多工厂和静态工厂。下面链接中,有详细介绍,还包括代码。http://www.cnblo原创 2016-03-17 21:12:06 · 219 阅读 · 0 评论 -
微服务架构的基础框架选择:Spring Cloud还是Dubbo?
本文转自:http://mt.sohu.com/20160803/n462486707.shtml 最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论 微服务架构 。近期也看到各大技术社区开始组织一些沙龙和论坛来分享Spring Cloud的相关实施经验,这对于最近正在整理Spring Cloud相关套件内容与实例应用的我而言,还是有不少激励的。 目前转载 2017-07-09 22:23:48 · 295 阅读 · 0 评论 -
微服务学习-设计原则
网上关于微服务的设计原则有很多,并没有一种统一说法。不过虽然说法千奇百怪,但是中心思想是差不多的。下面列出设计原则:1.单一职责原则指一个单元只应关注整个系统功能中单独、有界限的一部分。单一职责原则可以帮助我们更优雅地开发、更敏捷地交付。2.服务自治原则指每个微服务应具备独立的业务能力、依赖与运行环境。在微服务架构中,服务是独立的业务单元,应该与其他服务高度解耦。每个微服务从开原创 2017-07-16 10:40:40 · 1176 阅读 · 0 评论 -
微服务学习一服务化架构的演进历史
在实施微服务架构之前,我们一起回顾下服务化架构的演进历史。MVC MVC架构大部分人都用过,它主要用来解决前后端、界面、控制逻辑和业务逻辑分层问题。比较流行的技术堆栈就是spring + Struts + iBatis(hibernate)+ Tomcat(JBoss)。 RPC 随着业务特别是互联网的发展,业务规模的扩大,模块化逐步成为一种趋转载 2017-07-16 10:27:50 · 1859 阅读 · 0 评论 -
solr初识
百度上有很多关于solr的教程,但是都是最简单的,很多仅仅是描述solr的特性和搭建。Solr的特性:(1)高级的全文搜索功能 (2)专为高通量的网络流量进行的优化 (3)基于开放接口(XML和HTTP)的标准 (4)综合的HTML管理界面 (5)可伸缩性-能够有效地复制到另外一个Solr搜索服务器 (6)使用XML配置达到灵活性和适配性 (7)可扩展的插件体系原创 2017-07-04 10:54:55 · 221 阅读 · 0 评论 -
用enum实现java单例模式
从java1.5版本以后,单例就有了一种新的写法。使用enum实现单例,更加简洁,直接就是可序列化的,还能够在复杂的序列化和反射攻击下确保只生成了一次。enum的实现是在类内部建立enum/** * 使用枚举的单例模式 * * @author sl * @see [相关类/方法](可选) * @since [产品/模块版本] (可选) */public class EnumS原创 2017-04-19 16:08:14 · 282 阅读 · 0 评论 -
mysql获取月日相同的数据
在开发中遇到一个问题,需要select月与日相同的数据。找了很多资料,也尝试了很多次,终于找到解决方案。使用date_format函数,就能达到这个目的,使用方法见下面。select * from tablename where date_format(table.column, '%m-%d') = date_format(now(), '%m-%d');原创 2017-04-02 22:37:35 · 2261 阅读 · 0 评论 -
java邮件自动发送时添加网络附件
查了很多资料都是使用本地资源作为附件发送。但是遇到资源在数据服务器上时,怎么在发送邮件时添加附件吗?先下载资源,然后发送邮件,再删除附件?原创 2017-02-18 20:30:23 · 3045 阅读 · 0 评论 -
nginx的5种分发方式
因为在做后台服务器,遇到了session问题,采用的方法是redis解决的。后来深入学习nginx时发现了nginx的分发方式也可以解决这个问题。1、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 2、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 例如: upstream原创 2016-11-27 21:18:31 · 18860 阅读 · 1 评论 -
nginx gzip开启
1、Vim打开Nginx配置文件vim /usr/local/nginx/conf/nginx.conf2、找到如下一段,进行修改gzip on;gzip_min_length 1k;gzip_buffers 4 16k;#gzip_http_version 1.0;gzip_comp_level 2;gzip_types text/plain appl转载 2016-10-27 17:22:56 · 272 阅读 · 0 评论 -
centos中yum安装jdk
首先查看系统中是否安装了java命令:java -version如果没有安装,就可以查看yum库中是否包含jdkecho $JAVA_HOMEecho $JAVA_HOME命令:yum search java | grep -i --color JDK这时会列出很多jdk的数据,然后选择1.7.0进行安装命令:yum -y install java-1.7.0-openjdk*原创 2016-10-18 08:42:20 · 258 阅读 · 0 评论 -
SSH2里面遇到的问题——increment主键生成方式
1.先描述下问题:这个问题是在用SSH2做简单集群时发现的。新的数据无法加入到数据库,提示dumplicate entry的错误。估计是SSH2与数据库之间的新建数据这块出问题了。下面是找到的一些专业的问题描述。 increment方式为Hibernate提供的一种内置的常用的主键生成器策略,此方式的实现机制为在当前应用实例中维持一个变量,以保存着当前的最大值,之后每次需要原创 2016-10-26 10:37:57 · 742 阅读 · 0 评论 -
nginx location优先级
语法规则: location [=|~|~*|^~] /uri/ { … }= 开头表示精确匹配^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。~ 开头表示区分大小写的正则匹配~* 开头表示不区分大小写的正则匹配!~和!~*分别转载 2016-10-25 20:44:54 · 287 阅读 · 0 评论 -
tomcat+nginx在centos中的配置
1.java安装(1)java安装的下载网页是http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html(2)新建java安装目录 mkdir /usr/java(3)下载http://download.oracle.com/otn-pub/java/jdk/8u101-b13/原创 2016-10-17 11:07:49 · 312 阅读 · 0 评论 -
centos 下yum安装nginx
centos7系统库中默认是没有nginx的rpm包的,所以需要先更新下rpm依赖库(1)使用yum安装nginx需要包括Nginx的库,安装Nginx的库#rpm-Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm(2)使用下面原创 2016-10-18 10:35:10 · 299 阅读 · 0 评论 -
关于设计模式的学习—结构型模式
结构型包括适配器模式、装饰模式、代理模式、外观模式、桥接模式、组合模式、享元模式,共7种模式。其中对象的适配器模式是各种模式的起源,我们看下面的图:1、适配器模式适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。分别是对类、对象和接口进行转换。类的适配器原创 2016-03-18 09:54:18 · 237 阅读 · 0 评论 -
单例模式最佳写法
单例模式用在哪里,大家都知道,但是写法是怎么样?怎么写才是最好的?一般是这么写的,但是遇到同步调用,线程就是不安全的,所以很多人进行了修改,加了个同步锁。这样写可以很好的工作,但是缺点是效率低。实际上,早在JDK1.5就引入volatile关键字,所以又有了一种更好的双重校验锁写法:那什么是volatile?用volatile修饰的变量,线程在每转载 2016-03-20 10:42:24 · 364 阅读 · 0 评论 -
java的数组复制效率比较
java的数组复制主要有3种方法,分别是:(1)for循环方法;(2)System.arraycopy()方法,Arrays.copyOf()方法底层调用的是System.arraycopy;(3)Object.clone()方法。其中,System.arraycopy()和Object.clone()效率差不多,因为他们调用的是底层的Native Method(非java代码),原创 2017-07-18 16:24:39 · 702 阅读 · 0 评论