自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 资源 (2)
  • 收藏
  • 关注

原创 初探 Vue3 新特性

在本讲中,我们只会概述性的来介绍一下 Vue3 中新增的一些主要内容,而这些主要知识点的详细的使用和功能以及作用,我们会在后面的课程里面逐渐的给大家去解锁。那么明确好了我们的学习目标之后呢?我们来看一下 Vue3 之中到底新增了哪些比较核心的功能呢?让我们拭目以待吧。在看 Composition API 之前,我们聊聊 Vue2 中 Options API 存在的问题。Options API 是 Vue2 里面的开发形式,Options API 它存在着方便、易学、清晰等等一些特点。但是它在存在着这些特点的

2022-12-05 13:40:49 250 1

原创 JavaScript 的基本语法

语句JavaScript 程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。语句(statement)是为了完成某种任务而进行的操作,比如下面就是一行赋值语句。var a = 1 + 3;这条语句先用var命令,声明了变量a,然后将1 + 3的运算结果赋值给变量a。1 + 3叫做表达式(expression),指一个为了得到返回值的计算式。语句和表达式的区别在于,前者主要为了进行某种操作,一般情况下不需要返回值;后者则是为了得到返回值,一定会返回一个值。凡是 J

2022-04-13 23:43:25 166

原创 JavaScript 性能优化,你知道引用计数算法实现原理了吗

首先针对于引用技术算法来说,它的核心思想其实就是在内部去通过一个引用计数器来维护当前对象的引用数,从而去判断该对象的引用数值是否为 0,来决定它是不是一个垃圾对象。当这个数值为零的时候,那么 GC 就开始工作,将其所在的一个对象空间进行回收和释放在使用。在这里提到了一个名词叫引用计数器。关于它我们需要有一个小小的印象。因为相对于其他的一些 GC 算法来说,也正是由于引用计数器的存在,那么导致了引用计算在执行效率上,可能与其他的机器算法有所差别。这个介绍以后,我们还需要去再思考一下,我们引用的这样一个数值

2022-04-08 02:17:30 1342

原创 简单学习 Docker 容器核心原理

作为一个 Java 开发人员来说,虽然在大厂里边都有专门的运维人员或者中间件团队去维护我们的一个容器化部署环境,或者是虚拟机的线上部署环境,不用我们 Java 的业务研发或者工程研发去操心和负责。大部分大厂里边都是采取了云模式开放给我们内部的一些 Java 研发人员,通过可视化页面的方式就能够完成线上的一个部署。但是如果说你是面试大厂,并且要被大厂定义为你是一个有能力、有潜力、可以有未来培养价值的、全面性的人才的话,你应该掌握一些容器化部署,例如 Docker、K8S。Docker 和 K8S 已经逐渐

2022-04-01 18:01:01 1616

原创 MyBatis 中的 select 用法

使用过 MyBatis 开发过应用程序你,应该都使用过 select 元素吧,select 元素是我们最常用也是功能最强大的 SQL 语句。在使用原生 JDBC 时,需要我们手写查询语句,并且对结果集进行手动处理,将结果映射到对象的属性中。而我们在使用 MyBatis 框架时,只需要在 XML 中添加一个 select 元素和写一条 SQL 语句,同时还需做一些简单配置,就可以将查询的结果直接映射到对象中。在执行 select 语句之前,还需要定义参数,这些参数可以是简单的参数类型,也可是是复杂的参数类型。

2022-03-31 17:58:21 4837

原创 MyBatis 实现增删改操作

