自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java高级面试题总结

目录1、java基础2、数据库3、java多线程4、jvm、java内存模型5、java框架(spring boot,sprint cloud)6、中间件7、算法8、网络1、java基础###hashmap原理?扩容##arraylist原理?扩容##jdk1.8新特性?2、数据库##mysql索引优化https://www.cnblogs.com/qlqwjy/p/8592043....

2019-12-18 14:35:02 3428 1

原创 Vue3+ts实现页面跳转及参数传递

## 列表页<script lang="ts" setup>import { reactive, toRefs } from 'vue'// 1 引入useRouter路由信息方法import { useRouter } from 'vue-router'// 2 获取实例const router = useRouter()const gotoDetail = (index: string) => { router.push({ path: '/demo

2023-12-12 14:44:37 1139

原创 flutter环境搭建

windows环境下IntelliJ IDEA搭建flutter环境及配置,创建第一个flutter项目,并将其运行在Android模拟机中。

2021-12-08 23:40:36 584

原创 Springboot 与kafka简单整合demo

maven依赖 <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency>properties配置server.port=8881spring.kafka.bootstrap-serve

2021-08-10 17:57:15 264

原创 Windows下使用docker搭建kafka开发环境

前提:1、安装docker for Windows,2,安装docker-compose镜像选择:对比网上给出的版本比较,选择wurstmeister/kafka 和wurstmeister/zookeeper,原因:kafka版本较新,zookeeper跟kafka分在2个镜像中docker-compose.ymlversion: '3.7'services: zoo1: image: wurstmeister/zookeeper restart: unles.

2021-08-10 15:15:08 376

原创 kafka入门概念

page cache中的数据会随着内核中flusher线程的调度写回磁盘。与它相关的有以下4个参数,必要时可以调整。 /proc/sys/vm/dirty_writeback_centisecs:flush检查的周期。单位为0.01秒,默认值500,即5秒。每次检查都会按照以下三个参数控制的逻辑来处理。 /proc/sys/vm/dirty_expire_centisecs:如果page cache中的页被标记为dirty的时间超过了这个值,就会被直接刷到磁盘。单位为0.01秒...

2021-08-10 09:46:59 79

原创 java 1.8 :: 使用总结

