自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 算法-从入门到放弃

算法很重要也很难这个众所周知,不知是幸运还是不幸,现在的企业面试也开始卷算法了。我自己是没什么算法底子,老实说现在让我手写个简单排序我都写不好的,就从这里开始吧。先放代码地址,拷了好多别人的资料,老实说看的一脸懵,会慢慢删掉别人的参考代码,用自己喜欢的的方式实现一遍的algorithm: 算法学习及练习一、等差数列和等比数列二、从两数之和到abandon三、数组排序...

2022-02-02 01:52:40 665 1

原创 ES学习(四)项目集成

四、SpringBoot集成这个没啥好说的,直接上代码zhangcheng/es五、ELK+Skywalking

2021-12-31 02:07:48 1447

原创 ES学习(三)全文查询[超多图预警]

3.1 _analyze 分析器3.2 全文搜索 match3.3 组合查询3.4 聚集查询四、SpringBoot集成五、ELK+Skywalking

2021-12-18 02:40:23 1352

原创 ES学习(二)基础语法[多图预警]

二、es基本语法操作示例前面我们已经成功搭建了单机的es环境,并学会了简单使用es的可视化页面工具kibana,是时候用它来练习es语法了。文档型数据库的优势是存储的灵活性,以及单次随机查询的性能较好,例如:mongoDB,相伴随而来的就是其非常难掌握的s一样的语法,因此不感兴趣的就可以不用往下看了,等用到的时候再补充。es的一些概念和原理我就不说了,百度百度都能有,我自己也是半吊子说不清楚。es的语法涉及到的细节也非常多,我就增删改查这些基本的功能写个简单版本,以备以后用到时好快速上手。好了打开k

2021-12-15 03:48:21 2027

原创 ES学习(一)环境搭建[多图慎入]

随着生产环境数据的急剧膨胀,传统关系型数据库在查询性能、扩容缩容等方面代价越来越高,我们需要一个具有扩展性好、查询性能高的NoSQL服务作为辅助[缓存]来弥补关系型数据库这方面的不足。近年来存储器结束了双雄争霸[Mysql,Oracle]迎来了多元化的时代,如Redis、MongoDB、TiDB、Hadoop等。ElasticSearch是一个使用Restful接口基于Lucene引擎开发的去中心化的全文搜索引擎,可以将关系型数据库中一些数据作为“缓存”存储在es中以适应更复杂条件下的高性能查询。一

2021-11-30 20:23:00 1614

原创 MySQL学习整理-码农进阶之路(四)

五:分库分表MySQL分库分表主要解决的问题是,当数据规模大到一定程度时,查询性能会急剧下降,甚至数据容量突破单机磁盘上限,不得不在多个机器节点上分散存储。然而过多的切分会使系统过于复杂难以维护,因此个人建议是能不切分就不切分,切分也优先按功能领域作垂直切分,仅对某些数据规模过大的表作水平切分。5.1 基础概念及常见问题常用架构: M-S一主多从:主不能停机,从机过多会出现延迟 M-S-S级联复制:使用级联复制减轻主机的IO压力,但从机延迟更大了 ...

2021-10-20 16:42:22 414 2

原创 MySQL学习整理-码农进阶之路(三)

四:优化4.1索引使用常见注意点1.独立的列,即索引列不能是表达式的一部分,也不能是函数的参数。如index(a);where a+ 1 > xx;to_days(col)。2.尽量全值匹配,联合索引最左前缀原则,使用覆盖索引查询,范围查询条件放最后。3.不等于类的语法慎用,会导致扫描区间近似全表扫描,如not in(...)。4.like查询前缀:'abc%',如果是获取后缀比如xxx.qq.com,可以新增一列存储反转字符串[moc.qq.xxx]再使用前缀'moc.qq%..

2021-10-09 21:28:05 226

原创 MySQL学习整理-码农进阶之路(二)

二:MySQL基础架构2.1硬盘机械硬盘由磁盘片、磁头和磁头臂等组成,一次IO的流程大致是寻道[磁头臂内外移动]->旋转[扇区]->读取,一次大概9ms,主要开销在寻道和旋转上,读取1%不到。固态硬盘:page[4k]-block[64/128]-plane[n]-die-闪存片-SSD[n]写放大问题:SSD写入是page级别,但擦除是block级别,每次写入必须是全新的page,好处是避免了磁盘碎片,因为闪存必须擦除才能写,因此需要将block里的有效数据移到新块上,再擦除当

