自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mybatis-plus常用API全套教程,看完没有不懂的,linux使用教程课后答案

注意:尽量不要同时导入 mybatis 和 mybatis-plus!避免版本的差异造成无法预知的问题。连接数据库创建application.ymlspring:profiles:active: devdatasource:# 驱动不同 mysql 5  com.mysql.jdbc.Driver#         mysql 8&

2021-12-29 14:16:18 217

原创 MyBatis(四):参数处理器,赶紧收藏备战金三银四

有两种情况一个参数,默认不作任何的处理,除非设置了@param注解,会用唯一的参数与占位符进行对应(占位符随便写什么都行)多个参数(转化成Map,基于key进行映射)通过顺序方式,转化成param1,param2…作为key,value为传进来的值加上param注解,可以自定义key,取代生成的arg0。。。基于反射获取变量名称,JDK1.8才支持,如果不支持转换成arg0、arg1。。等为一个JavaBean时,也会映射一个Map出来参数转化的操作位于ParamN

2021-12-29 14:15:19 256

原创 MongoDB分片原理篇,java技术面试问题和答案

Sharded cluster由Shard、Mongos和Config server 3个组件构成。Mongos是Sharded cluster的访问入口,Mongos本身并不持久化数据,Sharded cluster所有的元数据都会存储到Config Server而用户的数据则会分散存储到各个shard。Mongos启动后,会从config server加载元数据,开始提供服务,将用户的请求正确路由到对应的Shard。数据分布策略分片支持单个集合的数据分散在多个分片上。目前主要有两

2021-12-29 14:14:02 265

原创 Maven的核心概念,怎样成为java高级工程师

例如:学校的网站 www.bjpowernode.com, groupId: com.bjpowernode如果项目规模比较大, 也可以是 域名倒写+大项目名称。例如: www.baidu.com , 无人车: com.baidu.appolloartifactId:项目名称, 如果groupId中有项目, 此时当前的值就是子项目名。 项目名称是唯一的。version:版本, 项目的版本号, 使用的数字。 三位组成。 例如 主版本号.次版本号.小版本号, 例如: 5.2.5。注意:版本号中有-S

2021-12-29 14:12:55 101

原创 linux在shell中获取时间,好文推荐

%w : 一周中的第几天 (0…6)%W : 一年中的第几周 (00…53) (以 Monday 为一周的第一天的情形)%x : 直接显示日期 (mm/dd/yy)%y : 年份的最后两位数字 (00.99)%Y : 完整年份 (0000…9999)若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss],其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数把计 :-d d

2021-12-29 14:11:33 675

原创 linux中route命令超详细用法(十五万字,Java开发技巧

route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]其中:add : 添加一条路由规则del : 删除一条路由规则-net : 目的地址是一个网络-host : 目的地址是一个主机target : 目的网络或主机netmask : 目的地址的网络掩码gw : 路由数据包通过的网关dev : 为路由指定的网络接口route 命令使用举例添加到主机的路由route add -host 192.168.1.

2021-12-29 14:10:27 2044

原创 Kafka的生产者原理及重要参数说明,java图形界面编程视频

============================================================================此时生产者不着急把消息发送出去,而是先放到一个缓冲区。名词4——Sender===============================================================================把消息放进缓冲区之后,与此同时会有一个独立线程Sender去把消息分批次包装成一个个Batch,不难想到如果Kafka

2021-12-29 14:08:03 100

原创 Kafka生产者源码解析(二,java面试题汇总及答案

进入RecordAccumulator类中,可以看到它有很多的属性字段,其中batches这个字段需要引起我们的注意,它是一个以TopicPartition作为key,Deque作为value的ConcurrentMap,TopicPartition存储了topic及partition信息,能够标记消息属于哪个主题和应该发往哪个分区;Deque是一个双端队列,里面存放的是ProducerBatch对象,ProducerBatch用于存储一批将要被发送的消息记录;ProducerBatch通过MemoryRe

2021-12-29 14:06:48 1029

原创 Kafka 控制器的作用(Controller,深入linux内核架构最新版

其中version在目前版本中固定为1,brokerid表示称为控制器的broker的id编号,timestamp表示竞选称为控制器时的时间戳。在任意时刻,集群中有且仅有一个控制器。每个broker启动的时候会去尝试去读取/controller节点的brokerid《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享的值,如果读取到brokerid的值不为-1,则表示已经有其它

2021-12-29 14:05:31 155

原创 Java面试之基础及语法,作为一名程序员我不忘初心

System.out.println(“Class B: a=”+a +"\td="+d);}}(1) 若在应用程序的main 方法中有以下语句:A a=new A();a.show();则输出的结果如何?(2) 若在应用程序的main 方法中定义类B 的对象b:A b=new B();b.show();则输出的结果如何?答:输出结果为:1)Class A: a=1 d=2.0 ;2)Class A: a=1 d=2.0Class B: a=3.0 d=Java program。

