- 博客(20)
- 收藏
- 关注
原创 JDBC连接
连接数据库public class JDBCUtils { //注册驱动 应该在项目启动的时候执行, 而且, 全局只需要执行一次即可 /* * DriverManager.registerDriver(new Driver()); new Driver(); */ //加载驱动只需要执行一次 所以放到JDBCUtils这个类的静态代码块中 //当JDBCUtils被加载的时候, 这段代码就会执行,而且只执行一次 static { try { Class.forName("com
2021-09-17 08:49:33 131
原创 NGINX基础
NginxTomcat 产品—》中间件–》解决方案软负载:Nginx硬负载:F5采取 是什么、为什么、怎么用 的思维三部曲方式授课一、什么是NginxNginx (engine x) 是一个高性能的HTTP和反向代理web服务器,Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、
2021-07-02 10:17:29 369
原创 多线程基础
一. 多线程定义进程进程是程序执行的一条路径一个系统级的应用执行就是一个进程线程线程在进程的内部, 一个进程中可以有多个线程多个线程并发执行可以提高程序的效率, 可以同时完成多项工作多线程节约的是执行程序的等待时间,如果程序排列紧密, 没有等待时间, 多线程下并不能真正的提高效率多线程的应用迅雷下载多个任务服务器同时处理多个请求多线程并发和并行的区别并行就是两个任务同时运行,就是甲任务运行的同时,乙任务也在进行(需要多核CPU)并发是指两个任务都请求运
2021-07-02 10:15:40 111
原创 微服务面试
什么是SpringCloudSpring Cloud 是一个相对比较新的微服务框架Spring Cloud提供的全套的分布式系统解决方案。Spring Cloud是一个微服务框架的规范,只是规范,他不是任何具体的框架。SpringCloud是分布式微服务治理解决方案。提供了一系列框架技术的有序集合。利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、智能路由、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到..
2021-07-02 10:13:43 401
原创 redis、jvm、mysql、tomcat、springMVC、spring、myBatis
MyBatis缓存机制MyBatis提供了一级缓存和二级缓存一级缓存:也称为本地缓存,用于保存用户在一次会话过程中查询的结果,用户一次会话中只能使用一个sqlSession,一级缓存是自动开启的,不允许关闭。二级缓存:也称为全局缓存,是mapper级别的缓存,是针对一个表的查结果的存储,可以共享给所有针对这张表的查询的用户。也就是说对于mapper级别的缓存不同的sqlsession是可以共享的SpringIoC和AOPIoC不是一种技术,只是一种思想,一个重要的面向对象编程的..
2021-05-19 11:32:46 321
原创 jvm
TCP/IP三次握手四次挥手?三次握手第一次握手:建立连接时,客户端发送syn包(seq=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。第二次握手:服务器收到syn包,必须确认客户端的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包,此时服务器进入SYN_RECV状态。第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发..
2021-05-19 11:29:12 107
原创 微服务、分布式
描述微服务、分布式、集群概念微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。这些服务通常● 有自己的堆栈,包括数据库和数据模型;● 通过REST API,事件流和消息代理的组合相互通信;● 和它们是按业务能力组织的,分隔服务的线通常称为有界上下文。尽管有关微服务的许多讨论都围绕体系结构定义和特征展开,但它们的价值可以通过相当简单的业务和组织收益更普遍地理解:● 可以更轻松地更新代码。● 团队可以为不同的组件使用不同的堆栈。● 组..
2021-05-19 11:27:21 354 1
原创 存储过程和视图
什么是存储过程?有什么优缺点?为以后的使用而保存的一条或多条MySQL语句的集合。存储过程思想上就是数据库 SQL 语言层面的代码封装与重用。是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升。优点①重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。②减少网络流量。存..
2021-04-28 08:18:39 702 3
原创 索引
什么是索引索引是为了加速对表中数据行的检索而创建的一种分散的存储结构。索引是针对表而建立的,它是由数据页面以外的索引页面组成的,每个索引页面中的行都会含有逻辑指针,以便加速检索物理数据.索引的种类有哪些普通索引、唯一索引、主键索引、外键索引、组合索引、全文索引、空间索引索引的优缺点优点1.大大加快数据的检索速度;2.创建唯一性索引,保证数据库表中每一行数据的唯一性;3.加速表和表之间的连接;4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。缺点1.索引需要占
2021-04-27 08:35:44 69
原创 #Spring+Redis缓存
缓存概念基本机制:先从缓存中读取数据,如果没有再从慢速设备上读取实际数据(数据也会存入缓存)需要被缓存的数据:经常读取且不经常修改的数据昂贵(CPU/IO)的且对于相同的请求有相同的计算结果的数据缓存命中率命中率 = 从缓存中读取次数 / (总读取次数[从缓存中读取次数 + 从慢速设备上读取的次数])Miss率 = 没有从缓存中读取的次数 / (总读取次数[从缓存中读取次数 + 从慢速设备上读取的次数])TTL(Time To Live )存活期,即从缓存中创建时间点开始直到它到
2021-04-23 16:07:46 100
原创 模板模式,内部类,异常
设计模型之模板模型定义使用接口制定规则,然后子类根据实现不同的方法内部代码实现类暴露的可用方法必须和接口中相同案例执行汽车接口,里面规定的是汽车的基本要素子类根据规则,实现成不同功能的模板成员内部类定义内部类就是在类的内部定义另一个类使用内部类可以直接访问外部类的成员,包括私有外部类名.this.成员外部类调用内部类方法,必须先创建对象内部类名 对象 = 内部类对象内部类 对象名 = new 内部类()public class
2021-04-22 21:45:41 100
原创 Docker Compose
思考前面我们使用 Docker 的时候,定义 Dockerfile 文件,然后使用 docker build、docker run -d --name -p等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具简介Docker Compose 是Docker 官方编排(Orche
2021-04-22 21:43:23 76
原创 Java连接Redis集群
Java连接Redis集群一、导入POM.XMLSpringBoot2.0 Redis相关Jar包 <!--默认是lettuce客户端--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId>
2021-04-22 21:41:32 266
原创 Redis Cluster集群
Redis Cluster集群简介集群模式是实际使用最多的模式。Redis Cluster是社区版推出的Redis分布式集群解决方案,主要解决Redis分布式方面的需求,比如,当遇到单机内存,并发和流量等瓶颈的时候,Redis Cluster能起到很好的负载均衡的目的。为什么使用redis-cluster?为了在大流量访问下提供稳定的业务,集群化是存储的必然形态未来的发展趋势肯定是云计算和大数据的紧密结合 只有分布式架构能满足要求分布式:将一个业务部署在不同的服务器上。集群描述Redi
2021-04-22 21:38:46 112
原创 主从复制,哨兵模式
主从复制简介应用场景:电子商务网站上的商品,一般都是一次上传,无数次浏览的,说专业点也就是”多读少写”。 主从复制:一个Redis服务可以有多个该服务的复制品,这个Redis服务称为Master,其它复制称为Slaves[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HsVj8177-1619098652428)(mdpic-cluster\p30.PNG)]如图中所示,我们将一台Redis服务器作主库(Matser),其他三台作为从库(Slave),主库只负责
2021-04-22 21:38:11 173 1
原创 Redis高级配置
基本概述高可用“高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。(一直都能用)高可用:6个9 99.9999% 全年停机不超过32秒。高并发高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。 高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query P
2021-04-22 21:37:04 310 1
原创 redis 排行榜
@Controllerpublic class RankController {@Autowiredprivate RedisTemplate<String,String> redisTemplate;String key="RankList";@ResponseBody@RequestMapping(value= "/addRankList")public void addRankList(){ redisTemplate.opsForZSet().add(key,
2021-04-21 10:20:23 95
原创 集合、set、hashMap、list
JAVA中集合和数组的区别区别1:数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值。集合只能存储引用数据类型(对象)。集合也能存储基本数据类型(有点矛盾,看后句),但是在存储的时候会自动装箱变成对象。区别2:数组长度是固定的,不能自动增长。集合的长度是可变的,可以根据元素的增长而增长。Collection和Collections的区别1.Collection:Collection是单列集合, 用于存储单个元素Colle..
2021-04-20 09:53:05 411
原创 SpringBoot优缺点、注解作用
面试题SpringBoot什么是SpringBoot? SpringBoot的优缺点?Spring Boot是一个快速开发框架,快速的将一些常用的第三方依赖整合(通过Maven子父亲工程的方式),简化xml配置,全部采用注解形式,内置Http服务器(Jetty和Tomcat),最终以Java应用程序进行执行。1.什么是Spring Boot?springboot就是Spring开源框架下的子项目,是Spring的一站式解决方案,主要是简化了spring的使用难度,降低了对配置文件的要求,使得开发
2021-04-20 09:48:43 900 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人