2021-10-08 21:22:48 222

原创 MySQL学习整理-码农进阶之路(一)

mysql在开源社区孕育至今已经是比较成熟的产品,尤其5.6、5.7版本做了大量的优化,相当于java的6-8,技术的迭代意味着观念需要转变,以前一些不能写的sql在新版本的mysql服务器上也许就有很好的表现。互联网的底层逻辑是数据和业务,程序的底层逻辑是数据结构和算法,数据库就是互联网大厦的地基,mysql作为我们饭碗的重要组成部分不能不引起重视,了解他的设计思想也对我们日后的编码设计有促进作用。一:基础概念1.1 事务ACID原子性Atomicity:要么都成功、要么都失败一致性C

2021-10-08 15:33:57 186

原创 Python入门,安装与环境配置,简单的代码示例

python被纳入小学课程了,心头一跳,卧槽要是回家大外甥让我教他python我说不会,岂不是毁了我在他心目中天上事知三分,天下事没有不知道,运筹帷幄决胜千里的形象。最近也有朋友说,想学学python,咱有这时间不是,搞个环境跑两行python代码,好得心里有个数,免得好为人师出门吹牛皮被打脸。目录一:软件安装和环境变量配置二:使用PyCharm编写python代码2.1:Py...

2021-01-24 20:43:26 323

原创 redis环境搭建,单机,主从,哨兵,集群

一、环境准备准备三台虚拟机centOS7服务器,redis安装包redis-6.0.3.tar.gz,java开发环境[用于测试]二、单机安装2.1 前置安装检查yum -y install cpp gcc make binutils glibc-kernheaders glibc-common glibc-devel2.2 安装包下载wget http://download.redis.io/releases/redis-6.0.3.tar.gz2.3 本机编译环境准备安装新版本re

2020-05-31 11:45:43 415 1

原创 RabbitMQ安装和高可用集群搭建

RabbitMQ安装和高可用集群搭建准备:使用VMware软件搭建3台centos服务器并完成host相关配置,可以使用我的软件地址。由于版本等原因,安装过程容易出现各种莫名其妙的问题,关于软件安装和集群搭建的主要流程部分,我将以1.2.3开头标明执行时序,建议严格按照顺序执行!!!链接:https://pan.baidu.com/s/1D-NIyFGLRiLeBXTNqBDe9w提取码:bn32一.RabbitMQ安装rabbitmq和erlang必须相兼容,注意版本对应关系,..

2020-05-24 01:26:23 480

原创 Java8学习分享

Java8学习分享主要接口路径rt.jar: java.util.function目录一:模拟lambda编程的设计思路1.1传统方式1.2条件参数化1.3行为参数化1.4匿名内部类实现1.5小结二.接口新增关键字default& static三.新增api3.1 Base64api3.2简便的日期工具类四.函数式编程4.1四大核心...

2020-03-18 14:40:43 259

原创 SpringIOC和AOP源码思维导图

Spring IOC和AOP主流程代码结构图 xmind

2019-08-17 00:44:37 193

原创 并发编程(入门) 多线程学习 手写ReentrantLock

本文学习资料和灵感来自网络,感谢享学课堂13号技师、开课吧小师妹、汪文君老师、《Java并发编程实战》[Brian Goetz]一:概述随着java技术的成熟和工作年限的增长,现在出去面试言必谈“多线程、高并发”,诸如:多线程和高并发是什么关系?什么是线程安全?锁是什么?举个例子,你在工作中是怎么使用多线程的?你们系统的秒并发数秒TPS数达到了多少?每天不知道有多少人跪倒在了面试官的...

2019-08-17 00:43:35 260

原创 docker安装mongoDB,Navicat for MongoDB使用

