自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(96)
  • 收藏
  • 关注

原创 面试题整理

1.ngibx配置2 tomcat的请求处理的3http和https

2022-08-29 18:10:48 114 1

原创 JUC并发原子类

AtomicIntger 的实现原理利用cas

2021-03-08 11:45:51 141

原创 Springboot + Redis 基础数据缓存方案

1.需要缓存的数据数据字典、基础数据2.缓存策略数据字典和基础数据都是项目随时会使用的数据,所以不存在过期时间的设计数据字典推荐使用Redis List类型缓存基础数据推荐使用Redis String类型缓存3....

2021-03-08 11:19:47 433

转载 redis面试题

转载:https://blog.csdn.net/ThinkWon/article/details/103522351?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161492902016780274147591%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161492902016780274147591&biz_id=.

2021-03-05 15:24:25 142

原创 synchronize底层原理

1

2021-03-05 09:30:38 140 1

原创 项目

1.项目上遇到的难题,怎么解决的2.项目上印象深刻的问题,怎么解决的3.你觉得自己薄弱点在哪,哪些方面擅长

2021-02-24 15:27:43 252

原创 tomcat

一、优化参考官方配置参数信息http://tomcat.apache.org/tomcat-9.0-doc/config/http.html${TOMCAT_HOME}/conf/server.xml1.线程池优化搜索<Executor name="tomcatThreadPool"】,并开启 <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="150" .

2021-02-24 08:39:42 110

原创 redis实现分布式锁

import java.util.concurrent.TimeUnit;import com.google.common.collect.Lists;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.StringRedisTemplate;import org.springframework.data.redis.core.script.

2021-02-23 15:33:43 170

原创 Spring,Springboot, Springcloud面试题

1. BeanFactory和FactoryBeanBeanFactory和FactoryBean都是接口 BeanFactory该接口是IoC容器的顶级接口,是IoC容器的最基础实现,也是访问Spring容器的根接口,负责对bean的创建,访问等工作 FactoryBean:是一种工厂bean,可以返回bean的实例。Spring的核心接口,Spring本身就提供了70多个FactoryBean的实现。以Bean结尾,表示它是一个Bean,不同于普通Bean的是:它是实现了FactoryBean&

2021-02-23 10:47:07 1322

原创

2021-02-22 13:57:12 77

原创 JVM

名词介绍:1.新生代GC Minor GC 指发生在新生代的垃圾回收动作,因为java对象大多都是创建快死亡也快,所有Minor GC非常频繁,回收速度也快2.老年代GC Major GC 指发生在老年代的垃圾回收动作,出现了MajorGC,经常至少会伴随着一次MinorGC也就是FullGC。Major GC的速度一般较慢3.串行 指单线程进行垃圾回收工作,此时用户线程在等待4.并发 指用户线程和垃圾回收线程在同一C...

2021-02-22 13:56:27 148

原创 线上问题查找

线上cpu百分之百 top找到耗费cpu高的程序的进程id 利用top-hp命令查看该进程下各个线程的cpu使用情况。并找出消耗cpu高的线程id 将进程id转换为16进制 使用jstack生成所有线程快照文件 在快照文件中查找消耗cpu高的线程在执行哪块代码 根据代码分析问题 死锁 首先死锁肯定会导致线程飙升 根据线上CPU百分之百的方式去找 jstack文件中会有死锁标记(deadlock) 内存泄漏 ...

2021-02-22 13:55:42 71

原创 Java 面试 -> 并发

线程池状态new创建线程没有startrunnable start之后blocked线程等待锁时的状态waiting执行wait方法或者join方法TERMINATED线程执行完的状态线程池的状态 running 活跃状态能够接受任务并且处理任务 shutdown 不接收任务但是可以处理已经添加的任务,在调用shutdown方法时会转换 stop shutdown now方法会切换到此状态 不接受不处理,并且会终止 Tidying...

2021-02-22 13:54:55 101

原创 总结

1.为什么重新equals为什么要从写hashcode例如往map中放不仅比较值还比较hashcode。假如newuser(1,小明)newuser(1,小明)两个是同一个人,但是如果不重写hashcode的话这两的hashcode不同,比较的话则不相当,放在map中就成两人了2.String str = "abc"和String str = new String("abc")不相等intern方法将new出来的字符串假如常量池3.cas解决方案AtomicStampedRef...

2021-02-22 13:53:07 47

原创 Java 面试 ->Mysql

mysql 引擎类型 myslam innodb 使用了B+树的索引模型,每一索引在innodb里面都对应一颗b+树 为什么使用b+树,与hash索引有什么区别。B+ Tree是一种多路平衡查询树,所以他的节点是天然有序的(左子节点小于父节点、父节点小于右子节点),所以对于范围查询的时候不需要做全表扫描。b+树叶子节点存储数据,非叶子节点只存索引。b+树的叶子节点都是相连的,因此在遍历整颗树时只需要遍历叶子节点就好了,而b树的话可能需要深层次递归。hash索引...

2021-02-22 13:52:28 97

原创 Java 面试 ->Spring

