
面试
jq1223
最熟悉的程序员
展开
-
微信支付不支付小数
文章摘自微信支付开发文档交易金额默认为人民币交易,接口中参数支付金额单位为【分】,参数值不能带小数。对账单中的交易金额单位为【元】。外币交易的支付金额精确到币种的最小单位,参数值不能带小数点。这时候有可能就有疑问,人民币最小单位是元吗,1.根据<<中华人民共和国法定货币>>规定人民币为中国法定货币2.又根据000年5月1日开始实施<<中华人民共和国人民币管理条例>>总则 第四条 之规定人民币的单位为元,人民币的辅币单位为角、分。1元等于10角,原创 2021-04-28 10:17:16 · 2210 阅读 · 0 评论 -
为何使用 Elasticsearch?
Elasticsearch 很快。由于 Elasticsearch 是在 Lucene 基础上构建而成的,所以在全文本搜索方面表现十分出色。Elasticsearch 同时还是一个近实时的搜索平台,这意味着从文档索引操作到文档变为可搜索状态之间的延时很短,一般只有一秒。因此,Elasticsearch 非常适用于对时间有严苛要求的用例,例如安全分析和基础设施监测。Elasticsearch 具有分布式的本质特征。Elasticsearch 中存储的文档分布在不同的容器中,这些容器称为分片,可以进行复.原创 2021-04-20 11:04:22 · 1002 阅读 · 0 评论 -
Kibana 的用途是什么?
Kibana 是一款适用于 Elasticsearch 的数据可视化和管理工具,可以提供实时的直方图、线形图、饼状图和地图。Kibana 同时还包括诸如 Canvas 和 Elastic Maps 等高级应用程序;Canvas 允许用户基于自身数据创建定制的动态信息图表,而 Elastic Maps 则可用来对地理空间数据进行可视化。...原创 2021-04-20 09:22:52 · 1828 阅读 · 0 评论 -
Logstash 的用途是什么?
Logstash 是 Elastic Stack 的核心产品之一,可用来对数据进行聚合和处理,并将数据发送到 Elasticsearch。Logstash 是一个开源的服务器端数据处理管道,允许您在将数据索引到 Elasticsearch 之前同时从多个来源采集数据,并对数据进行充实和转换。...原创 2021-04-20 09:22:16 · 1166 阅读 · 0 评论 -
Elasticsearch 索引是什么?
Elasticsearch 索引指相互关联的文档集合。Elasticsearch 会以 JSON 文档的形式存储数据。每个文档都会在一组键(字段或属性的名称)和它们对应的值(字符串、数字、布尔值、日期、数值组、地理位置或其他类型的数据)之间建立联系。Elasticsearch 使用的是一种名为倒排索引的数据结构,这一结构的设计可以允许十分快速地进行全文本搜索。倒排索引会列出在所有文档中出现的每个特有词汇,并且可以找到包含每个词汇的全部文档。在索引过程中,Elasticsearch 会存储文档并.原创 2021-04-20 09:21:56 · 3609 阅读 · 0 评论 -
Elasticsearch 的工作原理是什么?
原始数据会从多个来源(包括日志、系统指标和网络应用程序)输入到 Elasticsearch 中。数据采集指在 Elasticsearch 中进行索引之前解析、标准化并充实这些原始数据的过程。这些数据在 Elasticsearch 中索引完成之后,用户便可针对他们的数据运行复杂的查询,并使用聚合来检索自身数据的复杂汇总。在 Kibana 中,用户可以基于自己的数据创建强大的可视化,分享仪表板,并对 Elastic Stack 进行管理。...原创 2021-04-20 09:21:05 · 342 阅读 · 0 评论 -
es功能和使用场景
功能:1.分布式的搜索引擎和数据分析引擎。2.全文检索,结构化检索,数据分析。3.对海量的数据进行近实时的处理。使用场景:1.非结构化的数据查询。2.海量数据的快速检索。3.日志数据分析,logstash采集日志,ES进行复杂的数据分析。...原创 2021-04-20 09:19:38 · 1903 阅读 · 0 评论 -
es的优点
1、elasticsearch是一个基于Lucene的高扩展的分布式搜索服务器,支持开箱即用。2、elasticsearch隐藏了Lucene的复杂性,对外提供Restful 接口来操作索引、搜索。3、支持分布式,扩展性好,可部署上百台服务器集群,处理PB级数据。4、近实时的获取索引数据、搜索数据。5、降低全文检索的学习曲线,可以被任何编程语言调用...原创 2021-04-20 09:19:10 · 1838 阅读 · 0 评论 -
Elasticsearch 是什么
Elasticsearch 是基于Apache Lucene【瑞赛呢】的搜索的一个分布式多用户能的全文搜索引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据。Elasticsearch 以其简单的 REST 风格 API、分布式特性、速度和可扩展性而闻名,是 Elastic Stack 【思达可】的核心组件;Elastic Stack 是一套适用于数据采集、扩充、存储、分析和可视化的免费开源工具。人们通常将 Elastic Stack 称为 ELK Stack(代指 Ela.原创 2021-04-20 09:17:42 · 619 阅读 · 0 评论 -
什么是Spring Cloud Config
Spring Cloud Config 是一个解决分布式系统的配置管理方案。它包含 Client和 Server 两个部分,Server 提供配置文件的存储、以接口的形式将配置文件的内容提供出去,Client 通过接口获取数据、并依据此数据初始化自己的应用。Spring cloud 使用 git 或 svn 存放配置文件,默认情况下使用 git。...原创 2021-04-06 22:12:46 · 214 阅读 · 0 评论 -
docker数据卷是什么
数据卷是宿主机中的一个目录或文件,数据卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。当容器目录和数据卷目录绑定后,对方的修改会立即同步,一个数据卷可以被多个容器同时挂载,一个容器也可以被挂载多个数据卷。...原创 2021-04-06 22:10:44 · 208 阅读 · 0 评论 -
微服务架构的优缺点
优点1、微服务架构是将系统中的不同功能模块拆分成多个不同的服务,这些服务进行独立地开发和部署,每个服务都运行在自己的进程内,这样每个服务的更新都不会影响其他服务的运行;2、由于每个服务是独立部署的,可以更准确地监控每个服务的资源消耗情况也很容易发现各个服务间的性能瓶颈所在;3、由于每个服务都是独立开发,项目的开发也比较方便,减少代码的冲突、代码的重复,逻辑处理流程也更加清晰,让后续的维护与扩展更加容易;4、微服务可以使用不同的编程语言进行开发;缺点:1、微服务架构增加了系统维护、部署的难度,导.原创 2021-04-06 22:09:31 · 6734 阅读 · 0 评论 -
什么是docker
Docker是一个开源的应用容器引擎,Docker本身并不是容器,它是创建容器的工具,是应用容器引擎。诞生于2013年,基于Go语言实现,dotCloud公司出品(后改名为Docker inc)Docker可以让开发者可以打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口,重要的是容器性能开销极低。Docker从17.03版本之后分为CE(CommunityEdition社区版)和EE(En.原创 2021-03-31 08:50:00 · 191 阅读 · 0 评论 -
docker数据卷的作用
容器数据持久化外部机器和容器间接通信容器之间数据交换原创 2021-03-31 08:35:55 · 312 阅读 · 0 评论 -
docker常用命令
帮助命令:docker version 查看docker版本docker info 查看docker详细信息docker --help docker帮助命令镜像命令: docker images 查看所有的本地镜像 docker search 【镜像名】 查看docker hub上的镜像 docker pull 【镜像名】 从docker hub上拉取镜像,如果不加版本号,默认拉取的是latest版本.原创 2021-03-31 08:33:54 · 95 阅读 · 0 评论 -
docker容器命令
容器命令: docker run -it 【镜像名】 创建并启动一个容器,以交互模式运行 docker run -di 【镜像名】 创建并启动一个容器,以后台模式运行 docker attach 【镜像id】 进入已经启动的容器 docker exec -it 【镜像id】 bin/bash 进入已经启动的容器 exit 停止并退出容器 ctrl+p+q .原创 2021-03-31 08:32:48 · 159 阅读 · 0 评论 -
docker帮助命令
docker version 查看docker版本docker info 查看docker详细信息docker --help docker帮助命令原创 2021-03-30 21:06:07 · 131 阅读 · 0 评论 -
docker镜像命令
docker images 查看所有的本地镜像docker search 【镜像名】 查看docker hub上的镜像docker pull 【镜像名】 从docker hub上拉取镜像,如果不加版本号,默认拉取的是latest版本docker push 【镜像名】 将本地的镜像推送到镜像仓库docker rmi -f 镜像id/镜像名 删除单个镜像docker rmi -f 镜像i.原创 2021-03-30 21:07:06 · 113 阅读 · 0 评论 -
本月度目前项目总结 Vue+elementui+SpringBoot+mybatisplus+OSS+JWT等
简单介绍: 大家好,首先来个简单的自我介绍,我是一个默默无闻的小程序员,每天奔跑在写代码和找bug的路上,每天为了工作到很晚才睡,不过也都习惯了,有人常说想象中的程序员是这样的其实,现实程序员的是当然了,我平时也是这种状态,有人说:喝点酒吸点烟一个bug找一天,马上也月末了,提前总结下项目,方便回忆项目模块和功能介绍: 首先先简单说一下,这个月的项目是由和pms和ums两个模块组成商品后台管理系统。 当然了pms是商品模块,ums为用户模块,这套商品后台管理系统是使用Vue+elem原创 2021-03-21 22:25:30 · 710 阅读 · 11 评论 -
为什么要使用 Vue.js
1.轻量级,Vue.js 压缩后有只有 20多kb2.移动优先。更适合移动端,比如移动端的 Touch 事件3.易上手,学习曲线平稳,文档齐全4.吸取了 Angular【恩吉拉】( 模块化 )和 React【瑞爱课特】( 虚拟 DOM )的长处,并拥有自己独特的功 能,如: 计算属性5. 开源,社区活跃度高...原创 2021-03-02 08:33:44 · 307 阅读 · 0 评论 -
v-if和v-show
1.相同点 :v-if和v-show都可以动态控制DOM元素的显示隐藏。不同点: v-if是动态地向DOM树中添加或删除DOM元素节点;v-show是通过向DOM元素设置样式display属性值控制显示隐藏。2.编译:v-if是惰性的,当它初始指令为false时,它是不会编译,指令值为true 才开始编译;v-show:不管初时指令值为啥它都会马上编译。3.消耗:v-if切换性能消耗较大;v-show最初渲染消耗较大。4.适用场景:v-if适用项目需求稳定;v-show适用频繁需要.原创 2021-03-02 08:25:24 · 330 阅读 · 0 评论 -
Redis的事务和mysql的事务有什么区别
MySQL会默认开启一个事务,且缺省设置是自动提交,即,每成功执行一个SQL,一个事务就会马上 COMMIT。所以不能Rollback。Redis默认不会开启事务,需要手动开启,即command会立即执行,而不会排队。并不支持Rollback。...原创 2021-03-01 20:58:43 · 323 阅读 · 0 评论 -
自定义注解的类上有几个注解
定义注解的类上有几个注解@Document@Retention(RetentionType.RUNTIME)@Target(ElementType.METHOD)切面:@Aspect@Component原创 2021-03-01 20:08:57 · 203 阅读 · 0 评论 -
vue.js生命周期
①创建期间(beforeCreate:实例刚在内存中被创建出来,此时,还没有初始化好 data 和 methods 属性;created:实例已经在内存中创建完毕,此时 data 和 methods 已经创建完毕,此时还没有开始编译模板;beforeMount:此时已经完成了模板的编译,但是还没有挂载到页面中;mountde:此时已经将编译好的模板,此时才会渲染页面,挂载到了页面指定的容器中显示;)②运行期间的生命周期函数(beforeUpadate:状态更新之前执行此函数, 此时 data .原创 2021-03-01 20:03:53 · 107 阅读 · 0 评论 -
多线程
①什么是线程线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。②线程和进程有什么关系线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任务。不同的进程使用不同的内存空间,而所有的线程共享一片相同的内存空间。别把它和栈内存搞混,每个线程都拥有单独的栈内存用来存储本地数据。③多线程的实现方式(1)自定义一个类继承THread类,重写run()方法,然后创建自定义类对象,start()启动线程(然后由JVM调用此线程的run()方法)(2)自定义一个.原创 2021-03-01 20:02:35 · 152 阅读 · 0 评论 -
jdk jre jvm三者的区别
JVM :JVM是(Java虚拟机)的缩写, 它是整个java实现跨平台的最核心的部分,JRE:JRE是(java运行环境)的缩写。 光有JVM还不能让class文件执行,因为在解释class的时候JVM需要调用解释 所需要的类库lib。JDK:JDK是(java开发工具包)的缩写。 每个做java开发的人都会先在机器上装一个JDK,JDK包含JRE,而JRE包含JVM。jdk > jre > jvm...原创 2021-01-09 00:19:08 · 168 阅读 · 0 评论 -
Mybatis-Plus常用方法
Mybatis-Plus常用方法insert() // 新增update() // 可以传入条件构造器,根据条件修改updateById() // 根据id修改selectList() // 查询集合,可以传入条件构造器selectById() // 根据id查询单条记录selectPage() // 分页查询,可以传入条件构造器delete() // 可以传入条件构造器,根据条件删除deleteById() // 根据id删除单条记录del原创 2021-02-28 16:45:20 · 240 阅读 · 0 评论 -
什么是Mybatis-Plus
Mybatis-Plus是Mybatis增强版,为了提高开发效率。但是他并不能代替Mybatis,也就是说如果涉及到复杂的业务逻辑,还是要自己写sql的。注意:mybatis-plus的依赖已经整合了mybatis以及mybatis-spring的jar...原创 2021-02-28 16:47:18 · 218 阅读 · 0 评论 -
Mybatis-Plus的特性
1.无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑2.损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作, BaseMapper3.强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求, 以后简单的CRUD操作,它不用自己编写了!4.支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错5.支持主键自动生.原创 2021-02-28 16:46:25 · 583 阅读 · 0 评论 -
Shiro 的优点
身份认证简单, 支持多种数据源对角色的简单的授权, 支持细粒度的授权(方法级)支持一级缓存,以提升应用程序的性能;内置的基于 POJO 企业会话管理, 适用于 Web 以及非 Web 的环境非常简单的加密 API不跟任何的框架或者容器捆绑, 可以独立运行...原创 2021-02-26 08:39:22 · 570 阅读 · 0 评论 -
Redis为什么这么快
1、完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。2、数据结构简单,对数据操作也简单,Redis 中的数据结构是专门进行设计的;3、使用多路 I/O 复用模型,非阻塞 IO;4、采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗;5、使用底层模型不同,它们之间底层实现方式以及与客户端之间通信的应用协议不一样,Redis 直接自己构建了 VM 机制 ,因为一般的系统原创 2021-02-26 08:38:31 · 109 阅读 · 0 评论 -
什么是Redis
Redis是一个使用 C 语言编写的,开源的高性能非关系型的键值对数据库。Redis 可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。与传统数据库不同的是 Redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。另外,Redis 也经常用来做分布式锁。除此之外,Redis 支持事务 、持久化、LUA脚本、LRU驱动事件原创 2021-02-26 08:37:33 · 140 阅读 · 0 评论 -
Shiro认证过程
①. 应用程序代码调用 Subject.login 方法,传递创建好的包含终端用户的 Principals(身份)和 Credentials(凭证)的 AuthenticationToken 实例 ②. Subject 实例: 通常为 DelegatingSubject(或子类)委托应用程序的 SecurityManager 通过调用securityManager.login(token) 开始真正的验证。 ③. SubjectManager 接收 token,调用内部的 Aut原创 2021-02-26 08:36:53 · 118 阅读 · 0 评论 -
Shiro授权过程
①. 应用程序或框架代码调用任何 Subject 的hasRole*, checkRole*, isPermitted*,或者checkPermission方法的变体, 传递任何所需的权限 ②. Subject 的实例—通常是 DelegatingSubject(或子类), 调用securityManager 的对应的方法. ③. SecurityManager 调用 org.apache.shiro.authz.Authorizer 接口的对应方法.默认情况下,au原创 2021-02-26 08:36:22 · 153 阅读 · 0 评论 -
Redis有哪些优缺点
优点读写性能优异, Redis能读的速度是110000次/s,写的速度是81000次/s。支持数据持久化,支持AOF和RDB两种持久化方式。支持事务,Redis的所有操作都是原子性的,同时Redis还支持对几个操作合并后的原子性执行。数据结构丰富,除了支持string类型的value外还支持hash、set、zset、list等数据结构。支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。缺点数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在原创 2021-02-26 08:35:46 · 308 阅读 · 0 评论 -
SpringBoot运行原理
我们从springboot项目的的启动类中可以看到最核心的两行代码, @SpringBootApplication和SpringApplication.run【rua木】方法。在 @SpringBootApplication 的内部包含了3个注解@Configuration @EnableAutoConfiguration@ComponentScan@Configuration是Spring Ioc容器的配置类,可以把它看成xml配置文件中的beans标签。 @Configuration写到类原创 2021-02-26 08:35:01 · 138 阅读 · 0 评论 -
Redis为什么这么快
1、完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。2、数据结构简单,对数据操作也简单,Redis 中的数据结构是专门进行设计的;3、使用多路 I/O 复用模型,非阻塞 IO;4、采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗;5、使用底层模型不同,它们之间底层实现方式以及与客户端之间通信的应用协议不一样,Redis 直接自己构建了 VM 机制 ,因为一般的系统原创 2021-03-25 08:21:01 · 82 阅读 · 0 评论 -
nginx+tomcat做负载均衡
我们项目在部署的时候,考虑到项目的高可用性以及能够处理更大的并发,就将项目做了负载均衡。采用的是nginx作为反向代理服务器结合tomcat来完成的。将项目分别部署到多台tomcat中,这样即便其中一台tomcat宕机了,其他tomcat还能继续提供服务,这就是高可用。再者一台tomcat能够处理的并发量在1500左右,那么就可以用多台tomcat处理更大并发了。默认情况下nginx采用的负载均衡策略是轮询策略。比如有4个请求发送过来,nginx后跟了2台tomcat,分别是t1,t2。第一个原创 2021-02-25 19:58:16 · 320 阅读 · 0 评论 -
MyBatis传参的四种方式
方式一、顺序传递参数mapper.java文件:public User selectUser(String name,int deptId);mapper.xml文件:<selectid="selectUser"resultType=" com.fh.model.User"> select * from user where userName = #{0} and deptId = #{1}<select>注意:里面的数字代表你传入参数的顺序,不是特别建议使用这种方法传原创 2021-02-25 19:57:41 · 453 阅读 · 1 评论 -
mybatis常用标签
<resultMap><resultType><parameterMap>【特】<sql><include>【in科林的】<foreach><where><if>原创 2021-02-25 19:56:33 · 101 阅读 · 0 评论