自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大道至简

工匠精神 精益求精

  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

转载 Spring Boot 集成MyBatis

在集成MyBatis前,我们先配置一个druid数据源。Spring Boot 集成druiddruid有很多个配置选项,使用Spring Boot 的配置文件可以方便的配置druid。在application.yml配置文件中写上:spring: datasource: name: test url: jdbc:mysql://192.168.16.137...

2018-02-28 21:43:28 297 1

转载 Spring Boot 2.0 新特性

作者:贺卓凡原文:https://mp.weixin.qq.com/s/EWmuzsgHueHcSB0WH-3AQw以Java 8 为基准Spring Boot 2.0 要求Java 版本必须8以上, Java 6 和 7 不再支持。内嵌容器包结构调整为了支持reactive使用场景,内嵌的容器包结构被重构了的幅度有点大。EmbeddedServletContainer被重命名为WebServer...

2018-02-28 15:28:48 608

原创 Java 集合知识总结

一、集合与数组数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。二、层次关系如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却让其被继承产生了两个接口,就是...

2018-02-28 08:54:53 190

原创 分布式Session的主流实现方式和优缺点

一、常见的分布式session实现方式有以下几种1. 基于数据库的Session共享2. 基于NFS共享文件系统3. 基于memcached 的session4. 基于resin/tomcat web容器本身的session复制机制5. 基于TT/Redis 或 jbosscache 进行 session 共享。6. 基于cookie 进行session共享二、优缺点分析1.基于数据库的sessi...

2018-02-26 20:56:40 5699

转载 详解equals()方法和hashCode()方法

前言Java的基类Object提供了一些方法,其中equals()方法用于判断两个对象是否相等,hashCode()方法用于计算对象的哈希码。equals()和hashCode()都不是final方法,都可以被重写(overwrite)。本文介绍了2种方法在使用和重写时,一些需要注意的问题。一、equal()方法Object类中equals()方法实现如下:public boolean equal...

2018-02-26 10:41:06 173

转载 大型网站架构演化技术架构:核心原理与案例

大型网站架构演化打造一个高可用、高性能、易扩展、可伸缩且安全的网站。大型网站软件系统的特点1.高并发、大流量:需要面对高并发用户,大流量访问。2.高可用:系统7×24小时不间断服务。3.海量数据:需要存储、管理海量数据,需要使用大量服务器。4.用户分布广泛,网络情况复杂:许多大型互联网都是为全球用户提供服务的,用户分布范围广,各地网络情况千差万别。5.安全环境恶劣:由于互联网的开放性,使得互联网站...

2018-02-25 13:55:27 459

转载 StringUtils类中isEmpty与isBlank的区别