spring cloud springcloud 是一系列框架的集合。他利用spring boot的开发便利性巧妙的简化了分布式系统的基础设施开发。 spring cloud Eureka 注册中心 分为Eureka server 和Eureka client Eureka server 提供三个功能 服务注册 服务提供者启动后会像Eureka client 像Eureka server 注册信息 提供注册表 服务消费者在调用服务时...

2021-02-22 13:51:46 87

原创 Java 面试 ->jvm

jvm内存区域:方法区,堆,程序计数器,虚拟机栈,本地方法栈。方法区,堆属于线程共享;程序计数器,虚拟机栈,本地方法栈属于线程私有的; 方法区:方法区属于线程共享的内存区域,主要存储已经被虚拟机加载的类信息,常量,静态变量,编译器编译后的代码;当方法区无法满足内存分配时,会抛出OutOfMemoryError异常;运行时常量池就在方法区内,主要是用于存放编译期生成的各种字面量和符号引用,这部分内容将类在加载后进入方法区的运行时常量池中存放。运行时常量池相对于Class文件常量池的另外一个重...

2021-02-22 13:50:55 66

原创 Java 面试 ->Mybatis

mybatis中 #{}和 ${}的区别:${}是字符串替换,在处理${}时,会将传入的值直接显示在生成的sql中;#{}是预编译处理,相当于将传入的值当做字符串的形式。先替换为问好,然后通过 PreparedStatement的set方法来赋值。使用#{}可以防止sql注入提高系统的安全性。但是在某些情况下还必须使用${}例如 order by。 PreparedStatement是怎么防止sql注入的:先将SQL语句中可被客户端控制的参数集进行编译,生成对应的临...

2021-02-22 13:49:52 71

原创 Java 面试 -> Java基础

Java集合 ArrayList和 LinkedList ArrayList :底层基于数组,根据下标随机访问数组元素效率高。但是在删除和添加时因为需要移动数组元素所以效率比较低。 LinkList :底层基于链表实现,查询慢,增加和删除快,因为删除和增加只需要移动指针即可,但是查询时需要遍历链表。 HashMap和 ConcurrentHashMap HashTable HashMap :HashMap由数...

2021-02-22 13:47:15 99

转载 Java 面试 ->Rocket mq

分布式事务 发送mq->消息为send_ok此时消息发送者执行本地代码db事务提交,失败的话回滚,成功的话更改消息状态为消费着可见然后下游服务去执行业务操作db提交事务成功则返回ok,失败的话进行重试。生产者保证消息不丢失1.默认情况下,可以通过同步的方式阻塞式的发送,check SendStatus,状态是OK,表示消息一定成功的投递到了Broker,状态超时或者失败,则会触发默认的2次重试。此方法的发送结果,可能Broker存储成功了,也可能没成功2.采取事务消息的投...

2021-02-22 13:25:29 129

转载 Java 面试 ->Redis

为什么使用redis:因为传统的数据库,并不能使用所有的场景,例如秒杀,app首页等瞬时流量高峰,很容易把数据库打崩,所以引用了缓存。目前市面上redis的风评很好,并且很好的支持了spring等框架,所以选择redis。 redis的数据结构: String底层字符数组 Hash List双向列表,插入块删块,查询慢 Set 集合底层是insert数组所有元素是整数并且个数小于512 或者 hashtable底层字典 ...

2021-02-22 13:24:00 70

原创 JUC并发工具类

2021-01-13 10:31:06 83

转载 JUC

https://www.cnblogs.com/linkworld/p/7819270.html

2021-01-13 10:28:52 52

转载 全网最全微服务架构—Spring Cloud详解,没有比这更详细的了!

原文地址:https://blog.51cto.com/14570694/2482244本文不是讲解如何使用Spring Cloud的教程,而是探讨Spring Cloud是什么,以及它诞生的背景和意义。一、背景2008年以后,国内互联网行业飞速发展,我们对软件系统的需求已经不再是过去”能用就行”这种很low的档次了,像抢红包、双十一这样的活动不断逼迫我们去突破软件系统的性能上限,传统的IT企业”能用就行”的开发思想已经不能满足互联网高并发、大流量的性能要求。系统架构走向分布式已经是服务..

2020-05-28 09:39:58 210

原创 java虚拟机的监控以及诊断工具

1. jps将打印所有正在运行的 Java 进程。2. jstat允许用户查看目标 Java 进程的类加载、即时编译以及垃圾回收相关的信息。它常用于检测垃圾回收问题以及内存泄漏问题。3.jmap允许用户统计目标 Java 进程的堆中存放的 Java 对象,并将它们导出成二进制文件。4.jinfo将打印目标 Java 进程的配置参数,并能够改动其中 manageabe 的参数。5...

2020-01-20 10:20:34 166

原创 SQL Server 字段数据类型

原文链接:http://www.cnblogs.com/liberty777/p/10748570.html1. 数值型1.1 整形bit:整型,取值范围[0,1,null],用于存取布尔值tinyint:整型,取值范围[0~256)smallint:整型,取值范围[-215~215)int:整型,取值范围[-231~231)1.2 小数型decimal:精确数值型...

2019-11-15 15:51:46 877

原创 spring cloud 面试题