在前面快速入门的案例中,已经实现查找所有用户操作了,接下实现增删改。增删改的实现也非常的简单。步骤和前面快速入门案例中的实现是一样的。添加新用户我们先来编写配置文件,在原来的映射配置中添加 insert 标签,<insert id="insetUsesr" parameterType="com.itbbfx.entity.UserEntity"> insert into t_user (username,birthday,sex,address) values (#{userNam

2022-03-29 17:23:06 1391

原创 MyBatis 映射配置文件概述

前面,我们去完成了 MyBatis 的快速门,那接下来我们就要对快速入门中所涉及到的映射配置文件给大家做一下概述,方便大家掌握。我们先看看 XML 定义语句的方式,事实上 MyBatis 提供的所有特性都可以利用基于 XML 的映射语言来实现,这使得 MyBatis 在过去的数年间得以流行。如果你用过旧版本的 MyBatis,你应该对这个概念比较熟悉。 但相比于之前的版本,新版本改进了许多 XML 的配置,后面我们会提到这些改进。我们在完成快速入门的过程中,是不是编写了一个 UserMapper.xml

2022-03-28 16:19:40 334

原创 MyBatis 快速入门实战

接下来我们就进入到非常重要的一部分,来完成 Mybatis 快速部门。那我们现在想要去完成 MyBatis 快速入门,其实很好的一个办法就是去访问它的一个官方文档,照着 Mybatis 文档来操作完成入门案例的学习。就是我们刚刚看到的这个官方文档。那么在这个文档的左侧,它就会有一个入门。你点击一下右侧所显示的,就是要去进行 MyBatis 入门案例啊,它的一个简单介绍。当然我们在进行快速入门演示的时候,不按照官网,我们按照自己的想法来实现 MyBatis 入门案例。所谓的这个快速入门,其实就是要完成一个

2022-03-25 17:26:30 1401

原创 前后端分离开发模式

在做任何项目或者架构之前,我们都需要去先确定几件事情,比如技术选型、开发模式等,都是需要去做斟酌和确定的。本期我们来探讨一下前后端分离的这种开发模式。早期传统 Java Web 开发在探讨前后端分离开发模式之前,我们先来看一看早期传统 Java Web 的一种开发模式。首先我们有用户,用户会访问浏览器,随后请求才会到达我们的后端。在我们的后端里面,那么这是一个单体项目,并且它是一个 war 包。在这个包里面它包含了一些相应的内容,比如 Servlet,也就是 MVC 的这一层架构的后端代码。当然也包含

2022-03-24 16:20:38 3410

原创 索引的设计原则有哪些

为什么需要索引?因为索引是用来加快数据访问的,如果你的数据索引设计得不合适的话,或设计得不合理的话,会极大程度上影响我们的性能。注意一点,并不是说索引越多,效率越高。在进行索引设计的时候,应该保证索引字段占用的空间越小越好,这只是一个大方向,还有一些细节需要注意:适合所有的列是出现在 where 子句中的列,或者说连接子句中指定的列。也就是我们在进行查询的时候,你在建索引时,并不是所有列都可以随便建索引,只有当做条件查询的时候,那个列当成索引才是最合适的。包括你在进行 join 操作的时候,那个关联列以

2022-03-23 17:15:16 716

原创 和面试官聊 MySQL 为什么需要主从同步

就说白了,MySQL 的主从同步到底解决了什么样的一个问题。这道面试题啊并不难,其实经历过主从复制的都应该知道它为了什么。比如读写分离,分库分表,都是我们主动同步要解决一个关键点。但是面试中如果问到了,你要给他一套理论知识或者详细的一个文字描述,需要详细剖析解析啊。主从同步问题在业务复杂系统中,有这么一个场景,有一条 SQL 语句需要锁表,导致是暂时不能使用读的服务,那么就很影响运行中的业务了。使用主从复制,让主库负责写,存库负责读,这样即使出现了锁表的情况,读从库也可以读取我们正常的一个业务数据。在我

2022-03-21 16:37:56 1235

原创 备战阿里一面,一举拿下大厂 offer

1、说⼀下 ArrayList 和 LinkedList 区别⾸先,他们的底层数据结构不同,ArrayList底层是基于数组实现的,LinkedList底层是基于链表实现的;由于底层数据结构不同,他们所适⽤的场景也不同,ArrayList更适合随机查找,LinkedList更适合删除和添加,查询、添加、删除的时间复杂度不同;另外ArrayList和LinkedList都实现了List接⼝,但是LinkedList还额外实现了Deque接⼝,所以LinkedList还可以当做队列来使⽤。2

2021-10-25 04:57:27 234

原创 大佬们是如何如何解决的 JavaScript 中奇葩问题

1、常数未赋初值解决方法:在声明const时就给一个值2、let 重复声明解决方法:1)找到重复声明的变量,去掉一个;2)将重复声明的变量,后面的那个的关键字 let 给删掉。3、常数变量赋值解决方法:1)去掉后面重新赋值的语句;2)将变量类型改为let或者var。4、变量未定义解决方法:1)若是变量,则在使用前声明此变量;2)若不是变量是字符串,则在使用时加上引号;3)看是否是关键字拼写错误。5、不是期待的值解决方法:看命名是否规范6、意外标记 xxx解决方

2021-10-20 20:50:26 70

原创 Zookeeper 如何实现网络通信协议

