程序员
文章平均质量分 85
m0_65485530
这个作者很懒,什么都没留下…
展开
-
数据结构与算法-树与二叉树,超详细
public class TreeNode {public int val;public TreeNode left;public TreeNode right;public TreeNode(int x) { val = x; }}上图的用链式存储为:二叉树遍历二叉树的遍历是指从二叉树的根节点出发,按照某种次序依次访问二叉树中的所有接节点,使得每个节点被访问依次,且仅被访问依次。二叉树的访问次序可以分为四种:前序遍历中序遍历后续遍历层序遍历前序遍历通俗的说就是从二叉树的根结原创 2021-12-30 17:11:58 · 558 阅读 · 0 评论 -
数据库成为瓶颈后,动态数据的查询要如何加速?,2021Java春招面试经历
缓存,一种存储数据的组件,让对数据的请求更快返回。经常会把缓存放在内存, 所以有人就以为内存=缓存,这是外行见解。某些场景下可能还会使用SSD作为冷数据的缓存。比如说360开源的Pika就是使用SSD存储数据解决Redis的容量瓶颈的。凡是位于速度相差较大的两种硬件之间,用于协调两者数据传输速度差异的结构,均可称之为缓存。常见硬件组件的延时情况是什么样的了,这样在做方案的时候可以对延迟有更直观的印象。做一次内存寻址大概需要100ns,而做一次磁盘的查找则需要10ms。使用内存作为缓存的存储介质原创 2021-12-30 17:11:03 · 165 阅读 · 0 评论 -
教妹学Java(二十 七):this 关键字的用法,mybatis的原理和注解开发
指向当前对象;调用当前类的方法;this() 可以调用当前类的构造方法;this 可以作为参数在方法中传递;this 可以作为参数在构造方法中传递;this 可以作为方法的返回值,返回当前类的对象。02、 指向当前对象如果参数名和实例变量名产生了冲突,this 关键字可以解决这个问题。先来看一个没有 this 关键字的例子:/**@author 微信搜「沉默王二」,回复关键字 PDF*/public class WithoutThisStudent {..原创 2021-12-30 17:10:08 · 471 阅读 · 0 评论 -
教妹学Java(三十三):super 关键字的用法,深挖底层原理、啃源码,最终上岸
class Dog extends Animal {String color = “黑色”;void printColor() {System.out.println(color);System.out.println(super.color);}}在上面的例子中,父类 Animal 中有一个名为 color 的字段,子类 Dog 中也有一个名为 color 的字段,子类的 printColor() 方法中,通过 super 关键字可以访问父类的 color。程序输出的结果如下所示:黑色白原创 2021-12-30 17:09:13 · 141 阅读 · 0 评论 -
支付宝二面:Mybatis接口Mapper内的方法为啥不能重载吗?我直接懵逼了---
public class User {private Integer id;private String name;private int age;public User(Integer id, String name, int age) {this.id = id;this.name = name;this.age = age;}// getter setter}再定义一个接口UserMapper.java。public interface UserMapper {public原创 2021-12-30 17:08:18 · 66 阅读 · 0 评论 -
教你如何快速实现一个连接池?,不可思议
}创建对象池创建好对象工厂之后,ACP 已经知道你需要的对象如何创建了。那么接下来,你需要根据你的实际需要,去创建一个对象池。在 ACP 中,我们通过 GenericObjectPool 以及 GenericObjectPoolConfig 来创建一个对象池。// 声明一个对象池private GenericObjectPool sftpConnectPool;// 设置连接池配置GenericObjectPoolConfig poolConfig = new GenericObjectPoo原创 2021-12-28 18:24:32 · 295 阅读 · 0 评论 -
支付宝二面:Mybatis接口Mapper内的方法为啥不能重载吗?我直接懵逼了---
注:本文默认认为,读者对动态代理的原理是理解的,如果不明白target的含义,难以看懂本篇文章,建议先理解动态代理。1. 自定义JDK动态代理之投鞭断流实现自动映射器Mapper首先定义一个pojo。public class User《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享{private Integer id;private String name;pr原创 2021-12-28 18:23:15 · 63 阅读 · 0 评论 -
接口文档:第二章:使用Swagger接口的文档在线自动生成
创建Swagger2配置类在Application.java同级创建Swagger2的配置类Swagger2package com.swaggerTest;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import springfox.documentation.builders.ApiInfoBuilder;impor原创 2021-12-28 18:18:51 · 131 阅读 · 0 评论 -
排除MySQL中常见错误的实用招术,中级java工程师面试
结合使用ps命令和grep命令,检查数据库服务器主机上名为mysqld的进程,以此确保服务器在运行,如图所示。$ ps xa | grep mysqld | grep -v mysqld如果上述命令未显示输出,则表示数据库服务器没在运行。因此客户机无法连接到它。要启动服务器,运行下列systemctl命令。$ sudo systemctl start mysql #Debian/Ubuntu$ sudo systemctl start mysqld #RHEL/CentOS/Fedora要验证My原创 2021-12-28 18:17:55 · 294 阅读 · 0 评论 -
源码分析Dubbo服务注册与发现机制RegistryDirectory),java编程入门到精通txt
consumer://192.168.56.1/com.alibaba.dubbo.demo.DemoService?application=demo-consumer&category=consumers&check=false&dubbo=2.0.0&interface=com.alibaba.dubbo.demo.DemoService&methods=sayHello&pid=9892&qos.port=33333&side=consu原创 2021-12-27 18:29:52 · 158 阅读 · 0 评论 -
源码分析 RocketMQ DLedger 多副本即主从切换实现原理,java开发数据库面试题
1、BrokerController 中与主从相关的方法详解本节先对 BrokerController 中与主从切换相关的方法。1.1 startProcessorByHaBrokerController#startProcessorByHaprivate void startProcessorByHa(BrokerRole role) {if (BrokerRole.SLAVE != role) {if (this.transactionalMessageCheckService != nu原创 2021-12-27 18:28:30 · 354 阅读 · 0 评论 -
深度复盘阿里、字节跳动、京东,mybatis的工作原理图
HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底层实现。HashMap和Hashtable的区别。ArrayList、LinkedList、Vector的区别。HashMap和ConcurrentHashMap的区别。HashMap和LinkedHashMap的区别。HashMap是线程安全的吗。ConcurrentHashMap是怎么实现线程安全的。2)多线程并发相关问题(必问):..原创 2021-12-27 18:25:59 · 109 阅读 · 0 评论 -
源码分析RocketMQ之消费队列、Index索引文件存储结构与存储机制-下篇
this.allocateMappedFileService.shutdown();}return result;}代码@1:判断 ${ROCKET_HOME}/storepath/abort 文件是否存在,如果文件存在,则返回true,否则返回false,这个文件的作用是什么呢?原来,在DefaultMessageStore 启动时创建,在 shutdown 时删除,也就是如果该文件存在,说明不是正常的关闭。private boolean isTempFileExist() {String f原创 2021-12-24 20:05:06 · 833 阅读 · 0 评论 -
源码分析mycat1,清华大学出版社java基础入门课后题
readBuffer.capacity());}break;}if (position >= offset + length && readBuffer != null) { // @7// handle this packagereadBuffer.position(offset);byte[] data = new byte[length];readBuffer.get(data, 0, length);handle(data); .原创 2021-12-24 20:03:44 · 177 阅读 · 0 评论 -
源码分析Kafka 消息拉取流程,javakafka教程
public ConsumerRecords<K, V> poll(final Duration timeout) { // @1return poll(time.timer(timeout), true); // @2}代码@1:参数为超时时间,使用 java 的 Duration 来定义。代码@2:调用内部的 poll 方法。KafkaConsumer#pollprivate ConsumerRecords原创 2021-12-24 20:02:47 · 1157 阅读 · 0 评论 -
源码分析Elastic-Job前置篇:Spring自定义命名空间原理
xmlns:xsd=“http://www.w3.org/2001/XMLSchema”xmlns:beans=“http://www.springframework.org/schema/beans”targetNamespace=“http://www.dangdang.com/schema/ddframe/reg”elementFormDefault=“qualified”attributeFormDefault=“unqualified”><xsd:import namespa原创 2021-12-24 20:01:40 · 176 阅读 · 0 评论 -
源码分析Dubbo服务注册与发现机制RegistryDirectory),mongodb面试题目
private static final Cluster cluster = ExtensionLoader.getExtensionLoader(Cluster.class).getAdaptiveExtension();集群策略,默认为failover。private static final RouterFactory routerFactory = ExtensionLoader.getExtensionLoader (RouterFactory.class).getAdaptiveEx.原创 2021-12-24 20:00:20 · 621 阅读 · 0 评论 -
源码分析Dubbo序列化-源码分析kryo序列化实现原理,作为Java程序员应该怎样去规划自己的学习路线
1、源码分析Kryo#writeClassAndObjectpublic void writeClassAndObject (Output output, Object object) {if (output == null) throw new IllegalArgumentException(“output cannot be null.”);beginObject(); // @1try {if (obj原创 2021-12-24 19:58:56 · 227 阅读 · 0 评论 -
深入理解Nginx及使用Nginx实现负载均衡,ddd开发架构java
最近在部署项目时要求实现负载均衡,有趣的是发现网上一搜全部都是以下类似的配置文件upstream localhost{server 127.0.0.1:8080 weight=1;server 127.0.0.1:8081 weight=1;}server {listen 80;server_name localhost;location / {proxy_pass http://localhost;index index.html index.htm index.jsp原创 2021-12-24 19:57:40 · 135 阅读 · 0 评论 -
深入理解Java类加载器(一):Java类加载原理解析,持久化数据安全RDB、AOF
if (c == null) {// 如果父类加载器不能完成加载请求时,再调用自身的findClass方法进行类加载,// 若加载成功,findClass方法返回的是defineClass方法的返回值// 注意,若自身也加载不了,会产生ClassNotFoundException异常并向上抛出long t1 = System.nanoTime();c = findClass(name);// this is the defining class loader; record the stats原创 2021-12-24 19:56:34 · 134 阅读 · 0 评论 -
深入P8级别JAVA底层知识:你知道阿里P8需要掌握哪些技术吗?
想成为架构师不是懂了一大堆技术就可以了,这些是解决问题的基础、是工具,不懂这些怎么去提解决方案呢?这是成为架构师的必要条件首先你要是一个高级java攻城狮,熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;熟练使用各种数据结构和算法,数组、哈希、链表、排序树…,一句话要么是时间换空间要么是空间换时间,这里展开可以说一大堆,需要有一定的应用经验,用于解决各种性能或业务上的问题;有时间再补充。熟练使用linux操作系统,必备,没什么好说的 。熟悉tcp协原创 2021-12-24 19:55:25 · 385 阅读 · 0 评论 -
高性能架构学习路线图-分布式架构演进,mybatis一对一一对多面试题
架构演进一: 早期雏形架构演进二: 数据库开发(LAMP特长)架构演进三: javaweb的雏形架构演进四: javaweb的集群发展架构演进五: javaweb的分布式发展架构演进六: javaweb的微服务发展集群与分布式的区别一、分布式架构学习路线图JAVA中的高并发终于写完了,在思考之后的专题些什么。朋友之前说让我总结下分布式相关的知识吧。但分布式是一个系统设计理念,牵扯到的东西太多了。顾整理了一下大概的学习原创 2021-12-18 02:54:37 · 1890 阅读 · 0 评论 -
面试高能:阿里面试官笔记,凭借这份文档面试过蚂蚁,我要自学网java基础百度云
也许,下面这些面试困境,你也曾有过:技术能力和项目经验还行,由于缺乏面试经验被拒之门外;没有出色的项目经验,怎样介绍才能得到面试官的亲睐;不知道怎样准备Java技术面试,广度和深度问题一摸黑;精心准备的简历,一个面试邀请都没收到,非常焦虑;………那些成功推开高级Java之门、拿下心仪offer的幸运儿们,究竟是怎么达成目标的?本篇简单总结了以下互联网Java工程师千道面试题,供大家参考:由于文档面试题目有千题,每个知识体系pdf文档的答案详解太长了,以及每个体系原创 2021-12-18 02:53:08 · 1673 阅读 · 0 评论 -
面试之SpringBoot,java核心技术卷下载
需要更少的配置因为没有 web.xml 文件。只需添加用@ Configuration 注释的类,然后添将@Bean 注释的方法,Spring 将自动加载对象并像以前一样对其进行管理。您甚至可以将@Autowired 添加到 bean 方法中,以使 Spring 自动装入需要的依赖关系中。基于环境的配置 使用这些属性,您可以将您正在使用的环境传递到应用序:Dspring.profiles.active = {enviornment}。在加载主应用程序属性文件后,Spring 将在(applicat.原创 2021-12-18 02:51:38 · 495 阅读 · 0 评论