自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蔡茂的博客

专注Java后端开发

  • 博客(85)
  • 收藏
  • 关注

原创 如何防止单例模式被破坏

以典型的双重锁效验机制为例public class Singleton { private volatile static Singleton singleton; private Singleton (){} public static Singleton getSingleton() { if (singleton == null) { synchronized (Singleton.class) {

2021-04-08 10:11:42 608 3

原创 失败原因:The MySQL server is running with the LOCK_WRITE_GROWTH option so it cannot execute this stateme

让测试给测试数据库加索引的时候,报出:The MySQL server is running with the LOCK_WRITE_GROWTH option so it cannot execute this statement因为最近数据迁移导入了大量数据,导致磁盘空间不足阿里云的一个保护策略,空间剩余不足时,禁止数据写入...

2020-03-17 10:24:42 12279

原创 Could not find a valid gem 'sass' (= 3.2.19), here is why:

错误如下Could not find a valid gem 'sass' (= 3.2.19), here is why: Unable to download data from https://rubygems.org/ - Received fatal alert: protocol_version (https://api.rubygems.org/specs.4.8.gz)...

2019-08-26 12:44:45 362 3

原创 ATG定义Repository Data Model

设置SQL Repository创建要由SQL Repository使用的Repository定义文件一个模板XML文件,定义存repository item的描述符及其属性,它描述了SQL database和SQL repository之间的关系配置SQL Repository componentSQL Repository是一个Nucleus component,porp...

2019-08-20 16:58:20 386

原创 ATG架构

ATG的布局Customer Facing Cluster主要面向客户的站点位于这里,利用DAS、DPS、DSS、DPS模块,可选地利用多站点、B2BCommerce、B2CCommerce模块。该集群的主要职责是:为用户提供个性化的动态内容,提供展示产品和服务的位置,提供让用户可以购买产品的购买路径,为用户启用帐户管理功能。根据站点的用户和事务量,这个集群中通常有多个服务器ATG S...

2019-08-08 09:57:55 1109

原创 ATG系统的组成部分

ATG系统的组成部分示意图请求处理从①开始,依次通过各个层。服务组件从数据库和外部供应商检索和处理数据。Web请求路径用户向Web应用程序发出HTTP请求web服务器接收请求,完成静态请求,并将请求传递给应用服务器Application server处理一些JSP,并将其余的通过dsp标记库传递给ATGdsp标记库调用droplets和表单处理程序(form handler)将用...

2019-08-07 16:12:51 1924

原创 Oracle ATG简介

Oracle ATG简介Art Technology Group(ATG)是一家独立的互联网技术公司,从事电子商务软件和按需优化应用,直到2011年1月5日被Oracle收购。ATG继续在马萨诸塞州剑桥工作,并以自己的名义运营作为Oracle的子公司。 该公司是电子商务软件和相关的按需商务优化应用程序的提供商。 ATG的解决方案提供商品推销,营销,内容个性化,自动推荐和实时帮助服务。ATG提...

2019-08-07 15:40:58 1541 1

原创 ElasticSearch

ElasticSearch简介ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。ES即为了解决原生Lucene使用的...

2019-07-02 15:20:52 500

原创 悲观锁与乐观锁

悲观锁与乐观锁乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号机制和 CAS 算法实现。 乐观锁适用于多读的应用类型,这样可...

2019-06-30 08:13:00 952

原创 常见的JVM相关问题

1. 内存模型以及分区,需要详细到每个区放什么。JVM 分为堆区和栈区,还有方法区,初始化的对象放在堆里面,引用放在栈里面,class 类信息常量池(static 常量和 static变量)等放在方法区方法区:主要是存储类信息,常量池(static 常量和 static 变量),编译后的代码(字节码)等数据堆:初始化的对象,成员变量 (那种非 static 的变量),所有的对象实例和数...

2019-06-29 16:47:51 1245

原创 个人理解面向对象

JavaSE学习——什么是面向对象和很多广义的面向对象说法对比而言,我这里首先采用的是一种比较狭义的理解 一方面是因为鄙人确实技术及理论水平有限,一方面也是为了让很多初学者更容易接受,从而由浅入深逐渐了解乃至于衍生出自己的理解面向对象可以说是一种思维方式,我这里以面向结构作引入并以生产汽车为实例进行介绍:面向过程的方式就为了保证汽车的质量,所以由大到小一系类的操作流程都需要自己严...

2019-06-27 20:20:37 835 2

原创 分布式篇——FastDFS

FastDFS

2019-06-27 12:48:25 1059

原创 全文检索篇——Lucene

全文检查篇——LuceneLucene核心原理图解收集数据、写入索引、用户输入关键字、对索引进行查询、返回查询结果.全文检索引擎就是一个搜索引擎,要进行搜索必须有一个数据源。在①处可以看到,我们的数据源可以来自下面四个地方:文件系统:我们的操作系统搜索是通过顺序搜索速度相当的慢,在这也可以通过全文检索来提高搜索速度;数据库:数据库对于文本字段的内容不能建立索引,在以后应用中也...

2019-06-26 13:18:41 879

原创 全文检索简介

全文检索从全文数据中进行检索就叫全文检索(全文搜索)。是基于文本的搜索。文本可分为:结构化数据:指具有“固定格式”或“有限长度”的数据,如数据库,元数据等;可以用二维表结构来逻辑表达实现的数据非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等;非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。包括所有格式的办公文档、文本...

2019-06-26 13:08:23 3125

原创 CORS解决跨越问题

解决跨越问题1、什么是跨域(域名)url: http://www.baidu.com/xxx.jspurl:协议://域名:port/uriurl:协议://域名:port定位服务器uri :定义资源跨域是指跨域名的访问,以下情况都属于跨域:跨域原因说明 示例 :域名不同 www.jd.com 与 www.taobao.com域名相同,...

2019-06-26 09:17:13 3858

原创 HashMap和Hashtable的区别

1、继承关系HashMap继承于Map接口的一个实现类AbstracMappublic class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable {public abstract class AbstractMap<K...

2019-06-20 21:05:43 793

原创 Spring Cloud中常见负载均衡实现技术

Spring Cloud中常见负载均衡实现技术RibbonFeignRibbon负载均衡Ribbon是Netflix发布的云中间层服务开源项目,主要功能是提供客户端负载均衡算法。Ribbon客户端组件提供一系列完善的配置项,如,连接超时,重试等。简单的说,Ribbon是一个客户端负载均衡器,我们可以在配置文件中列出load Balancer后面所有的机器,Ribbon会自动的帮助你基于...

2019-06-19 22:24:19 1998

原创 Spring Cloud Eureka注册中心

Spring Cloud Eureka注册中心由于Spring Cloud为服务治理做了一层抽象接口,所以在Spring Cloud应用中可以支持多种不同的服务治理框架,比如:Netflix Eureka、Consul、Zookeeper。在Spring Cloud服务治理抽象层的作用下,我们可以无缝地切换服务治理实现,并且不影响任何其他的服务注册、服务发现、服务调用等逻辑。Eureka是...

2019-06-19 21:43:53 800

原创 单例模式

单例模式单利模式应该能算得上各种设计模式中相对简单的一种设计思想,这一模式的目的是使得类的一个对象成为系统中的唯一实例。虽然简单,但是应用却是非常广泛的,比如现在比较主流的Spring框架默认采用的就是单利模式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。可以总结为:1、单例...

2019-06-19 14:03:20 807 1

原创 Spring Cloud Zuul路由网关

Spring Cloud Zuul路由网关Zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用。Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门,也要注册入Eureka.微服务架构体系中,通常一个业务系统会有很多的微服务,比如:Orde...

2019-06-18 09:06:08 935

原创 Spring Cloud Netflix Hystrix断路器

为什么需要Hystrix断路器在理想状态下,一个应用依赖的服务都是健康可用的,我们可以正常的处理所有的请求当某一个服务出现延迟时,所有的请求都阻塞在依赖的服务Dependency I当依赖I 阻塞时,大多数服务器的线程池就出现阻塞(BLOCK),影响整个线上服务的稳定性在复杂的分布式架构的应用程序有很多的依赖,都会不可避免地在某些时候失败。高并发的依赖失败时如果没有隔离措施,当前应用...

2019-06-18 09:00:25 945

原创 Spring Cloud

Spring Cloud概述Spring cloud是一个基于Spring Boot实现的服务治理工具包,在微服务架构中用于管理和协调服务。组成部分Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键...

2019-06-15 21:31:37 802

原创 单体架构(Monolith)与微服务架构(MicroService)

Monolith(单体应用)架构通常情况下,服务由多个模块所组成,各模块会根据自身所提供的功能不同具有一个明确的边界,在编译时,这些模块将被打包成为一个个jar包,并最终合并在一起形成一个war包(最终部署的时候只有一份war包,其他的以jar包的方式依赖)。接下来,我们需要将该war包上传到web容器中,解压war包,并重新启动服务器。这种将所有的代码及功能都包含在一个war包中的项目组织...

2019-06-15 19:48:01 5598

原创 浅谈Spring Boot

Spring BootSpring Boot的设计目的是用来简化Spring应用的初始搭建以及开发过程。使用springboot以后,搭建一个spring应用和开发变得很简单。该框架使用了特定的方式(继承starter,约定优先于配置)来进行配置,从而使开发人员不再需要定义样板化的配置。Spring Boot并不是一个框架,从根本上将,它就是一些maven库的集合,maven或者gradl...

2019-06-14 14:06:37 993

原创 HashMap排序

HashMap本身是不可以排序的,但其子类LinkedHashMap是有序的,所以我这里演示的是利用LinkedHashMap+List+Collections工具实现HashMap排序/** * HashMap排序 */ @Test public void testSortHashMap(){ //准备数据 HashMap<I...

2019-06-12 22:34:38 908

原创 关于百度人脸识别的一些方法和工具类

个人用到的方法package wltyx.nyybw.common.face;import com.baidu.aip.face.AipFace;import com.baidu.aip.face.FaceVerifyRequest;import com.baidu.aip.face.MatchRequest;import com.baidu.aip.util.Base64Util...

2019-06-03 09:55:15 2768

原创 Maven多模块开发Maven project中显示的模块为灰色

检查Setting–>Maven–>Ignored Files中是否被忽略

2019-05-26 14:48:34 1600 1

原创 Maven项目集成Spring+SpringMVC+MyBatis框架的项目配置

applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context"...

2019-05-24 13:16:22 974

原创 Maven项目集成Spring+SpringMVC+MyBatis框架pom.xml文件配置

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/...

2019-05-24 13:10:11 757

原创 MyBatis代码生成器以及拦截器

代码生成器拦截器(分页插件)一.代码生成器maven 导包<dependencies> <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency> <groupId>mysql</groupId...

2019-05-22 13:46:46 1135

原创 Spring在实际开发中的运用

文章目录一 Spring在实际开发中的运用1.1 什么是Spring1.2 导包二 构造器注入2.1 根据下标进行引入2.2 根据名称进行引入2.3 根据类型进行引入2.4 自动进行引入2.5 在其它的bean的方式三 属性注入3.1 普通属性3.2 集合3.3 数组与properties四 XML的自动注入(了解即可)五 全注解(重要)5.1 扫描相应的包5.2 在相应的类上加注解5.3 如果出...

2019-05-22 13:40:37 1521

原创 Mybatis的SQL映射器Mapper

映射Mapper高级查询批量添加,删除,动态修改多对一(查询) - 难点一对多(级联添加,查询 ) -难点缓存一.映射Mapper接口方法映射到对应的SQLMapper.xml的命名空间名称就是Maper接口的全限定名Mapper接口上也可以写SQL(不建议这么做)1.employeeMapper.xml<!--这个命名空间的名称就是咱们Mapper接口的全限定...

2019-05-22 13:36:07 872 1

原创 认识MyBatis

一.认识MyBatisMyBatis就是一个ORM框架(操作数据库)面试题MyBatis与Hibernate的区别MyBatis自己写SQL,性能更好控制MyBatis与JDBC的区别MyBatis只需要关注SQL,其它完成了封装#与$的区别#(接收普通参数,预编译,性能好,安全性高),$正好相反二.Mybatis的基本配置导包(核心,依赖包,数据...

2019-05-22 13:31:33 772

原创 Mybatis配置文件generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-ge...

2019-05-22 11:48:47 770

原创 Mybatis 出现java.sql.SQLException: Field 'id' doesn't have a default value

首先是确认配置文件没有问题<!-- 新增 useGenerateKeys:是否产生主键id keyColumn:数据库对应的列 keyProperty:domain中的属性 要产生主键 把数据库中id这一列对应的 数据中domain中对应的属性字段 --> <insert id="save" parame...

2019-05-21 12:47:08 9957 1

原创 @GeneratedValue(javax.persistence.GeneratedValue)四种参数

@GeneratedValue(javax.persistence.GeneratedValue)四种参数

2019-05-20 18:41:51 2658

原创 Spring框架

2.Spring概述Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。Spring以一种非侵入式的方式来管理你的代码,...

2019-05-20 09:38:34 864

原创 数据类型转换

数据类型转换1.基本数据类型 byte char short int long float double boolean2.引用数据类型 类,抽象类,数组,接口,枚举数据类型转换的作用 1.在不损失精度的前提下可以节约空间 2.在web前台传输的都是字符串数据,后台转换后才...

2019-05-19 13:03:28 546

原创 数据类型

数据类型数据类型分为基本数据类型和引用数据类型两大类在下面数据类型的介绍中只会介绍8种基本数据类型和引用数据类型中的类类型中的一个类String基本数据类型 1. 计算机中的存储单位 8bit = 1byte 1024byte = 1KB 1024KB= 1M 1024M = 1GB 1024GB = 1...

2019-05-19 13:03:22 1341

原创 环境搭建

环境搭建1.认识JVM、JRE、JDKJVM(Java Virtual Machine): Java虚拟机,Java程序运行在其中. java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行. JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file )JRE(Java Runtime E...

2019-05-19 13:03:14 726

空空如也

空空如也

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

TA关注的人

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