- 博客(141)
- 资源 (7)
- 收藏
- 关注

原创 MySQL大型总结,妈妈再也不用担心面试问我MySQL知识啦!
目录MySQL总结索引数据结构索引类型InnoDB索引FAQSQL优化索引明确查询目标操作优化explain查看执行计划MySQL 优化器MySQL总结数据库事务ACID隔离级别MVCC锁机制常见的日志文件binlogredo logundo logFAQ开发规范一、基础规范二、命名规范三、表设计规范四、字段设计规范五、索引设计规范六、SQL使用规范思维导图MySQL总结索引数据结构B+树索引数据量相同的情况下B+树比B树更加的”矮胖“,相应会减小IO次数、所有查询都要查找到叶子节点,查询性
2021-03-12 13:02:39
1059

原创 深入浅出Java锁
目录前言1. 锁类型2. 悲观锁VS乐观锁2.1 悲观锁代表Synchronize关键字2.1.1. Synchronize关键字实现方法2.2乐观锁代表CAS操作:2.2.1. CAS带来的ABA问题:2.2.2. CAS带来的循环时间长开销大问题2.2.3. CAS带来的只能保证一个共享变量的原子操作问题。2.2.4. CAS是如何保证原子操作的2.2.5. 引申出来的问题: AtomticX...
2020-03-12 20:29:25
956