参考 :https://blog.csdn.net/forezp/article/details/83999882Spring Cloud是一个全家桶式的技术栈,包含了很多组件。也就是Eureka、Ribbon、Feign、Hystrix、Zuul这几个组件Spring Cloud核心组件:Eureka注册中心Spring Cloud核心组件:Feign各微服务之间相互调用...

2019-10-11 20:34:27 179

原创 spring boot 常见面试题

spring boot和spring mvc的区别1. spring boot 约定大于配置可以极少的配置或者不需要配置来启动spring2.spring boot 有内置的容器, tomcat,jetty3. spring boot 自带一些启动项,集成一些功能很方便。jpa,data,cache,Actuator(监控,很不错)说说你对spring boot 自动配置的理解...

2019-10-11 20:00:10 185

原创 mybatis缓存

一级缓存:Mybatis 连接数据库时,会开启一个数据库会话, 创建一个新的SqlSession 对象 SqlSession中有一个Executor 对象,该对象持有一个新的 PerpetualCache 对象,会话结束后,SqlSession以及内部的Executor 对象PerpetualCache 对象会也一并释放掉如果SqlSession对象调用了close() 将 释...

2019-10-01 16:34:19 82

原创 二叉树、平衡二叉树、红黑树、跳表

。。。

2019-10-01 16:32:38 177

转载 redis整理

目录一、数据类型二、 持久化策略1. RDB2. AOF3. 结合使用三、 key过期删除策略四、 回收策略五、 分布式锁六、 缓存穿透,缓存击穿,缓存雪崩一、数据类型参考:https://blog.csdn.net/Mr_FLM/article/details/97380305Redis数据类型简介:  Redis支持字符串、哈希表、列...

2019-09-10 22:25:24 146

原创 AbstractQueuedSynchronizer AQS 队列同步器

AQS使用了一个int成员变量来表示同步状态,通过内置的FIFO队列来完成资源的获取一、同步状态 /** * The synchronization state. */ private volatile int state;(1.6后新加入了变种的同步队列器主要区别在与同步状态long表示)维护了以下三种方式访问stategetState()...

2019-09-03 23:27:54 156

转载 vue - element-ui - Container 布局容器

用于布局的容器组件,方便快速搭建页面的基本结构:<el-container>:外层容器。当子元素中包含<el-header>或<el-footer>时,全部子元素会垂直上下排列,否则会水平左右排列。<el-header>:顶栏容器。<el-aside>:侧边栏容器。<el-main>:主要区域容器。...

2019-09-03 21:31:18 3629

原创 java中的锁

锁是用来控制多个线程访问资源的方式。在Lock接口出现之前,java程序是靠synchronize关键字实现锁功能的,它是显式的获取锁和释放锁,拥有了获取锁和释放锁的可操作性,可中断以及延时获取锁等多种synchronize所不具备的特性。Lock接口的实现都是通过自定义了一个队列同步器(AbstractQueneSynchronizer)的子类来实现的。队列同步器使用了一个int成员变量...

2019-09-02 22:59:34 131

原创 tomcat和jvm

目录一、配置文件优化1.线程池优化2.protocol优化二、jvm参数优化1.内存划分​1)堆2)元数据区3)程序计数器4)java虚拟机栈5)本地方法栈2.参数调优3. GC算法4.jvm优化工具注:基于tomcat9 jdk8一、配置文件优化参考官方配置参数信息http://tomcat.apache.org/tomca...

2019-08-28 20:54:12 273

原创 java 线程池

一、ThreadPoolExecutor目录一、ThreadPoolExecutor1. 参数:2. 常用方法二、Executors三、Executor框架 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, ...

2019-08-28 00:23:31 206

转载 java类加载机制

1. JAVA类加载分为三步: 加载、连接 、初始化一、加载将位于硬盘中的class文件加载到内存中二、连接将已经加载到内存中的二进制数据合并到虚拟机的运行环境中去验证准备:将class类的静态变量分配内存空间并赋予默认值,int-0,对象-null解析:将类的二进制数据中的符号引用变为直接引用,也就是说描述变为内存地址三、初始化将类的静态变量赋予初始化,...

2019-08-26 22:38:58 106

转载 mysql触发器开发

https://blog.csdn.net/qq_36396104/article/details/80469997

2019-08-19 18:42:07 96

原创 mysql innodb引擎的索引类型,什么情况下索引扫描比全表扫描效率低

1. mysql innodb支持的索引类型有 primary key: 唯一索引,不允许为null union key: 普通非唯一索引 unique key: 普通非唯一索引 normal spatial key:空间索引 5.7后支持的 fulltext: 全文索引 5.0后支持的2. 当结果记录数相对全表数过大时,执行计划会自动选择全表扫描 而不...

2019-07-18 18:49:33 1512 4

原创 window10 下 docker 启动 redis

1. 拉取镜像docker pull redis2. 使用docker run -p 6379:6379--name redis1 -d redisdocker run -p 6379:6379 -v/docker/redis/data:/data--name redis1 -d redis-p 6379:6379映射本地6379端口到容器6379端口,前为本地...

2019-06-28 21:26:34 1410

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除