浅聊JVM--基础版 一、来源 jvm共有三种 Sun公司:HotSpot使用最多 BEA:JRockit IBM:J9VM ​今天我们主要了解的是Sun公司的HotSpot(关于HotSpot的爱恨情仇这里就不做过多解释了。)我们以前测试jdk是否安装成功,java的环境变量是否配置成功会使用java-version命令来检查。有一个细节大家可以看一下,cmd输入java-version回车后,可以查看jvm。上图 ​大家可以看到,我们目前使用大都是Sun公司的产品。那么jvm处于什么位置呢?其实jvm是在操作系统之上,和硬件并无直接联系。 面试题:jvm、jdk、jre的区别?...

  diRvFkCA5Zb8   2023年11月01日   179   0   0 Java

聊一下MySQL 关于mysql关系型数据库的一些分析: 1、从性能上:如果查询结果不是很频繁变动的SQL语句,我们就没有必要每次都去查询数据库,可以把这种数据放在基于缓存的数据库中,这样不仅提升了查询效率还分担了数据库压力。 2、从并发上:在大并发的情况下(比如618秒杀活动,你敢让千万级的请求直接打到数据库上吗?)所有的请求直接访问数据库,数据库就由可能造成宕机,可以让这些高并发瞬时的请求从数据库分离出来,找一个适合处理高并发的来处理这些请求。 那就是Redis!!! 是什么? 基于内存的K/V存储中间件(关于K/V你还能想到谁?) NoSQL(非关系型)数据库 干啥用? 缓存 ...

  diRvFkCA5Zb8   2023年11月01日   63   0   0 Java

SpringMVC如何接受请求参数(普通类型参数/对象类型参数/数组/json数据等) 1、普通类型参数 (1)在可以在方法参数上使用@RequestParam注解来绑定请求参数,此注解允许指定请求参数的名称,以及是否是必须传的参数。 @RequestMapping("/example") publicStringexampleMethod(@RequestParam("paramName")Stringparam){ //处理参数 return"viewName"; } (2)如果需要传的参数是URL的一部分,可以使用@PathVariable注解来绑定路径参数。 @RequestMap...

  diRvFkCA5Zb8   2023年11月01日   28   0   0 Java

缓存雪崩是指在缓存中的大量数据在同一个时刻全部过期,导致原本这些可以由缓存中间件处理的高并发请求,一下子全部打到数据库,导致数据库服务器崩溃的一种现象。那么出现缓存雪崩的原因可以有①:缓存中间件宕机。②:缓存中大部分key都设置了相同的时间,导致这些key在同一时间内全部失效。解决的方法: ①:可以对这些个key设置可以失效的随机值,避免同时失效的问题。 ②:还可以对数据库的读写加锁,不让那么瞬时高并发的请求一下子突然打到数据库上。 ③:即使如果真的发生了缓存雪崩,使用数据库的主从复制、双主、读写分离等策略,数据库本身的容灾能力应该还是可以承受住的。 缓存穿透是指缓存穿透是指在使用缓存系统的应...

  diRvFkCA5Zb8   2023年11月01日   80   0   0 Java

在springBoot的启动类中,提供了一个mai函数的程序入口,来启动加载SpringBoot程序,那么注解@SpringBootApplication,通过源码可以看到,它相当于@ComponentScan+@EnableAutoConfiguration+@SpringBootConfiguration。 通过@SpringBootConfiguration注解的源码得知,其配置了一个@Configuration注解,来声明这是一个配置类,经过spring扫描读取其中的配置信息。所以@SpringBootConfiguration是来声明当前类是SpringBoot应用的配置类。他的内部...

  diRvFkCA5Zb8   2023年11月01日   34   0   0 Java

对于一个直接创建的springBoot项目工程来说,可以按照以下步骤使用rabbitmq 添加依赖:添加rabbitMQ的依赖。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> 配置连接:在配置文件中配置虚拟主机、端口号、用户名、密码等信息。 spring: rabbitmq: host:localhost port:56...

  diRvFkCA5Zb8   2023年11月01日   41   0   0 Java

以WebMvcAutoConfiguration自动配置的原理为例,SpringBoot内部对大量的第三方库或Spring内部库进行了默认配置,这些配置是否生效,取决于我们是否引入了对应库所需的依赖,如果有那么默认配置就会生效。如果引入springboot-starter-web那么对应的web配置就会自动配置。那么是如何自动配置的呢? 我们找到对应的源码来看下: 先找到对应的自动配置的jar包 然后在org下-->找到web-->找到servlet-->找到装载配置类和对应的属性配置 我们点击WebMvcAutoConfiguration配置类看进去 通过源码可以看到...

  diRvFkCA5Zb8   2023年11月01日   50   0   0 Java

Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s,且Redis通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下: 字符串类型string 哈希类型hash 列表类型list 集合类型set 有序集合类型sortedset 1.3.1redis的应用场景 缓存(数据查询、短连接、新闻内容、商品内容等等)聊天室的在线好友列表任务队列。(秒杀、抢购、12306等等)应用排行榜网站访问统计数据过期处理(可以精...

  diRvFkCA5Zb8   2023年11月01日   60   0   0 Java

Java解析、生成Excel比较有名的框架有Apachepoi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,能够原本一个3M的excel用POIsax依然需要100M左右内存降低到几M,并且再大的excel不会出现内存溢出,03版依赖POI的sax模式。在上层做了模型转换的封装,让使用者更加简单方便。 EasyExcel是一个基于Java的简单、省内存的读写Exc...

  diRvFkCA5Zb8   2023年11月01日   137   0   0 Java
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~