因为本文是入门文档,所以废话较多,可以跳过直接看后面流程。web开发最常用的数据库是关系型数据库,代表性的就是mysql和oracle。所谓关系型数据库,其实就是每个表为一个数据实体,在每个数据实体之间建立关系,而关系型数据库的范式就是对这个实体解耦程度的要求。可以看出来了,关系型数据库其实和面向对象的开发思想一脉相承,这种开发方式既和人的思维更接近,也更能发挥计算机的算力,从而更有效率的迭代...

2019-08-03 02:19:00 1076

原创 windows c++开发环境配置

这次不说废话,直接开始一:环境配置1.1.软件下载C++开发环境配置主要有两种方式,其一是下载安装visio studio enterprise,装好了就什么都有了,不过这玩意比较重,作为练习的话我选择第二种方式,安装MinGw软件下载地址:https://sourceforge.net/projects/tdm-gcc/files/latest/download具体步骤:...

2019-07-30 19:46:56 287

原创 php入门,windows安装与环境配置,基础语法学习

最近患上了装语言环境的癖好,坊间一直流传一个传说,在任意一个开发交流群或者社区里抛出:“php是世界上最好的语言”,就会引发一场“恶斗”。文人打架那都是“石灰粉”“撩阴腿”“抓头发”“咬耳朵”,动作极其卑劣有效,网络时代是见不着这样的盛景了,不过你一言我一语之间的勾心斗角,精彩程度更胜往昔啊。在web时代,这场混战尤以java和php两大阵营实力最为雄厚,所谓知己知彼百战不殆,作为一名java...

2019-07-28 12:24:33 258

原创 Golang入门,安装与环境配置,简单代码入门

目录一:安装包下载和环境配置1.1软件下载和安装1.2环境变量配置1.3环境配置验证二:完成HelloWorld程序2.1编码2.2执行三:开发IDE工具软件安装和配置3.1下载和安装3.2环境配置3.3新建空白文件四:常用语法练习本文参考链接:https://www.cnblogs.com/qcloud1001/p/9199246.html...

2019-07-27 03:09:59 353

原创 Docker进阶一 使用dockerfile构建服务

前面我们已经学会了在linux下安装软件,也发现了docker能极大的帮助我们快速完成工作,但想必也被那冗长的docker run命令困扰。一个两个还好,若是微服务生产环境下几百上千的服务节点,也这样手工维护的的话,恐怕死的不知道怎么死的。学习是为了实战,幸得大佬指点,开始了学习dockerfile的过程本文笔者还在学习初始阶段,实例完成度也不高,仅供参考首先了解dockerfile是什么...

2019-07-13 17:58:52 430

原创 Linux CentOS JavaWeb开发生产环境配置常用命令

作为蚂蚁王国的底层,我们工作中偶尔还是会需要做一些coding以外的事情,这可是一个长脸出风头吹牛逼的大好机会,但要是...比如部署环境时经常需要找一些linux的命令和安装流程,记不住冗长的命令也许可以被理解,但满头大汗装java装个半天还没搞定就显得太不专业了,装逼失败是多么的尴尬。多么羡慕那些大佬啊,像是出尘的剑客,十步一剑,事了拂衣,帅的不要不要的。本着成为帅逼的目的,本文整理目前...

2019-07-08 23:31:37 359

原创 前端入门,使用Angular CLI完成增删改查页面

目录一:环境准备1.1下载nodejs1.2修改模块路径和缓存路径配置1.3环境变量配置二:Angular安装和项目创建2.1安装typeScript2.2angular cli安装2.3使用webstorm创建AngularCLI项目三.AngularCLI增删改查页面代码3.1angular文件目录分析3.2angular常用语法3.3一个增删改...

2019-06-28 21:43:43 1810

原创 Activiti工作流进阶-搭建一个MVC项目并实现请假流程

目录一:简介二:创建流程引擎2.1创建一个web项目2.2编写初始化引擎配置代码2.3生成28张activiti任务表三:使用activiti-spring-boot-starter-basic开发activiti项目3.1开发准备工作3.2请假流程图绘制3.3登录和拦截器3.4前端页面绘制和前端框架选型3.5开始流程,请假表单创建和提交3.6角色查...

2019-06-24 13:37:04 1391 10

原创 Activiti6工作流入门初体验

