- 博客(445)
- 资源 (12)
- 收藏
- 关注

原创 Spark 相关概念
什么是Spark官网:http://spark.apache.orgApache Spark™ is a unified analytics engine for large-scale data processing.Spark是一种快速、通用、可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2...
2019-06-28 10:28:18
289

原创 HBase 相关概念
什么是HBaseHBase的原型是Google的BigTable论文,受到了该论文思想的启发,目前作为Hadoop的子项目来开发维护,用于支持结构化的数据存储。官方网站:http://hbase.apache.org-- 2006年Google发表BigTable白皮书-- 2006年开始开发HBase-- 2008年北京成功开奥运会,程序员默默地将HBase弄成了Hadoop...
2019-06-26 10:13:25
242

原创 常用的自动装配注解@Autowired @RequiredArgsConstructor @AllArgsConstructor
《spring实战》中给装配下了一个定义:创建应用对象之间协作关系的行为称为装配。也就是说当一个对象的属性是另一个对象时,实例化时,需要为这个对象属性进行实例化。这就是装配。如果一个对象只通过接口来表明依赖关系,那么这种依赖就能够在对象本身毫不知情的情况下,用不同的具体实现进行切换。但是这样会存在一个问题,在传统的依赖注入配置中,我们必须要明确要给属性装配哪一个bean的引用,一旦...
2019-06-11 14:27:13
23966
1

原创 大数据技术生态体系
大数据技术生态体系图中涉及的技术名词解释如下:1)Sqoop:sqoop 是一款开源的工具,主要用于在 Hadoop(Hive)与传统的数据库(mysql)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle 等)中的数据导进到 Hadoop 的 HDFS 中,也可以将 HDFS 的数据导进到关系型数据库中。2)Flume:Flume 是 Cloud...
2019-05-20 09:30:24
1676

原创 A JNI error has occurred, please check your installation and try again 错误
错误日志:Error: A JNI error has occurred, please check your installation and try againException in thread "main" java.lang.NoClassDefFoundError: org/springframework/session/web/http/CookieSerialize...
2019-05-17 14:13:51
9745

原创 理解maven命令package、install、deploy的联系与区别
.gitlab-ci.yml 中package-all-with-no-test: stage: build script: - mvn clean install -DskipTests -U最常用的打包命令有mvn package、mvn install、deploy,这三个命令都可完成打jar包或war(当然也可以是其它形式的包)的功能,但这三个命令还是有区别的。...
2019-05-17 14:07:57
519

原创 蓝绿部署(Blue/Green Deployment) and 滚动发布(rolling update)
一、蓝绿部署(Blue/Green Deployment)过去的 10 年里,很多公司都在使用蓝绿部署(发布)来实现热部署,这种部署方式具有安全、可靠的特点。蓝绿部署虽然算不上“ Sliver Bullet”,但确实很实用。蓝绿部署是最常见的一种0 downtime部署的方式,是一种以可预测的方式发布应用的技术,目的是减少发布过程中服务停止的时间。蓝绿部署原理上很简单,就是通过冗余来解决问题...
2019-05-16 17:13:21
5045

原创 excel读取日期为数字的问题 getCellValue
改进版poi把日期数据也归类为Cell.CELL_TYPE_NUMERIC数字类型,并且在cell中是正确读取到了 2015-05-25,但是在使用cell.getNumericCellValue()方法获取时却发生了变化,返回了42149.0 /** * 获取每个单元格的内容 */ private static Object getCel...
2018-08-20 21:27:06
10933

原创 导入改进第二版
优点:进行完整的校验,如模板是否正确,格式是否正确,都非常方便,导入是字段和列可以打乱。controller类要改进的两点:增加提示列不对应时,明确哪个字段有问题getcell是考虑是excel是常规时是数字是的情况,现在都是string类型2018.8.20 修复日期读取不正常的bug@ApiOperation(value = "导入") @PostMappin...
2018-08-20 10:51:21
393