一提到网络通信协议,我们都知道最常用的网络通信协议就是这个 TCP/IP 协议,而 Zookeeper 就是基于 TCP/IP 协议实现了自己的通信方式。ZooKeeper 协议简述Zookeeper 的通信协议分为两部分,请求协议和响应协议。在 ZooKeeper 中一次客户端的请求协议由请求头、请求体组成。而在一次服务端的响应协议中由响应头和响应体组成。介绍完了 ZooKeeper 中的网络通信协议的结构后。接下来我们就详细来看一下在 ZooKeeper 中的内部对于网络通信协议的底层是怎么样实现

2021-10-16 17:52:41 630

原创 Zookeeper 数据模型

我们的 ZooKeeper 是怎样做到这些点的,在实际项目开发中,我们应该如何使用 ZooKeeper ?要想了解这些问题,我们先要对 ZooKeeper 的数据模型有一定了解和掌握。数据模型对于 Zookeeper 来说尤为重要,很多典型的使用场景都使用这点基础模块,比如说我们可以利用 Zookeeper 数据模型中的临时节点和 Watch 监控机制来实现一个发布订阅的功能。数据模型计算机最本质的作用就是用来处理和存储数据的,Zookeeper 作为一款分布式一致性解决框架,也不例外。其实 Z.

2021-10-15 15:49:13 221

原创 MySQL MyCAT 读写分离实战

1.MySQL读写分离概念:MYSQL读写分离的原理其实就是让Master数据库处理事务性增、删除、修改、更新操作(CREATE、INSERT、UPDATE、DELETE),而让Slave数据库处理SELECT操作,MYSQL读写分离前提是基于MYSQL主从复制,这样可以保证在Master上修改数据,Slave同步之后,WEB应用可以读取到Slave端 的数据。1.1读写分离实现方式:实现MYSQL读写分离可以基于第三方插件,也可以通过开发修改代码实现,具体实现的读写分离的常见 方式有如下四种:

2021-10-10 17:52:58 129

原创 SpringMVC 最详细笔记必备知识点

SpringMVC1、什么是SpringMVC 是一种轻量级的,基于MVC的web应用层框架,对Servlet封装 MVC:​ M:Model,模型层,指javaBean,作用是==处理数据==​ javaBean:​ 实体类,业务处理,即Service,Dao​ V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,==展示数据==​ C:Cont

2021-10-09 18:00:46 255

原创 究竟 JDK 给我们提供了哪几种线程池,分别有什么特点?

常见线程池特点的总结首先我们来看第一种常见的线程池 FixedTheadPool,它是线程数量固定的的线程池 。我们通过下图来理解它的特点。这种线程的特点是这样的,假设我们给它执行 1000 个任务,但是的线程已经是固定的就是 10,所以始终是0 ~ 9 这 10 个线程来反复的执行我们的任务,不会超出我们设置的固定范围。第二种,常见的线程池是 CachedThreadPool,它是可缓存的线程池,并且还会回收。通过下图理解它的工作情况。它会把任务交给我们的线程,而且线程不够用的话,就会创建.

2021-10-09 09:27:45 127

原创 为何不使用自动创建线程池呢?

其实手动创建是更好的。因为这样一来可以让我们非常明确线程池的运行规则,避免资源耗尽的风险。我们就来看一看,如果我们自动创建的话会有哪些风险?这同时也是让我们熟悉一下 JDK 提供给我们的那些非常典型的线程池。FixedThreadPool首先来用代码展示一下 newFixedThreadPool。在这里我们新建一个 FixedThreadPoolDemo类。在该程序中演示如何利用 FixedThreadPool 线程池执行任务。具体代码如下:public class FixedThreadPool

2021-10-08 08:47:14 166

原创 MySQL 精选问答 500 题

1 、我创建了⼀个没有select权限的⽤户, 执⾏select * from T where k=1 , 报错“select command denied”,并没有报错“unknown column”,是不是可以说明是在打开表之后才判断读取的列不存在?答:这个是⼀个安全⽅⾯的考虑。你想想⼀个⽤户如果没有查看这个表的权限,你是会告诉他字段不对还是没权限?如果告诉他字段不对,其实给的信息太多了,因为没权限的意思还包含了: 没权限知道字段是否存在。2、wait_timeout 是客户端 ⾮交互式的

2021-10-03 16:32:46 811

原创 线程池的各个参数的含义?