org.apache.commons.lang.StringUtils类提供了String的常用操作,最为常用的判空有如下两种isEmpty(String str)和isBlank(String str)。StringUtils.isEmpty(String str) 判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0System.out.println(S...

2018-02-24 20:53:54 360

转载 Spring中用到的九种设计模式

spring中常用的设计模式达到九种,我们举例说明:第一种:简单工厂又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类。 spring中的BeanFactory就是简单工厂模式的体现,根据传入一个唯一的标识来获得bean对象,但是否是在传入参数后创建还是传入参数前创建这...

2018-02-24 16:23:11 30586

原创 Java enum(枚举)浅析

(一)单例模式枚举引来的思考            博主在之前一篇博文中引用  单例模式的7种实现的通过枚举方式实现,简单提到通过枚举类,简洁实现线程安全的单例模式。不仅能避免多线程同步问题,而且还能防止反序列化重新创建新的对象,代码如下所示:1 public enum SingletonEnum {2 INSTANCE;3 public void whateverMethod...

2018-02-23 23:00:12 325

原创 浅淡对乐观锁与悲观锁理解

(一)乐观锁和悲观锁的概念乐观锁悲观锁的理解是乐观锁是一种思想即具体实现是,表中有一个版本字段,第一次读的时候,获取到这个字段。处理完业务逻辑开始更新的时候,需要再次查看该字段的值是否和第一次的一样。如果一样更新,反之拒绝。之所以叫乐观,因为这个模式没有从数据库加锁。乐观锁,就是一种乐观心态的锁,每次访问数据时并不锁定数据,期待数据并没作修改,如果数据没被修改则作具体的业务应用程序上使用乐观锁:百...

2018-02-22 09:43:52 2361

转载 Spring Cloud构建微服务架构:分布式服务跟踪(跟踪原理)

通过上一篇《分布式服务跟踪(入门)》的例子,我们已经通过Spring Cloud Sleuth往微服务应用中添加了实现分布式跟踪具备的基本要素。下面通过本文来详细说说实现分布式服务跟踪的一些要点。分布式系统中的服务跟踪在理论上并不复杂,它主要包括下面两个关键点:为了实现请求跟踪,当请求发送到分布式系统的入口端点时,只需要服务跟踪框架为该请求创建一个唯一的跟踪标识,同时在分布式系统内部流转的时候,框...

2018-02-21 21:01:29 880

转载 Spring Cloud构建微服务架构:分布式服务跟踪(入门)

随着业务的发展,我们的系统规模也会变得越来越大,各微服务间的调用关系也变得越来越错综复杂。通常一个由客户端发起的请求在后端系统中会经过多个不同的微服务调用来协同产生最后的请求结果,在复杂的微服务架构系统中,几乎每一个前端请求都会形成一条复杂的分布式服务调用链路,在每条链路中任何一个依赖服务出现延迟过高或错误的时候都有可能引起请求最后的失败。这时候对于每个请求全链路调用的跟踪就变得越来越重要,通过实...

2018-02-21 20:56:53 402

转载 Java线程池的正确打开方式

当前环境jdk == 1.8Executors 使用的隐患先来看一段代码,我们要创建一个固定线程池,假设固定线程数是4。代码如下:Executors是JAVA并发包中提供的,用来快速创建不同类型的线程池。是不是很简单,创建线程池只需一行代码。对于一些个人项目或临时性的项目,这样写确实没什么问题,而且开发速度很快。但在一些大型项目中,这种做法一般是禁止的。WHY???因为用Executors创建的线...

2018-02-18 21:25:30 6965

转载 优化 MySQL: 3 个简单的小调整

如果你不改变 MySQL 的缺省配置,你的服务器的性能就像题图的坏在一档的法拉利一样 “虎落平阳被犬欺” …我并不期望成为一个专家级的 DBA,但是,在我优化 MySQL 时,我推崇 80/20 原则,明确说就是通过简单的调整一些配置,你可以压榨出高达 80% 的性能提升。尤其是在服务器资源越来越便宜的当下。警告没有两个数据库或者应用程序是完全相同的。这里假设我们要调整的数据库是为一个“典型”的 ...

2018-02-15 17:03:47 326

转载 浅析几种线程安全模型

多线程编程一直是老生常谈的问题,在Java中,随着JDK的逐渐发展,JDK提供给我们的并发模型也越来越多,本文摘取三例使用不同原理的模型,分析其大致原理。COW之CopyOnWriteArrayListcow是copy-on-write的简写,这种模型来源于linux系统fork命令,Java中一种使用cow模型来实现的并发类是CopyOnWriteArrayList。相比于Vector,它的读操...

2018-02-14 22:39:36 158

原创 RocketMQ 初探

介绍RocketMQ 是阿里开源的消息中间件,前不久捐献给了 Apache 。正如官网介绍如下:它是一个开源的分布式消息传递和流式数据平台。特点如下:产品发展历史大约经历了三个主要版本迭代一、Metaq(Metamorphosis)1.x由开源社区killme2008维护,开源社区非常活跃。二、Metaq 2.x于2012年10月份上线,在淘宝内部被广泛使用。三、RocketMQ 3.x基于公司内...

2018-02-13 19:56:13 258

转载 SpringBoot Admin 使用指南

什么是 SpringBoot Admin?Spring Boot Admin 是一个管理和监控你的 Spring Boot 应用程序的应用程序。 这些应用程序通过 Spring Boot Admin Client(通过 HTTP)注册或者使用 Spring Cloud(例如 Eureka)发现。 UI只是 Spring Boot Actuator 端点上的一个 AngularJs 应用程序。快速开...

2018-02-13 19:49:45 4474 3

转载 以交易系统为例,看分布式事务架构的五大演进

作者介绍梁阳鹤,乐视网BOSS平台技术部架构师,主要负责乐视集团支付、乐视会员系统、商业运营平台等系统架构工作。开源数据访问层框架Mango作者。 一、概述  在支付、交易、订单等强一致性系统中,我们需要使用分布式事务来保证各个数据库或各个系统之间的数据一致性。 举个简单的例子来描述一下这里数据一致性的含义。 程序员小张向女友小丽转账100人民币,转账过程是:先扣除小张100元,再为小丽的账户添加...

2018-02-10 16:00:49 2291

转载 Java单例模式及开发应用场景

       所谓单例,指的就是单实例,有且仅有一个类实例,这个单例不应该由人来控制,而应该由代码来限制,强制单例。  单例有其独有的使用场景,一般是对于那些业务逻辑上限定不能多例只能单例的情况,例如:类似于计数器之类的存在,一般都需要使用一个实例来进行记录,若多例计数则会不准确。  其实单例就是那些很明显的使用场合,没有之前学习的那些模式所使用的复杂场景,只要你需要使用单例,那你就使用单例,简单...

2018-02-08 19:16:51 25799 1

原创 Java单例模式

   Java中单例(Singleton)模式是一种广泛使用的设计模式。单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在。一些管理器和控制器常被设计成单例模式。   单例模式有很多好处,它能够避免实例对象的重复创建,不仅可以减少每次创建对象的时间开销,还可以节约内存空间;能够避免由于操作多个实例导致的逻辑错误。如果一个对象有可能贯穿整个应用程序,而且起到了全局统一管理控制的作用,那...

2018-02-08 19:02:55 215

转载 FreeMarker常用语法

一、freemarker模板文件(*.ftl)的基本组成部分        1. 文本:直接输出的内容部分        2. 注释:不会输出的内容,格式为<#--  注释内容  -->        3. 取值(插值):代替输出数据模型的部分,格式为${数据模型}或#{数据模型}        4. ftl指令:Freemarker指令,类似于HTML标记。             ...

2018-02-07 22:24:30 244

转载 ECharts-Java使用Java快速开发ECharts图表

ECharts-Java类库地址:http://git.oschina.net/free/ECharts百度ECharts地址:http://echarts.baidu.com/大概在5个月前的时候,有个项目需要用到图表,百度ECharts很不错,就选择了ECharts。我的项目是SpringMVC + Mybatis,当从数据库获取数据

2018-02-06 16:31:59 806

转载 Java并发编程:volatile关键字解析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。  volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们

2018-02-06 09:15:44 143

转载 HashMap(Java 7)的实现原理

一、HashMap的定义和构造函数public class HashMapK,V> extends AbstractMapK,V> implements MapK,V>, Cloneable, Serializable123  HashMap继承自AbstractMap,AbstractMap是Map接口的骨干实现,AbstractMap中实现了Map中最重要最常用和方

2018-02-05 22:56:19 141

转载 WebSocket 详解

WebSocket 出现前构建网络应用的过程中,我们经常需要与服务器进行持续的通讯以保持双方信息的同步。通常这种持久通讯在不刷新页面的情况下进行,消耗一定的内存资源常驻后台,并且对于用户不可见。在 WebSocket 出现之前,我们有一下解决方案:传统轮询(Traditional Polling)当前Web应用中较常见的一种持续通信方式,通常采取 setInterval 或

2018-02-05 09:52:16 7027 1

批处理自动获得管理员权限

在写bat批处理时常遇到权限不足的问题 。在批处理前部加上这段代码可以自动为此批处理获得管理员权限

2017-01-08

空空如也

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

TA关注的人

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