• 等级
  • 495316 访问
  • 156 原创
  • 23 转发
  • 8022 排名
  • 172 评论
  • 169 获赞

Elasticsearch简介与安装

读书应具有学习和求知的欲望,也就是说,要用人类的天才积累的知识财富充实自己的头脑和心灵。 ——《书话》1、简介ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达...

2019-02-23 19:32:52

2018年总结与2019年新计划

1、概述2018年发生了很多事情。有好有坏。人也慢慢走向成熟,不再为一时的坏而黯然失色;也不再为一时的好而暗自窃喜。总体来说,2018我是幸运的。2、2018年总结2.1工作在工作方面,2018年总共做了四个项目。经过17年的磨砺,18年针对复杂的情况也能从容面对了。2.1.1充电桩项目这个项目是针对整个桐乡市搭建充电桩,客户可以说是当地的地头蛇,黑白通吃。这个项目开始时,我个人是...

2019-02-23 17:07:22

mac中删除相关快捷键

自己的行为最惹人耻笑的人,却永远是最先去说别人坏话的人。——《伪君子》最近在项目测试过程中,需要进行向前删除和向后删除的操作。我发现在mac上居然找不到向后删除的快捷键。因此Google一波,mac提供的删除功能还挺多:(1)第一种:按delete键,实现Windows键盘上退格键的功能,也就是删除光标之前的一个字符(默认);(2)第二种:按fn+delete键,删...

2018-12-26 11:46:47

SpringCloud实战与原理分析--第二章:SpringCloud介绍

我准备向他提出一个他不可能拒绝的条件。——《教父》1、引言首先,我们来看看一般的微服务架构需要的功能或使用场景:(1)我们把整个系统根据业务拆分成几个子系统。(2)每个子系统可以部署多个应用,多个应用之间使用负载均衡。(3)需要一个服务注册中心,所有的服务都在注册中心注册,负载均衡也是通过在注册中心注册的服务来使用一定策略来实现。(4)所有的客户端都通过同一个网关地址访问后台的服务...

2018-12-17 19:40:51

SpringCloud实战与原理分析--第一章:微服务架构

伟大的人不是生下来就伟大的,而是在成长过程中显示其伟大的。——马里奥·普佐《教父》1、技术架构的演化1.1单体架构1.1.1简单单体模式简单单体模式是最简单的架构风格,所有的代码全都在一个项目中。优点(1)项目的开发人员都可以随时修改任意的一段代码,或者增加一些新的代码。开发人员在个人电脑上就可以进行开发、调试、测试整个系统的功能。(2)项目不需要额外的一些依赖条件...

2018-12-10 20:39:25

mysql采用存储过程插入大批量数据

人在年轻的时候,觉得到处都是人,别人的事就是你的事,到了中年以后,才觉得世界上除了家人已经一无所有了。——王小波《爱你就像爱生命》1、引言最近发现老项目中的首页加载速度较慢,发现做主要的原因由于单表数据已经超过百万了,于是考虑通过优化SQL语句和增加索引来提升加载速度。线上库当然不能随意的增加和修改索引测试,但是测试库的数据量较少,测试效果不明显。因此考虑往测试库中增加百万的模拟数据。2...

2018-12-08 18:08:12

Spring事务注解@Transactional失效和切面失效问题

人最宝贵的是生命,生命属于人只有一次。人的一生应当这样度过:当他回首往事时,不会因虚度年华而悔恨,也不会因碌碌无为而羞耻。这样,临终前他就可以自豪地说:“我已经把自己整个生命和全部精力都献给了世界上最壮丽的事业——为人类的解放而奋斗。”——《钢铁是怎样炼成的》1、引言最近在开发采用Spring框架的项目中,在A方法上使用了@Transactional注解,但当在同一个类的B方法中调用A方法...

2018-12-01 13:04:28

Servlet线程安全问题

当你什么都不是的时候,你就无所畏惧。——《冰与火之歌》1、引言最近在开发中,经常理所当然的用SpringMVC处理请求,想着SpringMVC在处理高并发请求的时候怎么去解决线程安全问题。因此先研究了SPringMVC处理请求的基础,Servlet的线程安全问题,后面再去深入SpringMVC的线程安全处理机制。2、Servlet生命周期及其处理流程Servlet生命周期是指从创建直到...

2018-11-18 22:20:44

mysql修改表结构和字段方法总结

我一贯追求的是:在人的肉体与幻想允许的范围内,获得最大限度的真诚和信任,以及对所有的一切尽可能长久的保证。《镜中微瑕》1、引言在开发时有时候为了前期数据库设计不合理或者名称写的有问题,需要修改名称或字段属性,因此,本文总结了在开发中常用的修改字段的mysql命令。2、ALTERCOLUMN修改默认值#设置默认值ALTERTABLEMyTableALTERCOLUMNu...

2018-11-15 19:58:27

SpringMVC中的参数绑定注解详解及其使用场景

我认为只有深刻地研究过人,才能创造出人物,如同只有认真地学习了一种语言才能讲它一样。——《茶花女》0、引言最近在写一个接口的时候,采用put请求,接收参数时采用了两个@requestparam接收。前端通过application/json传来两个参数,测试时总是接收不了,最后换成application/json去接收可以。因此总结了本文常用的SpringMVC参数绑定注解,以谨记此次bug...

2018-11-14 20:22:18

修改mybatis-generator中数据库类型和Java类型的映射关系

