- 博客(40)
- 收藏
- 关注
原创 谈谈你对JVM的理解
JVM的全称是叫Java虚拟机,看下面一张图从这张图中看出,JVM所处的位置以及他有两个作用。第一个作用:运行并管理Java源码文件,所生成的class文件;第二个作用:在不同的操作系统上,安装不同的JVM,从而去实现跨平台的保障JVM是运行在操作系统上的解释名词Java 栈 栈也叫栈内存,主管 Java 程序的运行,是在线程创建时创建,它的生命周期是跟随线程的声明周期,线程结束栈内存也就释放了,对于栈来说不存在垃圾回收问题,只要线程一结束该栈就 Over,生
2022-04-14 15:22:33 4226
原创 MySQL性能优化的理解
把MySQL性能优化分为下面四个点:1.硬件和操作系统层面的优化2.架构设计层面的优化3.MySQL程序配置优化4.SQL执行优化详细说明如下:1.硬件和操作系统层面的优化从硬件层面来说,影响MySQL性能因素主要是cpu、可用内存大小、磁盘读写速度、网络带宽;从操作系统层面来说,应用文件句柄数、操作系统的网络配置,都会影响到MySQL的性能。这部分的优化一般是由DBA(数据管理员)或者运维工程师去完成,在硬件基础资源的优化中,我们重点应该关注的是服务本身所承载的体量,然
2022-04-13 17:31:02 221
原创 单线程下HashMap工作原理
1.HashMap中的关键属性观察源码,可以看到(1)负载因子:loadFactory他的默认值是0.75,表示在扩容前,HashMap空间填满程度的边界(2)threshold他是记录HashMap所能够容纳的键值对的边界,计算规则:负载因子 乘以 数组的长度(3)size他是用来记录HashMap实际存在的键值对的数量(4)modCount他用来记录HashMap内部结构发生变化的次数(5)DEFAULT_INITIAL_CAPACITY = 1 &l..
2022-04-11 15:29:55 650
原创 面试题-谈谈Sprig Boot的约定优于配置的理解
1.首先,约定优于配置是一种软件设计的范式,他的核心思想是减少软件开发人员,对于配置项的维护,从而让开发人员能更聚焦在业务逻辑上;2.Spring Boot就是约定优于配置这里理念下的产物,他类似于Spring框架下面的一个脚手架,通过Spring Boot我们可以快速开发基于Spring生态下的应用程序;3.基于传统的Spring框架,开发web应用的时候,我们需要做很多于业务无关,且只需要做一次的配置项,比如:(1)管理jar包依赖(2)web.xml的维护(3)Dispatch-S
2022-04-01 14:24:29 1554
原创 spring中的bean是线程安全的吗?
首先看一下思维脑图:结论:spring中的bean是否线程安全,是和spring容器没有关系的。解析:spring框架中会提供很多线程安全的策略,因此spring中的bean也不具备线程安全的特性。1.spring中的bean从哪里来?--spring中除了很多的内置bean以外,其他的bean都是我们自己通过配置来声明的,然后由spring容器进行统一加载。spring声明配置中有以下几类内容:比如:class(全类名)、id(bean的唯一标识)、scope(作用域)、.
2022-04-01 13:58:32 989
原创 springboot自定义日志文件
springboot项目自定义日志文件关键文件:logback-spring.xml<?xml version='1.0' encoding='UTF-8'?><configuration> <!-- LOG_HOME对应下面配置日志文件${LOG_HOME}应用 --> <!-- source对应yml文件中定义的日志文件的路径 --> <springProperty scope="context" name="LOG_HOME
2022-03-12 15:02:44 465
原创 excel格式导出合并单元格
1.首先看一下,我们导出的模板;可以看到,导出的模板需要合并单元格,其中在每个项目中工程编号是唯一的,所以需求中有一点,我们必选按照:项目名称+工程编号,作为唯一性来做每个sheet的区分。下面看代码:2.在看一下实体类,主要是数据的组合和单元格合并设置public class EstimatedExcel { /** * 植物数据标题 */ private String[] titles = {"植物名称", "型号", "种植面积", "预估种植数
2021-11-25 09:28:16 1776
原创 文件导入、导出
文件导出关键包 <!--poi提供Office格式档案读写--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.16-beta1</version>
2021-11-18 10:57:53 371
原创 Http请求
/** * 发送get请求 * * @param url * @param param * @param headers * @return */ public static String doGet(String url, Map<String, String> param, Map<String, String> headers) { try { StringB.
2021-11-18 10:32:30 218
原创 InputStreamReader和BufferedReader区别
1.InputStream、OutputStream处理字节流的抽象类InputStream 是字节输入流的所有类的超类,一般我们使用它的子类,如FileInputStream等.OutputStream是字节输出流的所有类的超类,一般我们使用它的子类,如FileOutputStream等.2.InputStreamReader OutputStreamWriter处理字符流的抽象类InputStreamReader 是字节流通向字符流的桥梁,它将字节流转换为字符流.Out.
2021-11-16 15:05:52 731
原创 idea项目启动端口占用
1、win键 + R,输入cmd然后回车,进入DOS命令窗口2、根据端口号查程序的进程号 netstat -ano | findstr 占用端口号(8080)3、根据程序的进程号查看具体的程序名称 tasklist | findstr 进程号(119508)4、强制、递归 删除本程序及其子进程 taskkill -f -t -im 进程名(javaw.exe)最后,重新启动一下idea发现可以正常启动了...
2021-10-20 15:56:54 336
原创 springboot集成redis
首先说一下什么是redis以及redis的优点REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和...
2021-09-18 10:55:51 125
原创 过滤器(Filter)、拦截器(Interceptor)、切面(Aspect)的区别
1.FilterFilter过滤器是服务端的一个组件,是基于servlet实现从客户端访问服务端web资源的一种拦截机制,对请求request和响应response都进行过滤,依赖于serverlet容器。用时,实现Filter接口,在web.xml里配置对应的class还有mapping-url,springboot工程可以通FilterRegisteration配置后,设置要过滤的URL,特别注意:两种方式过滤器都是有序的,谁在前就先调用谁。定义过滤器后会重写三个方法,分别是in...
2021-09-17 14:37:31 876
原创 Executors和ThreadPoolExecutor那种方式创建线程池更好
线程池不应使用Executors去创建,而是通过ThreadPoolExecutor的方式。这样的处理方式让写的同学更加明确线程池的运行规则。规避资源耗尽的风险。executors创建线程池Executors.newFixedThreadPool()创建一个定长的线程池,每提交一个任务就创建一个线程,直到达到池的最大长度,这时线程池会保持长度不再变化。虽然线程数量是固定的,但是阻塞队列是无界队列。如果有很多请求积压,阻塞队列越来越长,容易导致OOM。(无界队列其实是用了默认参数...
2021-09-10 09:59:30 481
转载 框架学习-SpringCloud核心组件
一、概述毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对Spring Cloud功能使用的层面,其底层的很多原理,很多人可能并不知晓。因此本文将通过大量的手绘图,给大家谈谈Spring Cloud微服务架构的底层原理。实际上,Spring Cloud是一个全家桶式的技术栈,包含了很多组件。本文先从其最核心的几个组件入手,来剖析一下其底层的工作原理,也就是Eureka、Ribbon、Feign、Hystrix、Zuul这几个组件。
2021-08-10 09:53:47 134
原创 SQL中的inner join、left join和right join的区别(补充union/union all)
left join(左联接): 返回包括左表中的所有记录和右表中联结字段相等的记录right join(右联接): 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接): 只返回两个表中联结字段相等的行用两个简单的例子来体现一下三者的运行结果:(左边是category表,右边是news表)首先:inner joinselect * from category c inner join news n on c.id=n.id...
2021-08-02 16:22:04 507
原创 框架学习-SpringBoot核心注解
一、入口类和@SpringBootApplicationSpring Boot的项目一般都会有"Application"的入口类,入口类中会有main方法,这是一个标准的Java应用程序的入口方法。@SpringBootApplication注解是Spring Boot的核心注解,它其实是一个组合注解,我们打开@SpringBootApplication注解的源码可以看到:@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME).
2021-07-30 14:03:20 145
原创 MySQL常用的语句函数
字符串操作函数1.UPPER和UCASE返回字符串str,根据当前字符集映射(缺省是ISO-8859-1 Latin1)把所有的字符改变成大写。select UPPER(iau.username),UCASE(iau.username) from ipark_app_user iau;2.LOWER和LCASE返回字符串str,根据当前字符集映射(缺省是ISO-8859-1 Latin1)把所有的字符改变成小写。select LOWER(iau.username),LCASE(i
2021-07-26 14:51:40 637
原创 MySQL库表操作相关指令
库show databases;显示所有数据库create database <数据库名> ;创建数据库use <数据库名>;使用数据库drop <数据库名> 直接删除数据库, 不提醒show tables; 查看当前数据库中的表desc name ;显示表的详细数据select database;查看当前使用的数据库create database mysql;创建一个数据库mysql表create table <表名>
2021-07-23 09:56:37 169
原创 框架学习-Spring
1、spring框架简述概念Spring致力于Java EE应用的各种解决方案,是一款轻量级框架,大大简化了Java企业级开发,提供了强大、稳定的功能。Spring主要有两个目标:一是让先有技术更易于使用,二是促进良好的编程习惯(或者称为最佳实践)优点轻量级。 Spring在大小和透明性方面绝对属于轻量级的,基础版本的Spring框架大约只有2MB 控制反转(IOC)。 Spring使用控制反转技术实现了松耦合。依赖被注入到对象,而不是创建或寻找依赖对象。 方便解耦,简化开发Sprin
2021-05-17 21:33:30 109
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人