我们先从创建开始说起,创建的话主要有以下这几个部分。第一个,就是我们在创建它的时候,它有构造函数,那构造函数对于线程池而言,参数比较复杂,像之前我们其他的类的构造函数很简单,比如我们定义一个 Map,可能连构造函数里面参数不传都可以。但是在这边的线程池它有非常多的构造函数,并且每一个的含义必须需要我们了解清楚,才能去把它非常良好的给创建出来。第二个,内容就是我们应该手动创建还是自动创建。其实自动创建是非常方便的,我们也强调自动化,但是对于线程池而言,自动创建有一些弊端,在一定情况下我们手动创建会更好。

2021-10-02 08:56:29 343

原创 来聊聊分布式数据一致性

Base 理论对于 CAP 理论来说,放弃强一致性,追求分区容错性和可用性,这是很多分布式系统设计的时候,最常选择的一种设计方式。在实际项目工程中,基于 CAP 理论逐步演化,后来就提出了 Base 理论。数据一致性那么我们就借助这么一个小小案例,给大家去描述一下。下图图中描述的就是一个用户去取钱以及去查询的这么一个过程。上图中,User 代表用,DB1我们数据库集群中的一个节点,DB2 也是我们数据库集群中的另外一个节点,Balance 就是余额。那当用户进行取钱操作的时候,他的取钱请求发送到了

2021-10-01 19:20:55 62

原创 垃圾收集器总结

如何选择垃圾收集器一般来说,选择使用哪款垃圾收集器可以从三个方面去考虑:首先是你的应用系统所关注的主要矛盾点是什么?比如,某个项目是一个数据分析类的应用系统,我们更加希望它能够尽快地获得执行结果,那么吞吐量就是主要矛盾点,可以考虑使用 Parallel Scavenge。而假设某个应用它是一个 Web 应用,Stop The World 可能会直接影响服务质量,甚至可能会导致调用超时、业务直接失败等等严重的后果,那么低延迟就是我们的主要矛盾点,可以考虑使用 CMS 或者是 G1,将来 Shenandoa

2021-09-29 08:51:42 152

原创 G1 垃圾收集器是如何对待我们 JVM

什么是 G1 收集器G1 收集器是一款面向服务器端应用的垃圾收集器,它既可以用在新生代,也可以用在老年代。G1 是 Hotspot JDK1.7 后提供的面向大内存(Heap 区数 G 到数 10G )、多核系统的收集器,能够实现软停顿目标收集并且具有高吞吐量,具有更可预测的停顿时间。G1 是一种并发、并行、部分 Stop The World、使用复制算法收集的分代的增量式收集器,G1 的全堆的操作,像global marking,是和应用(mutator)并发执行的,这样可以减少对 mutator 的

2021-09-28 07:32:36 79

原创 基于 springboot+layui+shiro 医院信息管理系统设计和实现

主要模块:门诊管理的功能:用户挂号、处方划价、项目划价、项目缴费、项目检查、药品缴费、门诊患者库住院管理的功能:入院登记、缴费管理、药品记账、项目记账、出院结算系统管理功能:菜单管理、角色管理、用户管理、图标管理、数据源监控管理。统计管理:门诊月度统计、住院月度统计、门诊年度统计、住院年度统计、医生统计、门诊当天统计数据中心:科室中心管理、医生列表管理、药品产地管理、项目大类管理、挂号类型管理、仓库管理、经办人管理、供货商管理、药品分类管理、药品字典管理排班:医生排班管理仓库管理:入库单管理、

2021-09-27 14:38:54 542 2

原创 看看你是如何解释老年代收集器

Serial Old收集器Serial Old 收集器,也叫串型老年代收集器。Serial Old 的收集器,可以认为是 Serial 收集器的老年代版本,属于多线程收集器,但是它采用的是标记-整理算法。执行过程大致如下图所示:可以发现,Serial Old 收集器与 Serial 收集器除使用的算法不同以外,其他和 Serial 收集器都是一样的。Serial Old 收集器有哪些适用场景呢?Serial Old 收集器可以和 Serial 收集器、ParNew 收集器以及 Parallel Sc

2021-09-26 21:18:21 148

原创 我们来聊聊垃圾收集器中相关术语与新生代收集器

垃圾收集算法为实现垃圾收集提供了强有力的理论支持,而垃圾收集器则是利用了垃圾收集算法去实现垃圾回收的实践落地。那么和垃圾回收算法类似,Java 也提供了多款垃圾收集器,不同的垃圾收集器也有不同的特性以及适用场景,甚至不同的垃圾收集器之间还可能存在配合使用的关系,那么使用起来还是比较复杂的。下图展示了 Java 里面比较主流的垃圾收集器以及能够作用的内存区域。其中 Serial、ParNe、Parallel Scavenge 是作用于新生代的,而 CMS、Serial Old 、Parallel Old