2021-12-28 12:47:22 211

原创 Java面向对象封装和继承,java多线程实战指南pdf

// 由于是设置成员变量的值,这里可以加入数据的验证if (a < 0 || a > 130) {System.out.println(a + “不符合年龄的数据范围”);return;}age = a;}// 对外提供访问成员变量的方法public void getAge() {return age;}}总结:类中不需要对外提供的内容都私有化,包括属性和方法。以后再描述事物,属性都私有化,并提供setXxx getXxx方法对其进行访问。注意:私有仅仅是封装

2021-12-28 12:46:05 100

原创 java进阶篇02、注解、反射与动态代理,阿里P7亲自讲解

1、元注解对注解类进行注解的注解我们称之为元注解;常用的元注解有四个;@Target标记另一个注解类,声明该注解可以作用的范围;ElementType.ANNOTATION_TYPE 可以应用于注解类型。ElementType.CONSTRUCTOR 可以应用于构造函数。ElementType.FIELD 可以应用于字段或属性。ElementType.LOCAL_VARIABLE 可以应用于局部变量。ElementType.METHOD 可以应用于方法级注解。ElementType.PAC

2021-12-28 12:44:50 245

原创 Java详解:如何实现一个-redis-缓存服务,牛客视频面试

一主多从结构在这个架构中,将数据库的读请求和写请求进行分离。数量众多的读请求都分配到从数据库上,主数据库只负责写请求。从库保持主动和主库保持同步。这个架构比上一个有了很大的改进,一般的互联网应用。这个架构就能够很好的支持了。他的一个缺点是比较复杂,主从库之间保持高效实时,或者准实时的同步是一个不容易做到的事情。所以我们有了另一个思路,采用一个缓存服务器来存储热点数据,而关系数据用来存储持久化的数据。结构如下图所示[图片上传失败…(image-6c743c-1595918224482)]采用缓存服务器读

2021-12-28 12:43:33 337

原创 Java面试题超详细整理《Spring篇》,Java开发面试基础

Spring 是一个开源的轻量级的Java开发框架,以 Ioc(Inverse Of control:反转控制)和AOP(Aspect Oriented Programming: 面向切面编程) 为内核,提供了展现层Spring MVC和持久层Spring JDBC以及业务层事务管理等众多企业级应用技术,其还整合众多开源的第三方框架,逐渐成为最受欢迎的Java EE企业应用框架。Spring框架的特征:轻量高效:Spring 是一个开源的轻量级的Java开发框架控制反转IOC:通过 Spri

2021-12-27 12:49:09 436

原创 Java集合 —— Map集合,springbootjpa教程

//containsKey(Object key)判断集合中是否包含某个键System.out.println(map.containsKey(“八戒”)); //trueSystem.out.println(map.containsKey(“孙悟空”)); //false//containsValue(Object value)判断集合中是否包含某个值System.out.println(map.containsValue(“袈裟”)); //trueSystem.out.println(map

2021-12-27 12:44:28 546

原创 MySQL 事务隔离级别,linux系统基础知识点总结

| READ-UNCOMMITTED |±------------------------+1 row in set (0.00 sec)T2mysql> set session transaction isolation level read uncommitted;Query OK, 0 rows affected (0.00 sec)mysql> select @@transaction_isolation;±------------------------+

2021-12-24 14:08:22 112

原创 MySQL的binlog有啥用,谁写的,在哪里,nginx调优与监控

比如undo log让mysql有回滚事物的能力,redo log让mysql有崩溃恢复的能力,以及我们现在说的bin log让MySQL有搭建集群、数据备份、恢复数据的能力。那你说,我不想让MySQL记录那些日志不行吗?肯定行啊!甚至默认情况下,MySQL都不会主动为你记录bin log ,但是话说回来,你不让它写那些日志,它就没有相应的能力给你用。是吧!所以综合来说,写日志还是很香的。知道了这些,再去学相关的知识点是不是目的性很强了呢?关于undo log、redo log白日梦前面已经和大家分享过

2021-12-23 13:39:04 122

