- 博客(17)
- 收藏
- 关注
原创 并发编程初探(一)
目录1.Java是天生的多线程(1). main主线程:(2). Reference Handler :(3). Finalizer(4).Signal Dispatcher:(5).Attach Listener(6). Monitor Ctrl-Break2.线程的优先级和守护线程(1).线程的优先级setPriority()的源码分析总结:(2).守护线程 在一个进程里可以创建多个线程,这些线程都拥有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量。处理器在这些线程上高速切
2022-06-03 16:47:40 509
原创 Mysql知识点总结(一)
从初期设定时就要考虑调优,首先要注意字段的长度。聚簇索引:主键索引;底层为B+树,叶子节点存储的是整行数据,非叶子节点存储的是数据类型长度+向下的指针长度(6字节)。存储器每页16KB16KB / (8B + 6B) = 1170.29,以1100计算第一层,指向1100二层节点第二层,指向1100^2 三层节点,10\^6,1百万第三层:假设一行数据占16KB,则存储1百万数据(16KB/16KB * 1百万);假设一行数据占1KB,则存储一千六百万数据(16KB/1KB * 1百万);每次加
2022-05-31 21:39:19 243
原创 面试总结5.25
1.@Autowired 与@Resource的区别1.@Autowired是Spring提供的,@Resource是J2EE提供的。2.@Autowired默认是通过byType方式注入,@Resource默认是通过byName注入的。3.@Autowired注解注入的对象需要在IOC容器中存在,否则需要加入属性required=false,表示忽略当前注入的bean,如果直接注入没有跳过,则会跳过。byName:通过bean的id或者name注入;ByType:通过bean的class注
2022-05-26 16:04:06 122
原创 Java 定时发送邮件
1.开启SMTP 登录要发送邮件的邮箱,进入设置开启SMTP服务,并且拿到标识码。2.添加依赖 <!-- httpclient 依赖 --> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> ...
2022-02-28 17:35:51 937 1
原创 秒杀的设计
目录秒杀场景:可能出现的问题:高并发:超卖:数据库:链接暴露:解决的方案:服务职责单一:秒杀连接加盐值:Redis:nginx :资源静态化限流: 前端限流: 后端限流:按钮控制:库存预热:lua:RabbitMQ消息队列:总体流程:秒杀场景:一共一千台ps5,几十万的人同时抢。可能出现的问题:高并发:同一时间出现同时的大量的请求,时间短,用户量...
2021-10-26 19:59:44 140
原创 Swagger学习
Swagger是什么? Swapper号称是世界上最流行的api的框架。 官网:https://swagger.io/Swagger的作用 编写代码的同时更新api文档,解决前后端的交流问题。Spring boot 继承 swagger 1.建立一个spring boot项目,添加web依赖。 2.添加swagger依赖。 <dependency> ...
2021-10-19 20:31:04 795
原创 微服务(一)
目录什么是微服务?Spring cloudspring cloud alibaba核心组件分析spring cloud 依赖Nacos注册中心介绍依赖面试题负载均衡Ribbon@LoadBalanced面试题什么是微服务?将单个应用程序开发为一组小型独立服务,这些独立服务在自己的进程中运行,独立开发和部署。 这些服务使用轻量级API通过明确定义的接口中进行通信,这些服务是围绕业务功能构建的,每项服务执行一项功能。由于他们是...
2021-10-13 20:08:06 77
原创 Redis事务
什么是事务? 事务是一个单独的隔离操作:事务中所有的命令都会序列化、按顺序的执行。事务在执行的过程中,不会被客户端发来的命令请求打断。 事务是一个原子性操作:事务里的命令要么全部执行,要么全部不执行。Redis事务的概述 redis采用了乐观锁的方式进行事务控制,使用watch监视一定的key,当exec(提交)的时候,如果监视的key从执行watch之后发生了变化,则整个事务会失败。 如果watch在监视过程中,连接断开,监视和事...
2021-10-12 20:07:30 71
原创 Redis架构设计实践
主从复制背景介绍 每个redis的读写能力是有限的(能读的次数大概是110000次/s,写的次数是81000次/s)。所以在数据量大的时候我们可以使用多个redis来提高redis的并发处理数据能力。启动多个redis之间要相互协同,所以就需要一定的架构设计。基本架构如图所示: 主从架构由一台主服务器master和若干台子服务器slave组成 主服务器可以读和写,子服务器只可以读。快速入门实践 1.将...
2021-10-12 19:46:26 73
原创 Redis的数据持久化
目录应用背景:持久化方式的分类:RDB方式:RDB配置:RDB面试题:AOF方式:AOF配置:AOF面试题:如何选择合适的持久化方式:应用背景: Redis是一个缓存的数据库,断电时有可能会发生数据丢失。如果没有持久化操作的话,因为断电等其他因素导致redis挂了,其中的数据就会丢失。 所以需要持久化操作来保证数据的安全,就是把缓存里的数据整一份儿到磁盘里面。持久化方式的分类:RDB方式: RDB方式...
2021-10-11 20:31:36 59
原创 在Java里实践redis
目录投票系统(demo)业务需求:功能设计:代码实现:购物车功能(demo)业务需求:功能设计:代码实现:单点登录系统业务需求:功能设计:代码实现投票系统(demo)业务需求: 1) 基于用户id对活动进行投票。 2) 一个用户id只能进行一次投票。 3) 可以查询投票总数已经投票人的id。功能设计: 1) 因为每个用户只可能投一次票,所以使用set结构(不允许重复)...
2021-10-11 14:04:45 86
原创 Redis实践(二)
Redis数据类型Redis支持五种数据类型的存储1.字符串(String)2.字符串列表(list)3.字符串集合(set)4.有序字符串集合(sorted sets)5.哈希(hashes)关于Key的建议尽量不要太长,不要超过1024字节,会消耗内存,还会拖慢查询的效率 不要太短,太短会影响可读性 统一命名的风格String类型的操作实践字符串类型是redis中最简单的数据类型,他存储的值可以是字符串,最长字符串长队支持到512M递增...
2021-10-08 19:32:01 47
原创 Redis入门
Redis是一个基于key-value的数据库。支持的存储类型相对更多;包括:String(字符串),List(链表)、set(集合)、zset(有序集合)、hash(哈希)应用场景:热点数据可以加速查询,热点商品、热点信息等等一些访问量比较大的数据 即时信息的查询:在线人数 时效性信息的控制:验证码 分布式数据共享Redis初始化操作(Linux环境下)需要先安装docker启动redis服务Docker start redis(redis是容器名)
2021-10-08 19:01:11 46
原创 JAVA基础笔记总结
目录Java基础数组Java基础1.Java语言的特点?简单性、高性能、编译性、解释性、面向对象、分布式处理、健壮性、安全性、开源2.java为什么能跨平台?1)首先开发好的程序 HellowordApp.java经过编译器的编译变为HellowordApp.class文件,然而这个.class文件并不是真正的本地可以执行的指令 我们可以把这个.class文件称之为“中间码”2)不同的计算机操作系统有着相应的JVM 比如win32位的 win64位的 linux系统的,.cl
2021-10-08 18:22:10 55
原创 开发常用注解
JDK自带注解: @Override: 用来标识重写方法 @Deprecated:用来标记这个方法已经过时,使用时不要报错 @SupperessWarings("deprecation")忽略警告 @SafeVarargs 堆污染,不常用 @Functionalllnterface 配合函数式编程拉姆达表达式元注解:用来描述注解的注解 @Target 注解用在哪里 ElementType.TYPE 应用于类的元素 Elem...
2021-09-14 19:04:13 165
原创 win7卸载重写安装mysql
1.关闭mysql服务任务管理器->服务中找到mysql 右键关闭2. 控制面板—>程序与功能中找到mysql右键卸载
2021-09-13 20:40:26 111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人