- 博客(42)
- 收藏
- 关注
转载 关于Redis常见面试题
官方FAQ表示,因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了(毕竟采用多线程会有很多麻烦!),Redis利用队列技术将并发访问变为串行访问。1)绝大部分请求是纯粹的内存操作(非常快速)。2)采用单线程,避免了不必要的上下文切换和竞争条件。3)非阻塞IO操作。...
2022-08-14 15:04:54 832
原创 IDEA中断点方式的代码调试
为什么要学代码的调试?代码能帮你创造奇迹,但有时也会让你生不如死。往往一个很简单错误,结果却花了好长时间也没解决。所以作为一个合格的Java程序员,不能只会写代码,记流水,也要会分析和解决代码中遇到的问题,也就是说不能只是会点火,也要会灭火,这也是企业中最需要的一种能力。掌握Java代码的调试的技巧是Java程序员必备的技能,也是提高编码效率的一个非常关键的一个环节。Debug能力我觉得其实和搭环境有点像,买来一台新电脑,先设置各种配置,装工具,搭建开发环境之类的,也要花个几天时间,有些人会比较不耐烦想
2022-03-22 22:18:55 837
原创 MybatisPlus、ORM思想
文章目录1.MybatisPlus1.1概述1.2特点1.3准备工作1.3.1导入jar包1.3.2编辑POJO对象1.3.3编辑Mapper接口1.3.4编辑YML文件1.4总结1.4.1对象封装数据1.4.2转义字符方式1.4.3模糊查询1.4.4in关键字1.4.5动态Sql查询2.ORM思想2.1ORM说明2.2特点1.MybatisPlus1.1概述MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工
2022-02-21 14:48:46 442
原创 Mybatis
文章目录1.Mybatis1.1JDBC操作1.2Mybatis概述1.3数据映射1.4环境搭建1.4.1导入jar包文件1.4.2编辑mybatis-config.xml配置文件1.4.3编辑UserMapper.xml映射文件1.5Mybatis运行原理2.SpringBoot简化Mybatis2.1修改配置文件名称为.yml2.2修改yml配置文件3.resultMap3.1编辑映射文件3.2开启驼峰规则映射4.Mybatis关联查询4.1关联查询sql4.1.1笛卡尔积4.1.2连接查询4.2封装关
2022-02-20 19:04:11 1185
原创 SpringBoot框架、开箱即用
文章目录1.什么是SpringBoot2.开箱即用原理2.1概述2.2启动项2.3关于主启动类的说明1.什么是SpringBoot定位: SpringBoot框架是框架的框架,简化常规框架的配置的方式,只需要很少的代码,即可以实现大量的功能. 体现了开箱即用 思想Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬
2022-02-20 18:02:22 1697
原创 Axios、跨域问题
文章目录1.Axios1.1Ajax简介1.2Ajax异步原理1.3前后端交互1.Axios1.1Ajax简介Ajax即Asynchronous Javascript And XML(异步JavaScript和XML),使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。功能和作用: Ajax主要实现前后端交互.提高用户页面与服务器之间交互效率。特点: 局部刷新,异步访问1.2Ajax异步原理组成部分:用户Aja
2022-02-20 17:24:46 1273
原创 java面试题Web篇
文章目录1.事务2.数据库里索引的作用3.数据库里的字段约束有哪些,各有什么作用4. 数据库优化的方案有哪些5.get和post请求的区别6. 什么是SQL攻击?如何解决7. 什么是盒子模型?8. 简述一下src与href的区别9. CSS选择器有哪些10.重定向和请求转发的区别11.vue的生命周期八个钩子函数1.事务事务是应用程序中一系列逻辑相关的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。1.事务的基本要素(ACID)1、原子性(Atomicity):事务开始后所有操
2022-02-17 14:25:20 5786 2
原创 java面试题框架篇
1.开箱即用原理说明SpingBOOT官网将主流框架进行整合,用户无需多余的配置,即拿来就用,及开箱就用。2.AOP3.SpringBoot有哪些特点独立运行:Spring Boot 而且内嵌了各种 servlet 容器,Tomcat、Jetty 等,现在不再需要打成war包部署到容器中,Spring Boot只要打成一个可执行的 jar包就能独立运行,所有的依赖包都在一个 jar 包内。简化配置:spring-boot-starter-web 启动器自动依赖其他组件,减少了 maven 的配
2022-02-17 14:23:15 6695
原创 IDEA,Maven配置
1.IDEA基础配置2.Maven配置3.IDEA配置:去掉飘红下划线,配置nacos,配置数据库,自动生成序列化id3.1 去掉飘红下划线3.2 配置Nacos3.3 配置数据库3.4 自动生成序列化id
2022-01-21 09:32:19 752
原创 SpringMVC、JSON
文章目录1.SpringMVC框架1.1 tomcat端口号1.2 @Controller注解、@ResponseBody1.3 同名提交问题2.restFul风格2.1代码测试3.JSON3.1 对象格式3.2 数组格式3.3 嵌套格式总结@RestController注解@ResponseBody,@RestController 注解1.SpringMVC框架实现前后端的交互交互:前端通过http请求可以携带参数访问后端服务器. 请求后端服务器可以将结果通过响应交还给前端. 响应1.1
2022-01-18 14:35:22 188
原创 代理模式、SpringAop
文章目录1.代理机制1.2特点1.3JDK代理1.3.1代理类1.3.2测试类1.4 CGLIB代理1.4.1代理类1.4.2测试类2.Spring Aop2.1Aop介绍2.2Aop中注解2.3常见通知类型2.4 切入点表达式2.4.1 bean表达式2.4.2 within表达式2.4.3 execution表达式2.4.4 @annotation表达式3.SpringMVC框架主要功能3.1 tomcat端口号3.2 @Controller注解、@ResponseBody3.4 如果遇到同名提交问题,
2022-01-17 16:03:52 260
原创 Spring框架,IOC,DI,AOP,单例多例,懒加载
文章目录1.Spring2.IOC2.1 什么是IOC2.2 xml配置文件管理对象2.3 全注解的方式管理对象3.Spring创建对象-工厂模式(必会内容)4.单例与多例4.1@Scope注解4.2懒加载4.3多例与懒加载的关系5.Spring对象生命周期管理5.1对象生命周期说明5.2注解6.DI(依赖注入)6.1 @Autowired注解6.2 @Resource注解![在这里插入图片描述](https://img-blog.csdnimg.cn/3763db62493947df99589799e0b
2022-01-17 15:14:49 1076
原创 微服务-18-Redis架构设计、总结
1.Redis主从复制单个Redis支持的读写能力还是有限的,此时我们可以使用多个redis来提高redis的并发处理能力,这些redis如何协同,就需要有一定的架构设计,这里我们首先从主从(Master/Slave)架构进行分析和实现。基本主从架构master负责读写,并将数据同步到salve,从节点负责读操作。主从同步原理分析Redis的主从结构可以采用一主多从结构,Redis主从复制可以根据是否是全量分为全量同步和增量同步。Redis全量同步:Redis全量复制一般发生在Slave初始
2022-01-14 11:20:58 364
原创 Maven说明、三大整体框架
文章目录1.Maven1.1 Maven项目对象模型(POM)1.1.1 maven配置1.2 maven坐标的说明1.3 如何解释maven jar包 具有依赖传递性?1.4 依赖传递性原理说明1.5 maven如何保证安全性1.6.1 关于maven指令说明1.6.2 java项目打包类型1.7 关于hash常识2.三大框架基本结构2.1框架的分类2.2框架调用流程图1.Maven1.1 Maven项目对象模型(POM)Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告
2022-01-13 15:42:08 607
原创 微服务-17-Redis&Aop技术整合/Redis数据持久化,Redis事务处理
1.@EnableCaching注解,@Cacheable注解,@CachePut注解1.@EnableCaching//开启AOP方式的缓存应用2.@Cacheable /** * 由此注解描述的方法为切入点方法,此方法执行时,底层会通过AOP机制 * 先从缓存取数据,缓存有则直接返回,缓存没有则查数据,最后将查询的数据 * 还会向redis存储一份 * @param id * @return */ @Cacheable(valu
2022-01-12 20:22:25 147
原创 微服务-16-java中操作redis,简易sso,投票系统
1.volatilevolatile用于修饰属性,可以:1)禁止指令重排序。2)保证多线程之间可见性(一个线程对这个变量的值修改后,其它的线程立刻可见)。3)但不保证原子性。 private static volatile JedisPool jedisPool;2.连接池创建//1.1连接池配置(可选具体配置多少由业务决定) JedisPoolConfig config = new JedisPoolConfig();
2022-01-12 09:04:03 85
原创 IDEA中Git操作
文章目录IDEA中Git操作一、 安装Git工具二、IDEA项目中创建本地库三、项目Add,Commit操作四、项目分享到远程仓库五、切换历史版本六、创建分支七、合并分支八、解决冲突九、克隆项目十、基于 Git 实现合作伙伴协同开发IDEA中Git操作一、 安装Git工具Git是一个分布式版本控制系统,可以借助Git实现团队代码版本控制及管理。从git官方地址https://www.git-scm.com选择对应的版本下载。Git下载完成以后,傻瓜式(一直下一步)安装即可,不要更改安装目录(假如已安
2022-01-11 21:39:03 801
原创 微服务-15-java中操作redis
文章目录总结Jedis常用API有哪些?Jedis如何存储POJO对象到redis?RedisTemplate 对象按默认规则序列化时,我们的对象需要实现序列化接口吗?StringRedisTemplate对象与RedisTemplate对象的区别是什么?RedisTemplate对象基于默认的json方式序列化时会存储对象类型吗?如何修改RedisTemplate对象的序列化方式?三种json技术总结Jedis常用API有哪些?Jedis,JedisPool,JedisPoolConfig。Jed
2022-01-10 21:24:58 503
原创 微服务-14-redis常用数据类型操作命令
Redis命令启动容器:docker start redis01登录:redis-cli查看信息:info自带保护机制的关闭:shutdown显示进程:ps -ef找redis进程:ps -ef | grep redis强制杀进程:kill -9 ****expire z 10: 设置key的有效时长ttl:查看key的寿命select 1: 切换到下标为1的数据库,一共16个数据库,0~15flushdb:清除当前数据库flushall:清除所有数据库String类型incr
2022-01-09 20:19:51 225
原创 微服务-13-Docker数据管理,镜像制作与安装,容器互联
文章目录Docker数据管理数据卷挂载主机目录Dockerfile和镜像制作Dockers 安装Mysql数据库,Redis数据库,Nginx代理,Nacos组件Docker容器互联解决方案Docker数据管理在容器中管理数据主要有两种方式:1)数据卷 2)挂载主机目录数据卷数据卷是一个可供一个或多个容器使用的特殊目录,可以在容器之间共享和重用,默认会一直存在,即使容器被删除。挂载主机目录在启动容器时,也可以以目录直接挂载的方式进行数据操作。Dockerfile和镜像制作Dockerfile
2022-01-06 19:12:26 850
原创 微服务-11-sso(4)网关,UI工程,日志记录
文章目录总结UI工程页面设计为什么网关层面要做跨域设计?system工程如何记录用户行为日志?系统工程中的用户行为日志来自哪里?资源服务器通过什么样的方式获取用户行为信息?@Async注解总结UI工程页面设计Bootstrap+Vue+axios。为什么网关层面要做跨域设计?Ajax技术不支持跨域请求,将所有服务的跨域共性提取到网关层面。system工程如何记录用户行为日志?通过异步方式将日志写到数据库,需要两注解@EnableAsync,@Async。系统工程中的用户行为日志来自哪里?来
2022-01-05 20:38:58 245
原创 微服务-12-sso(5)Feign将日志传递给系统服务,微服务总结,Docker技术
文章目录1.微服务总结2. DockerDocker核心对象Docker基本操作启动Docker服务查看Docker状态设置Docker开机自启禁用Docker开机自启重新启动Docker服务查看Docker信息停止Docker服务Docker镜像加速Docker镜像命令下载镜像(网上下载)浏览镜像文件查看镜像详情导出镜像文件删除镜像文件导入镜像操作运行镜像文件查看容器删除容器Docker容器操作创建并启动容器查看Docker中运行中的容器(要在宿主机执行docker指令)查看Docker中运行中的所有容器
2022-01-05 20:00:22 522
原创 JavaScript函数方法
文章目录unshift() 方法将新项添加到数组的开头,并返回新的长度。push() 方法向数组末尾添加新项目,并返回新长度。shift() 方法移除数组的第一项。pop() 方法移除数组的最后一个元素,并返回该元素。toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。toPrecision() 方法返回指定长度的数值字符串。isNaN() 函数可确定值是否为非数字(Not-a-Number)。onmouseover事件:指鼠标移动到某个指点的HTML标签上,会出现什么效果。onmou
2022-01-03 23:02:59 225
原创 微服务-8-单点登录系统(sso)(1)初步设计及实现
文章目录总结单点登录单点登录系统诞生的背景单点登陆系统解决方案设计方案1:用户登陆成功以后,将用户登陆状态存储到redis数据库方案2:用户登陆成功以后,将用户信息存储到token(令牌),然后写到客户端进行存储为什么要做单点登录设计?项目中使用的连接池什么?Java中连接池设计需要遵循的数据源规范是谁?连接池这块你能想到的设计模式有哪些?debuggerRibbon网关服务需要加vim配置TCP如何将链接数据库的信息写到配置中心基于idea自动生成UUID@Autowired注解描述的Mapper对象有红
2021-12-30 09:02:41 1003
原创 微服务-7-Gateway网关
总结1.url和uri2.@FunctionalInterface函数式接口标注,里边只能有一个抽象类。3. “::”方法引用,拉姆达表达式4.转JSON字符串的方法1)JSON.toJSONString(); alibaba2)jackon5.Gateway工作流程6.断言工厂7.名词解释GlobalFilter:全局过滤器predicates:谓词,定义请求转发条件ZonedDateTiem.now() 获取时区时间谓词工厂:Path,Method,Before,
2021-12-29 20:58:11 341
原创 微服务-6-sentinel降级熔断
1.总结1.什么是熔断降级?在调用链路中某个资源出现不稳定状态时,对这个资源的调用进行限制,让请求快速失败,避免影响到其它的资源而导致级联错误。2.为什么要进行熔断?平困响应速度越来越慢或者经常出现异常,这样可能会导致调用链堆积,最终系统崩溃。3.Sentinel熔断降级策略有哪些?满调用比例、异常比例、异常数。4.如何理解热点数据?访问频度比较高的数据,某些商品、某篇文章、某个视频。5.Sentinel授权规则配置黑白明白,黑白设计由业务决定。6.......
2021-12-27 20:35:58 93
原创 微服务-2-Nacos
1.NacosNacos(DynamicNaming and Configuration Service)是一个应用于服务注册与发现、配置管理的平台。它孵化于阿里巴巴,成长于十年双十一的洪峰考验,沉淀了简单易用、稳定可靠、性能卓越的核心竞争力。其官网地址:https://nacos.io/zh-cn/docs/quick-start.html市场上常用的注册中心?Zookeeper(Apache),Eureka(Netfix),Nacos(Alibaba),Consul(Google)服务注册中心
2021-12-25 10:37:51 244
原创 微服务-5-Sentinel
1.Sentinel背景:在业务流量变化无常的情况下,为了保证各种业务安全运营,系统不会崩溃,可以在系统负载过高时,采用限流、降级和熔断,三种措施来保护系统,由此 流量控制平台 Sentinel诞生。简介:Sentinel是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。1.1Sentinel流控规则阈值类型1.QPS:当调用相关url对应的资源时,QPS达到单机阈值时,就会限流。2.线程数:当调用相关url对应
2021-12-25 09:31:45 113
原创 微服务-4-Nacos配置中心
配置中心1.什么是配置中心:配置中心最基础的功能就是存储一个键值对,用户发布一个配置(configKey),然后客户端获取这个配置项(configValue);进阶的功能就是当某个配置项发生变更时,不停机就可以动态刷新服务内部的配置项2.市场上主流的配置中心:Apollo(携程开源),nacos(阿里开源),Spring Cloud Config(Spring Cloud全家桶成员)3.项目中为什么要定义bootstrap.yml文件:此文件被读取的优先级比较高,可以在服务启动时读取配置中心的数据b
2021-12-23 21:30:14 912
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人