原创 swagger导入的写法 Processing of multipart/form-data request failed. Stream ended unexpectedly
swagger导入的写法 @ApiOperation(value = "导入") @PostMapping(value = "ImportItam",consumes = "multipart/*",headers = "content-type=multipart/form-data") public ResultVO<String>ImpotIteam( @A...
2018-08-19 11:45:12
3916

原创 application.properties 常用属性列表
# ===================================================================# COMMON SPRING BOOT PROPERTIES## This sample file is provided as a guideline. Do NOT copy it in its# entirety to your own appl...
2018-06-20 12:55:58
1772

原创 设计模式——装饰者模式
装饰器模式 Decorator [ˈdekəreɪtə(r)]动态地将责任附加到对象上。想要扩展功能,装饰者提供有别于继承的另一种选择装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。我们...
2018-06-19 16:19:34
305
1

原创 Springboot 上传与下载
TDD设计模式一、Test类@RunWith(SpringRunner.class)@SpringBootTestpublic class UserControllerTest { @Autowired private WebApplicationContext wac; private MockMvc mockMvc; @Before public void setup() ...
2018-05-30 12:50:01
666

原创 Redis时间过期处理
目的:业务逻辑为利用usertoken为key在redis中保存,当不操作时间超过20分钟时,清空redis,使得用户重新登录。redis对存储值的过期处理实际上是针对该值的键(key)处理的,即时间的设置也是设置key的有效时间。Expires字典保存了所有键的过期时间,Expires也被称为过期字段。 四种处理策略EXPIRE 将key的生存时间设置为ttl秒PEXPIRE 将key的生...
2018-05-29 15:42:32
4292

原创 SpringClound微服务调用安全
微服务调用安全有两个方面1.客户端调用微服务的安全问题,通过zuul的网关去解决。当是我们想在ueurka内建一个小团体,所以请求头加了token(相当于多加了一道锁子)2.微服务之间的调用的安全问题,通过fegin调用,解决思路是在调用时请求头加上token,让被调用方验证token的有效性所以以上两种安全可以用同一种思路去解决,简化流程,提高安全一、被调用方的过滤器的解决在启动类中添加 @Be...
2018-05-18 20:53:58
931

原创 springboot 异常处理(输入参数验证,加上分组 第二版)
目的:在一个表中,添加或更新不同的字段(一个表中多次插入,要分组进行判断)一、定义分组接口 public interface First { } public interface Second { } 即通过@Validate注解标识要验证的分组;如果要验证两个的话,可以这样@Validated({First.class, Second....
2018-05-18 15:52:00
2047

原创 springboot 异常处理(输入参数验证 第一版)
改进了 输入参数的验证(全局)一、GlobalExceptionHandler类添加@ExceptionHandler(MethodArgumentNotValidException.class) @ResponseBody public ResultVO handlerException1(MethodArgumentNotValidException e) { ...
2018-05-17 22:04:54
949

原创 spring boot的异常处理
目的:异常处理采用的是枚举型的 ExceptionEnum 枚举类 (特点 和别的公司的不太一样)我们通常会把 事务 配置在 Service层,当数据库操作失败时让 Service 层抛出运行时异常,Spring 事物管理器就会进行回滚。如此一来,我们的 Controller 层就不得不进行 try-catch Service 层的异常,否则会返回一些不友好的错误信息到客户端。 @Con...
2018-05-17 21:59:37
591

原创 AOP切面编程 后置通知实现返回值的判空值处理(项目中使用)
目的:因为根据平常的代码在service层根据返回值要做判断空值处理,抛对应的错误信息,得每个方法判断一次,比较麻烦。现在的处理方法是根据放回值类型判断是否list.class,是的话list.size()=0抛对应的错误信息,然后在判断是否int.class等,希望能给大家代理帮助。平常的代码写法if(i==0){ throw new AppcationException(Excepti...
2018-05-10 14:43:54
3322

原创 Spring框架——AOP前置、后置、环绕、异常通知
@Aspect@Componentpublic class LoggingAspect { /** * 在 com.spring.aop.Impl.ArithmeticCalculator 接口的每一个实现类的每一个方法开始之前执行一段代码. */ @Before("execution(* com.spring.aop.Impl.*.*(..))") ...
2018-05-09 17:45:21
1190

原创 关于省,市,区三级联动 思考
目的:分析三级联动,五级联动的实现思路关于省,市,区的三级联动后台的实现有两种方式:1:分n次请求各自取出 省 市 区 的数据;优点:传到前台的数据少。缺点:会导致数据的延迟加载,出现的情况是 省 有数据了,市和区一级还没有数据,导致用户的体验不好;这种方式只有省一级的数据可以提前加载好,市和区一级的数据只用等到选中后才开始请求;2:一次请求获得所有的数据,并且组装成相依的数据结构到前端;优点:前...
2018-05-09 15:42:32
1240
2

原创 springboot 基础(一)
SpringBoot(主流)1.敏捷开发(整合框架),弊端(不方便扩展)2.无需tomcat(java应用程序运行,实际是jar包),内置Tomcat3.减少xml配置(没有xml),采用配置文件properties4.SpringClound+SpingBoot5.注解推荐网站:http://bbs.itmayiedu.com/springboot 和微服务有什么样的关联?目前来说springC...
2018-05-09 12:19:40
248

原创 aop切面编程实现MongoDB 日志存储(升级版)
实现了平常数据存mysql。日志数据存MongoDB的功能一、日志的bean类import lombok.Data;import org.springframework.data.mongodb.core.index.CompoundIndex;import org.springframework.data.mongodb.core.index.CompoundIndexes;import...
2018-04-26 20:30:43
2046

原创 Spring Clound 与FastDFS 架构图 实际项目
注意:1、其中微服务的配置文件配置两台Ereka的地址,使得Ereka高可用 2、利用Ribben实现客户端的负载均衡 3、利用Zuul实现静态web页面 4.、数据利用Mycat实现多数据源...
2018-03-09 10:45:34
1682
1

原创 ureka高可用配置 及其clound知识点
配置多台Eurka server的目的一、配置yml文件2、启动配置 需要的参数传进去传参进去的好处是,方便测试Eurka 本身不提供负载均衡,clound利用其ribben来实现客户端的负载均衡其中还有常用的Nginx来实现服务器端的负载均衡下图为ribben的简图,他自己来维护负载均衡的服务器列表...
2018-03-08 21:02:09
8331

原创 spirng clound 服务网关 解决静态网页调用微服务的问题
在微服务架构中,后端服务往往不直接开放给调用端,而是通过一个API网关根据请求的url,路由到相应的服务。当添加API网关后,在第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用方通信进行权限控制,后将请求均衡分发给后台服务端。1.pom文件配置<dependency> <groupId>org.springframework.cloud</group...
2018-03-08 17:23:40
8304

原创 JQuery post json 数据提交心得
<!DOCTYPE html><html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta
2018-03-08 15:53:04
19123
2

原创 Lombok 生成setter getter 报错
Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法。1.添加依赖<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId&g...
2018-03-05 18:26:18
2957

原创 代理 idea
继承,组合,第三种关系是代理,这是继承和组合之间的中庸之道java并没有提供对代理的直接支持,他的实现是组合加继承idea可以直接向get,set 一样生成该方法class SpaceShipDelegation { private SpaceShipcontrols spaceShipcontrols;}class SpaceShipcontrols { public ...
2018-02-26 21:32:04
637

原创 枚举类型
枚举类型最近在程序里用到了枚举类型处理异常的返回值,和异常code挺方便,推荐大家使用枚举类型enum Other {ONE,TWO,TREE_BOOK}由于枚举类型的实例是常量,因此按照命名惯例他们都用大写表示,如果在一个名字中有多个单词,用下划线将它们隔开。public class EurekaApplication { public static void main(Strin...
2018-02-25 17:12:52
541

原创 数组初始化 可变参数
数组的初始化写在开始的话”:重构即重写代码,以使得它更可读、更容易理解,并因此更具有维护性。软件最大的投入到了代码的维护上,所以磨刀不误砍柴工。 数组只是相同类型的、用一个标识符名称封装到一起的对象序列或基本类型数据序列。数组有三种初始化方式第一种Integer[] a = new Integer[20];它现在还只是一个引用数组,直到通过创建新的Integer对象,并把对象赋值给引用,初始化进程...
2018-02-25 16:16:57
1113

原创 idea tomcat 启动的几种方式
不管哪种方式都是调用tomcat的jar包1.通过main主函数 这种是最常见的设置一下方法启动第二种通过maven 配置tomcat 来启动 貌似现在只有tomcat7第三种 就是类似eclipse 种配置Tomcat的方式另外 修改项目的名称...
2018-02-25 14:10:46
25138
4

原创 MyBatis动态传入表名,字段名参数的解决办法,一种思路
有几种解决方法,我感觉这种最简单 <select id="getByReselleid" resultType="java.util.HashMap" parameterType="java.util.HashMap" > SELECT * FROM Info WHERE ${idname} =#{id}</select>${resellerid} $将传入...
2018-02-24 17:32:07
2335

原创 swagger2 API文档的框架 配置
随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。 前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让你更好的书写API文档的框架。pom.xml 添加依赖<!-- Restful API接口说明 生成 ...
2018-02-20 20:51:29
1553

原创 Java开发规范(四)
(五) 集合处理 1.【强制】关于hashCode和equals的处理,遵循如下规则: 1) 只要重写equals,就必须重写hashCode。 2) 因为Set存储的是不重复的对象,依据hashCode和equals进行判断,所以Set存储的对象必须重写这两个方法。 3) 如果自定义对象作为Map的键,那么必须重写hashCode和equals。 说明:String重写了hashCode和equ...
2018-02-20 11:52:23
996

原创 利用jsr310解决数据库日期型,java时间戳转换问题
数据库日期型2014-07-10java时间戳转换问题14049216000001.在ssm框架中利用Spring Aop配置转换类2.在pojo里加入转换函数在springboot中有更好的方法1.pom添加<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-t...
2018-02-16 19:49:57
5807

原创 SQL 子查询 面试题
数据库中有一个表名为“Order”的表,结构和数据如下: 请你按照下面要求写出sql语句1.统计出每个地区的合同金额合计并按此倒序排列显示。SELECT region,a.COUNT FROM (SELECT region,SUM(total) AS COUNT FROM OrderTest GROUP BY region) a ORDER BY a.COUNT DESC;2.统计出每个地区销售人...
2018-02-16 19:13:13
2310
原创 Sentinel 规则
Sentinel 支持以下几种规则:流量控制规则、熔断降级规则、系统保护规则、来源访问控制规则 和 热点参数规则。流量控制规则 (FlowRule)流量规则的定义重要属性:Field 说明 默认值 resource 资源名,资源名是限流规则的作用对象 count 限流阈值 grade 限流阈值类型,QPS 或线程数模式 QPS 模式 limitApp 流控针对的调用来源 default,代表不区分调用来源 ..
2022-03-11 10:45:54
960
原创 Sentinel
一、Sentinel 基本概念资源资源是 Sentinel 的关键概念。它可以是 Java 应用程序中的任何内容,例如,由应用程序提供的服务,或由应用程序调用的其它应用提供的服务,甚至可以是一段代码。在接下来的文档中,我们都会用资源来描述代码块。只要通过 Sentinel API 定义的代码,就是资源,能够被 Sentinel 保护起来。大部分情况下,可以使用方法签名,URL,甚至服务名称作为资源名来标示资源。规则围绕资源的实时状态设定的规则,可以包括流量控制规则、熔断降级规则以及系统保
2022-03-09 18:14:53
555
原创 steal策略和force策略
现在DBMS常用的是steal/no-force策略,因此一般都需要记录redo log和undo log。这样可以获得较快的运行时性能,代价就是在数据库恢复(recovery)的时候需要做很多的事情,增大了系统重启的时间。steal/no-steal主要决定了磁盘上是否会包含uncommitted的数据。force/no-force主要决定了磁盘上是否会不包含已经committed的数据。steal策略,那么此时磁盘上就可能包含uncommitted的数据,因此系统需要记录undo log,以..
2022-03-08 15:26:22
1853
Linux配置详细步骤
2018-04-09
容器部署解决方案Docker
2018-04-09
java编程规范(含心得笔记及其解释)
2018-04-09
velocity模板引擎
2018-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人