离你越近的地方,路途越远;最简单的音调,需要最艰苦的练习。——《泰戈尔诗选》1、修改类型映射关系在项目中,为了降低数据的存储空间,status状态字段一般使用tinyint,1个tinyint型数据只占用一个字节,一个int型数据占用四个字节。这看起来似乎差别不大,但是在比较大的表中,字节数的增长是很快的。tinyint的范围一般是,带符号的范围是-128到127,无符号的...

2018-09-15 15:58:36

linux下各种方法查看tomcat日志以及查看文件内容指令

宽宏大量,是惟一能够照亮伟大灵魂的光芒。——《巴黎圣母院》1、引言本周在Linux部署springboot项目的时候,采用自动化部署,一直以来都采用jar包的部署方式,本次采用war包的方式部署到tomcat容器。虽然我在项目中配置了Logback记录日志,但是一些预启动的内容还要需要通过tomcat的启动日志catalina.out来查看。本文主要总结Linux下查看日志...

2018-09-15 14:11:15

SpringBoot中通过mybatis拦截器打印sql执行时间

真正的光明决不是永没有黑暗的时间,只是永不被黑暗所掩蔽罢了。真正的英雄决不是永没有卑下的情操,只是永不被卑下的情操所屈服罢了。——《约翰•克利斯朵夫》1、引言开发时,在控制台打印SQL语句的执行时间和语句对于调试bug和优化SQL语句极为重要。本文主要介绍在SpringBoot框架下,通过注解@Configuration注解配置和mybatis拦截器配置打印SQL执行时间。...

2018-09-08 18:55:16

数据库设计——多选状态字段设计

没人对你说「不」的时候你是长不大的。——《战争与和平》1、引言在做公司的算法分析相关项目时,遇到分析状态这个字段存在多种分析算法对应的状态,并且是多选的。这样讲起来有点抽象,由于项目保密问题,也不能细讲。换个通俗的例子来说明这个问题。例如:某个商家支持多种会员卡打折,如金卡、银卡、其他卡,多选状态。通常的做法是在商家表中建立三个字段,gold_card(tinyi...

2018-09-04 00:39:00

阿里巴巴Java工程结构规范与实践

生命从来不曾离开过孤独而独立存在。无论是我们出生、我们成长、我们相爱还是我们成功失败,直到最后的最后,孤独犹如影子一样存在于生命一隅。——《百年孤独》1、应用分层1.【推荐】图中默认上层依赖于下层,箭头关系表示可直接依赖,如:开放接口层可以依赖于Web层,也可以直接依赖于Service层,依此类推:开放接口层:可直接封装Service方法暴露成RPC...

2018-09-03 13:08:48

java项目中常量规范定义的思考

大言不惭,则无必为之志。——《论语·宪问》1、引言最近在看老大在项目中写的代码,发现在系统常量的定义上,与我之前在开发项目的定义有些不一样,引发了我对系统变量如何规范定义和每一种定义有什么优点?这两个问题的好奇。为什么需要定义常量?提取常量主要是为了避免魔法数字和提高代码可读性保证一致性。首先我想研究下,有哪几种定义常量的方法,经过谷歌,主要有两种:(1)在接口中...

2018-09-02 23:38:31

基于maven使用IDEA搭建和部署SpringBoot多模块项目(Multi-Module)

Whatmattersinlifeisnotwhathappenstoyoubutwhatyourememberandhowyourememberit.生命中真正重要的不是你遭遇了什么,而是你记住了哪些事,又是如何铭记的。——马尔克斯《百年孤独》1、引言在最近的项目开发中,为了满足后期将项目改造成分布式项目,探索将传统的单一...

2018-08-30 02:21:55

Ant中build.xml对多module部署配置

无论走到哪里,都应该记住,过去都是假的,回忆是一条没有尽头的路,一切以往的春天都不复存在,就连那最坚韧而又狂乱的爱情归根结底也不过是一种转瞬即逝的现实。——马尔克斯《百年孤独》1、build.xml配置由于项目需求,自动化部署需要自动编译,打包源文件,项目的架构比较特殊有三个子module,本配置实际证明适合多module配置上线。<?xmlversion="1.0...

2018-08-29 16:08:27

IntelliJ IDEA查找maven依赖关系,解决包冲突

无论走到哪里,都应该记住,过去都是假的,回忆是一条没有尽头的路,一切以往的春天都不复存在,就连那最坚韧而又狂乱的爱情归根结底也不过是一种转瞬即逝的现实。——马尔克斯《百年孤独》1、引言最近在开发maven构建的项目时,由于项目依赖较多,导致了冲突slf4j-log4j12与slf4j-log4j。本项目的开发环境基于idea。如何解决maven包冲突问题,IntelliJID...

2018-08-27 23:15:39

MySQL数据库与Redis缓存数据一致性问题

我们时常接受失望,这样我们才能不断重整旗鼓。——《岛上书店》1、引言在最近项目开发中,采用mysql存储持久化数据,redis缓存热门数据,遇到一个问题,对于一些强实时性业务,我们需要先将数据写到mysql上,mysql写入成功后,再去更新redis,从而确保redis解决读的问题,同时保证了关键数据的一致性问题。但是这里出现了一个问题,如果mysql操作成功了,但是red...

2018-08-01 17:56:46

博客专家

chun_soft

再忙也不要忘记学习!
关注
  • 计算机软件/软件工程师
  • 中国 浙江省 杭州市
奖章
  • 持之以恒