转载 Redis进阶之路:深析Redis单线程架构,图文并茂非常值得收藏

Redis客户端与服务端的模型可以简化成下图,每次客户端调用都经历了发送命令、执行命令、返回结果三个过程。我们说的单线程就是在第二步执行命令,一条命令从从客户端达到服务端不会立刻被执行,而是会进入一个队列中等待,每次只会有一条指令被选中执行。发送命令、返回结果、命令排队这些就不是那么简单了,例如Redis使用了I/O多路复用技术来解决I/O的问题。1.2、Redis为什么要使用单线程这是官方的解释:https://redis.io/topics/faq官方FAQ表示,因为Redis是基于内

2021-12-22 13:11:17 199

转载 Redis进阶之路:深析Redis单线程架构,图文并茂非常值得收藏(1)

众所周知,Redis是一个单线程架构的NoSQL数据库,但是是单线程模型的Redis为什么性能如此之高?这就是我们接下来要探究学习的内容。1、Redis的单线程架构1.1、Redis单线程简介首先要明白,Redis的单线程指的是执行命令时的单线程。Redis客户端与服务端的模《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享型可以简化成下图,每次客户端调用都经历了发送

2021-12-22 13:09:52 188

原创 Redis是如何实现点赞、取消点赞的?,java基础面试题库

org.springframework.bootspring-boot-starter-data-redis2.在启动类上添加注释 @EnableCaching@SpringBootApplication@EnableDiscoveryClient@EnableSwagger2@EnableFeignClients(basePackages = “com.solo.coderiver.project.client”)@EnableCachingpublic class UserAppli.

2021-12-22 13:08:27 748

原创 R2DBC,手持4个大厂offer的我

R2DBC是 Reactive Relational Database Connectivity 的首字母缩写词。R2DBC 是一个 API 规范倡议,它声明了一个响应式 API,由驱动程序供应商实现以访问他们的关系数据库。关于为什么创建 R2DBC 的部分答案是需要一个非阻塞应用程序堆栈来处理具有少量线程的并发并使用较少的硬件资源进行扩展。重用标准化的关系数据库访问 API(即 JDBC)无法满足这种需求,因为 JDBC 是一个完全阻塞的 API。尝试使用 a 来补偿阻塞行为ThreadPoo..

2021-12-22 13:07:02 348

原创 Protobuf 实例(java),java并发编程基础

protobuf-java3.15.8protobuf文件名为 d_cook_records.proto,内容如下:syntax = “proto3”;import “google/protobuf/any.proto”;// option java_package=“com.galanz.iot.content.restapi.model.proto”;option java_outer_classname=“DCookRecordsProto”;// DCookRecords

2021-12-22 13:05:37 243

原创 Properties类简介,unixlinux编程实践教程pdf

Properties类下面我们从写入、读取、遍历等角度来解析Properties类的常见用法项目路径如下srcmainjavacomjourwonpropPropertiesTestresourcesconfig.propertiesprop.propertiesPropertiesTest为测试类,prop.properties文件的内容如下username=rootpassword=123456写入Properties类调用setProperty方法将键值对保存到内存中

2021-12-22 13:04:12 208

原创 Redis三种集群模式介绍,java面试题视频讲解

4、redis主从复制优缺点优点:1、实现读写分离,提高了可用性,解决了单机故障2、主从复制期间master和slave都是非阻塞方式,仍然可用。缺点:1、master宕机期间,需要手动切换主机,同时会有部分数据不能及时同步从服务器,造成数据不一致(需要人工手动介入)2、slave宕机后,多个slave恢复后,大量的SYNC同步会造成master IO压力倍增(可以手动规避启动时间)3、在线扩容较复杂。总结:redis主从复制的优点主要是提高了可用性缺...

2021-12-21 19:19:48 867

原创 OracleSQL 中的异常处理、存储过程、函数和触发器,mysql联合索引的底层原理

create  or replace procedure  getmax(var_x  in  number,var_y  in number, res out number)isbeginif  var_x>var_y thendbms_output.put_line(var_x);elsedbms_output.put_line(var_y);end if;res:=var_x+var_y;end;调用:decla

2021-12-21 19:18:07 139

原创 OpenFaaS实战之六:of-watchdog(为性能而生),来看看这份超全面的《Java面试题及解析》

