自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CMS收集器

Concurrent Mark Sweep,并发标记清除CMS是一个关注停顿的垃圾回收器。同时CMS回收器在部分工作流程中,可以与用户程序同时运行,从而减少应用程序的停顿时间。CPU资源敏感: 当CPU资源比较紧张时,应用系统的性能在垃圾回收可能会很糟糕无法处理浮动垃圾: 并发清楚阶段用户线程还在运行,就会有新的垃圾产生,这一部分垃圾没有被标记,在本次GC中无法处理,只能等到下一次再处理。CMS垃圾收集阶段用户程序还要运行,所以他需要预留出一部分内存空间给用户线程使用,就不能跟其他收集器一样

2021-12-09 22:25:11 757

原创 数据库的事务与隔离级别

什么是数据库事务事务(Transaction)是指构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行。如果事务中有的操作没有成功完成,则事务中的所有操作都需要被回滚,回到事务执行前的状态(要么全执行,要么全都不执行);同时,该事务对数据库或者其他事务的执行无影响,所有的事务都好像在独立的运行。经典的转账案例假设A要转账100元给B,那么涉及到的数据库操作为读取A的余额将A的余额减去100后写回数据库读取B的余额将B的余额增加100后写回数据库如果在执行以上操作的过程中

2021-03-08 20:30:18 318

原创 Mybatis缓存

文章目录Mybatis缓存一级缓存二级缓存使用Redis做二级缓存Mybatis缓存官方文档地址https://mybatis.org/mybatis-3/zh/sqlmap-xml.html#cache一级缓存一级缓存 Mybatis的一级缓存是指SQLSession,一级缓存的作用域是SQlSession, Mabits默认开启一级缓存。 在同一个SqlSession中,执行相同的SQL查询时;第一次会去查询数据库,并写在缓存中,第二次会直接从缓存中取。 当执行SQL时候两次查询中间发生了增删

2021-03-07 16:07:13 239 1

原创 MyBatis自定义类型转换器