2021-09-25 06:44:46 81

原创 聊聊垃圾回收算法

其实,对于写代码来说,也有垃圾回收这个问题,这里所说的垃圾,指的是程序中不再需要的内存空间,垃圾回收指的是回收这些不再需要的内存空间,让程序可以重新利用这些释放的内存空间。那么垃圾回收是怎么,是不采用算法来实现呢?本次课时,我们就一起来探讨 Java 的垃圾回收算法。标记-清除算法(Mark-Sweep)标记-清除,顾名思义,先标记垃圾,再清除。它是垃圾回收最基础的算法,后续很多算法都是基于它上面去改进的。标记-清除算法主要分成两个阶段:标记阶段:需要回收的对象。那么这个过程其实就是...

2021-09-24 06:45:37 99

原创 影响 MySQL 服务器的因素到底什么?

大家在开发后端应用的时候,相信多数情况下都遇到过数据库性能瓶颈的问题,在解决数据库瓶颈时,通常的做法是先有数据库管理员检查有没有慢查询,然后在看慢查询相关的字段,是不是没有创建索引,然后在排查数据库配置是否合理,最后分析下是否需要扩充硬件。虽然经过了前面数据库端的仔细优化,但是很多情况下数据库性能依然很低。尤其是在并发的情况下,其实这是有业务逻辑代码和 SQL 语句没有被优化,因此影响了数据库的性能。先来看看究竟是什么对数据库的性能造成了影响,对数据库性能有影响的因素,可以分为几个方面,我们先来从大体上看

2021-09-23 16:59:06 189

原创 表属性设置为 NULL,你可能要面临很多麻烦

我们知道使用 MySQL 去存储数据,我们需要先去建表,那么在表中去添加各个数据列,其实我们需要给数据列指定一些属性,比如说我们在列属性设置为允许,那就可以不放置任何数据到这一列中。但是这会带来哪些麻烦或者是坑呢?那么带着这个问题,我们来聊聊表属性设置为 NULL,你可能要面临很多麻烦。为什么会有很多人用 NULL 呢?第一点,NULL 它是一个默认行为,如果你不去主动指定这个列字段是 NOT NULL,那么它就是 NULL,这其实是允许 NULL 列最常见的原因了。很多刚开始学习使用 MySQL 的同

2021-09-23 16:53:01 817

原创 怎样判断一个网站是否是大型网站

大型网站的九个特征谈到大型网站,很多人误认为网站访问量大的网站,必定属于一个大型网站,这样说只对一半,这是为什么呢?举个例子,比如百度旗下的上网导航网站 hao 123,这个网站的用户访问相对来说也是非常的巨大,那么这个网站是大型网站吗,你会说是的,其实不是。这是为什么呢?简单的说,hao 123 这样的网站,只是提供一个静态网页,它其实是可以通过模板技术生成静态页面,用户点击某条网站的信息,就会跳转到其他网站,是根据用户的访问量需求来提供一站分类推荐服务。hao 123 这个网站本身的数据量并.

2021-09-22 09:38:24 98

原创 搭建自己的下载文件服务器

文件的content-type客户端向服务器端请求一个文件,服务器端在返回的HTTP头中会包含一个content-type的内容,这个content-type表示的是返回的文件类型。这个类型应该怎么确认呢?一般来说,文件类型是根据文件的的扩展名来确认的,根据 RFC 4288的规范,所有的网络媒体类型都必须注册。apache也提供了一个文件MIME type和扩展名的映射关系表。因为文件类型比较多,我们看几个比较常用到的类型如下:JDK提供了一个MimetypesFileTypeMap的类,这个类

2021-09-04 23:07:13 3181

原创 ❤️详解10道 Netty 经典面试题!❤️

1、BIO、NIO 和 AIO 的区别?BIO:一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理。线程开销大。伪异步 IO:将请求连接放入线程池,一对多,但线程还是很宝贵的资源。NIO:一个请求一个线程,但客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有 I/O 请求时才启动一个线程进行处理。AIO:一个有效请求一个线程,客户端的 I/O 请求都是由 OS 先完成了再通知服务器应用去启动线程进行处理,BIO 是面向流的,NIO 是面向缓冲区的;BIO 的各种

