study
文章平均质量分 78
garagong
腾讯大数据、人工智能解决方案架构师、原京东集团云计算架构师,从事能源行业信息化工作长达17年,擅长云计算、大数据、AI大模型等技术培训、结合业务场景编写落地方案。
展开
-
Lombok(@Data注释等)的概念以及在在maven项目中如何使用
一、Lombok是什么 现在看一下Lombok官方对其进行的解释:Lombok官网:https://projectlombok.org第一句话,Lombok项目是一种自动接通你的编辑器和构建工具的一个Java库。接着,不用再一次写额外的getter或者equals方法。翻译到这里其实就可以,后面是对Lombok早期应用的介绍。通过这两句话不难理解lombok其实就是帮助我们编写get...原创 2018-11-02 12:55:06 · 15768 阅读 · 1 评论 -
基于Springboot技术的博客系统实践及应用之四(Elasticsearch)
本博客从全文搜索、ES简介、ES核心概念、ES与SpringBoot集成以及ES实战共五个方面进行详细介绍和应用。1、全文搜索介绍全文搜索搜索的对象主要有两种:1、结构化数据:具有固定格式或固定长度的数据,例如,数据库,元数据2、非结构化数据:无固定格式或者无固定长度的数据,例如:Word,图片等非结构化数据的检索主要方法:1、顺序扫描法(Serial Scanning):...原创 2018-10-27 21:52:00 · 520 阅读 · 0 评论 -
基于Springboot技术的博客系统实践及应用之三(Spring Data JPA)
本博客将从JPA简介、Spring Data JPA用法介绍、Spring Data JPA、Hibernate与SpringBoot集成以及数据持久化实战四个方面进行详细描述Spring Data JPA的用法和应用。1、JAP简介: JPA是Java Persistence API的简称,是用于管理Java EE和Java SE环境中的持久化,以及对象关系映射的JAVA A...原创 2018-10-27 13:47:46 · 597 阅读 · 0 评论 -
基于Springboot技术的博客系统实践及应用之一
博客系统功能如下:涉及到的技术:通过技术实现,完成代码开发,最后系统效果如下图:博客实战博客实战分三步走:第一点:主要讲解的核心技术:1、Gradle、Gradle Wrapper2、开发环境搭建及项目运行3、 Thymleaf知识讲解及实战4、数据持久化讲解及实战5、全文搜索讲解及实战6、Bootstrap讲解及实战第二步:主要讲解...原创 2018-10-27 12:14:53 · 1108 阅读 · 0 评论 -
基于Springboot技术的博客系统实践及应用之二(thymleaf)
一、概念 Thymleaf是一个jave模板引擎,与SpringBoot集成 非常方便,类似于Freemarker,但是比Freemarker性能要好一些;Thymleaf支持自然语言,即:原型就是页面(就是说设计人员设计完原型,开发人员就直接灌数据,最后两类工种看到的页面基本一致。);Thymleaf方法优雅易懂,支持OGNL、SpringEL表达式;遵从Web标准,支...原创 2018-10-19 23:10:56 · 574 阅读 · 0 评论 -
Springboot 中类不能使用@Value注解从yml中加载值
对于下面的类,使用了@Value,但是不能从yml中读取值,怎么办?带有@Value标签类:package com.itmuch.cloud;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.GetMapping;impo...原创 2018-10-07 19:24:46 · 10626 阅读 · 0 评论 -
Spring cloud config 的概念及应用
Spring cloud Config是提供统一管理配置,进行配置的集中管理;把不同的环境进行不同的配置,比如开发、测试、演示、生产环境进行单独配置和管理,全球维护;也提供运行期间动态调整配置,比如说每天的流量较大,就需要把配置调整大一些;可以提供自动刷新,就是配置完成之后,就可以直接生效,当然,这些功能Zookeeper也可以提供。 Spring cloud Config...原创 2018-11-07 10:11:12 · 588 阅读 · 0 评论 -
消息协议(MQTT、AMQP、XMPP、WAMP、STOMP)之间的区别和应用
这篇文章会简单扼要的解释 MQTT,XMPP,STOMP,AMQP,WAMP 等。我们先来根据它们各自的目的进行分类: 1、纯消息底层协议(例如 TCP)是被设计用来将一个消息从一个发送者(sender)传递给一个接收者(receiver)。他们并不关系消息本身应该如何构建,也不关系消息的请求、获取、存储以及如何保证安全可靠。像 WebSockets 这样在 TCP 之上的协议,添加...原创 2018-10-13 11:39:43 · 13041 阅读 · 2 评论 -
ZUUL的概念及使用
zuul是微服务架构的重要组成部分,是API网关,是用来映射客户端的请求与服务之间的关系,提供了路由、服务器端负载均衡、安全等功能1、通过Zuul包装之后经过访问,往往默认是使用Hystrix断路器和使用Ribbon负载均衡Zuul本身都具有断路器的功能,所以我们在测试文件上传时,文件太大,可能会超时,这是需要对Hystrix和Ribbon的限制时间进行调整,如下:h...原创 2018-11-07 09:53:43 · 4046 阅读 · 0 评论 -
使用 API 网关构建微服务
从理论上讲,客户端可以直接向每个微服务发送请求。每个微服务都有一个公开的端点(https ://.api.company.name)。该 URL 映射到微服务的负载均衡器,由后者负责在可用实例之间分发请求。遗憾的是,这种方法存在挑战和局限。问题之一是客户端需求和每个微服务暴露的细粒度 API 不匹配。在更复杂的应用程序中,可能要发送更多的请求;按照 Amazon 的说法,他们在显示他们的...原创 2018-10-05 22:11:03 · 407 阅读 · 0 评论 -
如何通过GIt将本地项目上传到码云
目前国内使用码云来管理项目是非常方便,我们如何将一个项目上传到码云上面,其实很简单的,具体步骤如下:1、码云上新建一个项目 XXXX (项目名)2、本地创建一个文件夹E:/XXXX,然后使用git bash 3、cd 到本地文件夹中E:/XXXX //如果是在创建的文件中git bash 则此步骤可省略4、使用 git init 命令 //初始化一个git 本地仓...原创 2018-10-05 19:19:59 · 444 阅读 · 2 评论 -
Turbine概念及其使用
对于查看单个Eureka实例的健康情况是没有多大用处的,如果查看单个实例的健康情况,可以直接通过Hystrix提供的hystrix.stream就可以实现(把对应的URL地址放入Hystrix Dashboard中查看状态),对于一个系统的所有集群的健康状态,是我们了解系统健康状态的最宏观也是最有用的方式,Turbine就是聚合系统的所有集群的健康状态,就是把多个/hystrix.stre...原创 2018-10-05 18:48:52 · 7477 阅读 · 0 评论 -
Intellij Idea 常用快捷键
----------------------------------------------------------自动代码------------------------------------- 代码格式化:ctrl+Alt+shift+Lgeter和seter 自动方法:Alt+insertJar包自动导入:把光标 放在类上面,然后按Alt+enter自动复制光标所在的行:...原创 2018-11-15 12:56:46 · 235 阅读 · 0 评论 -
JAVA高级语言随着JDK升级新增特性
JAVA语言是使用率比较高的一种编程语言,有一些随着JDK升级,后来增加的重要的特性需要记录下来,便于学习和使用。1、可变参数使用对于一个方法中的参数,一般情况下是固定的格式,但是JDK1.5之后,JAVA语言引入了可变参数,基本语法就是:(类型 ... 参数),如下面代码所示:/** * Copyright (C), 2015-2018, XXX有限公司 * FileName:...原创 2018-11-20 00:16:23 · 322 阅读 · 0 评论 -
Mysql主从备份镜像构建及上传
构建镜像过程1. Master镜像构建1. 下载并解压官网镜像文件# wget https://codeload.github.com/docker-library/mysql/zip/master# unzip master# mkdir /home/lipuan/mysqlDockerFile# cp -Rf mysql-master/5.7/Dockerfile /home/li...原创 2019-05-23 17:43:38 · 532 阅读 · 0 评论 -
网络中转工具 NAT-Rinted安装及应用
在工作中使用了种NAT工具,我发现在Linux下使用Rinted工具非常便捷好用,先把安装步骤简单写一下,方便记忆。安装步骤:1. 下载、解压、安装[root@zhenyunode zhenyutest]# cd ~/zhenyutest/[root@zhenyunode zhenyutest]# wget http://www.boutell.com/rinetd/http/rinetd...原创 2019-05-23 16:19:52 · 2150 阅读 · 0 评论 -
ansible概念、架构及简单应用
1. 运维主要工作及工具os 安装主要使用的工具:PXE 和Cobbler这两个工具都是使用比较多,其中Cobbler可以实现多个台机子,差异化安装和部署系统配置工具主要工具有:cfengine、chef、puppet部署工具主要工具有:capistrano、fabric2. ansible工具ansible工具是一个近年来比较流行的工具,它主要融合了多个工具的优...原创 2019-04-14 14:51:30 · 542 阅读 · 0 评论 -
linux下查看CPU的总核数以及逻辑核数
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数# 查看物理CPU个数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l# 查看每个物理CPU中core的个数(即核数)cat /proc/cpuinfo| grep "cpu cores...原创 2019-03-06 17:55:15 · 1095 阅读 · 0 评论 -
linux下统计当前文件夹的文件个数与目录数
统计当前文件夹下文件的个数:ls -l |grep “^-”|wc -l统计当前文件夹下目录的个数:ls -l |grep “^d”|wc -l统计当前文件夹下文件的个数,包括子文件夹里的 :ls -lR|grep “^-”|wc -l统计文件夹下目录的个数,包括子文件夹里的:ls -lR|grep “^d”|wc -l说明:ls -l :长列表输出当前文件夹下...原创 2019-01-09 16:22:06 · 302 阅读 · 0 评论 -
Linux基本知识学习之一
1 终端物理终端:就是终端设备虚拟终端:就是在物理终端通过虚拟方式实现的终端,如操作系统模拟终端:图形界面下打开命令行接口,基于SSH协议或telnet协议等远程打开界面查看当前终端命令:tty如下图:1.1 交互式接口交互式接口:启动终端后,在终端设备附加一个交互式应用程序,主要有以下类型:GUI:X protocol ,window manager, desktopCLI...原创 2019-01-20 09:34:55 · 317 阅读 · 0 评论 -
HAproxy代理概念及理解
实例:其中Check就是执行心跳检查path_beg:是路径的前缀是什么path_end:是路径的后缀是什么注意:一个Listen是由Frontend和Backend这两个绑定在一起使用的。配置说明:配置实例:HAProxy日志记录设置:有两种方式:采用日志服务记录日志,需要在日志服务中设置自己直接设置日志日志记录事例:...原创 2019-01-20 09:18:10 · 1036 阅读 · 0 评论 -
ansible概念及使用
1. ansible概念2. ansible安装2.1 yum安装通过Yum安装命令:yum install ansible -y通过yum卸载命令:yum -y remove ansible通过命令:rpm -ql ansible | sed -n ‘1,20p’ 能够查看前面20行的列表,如下图:2.2 修改Hosts文件通过切换目录,查看/etc/ansible/hosts...原创 2019-01-12 23:19:25 · 741 阅读 · 0 评论 -
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} ;find命令的参数;pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-print: find命令将匹配的文件输出到标准输出。-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应...原创 2018-12-18 18:07:36 · 229 阅读 · 0 评论 -
paste deploy 解说和使用
谈到WSGI,就免不了要了解paste,其中paste deploy是用来发现和配置WSGI应用的一套系统,对于WSGI应用的使用者而言,可以方便地从配置文件汇总加载WSGI应用;对于WSGI应用的开发人员而言,只需要给自己的应用提供一套简单的入口点即可。 paste deploy的官方介绍在这里,其发布在Pypi上的发行包在这里下载。借助Python的pypi包管理机制,我们可以非常方便地安装...原创 2018-12-17 20:01:56 · 773 阅读 · 0 评论 -
Linux中Kill的使用以及信号概念
大家对kill -9 肯定非常熟悉,在工作中也经常用到。特别是你去重启tomcat时。可是多半看来,我们对-9的理解只是表面而已。很少有人(包括我)认真的去了解一下 kill -n 这个n到底是什么东东。好吧。我们来好好的认识一下这个熟悉的陌生人。1)kill从help中可以清晰的看到 -n 指的是 信号编号,那么信号编号是什么呢?2)kill -l(查看Linux/Unix的信号...原创 2018-12-22 11:41:34 · 2177 阅读 · 1 评论 -
Xshell常用命令
1 删除ctrl + d 删除光标所在位置上的字符相当于VIM里x或者dlctrl + h 删除光标所在位置前的字符相当于VIM里hx或者dhctrl + k 删除光标后面所有字符相当于VIM里d shift+$ctrl + u 删除光标前面所有字符相当于VIM里d shift+^ctrl + w 删除光标前一个单词相当于VIM里dbc...原创 2018-12-15 12:01:30 · 836 阅读 · 1 评论 -
JAVA高级语言重要概念以及重要的类之三(网络编程、对象序列化、集合、Stream、JDBC等)
对象序列化原创 2018-11-30 21:14:57 · 383 阅读 · 0 评论 -
JAVA高级语言重要概念以及重要的类之一(进程、线程、Runtime类、比较器、正则表达式、反射机制等)
1、进程与线程根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。在开销方面:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。所处环境:在操作系统中能同时运行多个进程(程序);而在同一个进程(程序)中有多...原创 2018-11-27 17:36:54 · 1720 阅读 · 0 评论 -
win+r使用技巧
在WIndows中打开应用程序,最快捷莫过于Win+R,在这里我分两块介绍,第一块介绍Windows系统自带的一些系统应用程序通过什么命令打开 ,第二块介绍如何自定义命令1、WIndows系统中自带的一些命令write------写字板 mspaint--------画图板 regidit – 打开注册表 control – 打开控制面板 notepad – 打开记事本 msts...原创 2018-09-27 15:28:26 · 5509 阅读 · 1 评论 -
配置Windows系统中hostname操作步骤
在工作过程中, 经常需要对127.0.0.1配置成多个 hostname,主要步骤如下:1、查找hosts文件敲击组合键:Win+R,调出 命令运行窗口,如下图:2、输入drivers,按回车键,直接弹出文件夹Drivers,如下图:3、点击文件夹etc,找到hosts文件,进行修改增加下面的内容:到此完成hostname的配置,这是相对快捷的步骤记录下来,工作中使...原创 2018-09-27 14:46:44 · 20917 阅读 · 0 评论 -
Eclipse如何进行远程调试
我们在软件开发过程中,往往已经部署在远程服务器上部署好系统,但是经常会出现BUG,由于网络和环境不同,这些BUG往往在本机不能重现,这种情况下,我们如何利用Eclipse进行远程调试,即:仍然在通过浏览器输入地址,但是程序Debug过程是在本机Eclipse执行,如何要实现这种情况,需要下面几步:一、在远程服务器上创建新用户并赋予Root权限 我使用的是Cento...原创 2018-08-12 16:11:13 · 2302 阅读 · 0 评论 -
Thumbnailator图片处理工具
前言作为靠谱的java服务端程序员,图片这个事情一直是个头疼的事情。现在很多网站上,都有上传图片这个功能,而图片对于现在的很多手机来说,拍摄出来的都是高清图片,分辨率也是相当的高,当然占用的存储空间也就大了。问题也就产生了,你每个用户都上传个3M的图片怎么办?但是显然现在硬盘的存放空间是不值钱的,1T、2T随便来,存放是能用钱解决的问题。但是网速太值钱了,用户如果天天加载你的网页加...原创 2018-08-02 14:47:14 · 1999 阅读 · 0 评论 -
Netty概念、特性以及应用场景
netty是异步的 事件驱动的基于NIO实现的开源框架,用以快速轻松的实现高性能、高可靠性的网络客户端和服务器端最基础的通信组件,通俗的讲:Netty是Jboss开发做的JAR包,很好的封装了Socket,处理网络通信的一个开源通信框架。一、Netty的特性1)设计统一的API,适用于不同的协议(阻塞和非阻塞)基于灵活、可扩展的事件驱动模型高度可定制的线程模型...原创 2018-08-06 18:43:36 · 7516 阅读 · 0 评论 -
Logback组件的应用及实践
Logback是由log4j创始人Ceki Gülcü设计的又一个开源日志组件,Logback基于Log4j设计和开发的,性能和功能优于Log4j,Logback当前分成三个模块:logback-core,logback- classic和logback-access。Logback的主要标签:Logger、Appender、Layout。 Logger:日志的记录器,把...原创 2018-08-01 23:38:49 · 506 阅读 · 0 评论 -
JVM虚拟机相关概念及调优
JVM虚拟机是JAVA跨平台运行的最基础的组件,理解JVM虚拟机对于操作JAVA应用程序的性能监控、性能分析、性能调优都有很大帮助,下面根据JAVA数据类型、堆、栈、引用类型、GC算法等,全面理解JVM的原理、工作机制以及虚拟机参数,结合实际情况(硬件、操作系统),通过JVM参数进行调优,实现JVM最优性能。 1、数据类型 java虚拟机中,数据类型可以分为两类:基本类型...原创 2018-08-10 16:15:57 · 546 阅读 · 0 评论 -
阿里云从购买到web应用部署整个过程配置
目前,阿里云是国内最大的云厂商,由于云对于服务器价格、服务器维护以及安全保障,提供了便捷的很多企业廉价的模式,很多企业和个人都通过阿里云平台购买云服务器,需求是非常旺盛的,在这里我把从阿里云购买服务器到应用部署整个心得记录下来,供大家参考学习, 按照以下几个步骤讲解: 申请阿里云服务器 搭建Web应用环境 部署Web工程 域名解析 1、申请阿里...原创 2018-08-27 11:09:15 · 11789 阅读 · 7 评论 -
Redis理论及应用经验总结
Redis是一个键值缓存和存储框架(KV Cache and Store)主要实现功能: 1、In-Memory缓存:所有的数据查询都在缓存中,100万KV键值对,其中V是String类型,仅仅占用100M内存; 2、持久化:缓存中的数据能够自动持久化到硬盘中,目的不是存储数据,而是防止分布式系统雪崩,内存数据丢失;持久化主要采用两种方式:快照(采用异步的方式把内存...原创 2018-08-15 18:51:37 · 225 阅读 · 0 评论 -
分布式消息队列(联网架构核心中间件)之研讨
本次分享是结合网络上现有的资料和自己的一点感想,进行总结,按照下面六方面进行详细阐述:消息、消息协议、消息队列概述 消息队列应用场景 消息中间件示例 JMS消息服务 常用消息队列 总结一、消息、消息协议、消息队列概述 消息即是信息的载体。为了让消息发送者和消息接收者都能够明白消息所承载的信息(消息发送者需要知道如何构造消息;消息接收者需要知道如何解析...原创 2018-08-06 09:23:46 · 1312 阅读 · 0 评论 -
Junit与Spring整合配置
Junit是在开发中经常用来调试代码的工具,目前在比较流程的SSM框架中,如何把Junit与Spring进行整合,测试对就的业务逻辑以及DAO层的数据提取的问题,关注点是Junit启动时加载SpringIOC容器以及把Spring相关的配置文件引入,具体有两步:第一步:建立一个测试基类测试基类的作用是利用那个启动类引入Spring的相关配置文件,代码如图:package...原创 2018-08-01 06:25:08 · 623 阅读 · 0 评论 -
如何使用jackson解决对象与JSON转换问题
jackson 解析复杂json问题jackson常见的json生成和解析的工具包,下面一起看看它对于复杂的json解析时带来的问题jackson简介 jackson依赖包 jackson解析javaBean jackson解析泛型的List jackson解析复杂的jsonjackson简介Jackson是一种JSON API,也是最流行,速度最快的JSON API。Ja...原创 2018-08-05 15:54:18 · 1106 阅读 · 0 评论