- 博客(41)
- 收藏
- 关注
转载 如何优化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 193
原创 记录大佬面经第十二周
第一天抖音123面1、sql语句中,表逗号表,sql会如何优化?2、连接时mysql底层是怎么做的?3、给定正整数n,问1-n组成的二叉搜索树有多少?4、热点数据?5、zset底层如何实现?6、zset取单个数据的时间复杂度?7、跳跃表的原理?8、面值[1,3,4]的硬币,输入n,输出最少组成n的硬币个数以及组成的硬币?9、java是怎么进...
2020-07-29 19:18:49 183
原创 面试:说一说mybatis的原理吧
1、先从构建sqlSessionFacory讲起。SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);build的方法就是解析xml文件的入口。在解析文件中,会按照xml文件的节点名称一个个独立解析,如解析properties节点,解析settings节点,解析environments节点,解析mappers节点等。Mybatis 将所有 Xml 配置信息都..
2020-07-20 16:04:17 273
原创 记录大佬面经第十一周
第一天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
原创 经点面试题:mybatis的执行流程
回答这个问题前我们先来看一下mybatis的架构图,从架构图中可以简略的知道其执行流程(由接口层->数据处理层->基础支持层),实际上操作数据库时候的执行过程也是要经过这几个层的。下面部分部分文字和图片参考大神的,大神连接 MyBatis 最上面是接口层,接口层就是开发人员在 Mapper 或者是 Dao 接口中的接口定义,是查询、新增、更新还是删除操作;中间层是数据处理层,主要是配置 Mapper -> XML 层级之间的参数映射,SQL 解析,SQL 执行,结果映...
2020-07-15 15:26:27 1410
原创 谈下: AQS的原理
这是一道面试题:简述AQS原理AQS核心思想是,如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为锁定状态。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制,这个机制AQS是用CLH队列锁实现的,即将暂时获取不到锁的线程加入到队列中。CLH(Craig,Landin,and Hagersten)队列是一个虚拟的双向队列(虚拟的双向队列即不存在队列实例,仅存在结点之间的关联关系)。AQS是将每条请求共享资源的线程封装成一个CLH.
2020-07-13 22:33:32 714
原创 记录大佬面经---第十周
第一天 招银凉经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
原创 面视必问题---谈谈对线程池的理解
谈谈对线程池的理解概念:线程池由任务队列和工作线程组成,它可以重用线程来避免线程创建的开销,在任务过多时通过排队避免创建过多线程来减少系统资源消耗和竞争,确保任务有序完成。线程池的好处:提高效率,节省内存核心类:ThreadPoolExecutor 七大参数corePoolSize:线程池的核心大小,也可以理解为最小的线程池大小。 maximumPoolSize:最大线程池大小。 keepAliveTime:空余线程存活时间,指的是超过corePoolSize的空余线程...
2020-07-09 19:49:59 148
原创 求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
原创 Java中父子异常的处理
* 多个异常使用捕获又该如何处理呢? 1. 多个异常分别处理。 2. 多个异常一次捕获,多次处理。 3. 多个异常一次捕获一次处理。直接在写上catch(Exception e) 一般我们是使用一次捕获多次处理方式,格式如下: ```java try{ 编写可能会出现异常的代码 }catch(异常类型A e){ 当try中出现A类型异常,就用该catch来捕获. 处理异常的代码 //记录日志/打印异常信息/继续抛出异常 }c...
2020-07-07 16:15:28 500
原创 记录大佬面经--第九周
第一天招银网络提前批1. 接口和抽象类的区别2. 数据库中的搜索引擎介绍一下3. 说说你对spring的理解4. 输入一个url,,具体到 spring中是怎样处理的呢,返回呢5. hashmap concurrentHashMap hashtable hashset6. ioc aop的理解7. 给你一个表,,然后,,sql有点慢,,...
2020-06-30 19:45:35 596
原创 Java 垃圾回收器--对应周志明那本书
1、Serial收集器:串行收集器,使用复制算法 他是单线程收集器,单线程的意义不仅仅是只会用一个cpu或者一条收集线程去完成垃圾回收工作,而且必须要暂停其他工作线程。2、 SerialOld收集器:...
2020-06-27 21:15:14 158
原创 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
原创 记录大佬面经第八周
第一天三一重工今年这形势,只要有公司招,就得投啊! 每次问题回答到一半,就问下一个,全程8分钟结束。 自我介绍 嵌入式和Java都用过,熟悉哪个 类加载机制说一下 类加载器都有哪些 redis用过吗?除了用作缓存还能干啥? 分布式锁介绍一下 springboot用过吗?简单说一下 springboot启动方式说一下 责任链模式有什么好处 lambda表达式...
2020-06-23 19:12:19 416
原创 记录一下 :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
原创 记录面经的第七周
普联科技一面(20分钟):项目;SSM框架 IOC;单例模式;多线程;线程间通信;线程池;TCP三次握手、四次挥手;链表有环;环的入口;倒叙遍历链表;递归;Stack Overflow;二叉查找树;快排;归并排序;二面(30分钟):上来就是两个智力题,抛硬币吃苹果,捉狐狸。。。蒙了。。。多线程synchorinized原理通信原理(?看我专业是电信。。。)两道编程题爬楼梯,输入a1,a2,...,an,b1,b2,...,bn, 在..
2020-06-16 19:06:47 266
原创 记录一下: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
原创 记录大佬面经的第六周
第一天vivo Java提前批面试礼拜天笔试AC了1.3道,没想到进面试了,昨天预约的今天5.30面试,面试官准时来了。我的麦克风出了点问题,面试官很nice的提醒我不要着急,3分钟后调整好了麦克风,进入正式面试。1.自我介绍,中间到项目时候直接打断2.深挖项目,问项目中细节3.你为什么是项目负责人?怎么分的?4.项目中遇到的问题是什么?怎么解决的?5.H264编码中的问题...
2020-06-09 19:13:40 448
转载 对象的加载过程
JAVA对象创建的过程虚拟机遇到new指令时,首先先去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,就执行类加载过程。为对象分配空间,把一块固定大小的内存从java堆里划分出来。如果java堆是那种齐整的,一边放已经用的内存,另一边放没有用的内存,这样就有一个中间指针隔开两个区域,只要把这个指针移动到相应位置即可,这种方法叫做“指针碰撞”。如果已使用内存和未使用内存交错,就需要一个“空闲列表”方法来决定分配在哪里。多线程并
2020-06-07 23:25:49 614
原创 集中常见的排序
冒泡排序: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 136
原创 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 217
原创 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 392
原创 记录大佬面经的第五周
第一天恒生电子Java开发面经群面 2v4轮流自我介绍 + 兴趣爱好 轮流根据简历问项目 Nginx怎么用的 Redis有事务吗?为什么 MySQL中有哪些日志 开放性问题(想到就可以答) 对Bug怎么理解 对开发和测试怎么理解 自己的长处和短处 问问题环节 自我介绍 主要用什么语言 问项目&负责部分 Nginx用来干嘛了 为什么用Sprin...
2020-06-01 17:05:39 236
原创 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 1136 5
原创 记录大佬面经第四周
第一天顺丰一二面一面(4月7号)武汉java岗由于网络延迟,从笔记本视频面试转电话面试,期间网络一直不好,连联通的信号也不好,就听到了几个问题。1.数组转list的方式2.hashset相关3.为什么重写equals要重写hashcode方法4.spring如何控制事务5.和项目相关,springcloud中feign如何配置连接超时时间,hystrix的工作原理总耗时为30min,和面试官沟...
2020-05-28 18:38:04 355
原创 记录大佬面经第三周
第一天中移在线Java面经spring boot和ssm的区别是什么怎么搭建springboot环境了解事务吗 springboot中怎么使用事务springboot怎么进行测试Redis的数据类型Redis怎么实现hashHashmap底层原理如何解决hash碰撞说一说gcZookeeper主要干什么Hbase主要存储什么数据Hbase数据的生命周期数据库平常使用什么数据...
2020-05-22 20:32:00 320
原创 在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 306
原创 记录大佬面经第二周
第一天1 java垃圾回收,如何判断一个对象需要回收解:引用计数和可达性分析。引用计数会引起循环引用。可达性分析:从根节点依次向下搜索,所走过的路叫引用链,当一个对象和根节点的引用链不存在时,可作为被回收对象。2你说到gcroot,哪些对象可以作为gcroot栈中的引用,方法区的静态变量的引用,静态常量所引用。3 gc算法略4 如果对象大部分都是存活的,少部分需要清除,用什么算...
2020-05-16 18:46:31 347
原创 记录大佬们的面经问题第一周
第一天 一、shopee后端实习面经数据库事务 隔离级别(RU,RC,RR,S)和四大特性(ACID) 读未提交(Read Uncommitted):只处理更新丢失。如果一个事务已经开始写数据,则不允许其他事务同时进行写操作,但允许其他事务读此行数据。可通过“排他写锁”实现。 读提交(Read Committed):处理更新丢失、脏读。读取数据的事务允许其他事务继续访问改行数据...
2020-05-13 11:04:32 140
转载 剖析netty启动过程
1、总体看一下源代码启动类源码// Configure the server. EventLoopGroup bossGroup = new NioEventLoopGroup(1); EventLoopGroup workerGroup = new NioEventLoopGroup(); try { Serve...
2020-01-09 20:57:29 321
转载 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 82
转载 理解springboot自动加载
SpringBoot启动流程分析(一):SpringApplication类初始化过程 </h1> <div class="clear"></div> <div class="postBody"> SpringBoot系列文章简介SpringBoot源码阅读辅助篇: Spring IoC容器与应用上下文的设计与实...
2019-11-09 12:53:38 261
转载 深入理解Java回调
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 ...
2019-10-16 21:03:44 93
转载 通俗易懂JVM--转自Java程序员-张凯
1. Java 内存区域与内存溢出异常1.1 运行时数据区域根据《Java 虚拟机规范(Java SE 7 版)》...
2019-07-24 20:06:34 468
转载 深入理解KMP算法
https://blog.csdn.net/v_JULY_v/article/details/7041827----来自v_JULY_v大神
2019-06-30 22:36:45 117
转载 Servlet中获取绝对路径的两种常见方法--来自 LrvingTc
一.通过ServletContext的getRealPath()方法//获得ServletContext对象ServletContext servletContext = this.getServletContext();//获得资源的绝对路径String path = servletContext.getRealPath("...");注意:括号中传入的路径为该资源相对于该项目的路径...
2019-06-30 10:39:55 203
转载 springmvc报错415 Unsupported Media Type
https://jingyan.baidu.com/article/acf728fd7e254cf8e510a38d.html
2019-06-29 16:30:11 115
转载 idea操作maven时控制台中文显示乱码/maven项目启动方式
在idea中通过maven启动项目时,在前台显示数据库信息,没有中文乱码问题,在控制台中mybatis显示数据库的信息,中文显示乱码。在程序中用 System.out.println 输出中文的时候也显示乱码。以前使用idea中的启动类启动Javaweb项目时,没出现过这种错误。出现这种错误首先想到的就是编码问题,在编码问题中遇到的最普遍的一种就是与数据库连...
2019-06-26 20:48:26 855
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人