public class Person { private String name; Person() { } Person(String name) { this.name = name; } static String say(String something) { return something; } String sing(String songName) { return s.

2021-08-03 14:45:31 343

转载 java使用await和signalAll实现生产者消费者模型

所对象一定要是静态的,才能实现不同的线程之间的通知https://blog.csdn.net/zqzxken/article/details/46364721

2021-07-15 15:29:28 73

原创 mybatis一对多Collection使用

场景:订单主表:order_mainCREATE TABLE `order_main` ( `order_id` bigint(20) unsigned NOT NULL COMMENT '订单ID', `order_show_no` varchar(64) DEFAULT '' COMMENT '订单展示id', `third_order_id` bigint(20) DEFAULT NULL COMMENT '第三方订单ID', `order_source` varchar(6

2021-03-19 17:30:22 753 3

原创 如何理解mysql的mvcc

## 问:如何理解mysql的mvcc所谓多版本,就是一行记录在数据库中存储了多个版本(版本链),每个版本以事务ID作为版本号。InnoDB 引擎表中,它的聚簇索引记录中有两个必要的隐藏列:trx_id这个id用来存储的每次对某条聚簇索引记录进行修改的时候的事务id,roll_pointer就是存了一个指针,它指向这条聚簇索引记录的上一个版本的位置,通过它来获得上一个版本的记录信息。每次查询在事务开始的时候向InnoDB的事务系统申请trx_id,并且按照申请顺序严格递增的。假如一行记录被多个...

2021-03-17 18:10:16 115

原创 Java实现栈

#数组实现public class MStack1<T> { private Object[] stack; private int size; MStack1() { stack = new Object[10]; } public boolean isEmpty() { return size == 0; } //返回栈顶元素 public T peek() { T t

2021-02-01 17:49:04 63

原创 Java基础回顾

Java范型https://www.cnblogs.com/wuqinglong/p/9456193.htmlJava类型擦除Java的泛型是伪泛型,这是因为Java在编译期间,所有的泛型信息都会被擦掉。Java的泛型基本上都是在编译器这个层次上实现的,在生成的字节码中是不包含泛型中的类型信息的,使用泛型的时候加上类型参数,在编译器编译的时候会去掉,这个过程成为类型擦除。举例说明:例1: public static void main(String[] args) {

2020-12-27 20:55:39 270

原创 LeetCode-20 有效的括号

LeetCode题目题目链接:https://leetcode-cn.com/problems/valid-parentheses/给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: ...

2020-02-25 20:20:20 95

原创 深入理解JVM内存模型-----举例说明

对于java虚拟机的理解,一直停留在似懂非懂的阶段,只了解栈、堆、方法区、程序计数器这些名词,还有一些垃圾回收的算法之类,因为面试遇到一个问题,用一个例子说明java虚拟机的内存模型,每个部分分布在什么地方,这时候就一脸焖逼,所以本文就用一个例子举例来粗略的说明虚拟机的内存模型首先例子如下:public class JVM { public static void main(St...

2020-02-18 14:37:38 226

原创 java数组模拟实现队列

数组模拟队列的简单实现方式代码如下:public class ArrayQueue { private int maxSize; private int front; private int tail; private int[] array; public ArrayQueue(int queueSize) { maxSize = ...

2020-02-17 17:50:48 277

原创 LeetCode-198 打家劫舍

LeetCode题目链接:https://leetcode-cn.com/problems/house-robber/题目:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够...

2020-01-16 19:43:57 99

原创 LeetCode-337 打家劫舍 III

LeetCode题目链接:https://leetcode-cn.com/problems/house-robber-iii/该题目在便利蜂面试的时候遇到了,当时完全没做出来[旺柴]在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方...

2020-01-16 16:03:48 143

原创 二叉树遍历

赋值二叉树二叉树形式如下树形结构public class TreeNode { public int value; public TreeNode left; public TreeNode right; public TreeNode(int value) { this.value = value; }}赋值...

2020-01-16 14:57:02 83

原创 LeetCode-36 有效的数独

LeetCode题目链接:https://leetcode-cn.com/problems/valid-sudoku/此题目在面试便利蜂的时候笔试时遇到了,当时没有完全做出来,现在整理如下。题目:判断一个9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字1-9在每一行只能出现一次。数字1-9在每一列只能出现一次。数字1-9在每一个以粗...

2020-01-16 11:59:04 140

原创 Spring源码阅读

阅读Spring源码,我们可通过在github上下载源码,再通过编译的方式进行,也可以通过Idea构建maven工程,阅读maven反编译后的源码,源码编译的方式会有编译错误,操作复杂,本文通过maven反编译的方式阅读spring源码。因为XML的方式创建spring项目不易阅读,以下项目通过javabean的方式创建。1、创建maven项目很容易,不多说2、添加maven依赖...

2020-01-14 16:25:54 115

原创 spring框架理解

Spring AOP描述一下Spring AOP面向切面编程,可以看作是对OOP(面向对象编程)的一种补充,传统的OOP开发中代码逻辑是自上而下的,在这些自上而下的过程中会产生横切的问题,而这些横切性的问题又与我们业务逻辑关系不大。AOP让你可以使用简单可插拔的配置,在实际逻辑执行之前、之后或周围动态添加横切关注点。这让代码在当下和将来都变得易于维护。spring AOP可以通过注解和XM...

2020-01-13 13:17:54 198

原创 ThreadLocal源码分析

set过程1、ThreadLocal.set(T value)方法 /** * Sets the current thread's copy of this thread-local variable * to the specified value. Most subclasses will have no need to * override this...

2020-01-10 18:55:27 117

原创 面试题:生产者消费者模型

题目:写一个固定容量的同步容器,拥有put和get方法,一个getCount方法,能够支持2个生产者线程以及10个消费者现成的阻塞调用。使用wait和notify/notifyAll来实现import java.util.LinkedList;public class MyContainer<T> { final private LinkedList<T&g...

2020-01-07 00:26:07 400

原创 java多线程synchronized和reentrantlock区别

synchronized是非公平锁,reentrantlock可以指定为公平锁。synchronized修饰非静态的方法时,所对象为当前类的class单例对象。ReentrantLock可以替代synchronized,使用synchronized锁定如果遇到一场,jvm会自动释放锁,使用reentrantlock必须手动释放锁,一般在finally中释放。reentrantlock可...

2020-01-06 23:46:31 141

原创 多线程理解(java)

start()方法的执行步骤通过jvm告诉操作系统创建thread。 操作系统开辟内存并调用本地函数创建Thread线程对象。 操作系统对Thread对象进行调度,以确定执行时机。 Thread在操作系统中被成功执行。因为start()方法的执行需要调用操作系统本地的方法(函数),因此start()的执行比较耗时。下面代码的执行结果通常情况下是先输出运行结束,后输出MyThread。但...

2020-01-06 16:06:01 107

原创 python装饰器的理解

场景一:我们需要统计一个方法的执行时间,可以通过下面方式实现,代买很简单import timedef fun(): time.sleep(2) start_time=time.time()fun()end_time=time.time()print(end_time-start_time)场景二:我们需要统计100个方法的执行时间,上面代码就可以通过装饰器的形式...

2019-12-04 20:22:29 71

原创 Dockerfile sed命令记录

FROM 172.16.1.60:5000/airflow-centos7-python3.6-base:latestENV AIRFLOW_HOME /opt/app/airflow-agentENV SLUGIFY_USES_TEXT_UNIDECODE yesENV GIT_DAGS [email protected]:devops/airflow-dags.gitENV...

2019-09-06 21:06:54 3496

原创 Hive 几个概念的理解

Hive中主要抱哈四类数据模型:表(Table),外部表(External Table),分区(Partition)和桶(Bucket)创建表的操作: 表创建和数据加载两个步骤(可在一个语句中完成),在数据加载过程中,实际数据会移动到数仓目录中,之后的数据访问将直接在数仓目录中完成,删除表时,表中的数据和元数据都会同时删除。创建外部表的操作: 只有一个步骤,...

2019-08-28 18:13:29 167

原创 Hadoop2.0 Federation 和 HA理解笔记

目录一、Federation:联盟HDFS的理解NameSpaces的理解二、HA:高可用HA架构一、Federation:联盟HDFS的理解HDFS主要由两部分组成: 1、Namespace: namespace包含目录、文件、块,它支持所有与命名空间相关的文件系统操作,例如创建,删除,修改和列出文件和目录 2、Block St...

2019-08-22 11:24:16 399

原创 Hadoop 2.0底层原理理解

Hadoop1.0面临的问题 HDFS存在的问题: Name Node 单点故障,难以引用于在线场景 Name Node压力过大,切内存受限,影响系统扩展性 MapReduce存在问题: JobTracker访问压力大,影响系统扩展性 不支持除MapReduce之外的其他计算框架Hadoop1.X与Hadoo...

2019-08-20 14:53:18 119

原创 MR分布式计算理论

MapReduce设计理念: 移动计算,而不是移动数据 两个阶段,Map / ReduceMap和Reduce之间的Shuffle、Partition、Combiner过程的理解 Shuffle过程:每个map task都有一个内存缓冲区,存储着map的输出结果,默认100MB(也可以通过设置配置文件中的参数mapreduce.task.io....

2019-08-19 18:14:05 438

原创 kafka实战笔记

kafka是如何保证高吞吐的kafka会将消息持久化到磁盘,但实际上每次操作都是将数据写入到系统的页缓存中,然后由系统自行决定什么时候将页缓存中的数据刷新到磁盘中, 这种设计带来的优势: 系统页缓存是在内存中分配的,消息写入速度非常快 kafka不直接与底层文件系统打交道,将繁琐的IO操作交给操作系统处理 ...

2019-08-15 15:50:39 103

原创 算法题:整数转罗马数字

问题:罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个...

2019-08-13 21:10:59 133

原创 HBASE 常见操作命令

创建表create 'user','info','data' 创建表user,并指定列族info,data添加数据put 'user','rk0001','info:name','zhangsan' 向表user表中添加信息,row key 为rk0001,列族info中添加name列,值为zhangsanput 'user','rk0001','info:gender'...

2019-07-24 18:08:48 176

原创 HBASE单机版安装

HBASE下载地址:https://hbase.apache.org/downloads.html解压,注意要下载bin文件,不能是src文件修改 /conf下的hbase-env.sh文件,增加JAVA_HOME配置修改/conf下的hbase-site.xml 文件,增加一下内容,value为HBASE加压目录<property> <nam...

2019-07-24 15:47:31 120

原创 linux命令总结

vim下删除光标到光标所在行的结尾部分:d$shell命令移动光标到行首: ctrl + avim多行注释: 1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式; 2. 在行首使用上下键选择需要注释的多行; 3. 按下键盘(大写)“I”键,进入插入模式; 4. 然后输入注释符(“//”、“#”等); 5. 最后按下“Esc”键。 ...

2019-07-24 14:45:20 86

原创 zookeeper的理解

zookeeper中的角色:1:领导者(leader) 负责进行投票的发起和决议,更新系统状态2:学习者 ①跟随者:Follower:接受客户端的请求并向客户端返回结果,在选举过程中参与投票 ②观察者:Observer:接受客户端的请求并像客户端返回结果,在选举过程中不参与投票。设置观察者的目的为了扩展系统,提高读取效率3:客户端 请...

2019-07-10 15:36:57 175

原创 springboot JAVA API 操作hadoop伪分布式集群

虚拟机(192.168.74.114)中搭建了hadoop伪分布式集群,查看集群运行状态springboot maven依赖 <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <...

2019-07-01 17:27:24 518

原创 hdfs搭建记录

修改hostname修改 /etc/sysconfig/network文件的HOSTNAME修改 /etc/hosts文件重启:shutdown -r now配置免密登录master节点需要登录node节点,需要配置ssh免密在每个节点执行命令ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa在master节点执行命令,将公钥...

2019-06-27 14:49:56 88

原创 快排java实现

public class QuickSort { public static void main(String[] args) { int[] a = {8, 15, 2, 3, 4, 67, 12, 7, 13, 5, 9}; System.out.println(Arrays.toString(a)); sort(a); ...

2019-06-26 15:00:59 200

空空如也

空空如也

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

TA关注的人

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