原创 深入浅出Java多线程
文章目录线程1.1 线程与进程的区别1.2 线程的状态1.3 Notify 和 wait :1.4 Thread.sleep() 和Thread.yield()的异同1.5 补充:死锁的概念1.6 补充:并发和并行的区别1.7 补充:线程安全三要素1.8 补充:如何实现线程安全1.9 补充:保证线程安全的机制:多线程2 创建线程的方法2.1 线程池创建线程2.2 ThreadPoolExecuto...
2020-02-24 17:30:34
1841
2
原创 【百度内推】百度春招开始啦,23届可投递暑期实习,暑期实习可转正,快人一步,提前锁定offer
【百度内推】百度春招开始啦,23届可投递暑期实习,暑期实习可转正,快人一步,提前锁定offer;我的内推码:IVVP2B我的内推码:IVVP2B我的内推码:IVVP2B投递方式:内推二维码地址:手机扫码即可投递!官网连接,找到心仪的职位之后输入我的内推码:我的内推码: IVVP2B 即可内推 https://talent.baidu.com/external/baidu/index.html#/intern/12 (部分岗位无法内推,一般带有春季字样的岗位可以内推,无法内推的应该属
2022-03-08 09:46:09
2083
2
原创 CPU飙高排查
CPU飙高排查的几个步骤:1.Top命令TOP命令抓取的结果需要关注CPU使用率最高的,抓取的是 “进程” 维度,即一个物理机上部署的众多实例中,每个实例为一个进程; PID为进程ID;结果:PID 172952.PS命令命令选项 如下图;进程标识:即为1中查询到的PID ;关注CPU使用率 和 TID , TID为该进程开启的 线程列表 和 每个线程CPU的使用率;结果:TID 173533.Jstack命令进程标识:PID (1中查询到的结果)结果:线程详情列表4.转换查找将
2021-01-07 13:09:31
544
1
原创 缓存穿透和缓存击穿
一、背景介绍几乎所有互联网公司都采用缓存的方案来解决瞬时流量超高,或者长期流量过高的问题。但使用缓存存在风险——缓存穿透和缓存击穿:简单的讲就是如果该数据原本就不存在,那么就会发生缓存穿透;如果缓存内容因为各种原因失效,那么就会发生缓存击穿。具体一点来说,如果缓存中不存在需要查询的内容,一般情况下需要再深入一层进行查询,一般为不能承受压力的关系型数据库(承压能力为缓存的1%,甚至更低),如果数据库中不存在,则叫做缓存穿透;反之,如果数据库中存在这个数据,则叫做缓存击穿(如果同一时刻大量的缓存失效叫做缓存
2020-06-30 08:49:30
4719
原创 这样的InnoDB你见过么
1. 架构图可以看到,InnoDB存储引擎用友多个后台线程这些线程包括:Master ThreadI/O ThreadPurge ThreadPage Cleaner Thread1.1 Master ThreadMaster Thread是一个非常核心的后台线程,主要负责将缓冲池中的数据异步刷新到磁盘,保证数据的一致性,包括脏页的刷新合并插入缓冲(INSERT BUFFER)UNDO页的回收等等。1.1.1 脏页:因为硬盘的读写速度远赶不上内存的速度,系统就把读写比较频繁
2020-06-11 20:06:04
323
原创 零散知识点汇总
1. 为什么集合不能放置基本数据类型集合的设计初衷就是存储引用的容器,而基本类型不属于对象无法引用 自然不能处理 所以jvm才设计的基本类型对应的封装类集合类有一些equals等方法,这些方法只有封装类也就是继承了Object类的类才能使用2. 锁的降级假设如果要做重量级锁与轻量级锁的降级 就需要做到当前执行线程需要计算等待线程状态、需要建立预判模型,需要存储升级重量级锁可以降级的重试次数,但是这样做还是没啥意义还是看当前线程无其它等待线程释放锁 恢复锁状态 重新升级偏向锁 锁对象数
2020-06-05 16:57:45
469
原创 浅析JSF
前言:博主作为实习生已经入职JD一个星期,一下是我对公司JSF架构的一些理解,PS借鉴李鑫前辈的PPT1. 传统微服务不足之处客户端:大量逻辑放到了客户端带来的版本更新问题zookpeer的watch机制问题注册中心zookpeer作为注册中心一些功能收到限制,拓展受限‘服务治理缺乏流量控制手段,大量流量打到线程池更改配置需要重启缺乏监控机制2....
2020-05-08 14:08:24
775
1
原创 Java并发学习(持续更新中)
1. 多线程下的一些问题1.1 多线程就一定快吗?答案是不一定。首先我我们知道,多线程当线程数使用不当会存在比较大的风险,比如,甚至性能不如单线程,这其中一个重要的原因就是:上下文切换。上下文切换的代价是高昂的,因为在核心上交换线程会花费很多时间。上下文切换的延迟取决于不同的因素,大概在在 50 到 100 纳秒之间。考虑到硬件平均在每个核心上每纳秒执行 12 条指令,那么一次...
2020-04-20 14:50:04
355
原创 面试必问的HashMap你知道多少?
目录HashMap:1.为什么是链表+红黑树?2. 为什么不一开始就使用红黑树?2月15日补充,面试问到了为什么要无符号右移16位2月23日补充:为什么用红黑树不用B+树?2月22日补充:说一下hashCode()?3月17补充:红黑树为什么节点非黑即红?一些重要参数:3. 为什么负载因子(扩容因子)是0.75?4. 为什么会选择8作为阈值?5. 为什么16是默认起始容量?6. 为什么hashma...
2020-04-20 14:44:36
910
原创 JVM你知道多少?
文章目录前言JVM内存模型1. 程序计数器(记录当前线程)2. Java栈(虚拟机栈)3. 本地方法栈4. 堆5.方法区6.直接内存JVM垃圾回收垃圾判断标准1. 引用计数法2. 可达性分析算法(根索法)圾回收算法1. 标记清除2. 复制算法3. 标记整理4.分代回收GC垃圾回收器1. Serial 垃圾收集器(单线程、复制算法) (新生代)2. ParNew 垃圾收集器(Serial+多...
2020-04-19 11:30:33
798
原创 微服务你了解多少?
目录前言1. 什么是微服务?1.1 什么是SOA?1.2 SOA和微服务的区别?2. 为什么要用微服务?3. 使用微服务存在的问题以及解决办法3.1 微服务之间如何通信3.2 微服务如何发现3.3 微服务挂了,如何解决?3.3.1 重试机制3.3.2 限流3.3.3 熔断、降级4. 微服务Cloud体系4.1 服务发现 Eureka4.1.1 4月7更新4.1.2 RestTemplate4.2 ...
2020-04-19 11:28:49
1207
1
原创 类加载机制你了解多少?
文章目录前言1. 类加载机制1.1 加载1.2 验证1.3 准备1.4 解析1.5 初始化1.5.2 为什么静态方法不能调用非静态方法1.6 使用1.7 拆卸2. 类加载器2.1 类加载器种类2.1.1 Java虚拟机自带的类加载器2.1.2 用户自定义的类加载器2.2 双亲委派机制2.2.1 为什么要有双亲委派机制2.2.2 可不可以自定义一个String/Object类?2.3 破坏双亲委派2...
2020-04-19 11:27:29
509
原创 大学三年颠沛流离换来京东实习Offer
前言:从HR手里投递出去的简历,直达了面试官,约了今天下午三点,(之前在实习僧上投过一次,然后加了HR小姐姐的微信,所以就有????)感觉这是自春招实习面试之旅最难得一次面试,部门:京东金融一面:为什么存在三次挥手的情况?网络I/O?死扣细节,具体问题忘了是那种别人的面经绝对没有出现过的…你觉得你网络学的怎么样?(很是惭愧,虽然是网络工程,但是本专业的东西学的一塌糊涂…说了实情之后就没往下...
2020-04-17 10:01:49
782
原创 双非硬闯阿里之路之钉钉二面&三面+京东数科一面
1. 前言本人为双非学校本科生,因为对技术特别热爱,加上有老师带队做开发,可以说有一丢丢技术的技术水平吧,所以三面和面试官聊得还算可以哈哈哈咱也是大三的学生,我看怎么评论走向把我喊老了呢????2. 钉钉二面二面就是码代码了,考一下基本的算法判断链表是不是回文链表数组子数组最大的和还是蛮简单的,阿里嘛,主要挖源码多一些3. 钉钉三面三面如期而至,大概隔了一两天首先,怼项目。...
2020-03-12 20:27:25
1263
2
原创 双非硬闯阿里之路之阿里钉钉面经(一)
面试官人特好面试官人特好面试官人特好上来,面试官自我介绍,介绍了一下团队巴拉巴拉,我其实一个字没听进去…让我自我介绍,首先声明一下我是双非渣本,看到群里那些浙大、同济、北京科大的同学自己心里打了多少次退堂鼓,但还是鼓起勇气投了简历我是从大二开始一直跟着我们一个老师做开发,学校里的一些应用都是从我们团队里面出去的像什么在线请销假、最近的疫情签到是老师带着我们做出来的,面试官大概率因为这...
2020-02-24 17:27:37
2405
原创 实战高并发nginx+redis+tomcat8.5实现负载均衡和session共享 42/100
目录前言1. nginx配置2. tomcat集群搭建方式3. redis4. 后续,SQL语句的优化前言新型冠状病毒泛滥,至今已有1w+同胞感染,在此深刻祝福他们早日康复。学校依托易班APP展开了线上签到的web应用,思路很简单,没有什么复杂的,但是要命的不是代码,而是并发,学校共有4w人,可能是大家在家比较闲,流量高峰时期学校分配的土豆服务器会崩掉,在此我参考前辈们的做法,决定用ngin...
2020-02-02 20:06:42
770
1
原创 Jmeter单机测试spring boot高并发实战
环境:spring boot2.0(redis+Druid)+Jmeter+jdk1.8+myexlipse高并发:单机环境下能充分利用cpu和io设备的综合利用率就算是高并发。比如4核8G机器单机(我的笔记本)一般1000QPS等。比如吞吐量与响应时间达到平衡。性能测试中不只关注并发数,尤其是单接口性能测试的时候,更多关注吞吐量、响应时间等指标来评估服务端性能。奔着这个目标,开始测试首先在...
2019-12-07 17:55:28
4449
原创 pagehelper源码分析
pagehelper不用说,只要是用过的就会爱上他!Maven依赖: <!-- 分页 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId&...
2019-12-05 20:00:49
278
原创 一天一个java知识(redis数据类型)
项目暂告一段落,今天来复习一下redis有哪些数据类型Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为1. String(字符串)2. List(列表)3. Set(集合)4. Hash(散列)5. Zset(有序集合) 结构类型 结构存储方式 结构的读写方式 String ...
2019-12-04 21:50:36
199
原创 Markdown编辑后的文本转换为HTML(个人博客代码展示)
在使用Markdown编辑器时,编辑出来的富文本不能够直接对html页面直接使用,需要改变一下:首先需要加一下pom依赖: <!--markdown处理转html --> <dependency> <groupId>com.atlassian.commonmark</groupId> <artifactId>com...
2019-12-03 10:38:09
1546
原创 解决Hadoop启动时的警告
如图所示,Hadoop启动时有警告就很烦!解决办法:首先vim /usr/local/hadoop/bin/Hadoop-config.sh,更改为如图所示:然后vim /etc/profile,最后加上如图所示语句此时需要更新一下 :source /etc/profile完成!...
2019-11-29 18:34:55
1073
原创 第一个MapReduce测试程序
实验环境:centos7,Hadoop1.2,jdk1.6,VMware Workstation Pro启动Hadoop:start-all.sh看到有5个进程启动了就表示配置成功了。这5各进程分别是: namenode、datanode、secondarynamenode、jobstracker、tasktracker。 可以使用命令:jps来查看进程的使用情况。如果出现这种情况,就说明启...
2019-11-29 18:25:32
811
原创 spring连载(四)(spring bean生命周期)
Spring Bean 的生命周期简单易懂。在一个 bean 实例被初始化时,需要执行一系列的初始化操作以达到可用的状态。同样的,当一个 bean 不在被调用时需要进行相关的析构操作,并从 bean 容器中移除。Spring bean factory 负责管理在 spring 容器中被创建的bean 的生命周期。Bean 的生命周期由两组回调(call back)方法组成。初始化之后调用的回...
2019-11-28 22:29:47
261
原创 thymeleaf 循环固定次数
<div class="no-project" th:each="i:${#numbers.sequence(1,10)}"> Program to be confirm</div>
2019-11-27 21:35:36
3418
1
原创 一天一个java知识(new String并输出它发生了什么)
下面的语句你可能很熟悉String name=new String("HXZ");System.out.println(name+"is my name");但是你知道new一个string并输出他发生了那些步骤吗:生成新的字符串 new String(STR_1);复制该字符串;加载字符串常量"HXZ"(STR_2);调用字符串的构架器(Constructor);保存该字符串...
2019-11-27 09:22:37
600
原创 阿里代码规范研读(二)(常量定义 )
不允许任何魔法值(即未经定义的常量)直接出现在代码中。 反例:String key = "Id#taobao_" + tradeId; cache.put(key, value);long 或者 Long 初始赋值时,使用大写的 L,不能是小写的 l,小写容易跟数字 1 混 淆,造成误解。 说明:Long a = 2l;写的是数字的 21,还是 Long 型的 2?不要使用一个常量类维护所...
2019-11-26 21:05:20
780
原创 一天一个java知识(Spring 支持的几种 bean 的作用域)
Spring 框架支持以下五种 bean 的作用域:singleton : bean 在每个 Spring ioc 容器中只有一个实 例。prototype:一个 bean 的定义可以有多个实例。request:每次 http 请求都会创建一个 bean,该作用 域仅在基于 web 的 Spring ApplicationContext 情形下 有效。session:在一个...
2019-11-26 20:56:56
230
原创 spring boot2.0+mybatis三表联查
明天计算机组成原理考试,然而还是想码一会儿pom依赖不再列出,太长了application.properties文件配置:mybatis.mapper-locations=classpath:mapper/*.xmlmybatis.config-location=classpath\:mybatis/sqlMapConfig.xmlmybatis配置文件:<?xml...
2019-11-25 19:44:35
1200
原创 spring boot@Configuration注解失效问题
从网上选择了一大堆redis配置类,但是均得不到有效解决所以我在想是不是Configuration注解失效尝试性在启动类中加入:@ComponentScan(basePackages = { “2com.hxz.config”})启动后,刷新数据库:注解生效!...
2019-11-23 16:04:20
16010
1
原创 redisTemplate键值对乱码+@Configuration注解失效
今天开发中遇到了这样的问题:网上找了很多例子,也基本上是序列化的一些我配置了redisconfig类,但是没有效果索性我在使用缓存的service实现类里面加了这样的配置: /** * redis序列化 * 解决Redis乱码问题 * */ @Autowired(required = false) public void setRedisTemplate(Redis...
2019-11-23 09:53:28
390
原创 Linux下Hadoop安装
1、安装JDK(1)将jdk-8u191-linux-i586.rpm文件复制到“/usr/local”文件夹中,可以双击安装(这种方式简单,但是路径不能自定义,需要找到jdk的安装路径,所以建议使用命令行方式,可以指定路径,练习命令行的使用),也可以使用命令行的方式,首先进入到“/usr/local”路径中,键入命令:rpm –ivh –-prefix=/usr/java/ jdk-8u191...
2019-11-22 12:19:14
198
1
原创 Hadoop HDFS shell命令
HDFS简介HDFS是Hadoop生态系统中文件分布式系统,HDFS被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX...
2019-11-22 12:13:36
348
原创 一天一个java知识(深入理解map)
也许你对这样一行代码不陌生:Map<K, V> map = new HashMap<K, V>()但是你了解java map吗?这是一张java集合图,里面包含了所有常见的集合其中Map:Map是一种从键映射到值的结构,存储键值对,其中key都是唯一的不允许重复,而值可以重复。实现Map的子类有很多:HashMap、TreeMap、LinkedMap等。虽然实现了...
2019-11-21 19:35:48
232
原创 阿里代码规范研读(一)( 命名风格 )
【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 反例:_name / __name / Object/name/nameObject / name_ / nameObject/name/name / Object$【强制】代码中的命名严禁使用拼音与英文混合的方式,在使用中尽量使用英文,遇到不会的百度嘛。更不允许直接使用中文的方式。 说明:正确的英文拼写和语法...
2019-11-21 13:09:09
901
原创 spring boot+thymeleaf+ajax实现登录验证
pom依赖我就不列出来了,太长了controller层@RequestMapping("/checklogin") @ApiOperation("登录校验") // 注解:应用在 controller 里面的方法上,用于swagger @ResponseBody public Map<String, Object> checklogin(@Param("username"...
2019-11-20 20:26:43
1781
2
原创 基于Linux的lnmp环境部署搭建(一)(MySQL服务+NGINX服务搭建)
LNMP简介Linux系统下Nginx+MySQL+PHP这种网站服务器架构。Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Mysql是一个小型关系型数据库管理系统。PHP是一种在服务器...
2019-11-20 19:35:52
370
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人