文章目录自定义类型转换器实现步骤代码实现使用示例自定义类型转换器添加数据时将List类型存储成以 ,分割的varchar类型例如:Arrays.asList(“篮球”, “足球”) → 足球,篮球实现步骤实现org.apache.ibatis.type.TypeHandler接口,指定入参类型通过@MappedJdbcTypes和@MappedTypes注解指定互相映射的数据类型实现接口方法(通过PreparedStatement和ResultSet进行参数类型转换)代码实现/**

2021-03-07 14:52:03 208

原创 MyBatis查询结果映射

文章目录查询结果映射一对一一对多查询结果映射所用的数据结构如下public class User { private int id; private String username; private String address; private List<Book> books; ......}public class Book { private int id; private String name; privat

2021-03-06 22:41:27 776

原创 垃圾收集器与内存分配策略

JVM:垃圾收集器与内存分配策略

2021-03-05 14:28:11 179

原创 运行时栈帧结构

【待完成】

2021-03-05 14:23:41 126

原创 jvm运行时数据区域

文章目录概述线程共享区域程序计数器Java虚拟机栈本地方法栈线程隔离区域Java堆方法区概述Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途,以及创建时间和销毁时间。----《深入理解Java虚拟机》根据《Java虚拟机规范(JavaSE 7版)》的规定,Java虚拟机运行时数据区如下图所示【图片】线程共享区域程序计数器程序计数器是是一块较小的内存空间,可以看成是当前线程所执行的字节码的行号指示器。Java虚拟机的多线程是通过

2021-03-05 14:15:13 240 1

原创 黄金矿工问题【动态规化】

黄金矿工很久很久以前,有一位国王拥有5座金矿,每座金矿的黄金储量不同,需要参与挖掘的工人人数也不同。例如有的金矿储量是500kg黄金,需要5个工人来挖掘;有的金矿储量是200kg黄金,需要3个工人来挖掘…如果参与挖矿的工人的总数是10。每座金矿要么全挖,要么不挖,不能派出一半人挖取一半的金矿。要求用程序求出,要想得到尽可能多的黄金,应该选择挖取哪几座金矿? 《漫画算法》解题思路动态规划:对于最后的金矿,都有挖或者不挖的选项:对比两种情况的收益,最终可得到最大收益。①400kg/5人②50

2021-03-01 15:47:55 889

原创 链表中的环

链表中的环判断链表中是否存在环若存在环,求环的长度若存在环,求环的入口KaTeX数学公式判断链表中是否存在环快慢指针,追及问题,若链表中存在环,快指针必定会在环中追上慢指针 public static boolean isCycle(Node header) { if (header == null) { return false; } Node fast = header; Node slow = header; // 快指针不为空,慢指针必

2021-02-26 16:31:37 297

原创 ThreadLocal的原理和使用

ThreadLocalThreadLocal,即线程变量,是一个以ThreadLocal对象为键、任意对象为值的存储结构。这个结构被附带在线程上,也就是说一个线程可以根据一个ThreadLocal对象查询到绑定在这个线程上的一个值。----《Java并发编程的艺术》文章目录ThreadLocal原理内存泄漏问题Hash冲突使用ThreadLocal进行登录验证原理在Thread类中维护了了一个ThreadLocalMap类型的对象 // Thread.java ThreadLocal.T

2021-01-23 20:35:27 359 1

原创 Java创建线程的方法和区别

与创建线程有关的4种方法的实践与分析

2021-01-19 14:34:37 98

原创 自定义一个SpringBoot Starter

文章目录简介创建一个Maven项目简介官方文档中关于自定义starter的描述4.29.5. Creating Your Own StarterConcretely, a custom starter can contain the following:• The autoconfigure module that contains the auto-configuration code for “acme”.• The starter module that provides a depen

2021-01-11 21:35:14 104

原创 Java中的volatile关键字

文章目录volatile关键字是什么volatile的可见性JMM禁止指令重排volatile变量的内存语义及实现DCL中关于重排序的问题volatile不保证原子性验证非原子性非原子性的原因保证volatile线程安全的两个条件并发编程三要素原子性: 一个不可再被分割的颗粒。原子性指的是一个或多个操作要么全部执行成功要么全部执行失败。有序性: 程序执行的顺序按照代码的先后顺序执行可见性: 一个线程对共享变量的修改,另一个线程能够立刻看到volatile关键字是什么volatile是ja

2021-01-07 23:15:05 100

原创 IDEA中scala生成变量自动勾选specify type

2021-01-04 13:06:47 696

原创 回溯算法的原理和示例

文章目录回溯算法的代码模板组和总和八皇后问题黄金矿工回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。回溯算法的代码模板private void backtrack("原始参数") { //终止条件(递归必

2020-12-27 15:24:24 643 1

原创 Hadoop伪分布式安装

文章目录创建hadoop用户安装SSH、配置SSH无密码登陆安装hadoop配置环境变量伪分布式配置配置YARN启动创建hadoop用户sudo useradd -m hadoop -s /bin/bashsudo passwd hadoop# 为 hadoop 用户增加管理员权限,方便部署visudo## Allow root to run any commands anywhereroot ALL=(ALL) ALLhadoop ALL=(ALL) ALL

2020-12-27 15:07:58 225

原创 Hadoop、Hive、Hbase、Zookeeper版本兼容

文章目录Hadoop - HbaseHadoop - Hivehive - hbasehbase - zookeeperHadoop - Hbasehttp://hbase.apache.org/book.html#arch.overviewCtrl+F搜索Hadoop version support matrixHadoop - Hivehttp://hive.apache.org/downloads.htmlhive - hbasehttps://cwiki.apache.org/

2020-12-27 14:40:09 1238

原创 sql在 not in 子查询有null值情况下结果为空

select *from empwhere empno not in (select distinct mgr from emp)以下写法结果正常select *from empwhere empno not in (select distinct mgr from emp where mgr is not null);原因:null不能参与比较运算符,即与任何数据比较

2020-12-27 14:26:47 1127 1

原创 Mysql中删除某列小于最大值的所有数据【You can‘t specify target table ‘test_1226‘ for update in FROM clause】

现有如下数据+--+----+-------------------+|id|name|time |+--+----+-------------------+|1 |1 |2020-12-26 17:27:46||2 |2 |2020-12-26 17:27:46||1 |1 |2020-12-27 13:43:01||2 |2 |2020-12-27 13:43:01||1 |1 |2020-12-27 13:44:48||2 |2 |

2020-12-27 14:07:48 1863 2

原创 WARN util.NativeCodeLoader: Unable to load native-hadoop....

# 添加如下一行export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native/"

2020-12-24 10:36:21 148 1

空空如也

空空如也

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

TA关注的人

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