2021-09-03 21:25:18 117

原创 编译器优化机制详解

学习 JVM 相关的知识,必然绕不开即时编译器,因为它太重要了。了解了它的基本原理及优化手段,在编程过程中可以让我们有种打开任督二脉的感觉。比如,很多朋友在面试当中还会遇到这样的问题:Java是基于编译执行还是基于解释执行?当你了解了Java的即时编译器,不仅能够轻松回答上述问题,还能如数家珍的讲出JVM在即时编译器上采用的优化技术,而且在实践过程中更深刻的理解代码背后的原理。字节码是如何运行的先来探讨字节码是如何运行的。众所周知,Java 有两种运行模式。第一种叫解释执行,所谓解释执行,它是由解释

2021-09-02 04:40:59 1981

原创 ❤️ 运维工程师必会480个linux命令,还不收藏? ❤️

前言内容简介:linux操作系统继承了unix强大而灵活的命令行工作方式。在linux中,常用的指令有几百个。面对如此庞大的指令库,所有学习人员都需要较为全面的linux指令学习。   480个linux命令,指令多媒体语音实战视频讲解分为3篇,一共讲解了480个相关的指令,并给出了相应的示例。第一篇中介绍了175个linux基础操作指令,包括文件、目录、shell、打印、工具等;第二篇中介绍了206个linux系统操作指令,包含系统管理、系统设置、磁盘维护、磁盘管理、内核开发、系统任务等;第三篇中介

2021-09-01 18:48:11 554

原创 快速插入100w条数据到MySQL

表的设计CREATE TABLE `t_order` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `creator` varchar(16) COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'admin' COMMENT '创建人', `editor` varchar(16) COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'ad

2021-09-01 06:00:45 452

原创 Java程序员需要看哪些书

前言不要因为迷茫,而停止了脚下的路。给大家推荐一份Java程序员必看的书单,豆瓣评分都挺不错的,每一本都值得去读,都值得去收藏,加油呀专题一:Java 基础篇书单专题二:代码优化篇书单专题三:计算机网络篇书单专题四:操作系统 && 计算机底层书单专题五:数据结构与算法篇书单专题六:缓存篇书单专题七:数据库书单专题八:微服务 && 分布式篇书单专题九:消息中间件书单专题十:容器书单专题十一:面试相关书单专题十二:软件开发&&程序人生书

2021-09-01 04:32:55 229

原创 被面试官问到 Map 相关问题,Map 应该掌握的8个问题

前言最近几天看了几篇有关于Java Map的外国博文,写得非常不错,所以整理了Java map 应该掌握的8个问题,都是日常开发司空见惯的问题,希望对大家有帮助;如果有不正确的地方,欢迎提出,万分感谢哈~1、如何把一个Map转化为List日常开发中,我们经常遇到这种场景,把一个Map转化为List。map转List有以下三种转化方式:把map的键key转化为list把map的值value转化为list把map的键值key-value转化为list伪代码如下:// key listLis

2021-08-31 18:51:11 238

原创 阿里员工正准备跳槽,我被面试官绝地反杀了

1、面向对象特征封装,继承,多态和抽象封装封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法 来改变它内部的数据。在Java当中,有3种修饰符:public, private和protected。每一 种修饰符给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限。下面列岀了使用封装的一些好处:通过隐藏对象的属性来保护对象内部的状态。提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是扩展。禁止对象之间的不良交互提高模块化。继承承给对象提供了

2021-08-31 06:01:33 161

原创 通往高薪之路,就靠这一波了,千万别错过了

每年都有两次投简高峰期,工作过的小伙伴应该知道是哪两次吧?对,就是每年的 3、4、9、10 这四个月,也称金三银四和金九银十。那么新的一波入职投简高峰期又要开始了,我相信很多小伙伴已经开始在写简历的道路上,或者是在投简历的道路上。工作过多年的小伙伴都知道,在大部分的情况下,只有通过跳槽才是涨薪的最好途径。当然了,要提醒小伙伴的是,频繁的跳槽也不是明智的选择。最近,有小伙伴问我,有木有面试题,索性,就通宵搞了一份面试知识清单,总结了市面上所有的面试题。无论是谁,长时间不去复习之前学习过的的知识,难免都会

2021-08-29 08:37:14 83

百度字节阿里Java面试题(含答案)第一期(1).pdf

常见的面试题

2020-12-27

Kafka面试题.md

Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目。

2020-04-05

空空如也

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

TA关注的人

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