自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AQS(AbstractQueuedSynchronizer)——源码分析

​同步器提供的模板方法主要分为3类:独占式获取与释放同步状态共享式获取与释放同步状态查询同步队列中的等待线程情况/**独占式获取同步状态,如果当前线程获取同步状态成功,则由该方法返回;否则,将会进入同步等待队列等待,该方法将会调用重写的tryAcquire(int arg)方法@param arg*/public final void acquire(int arg) {if (!tryAcquire(arg) &&acquireQu

2022-01-01 10:32:10 485

原创 Apache Log4j2详解

性能提升自动重新加载配置高级过滤插件架构无垃圾机制使用Log4j2引用依赖添加配置文件同步日志,混合日志和异步日志配置详解配置文件详解日志重复打印问题使用Lombok工具简化创建Logger类简介Apache Log4j 2是对Log4j的升级,它比其前身Log4j 1.x提供了重大改进,并提供了Logback中可用的许多改进,同时修复了Logback架构中的一些问题。是目前最优秀的Java日志框架,没有之一。特征AP..

2022-01-01 10:30:45 1667

原创 Apache Log4j2详解(1)

Log4j的API与实现分开,使应用程序开发人员可以清楚地了解可以使用哪些类和方法,同时确保向前兼容性。这使Log4j团队能够以安全且兼容的方式进行改进。性能提升Log4j 2包含基于LMAX Disruptor库的下一代异步记录器。在多线程场景中,异步记录器的吞吐量比Log4j 1.x和Logback高18倍,延迟低。自动重新加载配置与Logback一样,Log4j 2可以在修改时自动重新加载其配置。与Logback不同,它会在重新配置发生时不会丢失日志事件。高级过滤与Logback一样,Lo

2022-01-01 10:29:20 407

原创 985硕非科班,靠着自己的努力一步一步转行拿到抖音后端offer,现在想想就觉得满足

这段经历我要打算好好说,其中里面的心酸以及坎坷真的是足以警醒大家。我准备笔试和面试的时间已经非常非常晚了!大约是在今年5月份才开始刷leetcode和背面试题。以前的时候觉得自己好歹做过项目,面试不就是看是不是这块料么,结果发现我大错特错。在5月份的时候第一次上了牛客,突然发现里面的面试笔试和我想得完全不一样,笔试就是纯编程,面试要考四大方面的知识,直接给我整的当时心如死水,很慌张。后来一打听同学们都刷题,少则200道,多则500道,当时听到这个消息直接给我整崩溃了。所以同学们,千万别觉得自己做过实习

2022-01-01 10:26:29 223

原创 ArrayList实现原理(JDK1,Java程序员需要掌握的知识

elementData = Arrays.copyOf(elementData, size, Object[].class);} else {// replace with empty array.this.elementData = EMPTY_ELEMENTDATA;}}集合构造时,没有进行null校验,也就是说如果传入null,直接就会NPE异常。集合构造的逻辑也很简单,当传入集合不为空时,调用Arrays.copyOf进行复制,并且容量 size为传入大小,而传入集合为空,则赋值为空数组

2021-12-31 09:54:49 121

原创 Alibaba内部Java面试手册,10W字全是精华,mysql调优

首先肯定会有人问为什么文章标题会写上阿里内部资料呢?==========================下面一张图就给你做出了解释看完这个就不用我多说了吧,虽然我也不知道是不是真的,这份文档我也看了一下总结了跟多内容其中面试篇包含了(基础篇+JVM篇+多线程&并发篇+Spring篇+MyBatiz篇+SpringBoot篇+MySQL篇+SpringCloud篇+Dubbo篇+Nginx篇+MQ篇)数据结构与算法篇包含了(Linux篇+Zookeeper篇+Redis篇+分布式篇+网络篇+设

2021-12-31 09:52:12 2278 1

原创 Activiti 用户绑定申请审批全流程演示,java软件开发面试常见问题

private IdentityService identityService;@Autowiredprivate RepositoryService repositoryService;@Autowiredprivate ProcessEngine processEngine;@Autowiredprivate HistoryService historyService;三、项目中的用户、角色与Activiti中的用户、用户组整合每个项目都有自己的用户、角色表,Activiti也有自己的

2021-12-31 09:51:15 735

原创 985毕业面试阿里悲剧,被面试官劝退后发奋图强拿字节offer,学历真不是全部

========================================================================说说为什么要选择腾讯?你之前做过的项目说一下针对项目的难点进行提问,如何解决的,在这个问题中有什么收获?怎么避免再次?讲一下TCP有哪些机制可以完成可靠传输?TCP为什么有三次握手?讲一下HTTPS通信的建立机制虚拟内存的作用,知道吗?讲一下程序编译的原理讲一下MySQL 语句执行的过程MySQL 的缓存会

2021-12-31 09:48:31 134

原创 69-个经典-Spring-面试题和答案详解(下),怎样学java编程基础

38. 怎样开启注解装配?注解装配在默认情况下是不开启的,为了使用注解装配,我们必须在Spring配置文件中配置 context:annotation-config/元素。39. @Required 注解这个注解表明bean的属性必须在配置的时候设置,通过一个bean定义的显式的属性值或通过自动装配,若@Required注解的bean属性未被设置,容器将抛出BeanInitializationException。40. @Autowired 注解@Autowired 注解提供了更细粒度的控制,包

2021-12-31 09:46:15 113

原创 50个kafka常见面试题及答案,撸完阿里P7见,java面试宝典pdf

更多的Java面试资料+Java学习笔记需要的可【点击此处】领取!3. Kafka中的HW、LEO、LSO、LW等分别代表什么?HW:High Watermark 高水位,取一个partition对应的ISR中最小的LEO作为HW,consumer最多只能消费到HW所在的位置上一条信息。LEO:LogEndOffset 当前日志文件中下一条待写信息的offsetHW/LEO这两个都是指最后一条的下一条的位置而不是指最后一条的位置。LSO:Last Stable Offset 对未完成的事务而言,L

2021-12-31 09:44:51 227

原创 4面阿里余额宝Java高级技术岗(拿offer),java高级技术路线

常用的负载均衡,该怎么用,你能说下吗?常见的分布式事务方案有哪些?Dubbo 的核心功能?如何从0到1设计一个类似Dubbo的RPC框架?余额宝三面(技术面)==================================================《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享===========================再谈谈一

2021-12-31 09:43:29 109

原创 Flink处理函数实战之三:KeyedProcessFunction类,java消息中间件面试

package com.bolingcavalry.keyedprocessfunction;import com.bolingcavalry.Splitter;import org.apache.flink.api.common.state.ValueState;import org.apache.flink.api.common.state.ValueStateDescriptor;import org.apache.flink.api.java.tuple.Tuple;import org.

2021-12-30 11:59:59 983

原创 elasticsearch实战三部曲之二:文档操作,mybatis自动映射原理

elasticsearch-head安装在一号机器,访问地址:http://192.168.119.152:9100已经建立了索引test001;数据格式说明为了便于和读者沟通,我们来约定一下如何在文章中表达请求和响应的信息:假设通过Postman工具向服务器发送一个PUT类型的请求,地址是:http://192.168.119.152:9200/test001/article/1请求的内容是JSON格式的,内容如下:{“id”:1,“title”:“标题a”,“p..

2021-12-30 11:59:03 979

原创 docker下,极速搭建spark集群(含hdfs集群),java技术面试问题

hadoop:2.8spark:2.3docker:17.03.2-cedocker-compose:1.23.2极速搭建spark集群(含hdfs集群)在CentOS7机器上建一个文件夹(例如test),进入此文件夹;在新建的文件夹内执行如下命令,即可搭建好spark和hdfs集群:wget https://raw.githubusercontent.com/zq2599/blog_demos/master/sparkdockercomposefiles/do..

2021-12-29 12:46:52 184

原创 disruptor笔记之二:Disruptor类分析,架构师必备技能

disruptor.handleEventsWith(new StringEventHandler(eventCountPrinter));查看handleEventsWith方法的内部:public final EventHandlerGroup handleEventsWith(final EventHandler<? super T>… handlers){return createEventProcessors(new Sequence[0], handlers);}展

2021-12-29 12:45:35 334

原创 C语言RSA算法实现(基于Mbedtls,深度解析跳槽从开始到结束完整流程

#ifndef AUTHREF_H#define AUTHREF_H#include <assert.h>#include <stdio.h>#include <string.h>#include <stdlib.h>#undef DEBUG#define RSA_KEY_SIZE 1024 // RSA 公钥的位数#define EXPONENT 65537#define BUFFER_SIZE

2021-12-29 12:44:16 661

原创 controller层统一处理异常,附Java面经

}复制代码handException方法主要拦截:没有被拦截处理的异常信息handUserExceptionHandler:拦截主动抛出的异常信息(这个异常是自己自定义的异常信息)handleHttpMessageNotReadableException:拦截参数不可读异常 这个异常时jdk里面自带的异常(正如上面所说 对于不同的异常 可以做不同的拦截处理,返回的错误信息也可以自己自定义 这样的错误提示能更快定位问题)2.2 自定义异常public class UserException e

2021-12-29 12:43:19 466

原创 Context都没弄明白凭什么拿高薪?,java面试技巧和注意事项

其实这个问题本身并没有什么意义,关键还是在于对Context的理解,从上面的关系图我们已经可以得出答案了,在应用程序中Context的具体实现子类就是:Activity,Service,Application。那么Context数量=Activity数量+Service数量+1。当然如果你足够细心,可能会有疑问:我们常说四大组件,这里怎么只有Activity,Service持有Context,那Broadcast Receiver,Content Provider呢?Broadcast Receiver,C

2021-12-29 12:42:00 87

原创 Class文件结构介绍[字段表集合和方法表集合],springmvc源码书籍

| descriptor_index | u2 | 1 || attributes_count | u2 | 1 || attributes | attributes_info | attributes_count |access_flagsaccess_flags用来存储变量的权限修饰符,它与类中的访问标志(access_flags)非常的类似,都是一个u2类型的数据。| 标志名称 | 标志值 | 含义 || :-- | :-- | :-- || ACC_PUBLIC | 0x0001 |

2021-12-29 12:40:35 60

原创 ClassUtils常用方法总结,java高级课程视频

@Testpublic void testGetPackageName(){//获取包名String packName = ClassUtils.getPackageName(String.class);System.out.println(packName); // = java.langString packName2 = ClassUtils.getPackageName(Beans.class);System.out.println(packName2); // = java.bea

2021-12-29 12:39:27 173

原创 ClassUtils常用方法总结(1),链表反转的两种实现方法

@Testpublic void testIsAssignable(){System.out.println(“判断是否可以转型.”);System.out.println(ClassUtils.isAssignable(Date.class, Object.class)); //= trueSystem.out.println(ClassUtils.isAssignable(Object.class, Date.class)); //=false}判断是否为内部类isInnerClass(C

2021-12-29 12:38:18 146

原创 Centos7,java从入门到精通视频韩顺平

群集组件安装群集节点准备2创建VIP资源3创建Web/Apache资源4配置约束5群集测试1.准备工作(重要)群集组件和节点的准备我在另一张博客中已经介绍,可以参考https://blog.csdn.net/qq_45714272/article/details/106017375[root@rs1 corosync]# crm_verify -L -V ## 检查配置有无错误禁用stonish[root@rs1 corosync]# pcs p

2021-12-29 12:36:54 223

原创 BS-XX-007基于JSP实现户籍管理系统,java面试sql语句

下面这个截图是用户信息的一览管理,主要是用来做数据显示用的,画面上将所有的表中的信息全部罗列出来,包括用户姓名,用户密码,用户电话,楼宇名字,用户楼层,用户屋号,用户单元,房型等字段信息,采用分页的技术将数据显示出来,同时,如果有数据录入错误的时候,可以对数据进行删除,重新录入。如图4-5所示。图4-5  用户一览模块4.3.2  迁入管理下面截图是迁入的添加模块,主要包括迁入编号,车主姓名,使用日期三个选项,同时还有提交按钮和重置按钮。其主要实现的功能是将迁入信息通过程序提交到

2021-12-29 12:35:32 179

原创 Centos7 Mysql集群主从搭建(包括单机搭建、单机主从搭建

在配置文件中加入以下内容[mysqld]basedir = /home/mysql/datadir=/home/mysql/data/socket=/tmp/mysql.socklog-error=/home/mysql/data/error.logserver-id=1Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0language=/home/mysql/

2021-12-28 11:24:59 1002

原创 APP性能优化系列-卡顿定位(一),java高级视频教程

Thread.sleep(500); // 模拟耗费的时间}}代码不用我说,项目中很常见,现在的问题是APP启动加载很慢, 那么如何精准的查询到具体耗时的方法?long startTime = System.currentTimeMillis();initBugly();Log.d(“lybj”, “initBugly()方法耗时:”+ (System.currentTimeMillis() - startTime));long startTime = System.currentTimeMi

2021-12-28 11:20:07 212

原创 95% 的算法都是基于这 6 种算法思想,大厂Java面试必考点

解法:动态规划动态规划(Dynamic Programming,DP)是一种将复杂问题分解成小问题求解的策略,但与分治算法不同的是,分治算法要求各子问题是相互独立的,而动态规划各子问题是相互关联的。分治,顾名思义,就是分而治之,将一个复杂的问题,分成两个或多个相似的子问题,在把子问题分成更小的子问题,直到更小的子问题可以简单求解,求解子问题,则原问题的解则为子问题解的合并。我们使用动态规划求解问题时,需要遵循以下几个重要步骤:定义子问题实现需要反复执行解决的子子问题部分识别并求解出边

2021-12-28 11:15:02 360

原创 CNCF 官方大使张磊:什么是云原生?,java基础全套视频教程

2004 年— 2007 年,Google 已在内部大规模地使用像 Cgroups 这样的容器技术;2008 年,Google 将 Cgroups 合并进入了 Linux 内核主干;2013 年,Docker 项目正式发布。2014 年,Kubernetes 项目也正式发布。这样的原因也非常容易理解,因为有了容器和 Docker 之后,就需要有一种..

2021-12-27 11:22:03 116

原创 Class文件结构介绍[常量池],阿里巴巴java技术专家

1.结构由于常量池中常量的数量是不固定的,所以常量池的入口需要放置一项u2类型的数据表示常量池容量计数值,如下:本例中常量池中的常量的个数是35个,注意此处和java中的习惯不一样,这个容器的计数是从1而不是从0开始的,上图的结果是36,代表常量池中有35项常量,索引范围为1~35,0项常量有特殊考虑,当表达“不引用任何一个常量池项目”的含义时可以把索引值置为0来标示。在constant_pool_count后是一个表数据类型constant_pool其中存储的就是constant_pool_

2021-12-27 11:20:46 72

原创 BAT大厂Java面试,如何抓住面试重点知识?收割大厂offer

4、Java支持的数据类型有哪些?什么是自动拆装箱?5、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?6、Java支持多继承么?7、接口和抽象类的区别是什么?8、什么是值传递和引用传递?9、创建线程有几种不同的方式?你喜欢哪一种?为什么?10、同步方法和同步代码块的区别是什么?11、什么是死锁(deadlock)?12、如何确保N个线程可以访问N个资源同时又不导致死锁?13、Java集合类框架的基本接口有哪些?14、什么是迭代器(Itera

2021-12-27 11:12:05 83

原创 BATJ内部Java求职面试宝典,尤其应届生如果还没有学过那后悔去吧,也许你已经错过N多家大厂offer

第五部分:算法和设计模式(Java编程试题)第六部分:情商和智商经典面试题(情商类面试题+智商类面试题)由于文章限制,文章只展示了部分内容,有需要这份超全面的 Java求职宝典的朋友点赞此文后点点我,即可领取即可免费获取。第一部分:求职准备之应聘开发职位前必须知道的那些事====================================================================================求职是否成功和提前做好准备肯定是密不可分的,宝典从带你认识

2021-12-27 11:10:43 60

原创 Dijkstra求最短路算法 ( 超级超级详细的 ) 不断更新中

接下来给出模板朴素版dijkstra算法时间复杂是 O(n^2+m), n 表示点数,m 表示边数int g[N][N]; // 存储每条边int dist[N]; // 存储1号点到每个点的最短距离bool st[N]; // 存储每个点的最短路是否已经确定// 求1号点到n号点的最短路,如果不存在则返回-1int dijkstra(){memset(dist, 0x3f, sizeof dist);dist[1] = 0;for (int i = 0; i < n -

2021-12-26 11:54:09 265

原创 DDD领域驱动设计实战(六)-领域服务,java面试高级题目

事实上,团队中的高级开发者并不建议这么做。一个基本原则:应尽量避免在聚合中使用资源库。那么,将businessPriorityTotals()方法声明为静态方法,然后将 Backlogitem集合作为参数传入,如何?这样,几乎不用对该方法做多少修改,只需传入新参数:那Product是创建该静态方法的最佳位置吗?看来要将该方法放在合适的地方并非易事。由于该方法只使用了每个Backlogitem中的值对象,将该方法放在Backlogitem似乎更合适。但这里计算所得的业务价值却属于Product而非Ba

2021-12-26 11:52:44 1772

原创 curl 的用法指南,flume和kafka面试

上面命令向www.example.com发出 GET 请求,服务器返回的内容会在命令行输出。-A-A参数指定客户端的用户代理标头,即`User-Agen《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享t。curl 的默认用户代理字符串是curl/[version]`。$ curl -A ‘Mozilla/5.0 (Windows NT 10.0; Win64; x

2021-12-26 11:51:19 270

原创 ConcurrentHashMap源码解读,springboot入门

在tiger之前,我们使用得最多的数据结构之一就是HashMap和Hashtable。大家都知道, HashMap中未进行同步考虑,而Hashtable则使用了synchronized,带来的直接影响就是可选择,我们可以在单线程时使用HashMap提高效率,而多线程时用Hashtable来保证安全。当我们享受着jdk带来的便利时同样承受它带来的不幸恶果。通过分析Hashtable就知道, synchronized是针对整张Hash表的,即每次锁住整张表让线程独占,安全的背后是巨大的浪费

2021-12-26 11:49:54 239

原创 CentOS 6,如何保证高可用

1234rpm -e --nodeps mysql-5.1.73-7.el6.x86_64rpm -e --nodeps mysql-connector-odbc-5.1.5r1144-7.el6.x86_64rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64rpm -qa|grep mysql1.3、删除数据目录12ls -l /var/lib|grep mysqlrm -rf /var/lib/mysql数据目录可以备份移走。mysqld服务在初始化时会检

2021-12-26 11:48:28 95

原创 CDH5部署三部曲之一:准备工作,rabbitmq面试

《CDH5部署三部曲之一:准备工作》《CDH5部署三部曲之二:部署和设置》《CDH5部署三部曲之三:问题总结》版本信息CentOS:7.6.1810Python: 2.7.5(操作系统自带)CM包:cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz服务器规划本次搭建的CDH集群一共用到三台机器,一台master,另外两台是agent:| 主机名 | IP地址 | 内存 | 身份 || — | — | — | — |..

2021-12-26 11:47:03 120

原创 BootStrap Table行内编辑,“重金求来”Alibaba技术官并发编程笔记

BootStrap作为目前比较流行的一款前端框架,平时开发中也用到的很多,之前在写项目页面用的Bootstrap,数据展示用的BootStrap Table。因为项目需求,需要对表格中某些字段可以直接在表格中编辑保存。对于BootStrap Table表格内编辑这里整理了两种方法。想了解BootStrap Table的小伙伴可以移步到Bootstrap Table数据表格的使用指南。第一种方法通过contenteditable属性设置元素的内容是可编辑。优点:简单,代码量少。缺点:由于BootSt

2021-12-26 11:45:38 1540

原创 API 分页探讨:offset 来分页真的有效率吗?,java开发实战经典第二版答案

GET /api/products?page=11{“items”: […another 100 products]}在使用 offset 的情况下,通常使用 ?offset=1000 和 ?offset=1100 这种大家都熟悉的方法。它要么直接调用 OFFSET 1000 LIMIT 100 的 SQL 查询数据库,要么使用 LIMIT 乘以 page 作为查询参数。无论如何,「这是一个次优的解决方案」,因为无论哪种数据库都要跳过前面 offset 指定的

2021-12-26 11:44:13 632

原创 Activiti 自定义表单流程(全流程演示),java面试官常问的问题

保存成功后,可以开始请假流程了!4、发起请假流程我的流程->发起流程点击【发起流程】按钮,填写请假申请单,并点击提交数据。[![image](https://img-blog.csdnimg.c《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享n/img_convert/b8d65dc141727c209648cc4fec473502.png)](https:.

2021-12-26 11:42:48 318

原创 @SpringBootApplication中的注解,2021最新网易Java面试题目

@SpringBootApplication:指示一个配置类,该类声明一个或多个@Bean方法,并触发自动配置和组件扫描,相当于声明@Configuration、@EnableAutoConfiguration和@ComponentScanSpringbootApplication注解有如下,做一一的分析:@Target(ElementType.TYPE):指示适用注释类型的上下文(即注解的作用目标)这里是接口、类、枚举、注解@Retention(RetentionPolicy.RUNTIM

2021-12-26 11:41:23 134

空空如也

空空如也

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

TA关注的人

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