IT
qq_31032293
这个作者很懒,什么都没留下…
展开
-
如何优化sql
如何优化sql?1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2、应尽量避免在 where 子句中使用 or 来连接条件,否则将导致搜索引擎放弃使用索引而进行全表扫描。例如:下面这个sql,可以这样用union all 来替换or来提高查询速度。select id,name from table where state=10 or state=20 //可以这样查询: select id,name from tabl转载 2020-08-13 20:40:50 · 194 阅读 · 0 评论 -
记录大佬面经第十一周
第一天1-4面1、自我介绍2、项目介绍(爬虫)3、kafka怎么将文件存取到磁盘(我不太清楚问啥,没想到问segment,我一开始说生产者、消费者、broke,topic被他打断了,我就说难道是segment吗, zero copy 和页缓存?嗯就是segment,ok,segment有哪些文件,索引、log, 按照偏移量)4、kafka的应用环境(解耦,削峰,异步)...原创 2020-07-18 22:05:56 · 465 阅读 · 0 评论 -
面试:说一说mybatis的原理吧
1、先从构建sqlSessionFacory讲起。SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);build的方法就是解析xml文件的入口。在解析文件中,会按照xml文件的节点名称一个个独立解析,如解析properties节点,解析settings节点,解析environments节点,解析mappers节点等。Mybatis 将所有 Xml 配置信息都..原创 2020-07-20 16:04:17 · 274 阅读 · 0 评论 -
经点面试题:mybatis的执行流程
回答这个问题前我们先来看一下mybatis的架构图,从架构图中可以简略的知道其执行流程(由接口层->数据处理层->基础支持层),实际上操作数据库时候的执行过程也是要经过这几个层的。下面部分部分文字和图片参考大神的,大神连接 MyBatis 最上面是接口层,接口层就是开发人员在 Mapper 或者是 Dao 接口中的接口定义,是查询、新增、更新还是删除操作;中间层是数据处理层,主要是配置 Mapper -> XML 层级之间的参数映射,SQL 解析,SQL 执行,结果映...原创 2020-07-15 15:26:27 · 1410 阅读 · 0 评论 -
谈下: AQS的原理
这是一道面试题:简述AQS原理AQS核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为锁定状态。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制,这个机制AQS是用CLH队列锁实现的,即将暂时获取不到锁的线程加入到队列中。CLH(Craig,Landin,and Hagersten)队列是一个虚拟的双向队列(虚拟的双向队列即不存在队列实例,仅存在结点之间的关联关系)。AQS是将每条请求共享资源的线程封装成一个CLH.原创 2020-07-13 22:33:32 · 714 阅读 · 0 评论 -
记录大佬面经---第十周
第一天 招银凉经1.算法:两链表的公共节点。2.接口与抽象类的区别。什么时候用接口,什么时候用抽象类。3.浅拷贝和深拷贝区别,深拷贝怎么实现。4.双亲委派机制。指定加载器中的类怎么实现?5.JVM1.8之后的GC区别。6.JVM具体调优参数,说几个7.分页操作怎么实现8.事物的隔离级别9.脏读10.spring aop的实现。11.cglib ao...原创 2020-07-10 21:23:14 · 328 阅读 · 0 评论 -
面视必问题---谈谈对线程池的理解
谈谈对线程池的理解概念:线程池由任务队列和工作线程组成,它可以重用线程来避免线程创建的开销,在任务过多时通过排队避免创建过多线程来减少系统资源消耗和竞争,确保任务有序完成。线程池的好处:提高效率,节省内存核心类:ThreadPoolExecutor 七大参数corePoolSize:线程池的核心大小,也可以理解为最小的线程池大小。 maximumPoolSize:最大线程池大小。 keepAliveTime:空余线程存活时间,指的是超过corePoolSize的空余线程...原创 2020-07-09 19:49:59 · 148 阅读 · 0 评论 -
求n个高度合成数
public class LeetCode { static PriorityQueue<Integer> queue=new PriorityQueue<>((o1,o2)->{ return o2-o1; }); public static void main(String[] args) { //获取当前系统时间(毫秒) long a= System.currentTimeMillis(); .原创 2020-07-08 15:40:18 · 430 阅读 · 0 评论 -
Java中父子异常的处理
* 多个异常使用捕获又该如何处理呢? 1. 多个异常分别处理。 2. 多个异常一次捕获,多次处理。 3. 多个异常一次捕获一次处理。直接在写上catch(Exception e) 一般我们是使用一次捕获多次处理方式,格式如下: ```java try{ 编写可能会出现异常的代码 }catch(异常类型A e){ 当try中出现A类型异常,就用该catch来捕获. 处理异常的代码 //记录日志/打印异常信息/继续抛出异常 }c...原创 2020-07-07 16:15:28 · 501 阅读 · 0 评论 -
记录大佬面经--第九周
第一天招银网络提前批1. 接口和抽象类的区别2. 数据库中的搜索引擎介绍一下3. 说说你对spring的理解4. 输入一个url,,具体到 spring中是怎样处理的呢,返回呢5. hashmap concurrentHashMap hashtable hashset6. ioc aop的理解7. 给你一个表,,然后,,sql有点慢,,...原创 2020-06-30 19:45:35 · 596 阅读 · 0 评论 -
Java 垃圾回收器--对应周志明那本书
1、Serial收集器:串行收集器,使用复制算法 他是单线程收集器,单线程的意义不仅仅是只会用一个cpu或者一条收集线程去完成垃圾回收工作,而且必须要暂停其他工作线程。2、 SerialOld收集器:...原创 2020-06-27 21:15:14 · 158 阅读 · 0 评论 -
springboot2.x 使用dubbo
父类<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs原创 2020-06-25 19:53:20 · 176 阅读 · 0 评论 -
记录大佬面经第八周
第一天三一重工今年这形势,只要有公司招,就得投啊! 每次问题回答到一半,就问下一个,全程8分钟结束。 自我介绍 嵌入式和Java都用过,熟悉哪个 类加载机制说一下 类加载器都有哪些 redis用过吗?除了用作缓存还能干啥? 分布式锁介绍一下 springboot用过吗?简单说一下 springboot启动方式说一下 责任链模式有什么好处 lambda表达式...原创 2020-06-23 19:12:19 · 416 阅读 · 0 评论 -
记录一下 :redis的哨兵模式
概念:反客为主的自动版,能够后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库怎么玩?具体步骤:使用前提:已经配置好一丛二主的环境了。本次案例:一主是端口号为6379,配置文件为6379.conf;二丛是端口号为6380,配置文件为6380.conf和端口号为6381,配置文件为6381.conf。1、从redis的安装目录拷贝一份sentinel.conf出来2、配置哨兵,填写内容:sentinel monitor 被监控数据库名字(自己起名字) 127.0.0..原创 2020-06-18 14:51:03 · 153 阅读 · 0 评论 -
记录面经的第七周
普联科技一面(20分钟):项目;SSM框架 IOC;单例模式;多线程;线程间通信;线程池;TCP三次握手、四次挥手;链表有环;环的入口;倒叙遍历链表;递归;Stack Overflow;二叉查找树;快排;归并排序;二面(30分钟):上来就是两个智力题,抛硬币吃苹果,捉狐狸。。。蒙了。。。多线程synchorinized原理通信原理(?看我专业是电信。。。)两道编程题爬楼梯,输入a1,a2,...,an,b1,b2,...,bn, 在..原创 2020-06-16 19:06:47 · 267 阅读 · 0 评论 -
记录一下:redis 集群的搭建
第一步:环境的准备: redis-3.2.0.gem可到官方网站去下载。官方网站走你第二部,更改配置:(1)、拷贝6份redis.conf文件,分变命名6379.conf,6380.conf,6381.conf,6382.conf,6383.conf,6384.conf按(2)步骤更改配置文件(2)、更改具体配置文件绑定端口,port 63xx 绑定IP,bind 10.12.11.100 指定数据存放路径,dir /usr/local/redi...原创 2020-06-16 14:18:32 · 174 阅读 · 0 评论 -
记录大佬面经的第六周
第一天vivo Java提前批面试礼拜天笔试AC了1.3道,没想到进面试了,昨天预约的今天5.30面试,面试官准时来了。我的麦克风出了点问题,面试官很nice的提醒我不要着急,3分钟后调整好了麦克风,进入正式面试。1.自我介绍,中间到项目时候直接打断2.深挖项目,问项目中细节3.你为什么是项目负责人?怎么分的?4.项目中遇到的问题是什么?怎么解决的?5.H264编码中的问题...原创 2020-06-09 19:13:40 · 449 阅读 · 0 评论 -
对象的加载过程
JAVA对象创建的过程虚拟机遇到new指令时,首先先去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,就执行类加载过程。为对象分配空间,把一块固定大小的内存从java堆里划分出来。如果java堆是那种齐整的,一边放已经用的内存,另一边放没有用的内存,这样就有一个中间指针隔开两个区域,只要把这个指针移动到相应位置即可,这种方法叫做“指针碰撞”。如果已使用内存和未使用内存交错,就需要一个“空闲列表”方法来决定分配在哪里。多线程并转载 2020-06-07 23:25:49 · 614 阅读 · 0 评论 -
集中常见的排序
冒泡排序:public void bubbo(int[] arry){ int leg=arry.length; //外层控制排序趟数 for (int i=0;i<leg-1;i++) { //内存控制每一趟排序多少次 for (int j=0;j<leg-i-1;j++) { if (arry[j]>arry[j+1]) {原创 2020-06-07 20:37:19 · 137 阅读 · 0 评论 -
springboot2.0以后 自定义拦截器
在2.0以后的版本中WebMvcConfigurerAdapter这个类已经被废弃。采用全新的接口WebMvcConfigurer如下面代码@Configurationpublic class WebMvcConfig implements WebMvcConfigurer { @Autowired private AuthInterceptor authInterceptor; @Override public void addInterceptors(In原创 2020-06-04 14:58:45 · 218 阅读 · 0 评论 -
springboot 2.0以上版本 thymeleaf 的th:onclick报错原因
<dd th:onclick="toItem([[${cartInfo.productSkuId}]])"> <p> <span th:text="${cartInfo.productName}" >TCL 55A950C 55英寸32核</span> </p></dd>如不这样写会跳转页面后直接报500错误。...原创 2020-06-04 09:31:24 · 393 阅读 · 0 评论 -
记录大佬面经的第五周
第一天恒生电子Java开发面经群面 2v4轮流自我介绍 + 兴趣爱好 轮流根据简历问项目 Nginx怎么用的 Redis有事务吗?为什么 MySQL中有哪些日志 开放性问题(想到就可以答) 对Bug怎么理解 对开发和测试怎么理解 自己的长处和短处 问问题环节 自我介绍 主要用什么语言 问项目&负责部分 Nginx用来干嘛了 为什么用Sprin...原创 2020-06-01 17:05:39 · 236 阅读 · 0 评论 -
springboot 2.3.0以后版本使用JestClient操作es
由于springboot 2.3.0以后版本不支持自动注入JestClient,如下图我们在yml文件中配置JestClient时会出现划掉的线提示。我们采取手动配置的方式采用手动注入的方式:@Testvoid contextLoads() { JestClient jestClient = getJestCline(); //List<PmsSkuInfo> pmsSkuInfos= skuService.findAllSkuInfo(); ..原创 2020-05-31 14:27:15 · 1138 阅读 · 5 评论 -
记录大佬面经第四周
第一天顺丰一二面一面(4月7号)武汉java岗由于网络延迟,从笔记本视频面试转电话面试,期间网络一直不好,连联通的信号也不好,就听到了几个问题。1.数组转list的方式2.hashset相关3.为什么重写equals要重写hashcode方法4.spring如何控制事务5.和项目相关,springcloud中feign如何配置连接超时时间,hystrix的工作原理总耗时为30min,和面试官沟...原创 2020-05-28 18:38:04 · 357 阅读 · 0 评论 -
记录大佬面经第三周
第一天中移在线Java面经spring boot和ssm的区别是什么怎么搭建springboot环境了解事务吗 springboot中怎么使用事务springboot怎么进行测试Redis的数据类型Redis怎么实现hashHashmap底层原理如何解决hash碰撞说一说gcZookeeper主要干什么Hbase主要存储什么数据Hbase数据的生命周期数据库平常使用什么数据...原创 2020-05-22 20:32:00 · 320 阅读 · 0 评论 -
在centos7的环境下安装fastdfs
1、安装gcc fastdfs是C语言开发的,要对fastdfs编译安装必须首先由gcc的环境,如果以前系统安装了nginx,则不需要安装这个环境,本机已经安装过了nginx了。yum install -y gcc gcc-c++2、安装libevent若系统已经有图形界面则不要安装此环境了。3、 安装libfastcommon1、本机把libfastcommon放在了/usr/src的目录下了,对其进行解压1、进行解压:tar -zxvf libfas...原创 2020-05-22 15:07:06 · 308 阅读 · 0 评论 -
在高并发的情况下,利用redis来处理库存超卖和遗留问题
在高并发的情况下,利用redis来处理库存超卖和遗留问题原创 2020-05-19 20:45:29 · 2813 阅读 · 3 评论 -
记录大佬面经第二周
第一天1 java垃圾回收,如何判断一个对象需要回收解:引用计数和可达性分析。引用计数会引起循环引用。可达性分析:从根节点依次向下搜索,所走过的路叫引用链,当一个对象和根节点的引用链不存在时,可作为被回收对象。2你说到gcroot,哪些对象可以作为gcroot栈中的引用,方法区的静态变量的引用,静态常量所引用。3 gc算法略4 如果对象大部分都是存活的,少部分需要清除,用什么算...原创 2020-05-16 18:46:31 · 347 阅读 · 0 评论 -
记录大佬们的面经问题第一周
第一天 一、shopee后端实习面经数据库事务 隔离级别(RU,RC,RR,S)和四大特性(ACID) 读未提交(Read Uncommitted):只处理更新丢失。如果一个事务已经开始写数据,则不允许其他事务同时进行写操作,但允许其他事务读此行数据。可通过“排他写锁”实现。 读提交(Read Committed):处理更新丢失、脏读。读取数据的事务允许其他事务继续访问改行数据...原创 2020-05-13 11:04:32 · 140 阅读 · 0 评论 -
剖析netty启动过程
1、总体看一下源代码启动类源码// Configure the server. EventLoopGroup bossGroup = new NioEventLoopGroup(1); EventLoopGroup workerGroup = new NioEventLoopGroup(); try { Serve...转载 2020-01-09 20:57:29 · 321 阅读 · 0 评论 -
Linux 常用命令
1.查看已经开放的端口 firewall-cmd --list-ports2.开启指定端口 firewall-cmd --zone=public --add-port=2181/tcp --permanent3.重启防火墙 firewall-cmd --reload4.停止防火墙 systemctl stop fir...转载 2019-12-28 19:04:25 · 83 阅读 · 0 评论 -
理解springboot自动加载
SpringBoot启动流程分析(一):SpringApplication类初始化过程 </h1> <div class="clear"></div> <div class="postBody"> SpringBoot系列文章简介SpringBoot源码阅读辅助篇: Spring IoC容器与应用上下文的设计与实...转载 2019-11-09 12:53:38 · 261 阅读 · 0 评论 -
深入理解Java回调
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 ...转载 2019-10-16 21:03:44 · 94 阅读 · 0 评论 -
通俗易懂JVM--转自Java程序员-张凯
1. Java 内存区域与内存溢出异常1.1 运行时数据区域根据《Java 虚拟机规范(Java SE 7 版)》...转载 2019-07-24 20:06:34 · 469 阅读 · 0 评论 -
前端控制器的概述
https://blog.csdn.net/weixin_36380516/article/details/77472148转载 2019-06-29 15:16:00 · 1167 阅读 · 0 评论 -
java代码优化:解决两个默认方法之间重复代码的问题--转自小南哥
一.问题描述:我们需要抽取一个共有方法,用来解决两个默认方法之间重复代码的问题。但是这个共有方法不应该让实现类使用,应该是私有化的。二.解决方案:从Java 9以上的版本,接口当中允许定义私有方法。 普通私有方法,解决多个默认方法之间重复代码问题 格式: private 返回值类型 方法名称(参数列表) { 方法体 } 静态私有方法,解决多个静态方法之间重复代...转载 2019-06-26 17:42:33 · 1695 阅读 · 0 评论