简介:工作流是开发者迈向更高级的一个阶梯,能够帮助我们在更规范清晰的业务场景下更加高效的实现开发工作。适用场景:任何一个中间件的引入都会带来额外的复杂度,如果不能正确的认识和使用她,那么她就是累赘。工作流是一个很庞大的中间层,一般用于企业中台的流程管理,保证流程的清晰规范高效的同时,大大减少了开发的工作量。当我们需要开发一个多角色参与的业务流程时,我们们就需要工作流,如请假审批流程...

2019-06-23 16:46:49 6209

原创 Linux安装MySQL、Redis及分布式锁实现

最近构建项目,涉及到很多细节需要到处查看文档,作为一名合格的面向百度开发的程序员,通过“百度一下”来寻找答案是最直接的方法。然而面对千篇一律或答非所问的搜索结果,浪费了大量的时间却仍然没能解决自己的问题,就想着自己去写一篇,但是当真正动笔的时候,才发现自己才是写的最水的那个^_^本文参考链接如下:https://blog.csdn.net/changgongcheng_yq/article...

2019-05-09 15:52:08 457

原创 IDEA,SpringBoot-MySQL-JPA开发实例

1.简述spring-data-jpa是spring推出的一种新的ORM开发框架,作为从hibernate转到mybatis的菜鸟,对hibernate的多对多什么的烦透了,现在仍然感觉mybatis天下第一,不过既然推出了新技术,总要试着学习下的,也许这就会成为日后的主流框架,毕竟这是spring全家桶里的。2.环境jdk1.8maven3.xIntelliJ IDEA3...

2018-12-24 02:37:09 801

原创 使用idea5分钟生成一个SpringBoot-Mybatis项目

       在学校时自己花了好几天的时间搭建了一个springMVC项目,繁多的配置文件转眼就往记了,工作后接触的公司项目配置文件更是复杂到望而却步,自称java工程师,却连建个项目都不行,一度怀疑自己的能力。      当然办法总是比困难多,从eclipse到sts,后来有了Intellij IDEA,后来又有了SpringBoot,还有很多便利的开发工具包。springboot以及自带的...

2018-12-22 03:38:47 268

原创 mysql关联修改,批量修改,数据同步

业务场景:        1.从接口获取数据,根据本地表数据处理接口数据        2.将处理好的数据更新到指定表中思路:        1.建立临时表,给临时表和本地表建立关联关系,根据根据一个表的字段修改另一个表的字段        2.把处理好的数据添加到表中,要求指定列数据不重复,已存在的更新,不存在的新增解决SQL示例:问题1:两个表有关联关系,根据一个表...

2018-12-21 16:18:05 1716

原创 tortoise git could't agree a key exchange algorithm

tortoise git 在github上创建新的项目时,上传或下载代码出现这个错误: could't agree a key exchange algorithm解决方案:换用2.6新版本的Tortoise Git,可能GitHub官方有什么更新,导致了老版本的小乌龟不行了...

2018-07-30 14:19:27 3562

原创 RabbitMQ windows安装配置

(一),下载安装erlang因为rabbitMQ是使用并发式语言erlang写的(类比java),所以需要安装erlang环境。下载地址:http://www.erlang.org/downloads下好后直接点击安装,然后配置环境变量二,下载安装RabbitMQ下载地址:http://www.rabbitmq.com/install-windows.html点击直接安装三,安装RabbitMQ插...

2018-04-08 11:07:54 225

原创 windows10 zookeeper IntellijIEDA下载安装教程

1.下载下载链接 http://archive.apache.org/dist/zookeeper/2.安装无需安装,直接解压到本地如:D:\java\zookeeper-3.4.53.配置打开conf,复制一份zoo_sample.cfg重命名为zoo.cfg将原来的dataDir改为如下代码:dataDir=D:\java\zookeeper-3.4.5\\datadataLogDir=D:/...

2018-04-03 15:49:52 489

原创 mysql建表语法(虽不实用,面试备忘)