本文是《OpenFaaS实战》系列的第六篇,前文咱们了解了watchdog,在懂得原理之后又引发了担忧:每次响应web请求都要fork一个进程,这种方式可能会有性能问题;如果每个请求都要创建进程,做为一个Java程序员是无法接受的,Java之父马士兵老师在B站的谆谆教诲犹在耳畔想起:线程池、异步响应、NIO…前文的文末也剧透过,上述性能问题已被解决,而具体的解决方式就是本文的主要内容:of-watchdog;上古秘籍的启示2020年3月出版的《深入浅出Serverless》一书中,陈..

2021-12-21 19:16:17 131

原创 OAuth 2,nginx开发从入门到精通完整版

它的步骤如下:(A)用户访问客户端,后者将前者导向认证服务器。(B)用户选择是否给予客户端授权。(C)假设用户给予授权,认证服务器将用户导向客户端事先指定的"重定向URI"(redirection URI),同时附上一个授权码。(D)客户端收到授权码,附上早先的"重定向URI",向认证服务器申请令牌。这一步是在客户端的后台的服务器上完成的,对用户不可见。(E)认证服务器核对了授权码和重定向URI,确认无误后,向客户端发送访问令牌(access token)和更新令牌(re

2021-12-21 19:14:44 483

原创 Nginx高可用集群构建(Keepalived+Haproxy,springboot入门最详细教程

interval 1weight 2}vrrp_instance VI_1 {interface eth0state MASTERpriority 100virtual_router_id 125garp_master_delay 1authentication {auth_type PASSauth_pass 1e3459f77aba4ded}track_interface {eth0}virtual_ipaddress {172.16.25.10/16 dev eth0

2021-12-21 19:12:44 350

原创 Nginx-详解其原理,用22天总结了一份完美的SQL学习笔记

异步方式和前面说的两种方式完全不一样,关于异步这块,还有几个概念同步、异步; 阻塞、非阻塞,在这里一起做一个讲解关于同步和异步,我们很好理解。同步机制是指发送方发送请求后,需要等待接收方返回响应后,才能发送下一个请求,而异步机制,发送方发送请求后,不等待接收方响应这个请求,就继续发送下个请求。![在这里插入图片描述](https://img-blog.csdnimg.cn/20200522105927859.png?x-oss-process=《一线大厂Java面试题解析+后端开发学习笔记+最新架.

2021-12-21 19:08:50 112

原创 netty的线程模型, 调优 及 献上写过注释的源码工程,java基础入门课后答案及详解

对WebSocket的支持#Netty对WebSocket也提供了强大的支持, netty内置的处理器会为我们做好大量的机械性麻烦性的工作, 如WebSocketServerProtocolHandler内置编解码处理, 心跳检验等, 可以让我们专注于实现自己的业务逻辑Reactor线程模型#Reactor线程模型, 顾名思义就像核反应堆一样, 是一种很劲爆的线程模型最经典的两种图就像下面这样上面两种图所描述的都是Reactor线程模型Reactor线程模型五大角色#handlehan

2021-12-21 19:07:15 342

原创 Nacos 2,京东校招java面试题

2018 年 Nacos 开源,meetup @ 深圳2019 年我们发布 Nacos 1.0版本,标志着 Nacos 功能稳定成熟,并且支持了几乎所有的微服务框架和编程语言,由此 Nacos 被广泛使用,Nacos 也进入了高速发展期。2019 年 Nacos 1.0 发布,Nacos Meetup @ 杭州2020 年新年伊始 Nacos Star 数破万,并且我们陆续发 1.X 多个版本,完成了存储和一致性模型的抽象分层,架构跟清晰和稳健,Nacos 也进入大规模使用期。2021 年我们发布

2021-12-20 15:09:29 300

原创 MySQL事务还能这么理解?这回我知道怎么应付面试官了,目前最全的《Java面试题及解析》

首先查看MySQL默认设置的方式1,也就是每次提交后直接写入OS buffer,并且调用系统函数fsync()把日志写到磁盘上。就保证数据一致性的角度来说,这种方式无疑是最安全的。但是我们都知道,安全大多数时候意味着效率偏低。每次提交都直接写入OS buffer并且写到磁盘,无疑会导致单位时间内IO的次数过多而效率低下。除此之外,还有方式0和方式2。基本上都是每秒写入磁盘一次,所以效率都比方式1更高。但是方式0是把数据先写入log buffer再写入OS buffer再写入磁盘,而方式2是直接写入OS b.

2021-12-20 15:05:32 66

原创 MYSQL 分组排名,linux宝塔面板使用教程

FROM rank_test) tmp,所以建议在这里的代码尽量使用单表,不要多张表关联附上修改前后的代码:(修改前)select * from (select evtdate,stkabb,chng,PCTCSHG,cshg,SHHNAME,@rank := (case when @SHHNAME=SHHNAME then @rank + 1else 1 end) AS rank,@SHHNAME:=SHHNAMEfrom(select tt.SHHNAME – 股东名称,s.ev

2021-12-20 15:03:42 318

原创 MySQL JOIN 的执行过程(一),字节跳动几面技术面

如果两表各有几百上千万的数据,那这两张表做笛卡尔积,结果不敢想象!也就是说 正经图1 中的顺序还有待商榷,ON 和 WHERE 的生效时间也有待商榷如果你对上述问题都了如指掌,那请你走开,别妨碍我装逼;如果你对上述问题还不是特别清楚,那么请坐好,我要开始装逼了前提准备正式开讲之前了,先给大家预备一些花生、瓜子和啤酒,装逼就得有装逼的氛围,不然怎么看的下去,你说是吧 ?(楼主,你个骗子,货了?)驱动表何谓驱动表,指多表关联查询时,第一个被处理的表,亦可称之为基表,然后再使用此表的记录去关联其.

2021-12-20 15:02:08 305

原创 MyBatis详解(二),美团高级java面试题

2.5、原始dao开发方法总结2.6、原始dao开发的问题三、mapper代理方法(程序员只需要mapper接口(相当 于dao接口))3.1、mapper代理开发规范3.2、编写mapper接口对应的映射文件mapper.xml3.3、编写mapper接口mapper.java3.4、在SqlMapConfig.xml中加载mapper.xml3.5、编写测试程序3.6、mapper代理方法总结一、生命周期======1.1、SqlSessionFactoryBuilder通过

2021-12-20 15:00:08 129

原创 MyBatis的jdbcType和javaType详解,12年高级工程师的“飞升之路”

MyBatis包含的JdbcType类型,主要有下面这些,大致了解一下即可:BIT、FLOAT、CHAR 、TIMESTAMP 、 OTHER 、UNDEFINEDTINYINT 、REAL 、VARCHAR 、BINARY 、BLOB NVARCHAR、SMALLINT 、DOUBLE 、LONGVARCHAR 、VARBINARY 、CLOB、NCHAR、INTEGER、 NUMERIC、DATE 、LONGVARBINARY 、BOOLEAN 、NCLOB、BIGINT 、DECIMAL 、TIME

2021-12-20 14:58:26 423

原创 Mybatis学习笔记--Mybatis的概念与入门案例,java互联网架构师薪资

目录结构:在pom.xml中导入相关依赖jar包:<?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.o

2021-12-20 14:56:14 90

原创 Mybatis如何执行Select语句,你真的知道吗?,linuxhadoop搭建教程

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享本篇文章讲的一切内容都是基于Mybatis3.5和SpringBoot-2.3.3.RELEASE。由于此篇文章是基于前两篇文章的基础之上,因此重复的内容不再详细赘述了。撸起袖子就是干二话不说,先来一张流程图,Mybatis六剑客,如下:上图中的这六剑客在前面两篇文章中已经介绍的非常清楚了,此处略过。为...

2021-12-20 14:54:39 91

原创 Mybatis中自定义实例化SqlSessionFactoryBean,java技术体系平台

stat-view-servlet:enabled: trueurl-pattern: /druid/*使用SpringBoot作为项目框架自然简单,没有很多的xml配置文件,不需要配置额外的tomcat,不管是开发还是部署都非常方便。但高度集成有时候也会带来一些麻烦。比如你上司要求你在mybatis中集成插件并可以识别common模块的mybatis.xml映射文件。这个时候你可能首先会百度如何配置mybatis插件、如何配置多模块的mapper-locations,然后有很多博文会说在SqlSe

2021-12-20 14:53:10 641

原创 OpenYurt v0,java框架技术基础建设

主要优点:简单易用:node-resource-manager 可以仅通过定义 ConfigMap 就完成对集群中的本地资源的初始化和更新。易于集成:node-resource-manager 可以与 csi 插件集成来完成 kubernetes 集群中的相关本地资源的生命周期管理。与云平台无关:node-resource-manager 可以轻松部署在任何完全兼容 Kubernetes API 的集群中。关于边缘本地存储设备管理的详情和使用方法,请参考 configmap.md:

2021-12-19 16:01:11 110

空空如也

空空如也

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

TA关注的人

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