建表use o2ocreata table `tb`(`id` int(10) NOT NULL AUTO_INCREMENT,`user_id` int(10) NOT NULL,`create_time` datetime DEFAULT NULL,primary key(`id`),constraint `fk_tb` foreign key(`user_id`) references `t...

2018-03-20 13:08:25 304

原创 ORACLE数据库导入导出

1.oracle数据库导入导出1.1数据导出1.1.1测试连接是否畅通tnsping 192.168.1.2021.1.2 查看远程服务器版本,不一致则不能导出sqlplus uwp_cfgh_root/123456@192.168.1.202:1521/FDMS21.1.3导出Exp uwp_cfgh_root/123456@192.168.1.202:1521/FDMS2 file=d:\20...

2018-03-19 10:28:02 135

原创 Nodejs安装及环境变量配置

安装node现在说起来是很简单的事,1分钟就可以完成。但我实际安装时,百度中随机找了三篇文章,发现三篇文章的安装配置方式细节都不一样,一时懵逼了,究竟哪个是正确的?经过本人安装测试,下面的方法为最快捷有效的方法,不用一堆胡乱的配置和改动。1.下载nodejs中文站  http://nodejs.cn/download/官方站  https://nodejs.org/en/download/(lts...

2018-03-09 19:36:41 1031

原创 Bootstrap多选框数据保存,前后端json简单使用

1.问题描述我们需要做这样一件事,bootstrap表格展示数据,我们选中其中一条或几条(全选)数据,执行其他操作如保存。这是个很常见的需求,一开始,我使用了bootstrap的onCheckAll、oncheck、onUncheck这样的方法实现的,但是上述方法是点击就会触发,有时会显得过于敏感且会过多的向后台发送请求。于是希望统一获取checkbox选中行的数据,一次后台请求即可完成操作,在页...

2018-03-08 18:03:20 1441

原创 玩转虚拟机,Linux Ubuntu JAVA运行环境配置

Ubuntu JAVA运行环境配置ubuntu作为对新手最友好的linux系统,以其良好的桌面系统和服务为linux系统的推广作出了巨大的贡献,当然本人更着迷于ubuntu里各式各样的小游戏,笑~小贴士:1.首次登陆是没有root密码的,后面有些只读文件的修改用root很方便首次修改设置root密码:sudo passwd用root登陆 su root 用exit退出

2018-01-31 16:47:33 313

原创 jdk9环境变量配置变化

我们先看看jdk9的目录结构可以发现了吧,jdk包里jre没了,一脸懵逼的我用idea跑了下,发现完全没问题,回头跑工作用的eclipse时,就呵呵呵了。想要eclipse直接识别jdk9是不可能了,只能先配置环境变量了。这边记录下环境变量配置的变化,也供其他人参考,水平有限,大家共同进步吧。以往的jdk配置JAVA_HOME D:\JAVA\jdk1.8(jdk安装路

2018-01-07 22:48:40 1617

原创 java存储 简析

一:说明java运行期间所有内容都存储在电脑上,并在不同阶段,将不同代码由磁盘导入内存并执行。那么我们就有必要知道电脑的存储大体是怎么分配的,在程序运行到某个阶段,我们哪些内容是放在磁盘上的,哪些内容是加载在内存的哪个地方的。本文目前仅简单介绍内存的分类二:存储的几个地方1.寄存器:寄存器是最快的存储区,他位于处理器内部,根据需求进行分配,java不能控制寄存器存储的分配方式2

2018-01-01 02:26:56 218

转载 触发器 简析

一:概念触发器是一种特殊的存储过程,不接受参数,由事件调用二:分类1.DML触发器:创建在表上,由dml事件触发2.instead of触发器:替代触发器,oracle8专门用来处理视图。创建在视图上且只能在行级上触发3.DDL触发器: 数据库对象的创建和修改触发4.系统触发器:数据库系统事件触发 如启动与关闭三:触发器组成l         触发事件:引起触发器被

2017-12-31 23:50:20 316

原创 索引 简析

一:概念1.索引类似于书籍的目录,可以加快数据的检索,其关键是通过检索排序后的索引键来代替全表扫描,从而提高速度。2.索引和表无关,对表的操作会由oracle自动选择是否使用索引,删除索引对基本表无影响。oracle创建主键会自动对该列创建索引。二:基本语法create [unique | bitmap] index index_name  on table_name(...)

2017-12-31 22:34:42 168

空空如也

空空如也

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

TA关注的人

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