自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《大型数据库技术,2021最新腾讯Java高级面试题总结

CREATE DATABASE salesdb; 1.2 创建一张商品销售表,命名为salerecords,包括如下字段:商品ID,商品名称,销售单价,销售数量。CREATE TABLE salerecords ( id INT(10) PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20), price FLOAT(10), number INT(10)); 1.3 创建一个存储过程,名称自订,通过输入商品ID,商品名称,销售单.

2021-08-10 19:28:28 159

原创 《吃透MQ系列,BAT等大厂必问技术面试题

在发布-订阅模型中,存放消息的容器变成了 “主题”,订阅者在接收消息之前需要先 “订阅主题”。最终,每个订阅者都可以收到同一个主题的全量消息。仔细对比下它和 “队列模式” 的异同:生产者就是发布者,队列就是主题,消费者就是订阅者,无本质区别。唯一的不同点在于:一份消息数据是否可以被多次消费。2.3 小结最后做个小结,上面两种模型说白了就是:单播和广播的区别。而且,当发布-订阅模型中只有 1 个订阅者时,它和队列模型就一样了,因此在功能上是完全兼容队列模型的。这也解释了为什么现代主流的 RocketM

2021-08-10 19:27:24 197

原创 《吃透MQ系列(1),快手三面面试真题

引入 MQ 后,订单支付现在只需要关注它最重要的流程:更新订单状态即可。其他不重要的事情全部交给 MQ 来通知。这便是 MQ 解决的最核心的问题:系统解耦。改造前订单系统依赖 3 个外部系统,改造后仅仅依赖 MQ,而且后续业务再扩展(比如:营销系统打算针对支付用户奖励优惠券),也不涉及订单系统的修改,从而保证了核心流程的稳定性,降低了维护成本。这个改造还带来了另外一个好处:因为 MQ 的引入,更新用户积分、通知商家、更新用户画像这些步骤全部变成了异步执行,能减少订单支付的整体耗时,提升订单系统的吞吐量.

2021-08-10 19:26:13 226

原创 《剑指offer刷题笔记(9),美团优选面试题Java

minStack.push(-1);minStack.push(3);minStack.push(-4);minStack.getMin(); --> Returns -4.minStack.pop();minStack.top(); --> Returns 3.minStack.getMin(); --> Returns -1.### [](https://gitee.com/vip204888/java-p7)**思路****(单调栈)**

2021-08-10 19:25:08 225

原创 《剑指offer刷题笔记(8),linux视频入门教程

给定一棵二叉树的其中一个节点,请找出中序遍历序列的下一个节点。注意:如果给定的节点是中序遍历序列的最后一个,则返回空节点;二叉树一定不为空,且给定的节点一定不是空节点;样例假定二叉树是:[2, 1, 3, null, null, null, null], 给出的是值等于2的节点。则应返回值等于3的节点。解释:该二叉树的结构如下,2的后继节点是3。 2 / \1 3 思路(模拟) O ( h ) O(h) O(h)这道题目就是让我们求二叉树中

2021-08-10 19:23:53 75

原创 《剑指offer刷题笔记(5),Java编程高级教程

原来的数组是一个升序的数组,然后我们把升序数组的前若干个元素搬到数组的末尾,让我们找出现在这个数组的最小值。其实就是升序数组的第一个值。我们只需要比较相邻的两项,只要后面一项比前面一项要小,那么后面一项就是数组中的最小值。因为原数组是升序的,把原数组最开始的若干个元素搬到数组的末尾,其图形符合下图:或者是这样的:只需返回数组第一个元素就是最小值。代码1class Solution {public: int findMin(vector<int>& nums)

2021-08-10 19:22:45 144 1

原创 《剑指offer刷题笔记(4),netty源码分析视频

思路1:时间复杂度 O ( n ) O(n) O(n)使用unordered_setc++代码1:class Solution {public: int duplicateInArray(vector<int>& nums) { unordered_set<int> hash; //set数组,不可以存贮重复元素 int n = nums.size(); if(n==0) return -1;

2021-08-10 19:21:38 114

原创 《剑指offer刷题笔记(13),几种线程安全的Map解析

思路(动态规划) O ( n m ) O(nm) O(nm)状态表示:f[i][j]表示p从j开始到结尾,是否能匹配s从i开始到结尾状态转移:如果p[j+1]不是通配符'*',则f[i][j]是真,当且仅当s[i]可以和p[j]匹配,且f[i+1][j+1]是真;如果p[j+1]是通配符'*',则下面的情况只要有一种满足,f[i][j]就是真;f[i][j+2]是真;这这里表示0个p[j]s[i]可以和p[j]匹配,且f[i+1][j]是真;第1种情况下的状态转移很好

2021-08-10 19:20:29 67

原创 【Spring Cloud 9,多线程高并发

Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的Linux容器解决方案。Linux容器不是模拟一个完整的操作系统,而是对进程进行隔离,相当于在正常进程的外面套了一个保护层。对于容器里面的进程来说,它接触到的各种资源都是虚拟的,从而实现与底层系统的隔离。Docker将应用程序与该程序的依赖,打包在一个文件里。运行这个文件,就会生成一个虚拟容器,程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样,有了Docker,就不用担心环境问题。总体来说,Docker的接口

2021-08-09 19:56:53 602

原创 【Spring Cloud 6,PDF超过6000页

Eureka Client从服务器获取注册表信息,并将其缓存在本地。客户端会使用该信息查找其他服务,从而进行远程调用。该注册列表信息定期(每30秒)更新一次。每次返回注册列表信息可能与Eureka Client的缓存信息不同,Eureka Client自动处理。如果由于某种原因导致注册信息列表信息不能及时匹配,Eureka Client则会重新获取整个注册表信息。Eureka Server缓存注册列表信息,整个注册表以及每个应用程序的信息进行了压缩,压缩内容和没有压缩的内容完全相同。Eureka Clie

2021-08-09 19:55:39 112

原创 【Spring Cloud 2,这一次带你搞懂SpringBoot核心原理

分层架构是运用最为广泛的架构模式,几乎每个软件系统都需要经过层来隔离不同的关注点,以此应对不同需求的变化,使得这种变化可以独立进行;各个层、甚至同一层中的各个组件都会以不同速率发生变化。这里所谓的“以不同速率发生变化”,其实就是引起变化的原因各有不同,这正好是单一职责原则(Single-Responsibility Principle,SRP)的体现。即“一个类应该只有一个引起它变化的原因”,换言之,如果有两个引起类变化的原因,就需要分离。单一职责原则可以理解为架构原则,这时要考虑的就不是类,而是层次.

2021-08-09 19:54:35 125

原创 【Spring Boot 5,Java自学视频百度云

User findByUserName(String userName);也使用一些加一些关键字 And、OrUser findByUserNameOrEmail(String username, String email);修改、删除、统计也是类似语法Long deleteById(Long id);Long countByUserName(String userName)基本上 SQL 体系中的关键词都可以使用,例如: like、igno

2021-08-09 19:53:28 128

原创 【Spring Boot 3,Java开发高级工程师面试

三、常用th标签简介==============| 关键字 | 功能介绍 | 案例 || — | — | — || th:id | 替换id | <input th:id="'xxx' + ${collect.id}"/> || th:text | 文本替换 | <p th:text="${collect.description}">description</p> || th:utext | 支持html的文本替换 | <p th:utext="${ht

2021-08-09 19:52:16 94

原创 【Spring Boot 3】Thymeleaf 使用详解

| — | — | — || th:id | 替换id | <input th:id="'xxx' + ${collect.id}"/> || th:text | 文本替换 | <p th:text="${collect.description}">description</p> || th:utext | 支持html的文本替换 | <p th:utext="${htmlcontent}">conten</p> || th:object

2021-08-09 19:51:09 282

原创 【Spring Boot 27,Java中高级面试宝典

}/** * 获取数据源 * @return 返回数据源 */public static DataSource getDataSource(){ return ds;}/** * 获取连接对象 * @return 返回连接对象 * @throws SQLException 抛出的编译异常 */public static Connection getConn() throws SQLException { return ds.get

2021-08-09 19:49:55 135 1

原创 基于java+jsp的火车票网上购票系统,Java算法书籍推荐

) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COMMENT=‘订票信息表’;– Records of dpiaoINSERT INTO dpiao VALUES (‘2’, ‘110’, ‘9’, ‘已领票’);INSERT INTO dpiao VALUES (‘3’, ‘2’, ‘13’, ‘已付款’);INSERT INTO dpiao VALUES (‘4’, ‘2’, ‘14’, ‘已领票’);INSERT INTO

2021-08-09 00:01:15 140

原创 基于java+jsp的火车票网上购票系统,2021年Java常见面试题

– Records of dpiaoINSERT INTO dpiao VALUES (‘2’, ‘110’, ‘9’, ‘已领票’);INSERT INTO dpiao VALUES (‘3’, ‘2’, ‘13’, ‘已付款’);INSERT INTO dpiao VALUES (‘4’, ‘2’, ‘14’, ‘已领票’);INSERT INTO dpiao VALUES (‘9’, ‘2’, ‘2’, ‘待付款’);INSERT INTO dpiao VALUES (‘10’, ‘2’.

2021-08-09 00:00:12 366

原创 基于Java jsp,尚硅谷shiro百度视频

用了技术框架: HTML+CSS+JavaScript+jsp+mysql+Spring+mybatis主要功能截图:=======SSH汽车出租平台租赁网站平台-用户角色-查看所有租车信息↓↓-用户角色-提交租车订单我的订单和租车记录租车详情相关系统设计实现推荐:基于java springboot+mybatis电影售票网站管理系统前台+后台设计和实现基于java ssm springboot+mybatis酒庄内部管理系统设计和实现基于JAV.

2021-08-08 23:59:06 93

原创 在Java中如何用一把锁保护多个资源?,linux系统入门书籍

但是用一把锁有个问题,就是性能太差,会导致取款、查看余额、修改密码、查看密码这四个操作都是串行的。而我们用两把锁,取款和修改密码是可以并行的。用不同的锁对受保护资源进行精细化管理,能够提升性能。 这种锁还有个名字,叫细粒度锁。保护有关联关系的多个资源如果多个资源是有关联关系的,那这个问题就有点复杂了。例如银行业务里面的转账操作,账户 A 减少 100 元,账户 B 增加 100 元。这两个账户就是有关联关系的。那对于像转账这种有关联关系的操作,我们应该怎么去解决呢?先把这个问题代码化。我们声明了个账户类

2021-08-08 23:58:01 202

原创 图解快速排序,备战三个月

现在交换哨兵i和哨兵j所指向的元素的值。交换之后的序列如下。6 1 2 5 9 3 4 7 10 8到此,第一次交换结束。接下来开始哨兵j继续向左挪动(再友情提醒,每次必须是哨兵j先出发)。他发现了4(比基准数6要小,满足要求)之后停了下来。哨兵i也继续向右挪动的,他发现了9(比基准数6要大,满足要求)之后停了下来。此时再次进行交换,交换之后的序列如下。6 1 2 5 4 3 9 7 10 8第二次交换结束,“探测”继续。哨兵j继续向左挪动,他发现了3(比基准数6要小,满足要求)之后又停了下来。哨

2021-08-08 23:56:52 98

原创 图书信息管理系统(SSM框架,BAT这种大厂履历意味着什么

<property name="dataSource" ref="dataSource"/> <!-- 绑定 MyBaties 全局配置文件: mybatis-config.xml --> <property name="configLocation" value="classpath:mybatis-config.xml"/></bean><!-- 4.配置扫描 Dao 接口包,动态实现 Dao 接口注入...

2021-08-08 23:55:41 161

原创 嘘,别着急,springmvc源码分析pdf百度云

架构优化当单台数据库实例扛不住,我们可以增加实例组成集群对外服务。当发现读请求明显多于写请求时,我们可以让主实例负责写,从实例对外提供读的能力;如果读实例压力依然很大,可以在数据库前面加入缓存如 redis,让请求优先从缓存取数据减少数据库访问。缓存分担了部分压力后,数据库依然是瓶颈,这个时候就可以考虑分库分表的方案了,后面会详细介绍。硬件优化硬件成本非常高,一般来说不可能遇到数据库性能瓶颈就去升级硬件。在前期业务量比较小的时候,升级硬件数据库性能可以得到较大提升;但是在后期,升级硬件得到的收

2021-08-08 23:54:35 140

原创 哟!听说滴滴考了Java多线程,Java菜鸟教程视频

CAS的全称是Compare-and-Swap,也就是比较并交换,它包含了三个参数:V,A,B,V表示要读写的内存位置,A表示旧的预期值,B表示新值,当执行CAS时,只有当V的值等于预期值A时,才会把V的值改为B,这样的方式可以让多个线程同时去修改,但也会因为线程操作失败而不断重试,对CPU有一定程序上的开销。AQS简介AQS,全名AbstractQueuedSynchronizer,是一个抽象类的队列式同步器,它的内部通过维护一个状态volatile int state(共享资源),一个FIFO线程

2021-08-08 23:53:25 115

原创 写给互联网大厂员工的真心话,【程序猿历程(2)

最后由于文案过于长,在此就不一一介绍了,这份Java后端架构进阶笔记内容包括:Java集合,JVM、Java并发、微服务、SpringNetty与 RPC 、网络、日志 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、Java基础、负载均衡、数据库、一致性算法、Java算法、数据结构、分布式缓存等等知识详解。本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知...

2021-08-06 13:41:54 86

原创 全网首发Spring5秘籍手册+知识导图,北理工的恶龙

如果勇士们能完成任务,输出校长需要花的最小费用;否则输 出 “ bit is doomed! ”————————————————代码实现自学了一个多月的Java了,同学发了我他们学校的C语言题目,感觉有趣,就试了一下,花了不少时间,自己还查了一些代码,比如nextInt的实现,最后删删改改才完成这个拙劣的程序,程序运行应该没什么问题,就是没有输入保护,多输入数字不会影响程序进程,但是会占用内存,混淆视听,不过问题也不大,以下是代码了:package com.kuang.test;impo

2021-08-06 13:40:42 111

原创 全网最细节的sds讲解,两个案例五分钟轻松入门Harmony(鸿蒙

|element目录中的文件名称建议与下面的文件名保持一致。每个文件中只能包含同一类型的数据。boolean.jsoncolor.jsonfloat.jsonintarray.jsoninteger.jsonpattern.jsonplural.jsonstrarray.jsonstring.json|| media | 示媒体资源,包括图片、音频、视频等非文本格式的文件。 | 文件名可自定义,例如:icon.png || animation

2021-08-06 13:39:30 447

原创 入职阿里啦,这套Github上40K+star面试笔记(1)

红黑树B-TREE位图Zookeeper 专题什么是Zookeeper?Zookeeper 如何保证了分布式一致性特性?ZooKeeper 提供了什么?了解ZAB 协议?zookeeper 是如何保证事务的顺序一致性的?zk 节点宕机如何处理?zookeeper 负载均衡和 nginx 负载均衡区别分布式集群中为什么会有 Master?Zookeeper 有哪几种几种部署模式?集群支持动态添加机器吗?chubby 是什么,和 zookeeper 比你怎么看 ?Zooke.

2021-08-06 13:38:24 154

原创 作为一个Java程序员,完美收官!字节4面斩下2-2Offer(1)

字节跳动4面(3面技术+1面HR)面试经历1.1 字节跳动一面首先自我介绍,balabala……(此处省略三分钟)找一个你的项目说一下,首先你的项目介绍,承担了什么职责,做了哪些工作,难点(因人而异,这就不再赘述了,balabal……(省略三分钟))从你项目中看出,你使用的是mysql,mysql的int数据类型都有哪些?从小到大说一下,各占多少字节?java中的int都有哪些?字节占多少问你一个关于计算机网络的,tcp的三次握手说一下?tcp和udp的区别?你.

2021-08-06 13:37:12 148

原创 作为一个Java开发者,Java虚拟机:Java内存区域及对象

3、内核空间和用户空间连接内存和寄存器的是地址总线,地址总线的宽度影响了物理地址的索引范围,因为总线宽度决定了处理器一次可以从寄存器或内存中获取多少个Bit,同时也决定了处理器最大可以寻址的地址空间。比如32位CPU的系统,可寻址范围为0×00000000~0xFFFFFFFF,即232=4294967296个内存位置,每个内存位置1个字节,即32位CPU系统可以有4GB的内存空间。不过应用程序是不可以完全使用这些地址空间的,因为这些地址空间被划分为了内核空间和用户空间,程序只能使用用户空间的内存。内核空

2021-08-06 13:36:03 103

原创 传智播客spring笔记,Java进阶:什么是TCP-IP

在TCP连接中必须要明确客户端与服务器端,由客户端向服务端发出连接请求,每次连接的创建都需要经过“三次握手”。第一次握手,客户端向服务器端发出连接请求,等待服务器确认第二次握手,服务器端向客户端回送一个响应,通知客户端收到了连接请求第三次握手,客户端再次向服务器端发送确认信息,确认连接三、UDP通信1. 数据包和发送对象DatagramPacket数据包 的作用就如同是“集装箱”,可以将发送端或者接收端的数据封装起来。然而运输货物只有“集装箱”是不够的,还需要有码头。在程序中需要实现.

2021-08-06 13:34:55 103

原创 传智播客Java面试题,【源码分析设计模式 7

五、享元模式的使用场景1、何时应用(1)系统中有大量对象时(2)这些对象消耗大量内存时(3)这些对象的状态大部分可以外部化时(4) 需要缓冲池的场景2、实现方式用唯一标识码判断,如果在内存中有,则返回这个唯一标识码所标识的对象,用hashmap存储。3、应用实例(1)string常量池(2)数据库连接池六、代码实例应用实例的话,其实上面的模板就已经是一个很好的例子了,类似于String常量池,没有的对象创建后存在池中,若池中存在该对象则直接从池中取出。为了更好的理解享

2021-08-06 13:33:46 107

原创 传智播客Java视频教程,42岁程序员面试

说实话,一万六的工资是毕业生工作两年的价格,还不是985。年轻气盛终归英雄暮年,能有工作机会已经不错,大厂只给工资,不给规划,误人。尽管就业市场对大龄程序员来说确实不太友好,但是程序员工资要高一点,我觉得还是应该的!而对于这位程序员,相信hr不会招,研发总监也不会招,那么,他放低身段只会更让别人瞧不上。月薪一万六,对于大厂就是应届白菜价,很多小公司却接不起,因为一万六对于大多数小公司,创业公司就是高薪了,他们的模式就是有一两个高薪核心,普遍就是6-8,你可以离职,大不了再换一批人;但对于大厂就是应届.

2021-08-06 13:32:33 109

原创 Java面试题,程序员,我教你玩转Tomcat监控管理

<role rolename="manager-gui"/><role rolename="manager-jmx"/><user username="tomcat-jmx" password="<YOUR_PASSWORD>" roles="manager-jmx,manager-gui"/>此代码段首先定义了我们要分配给用户的两个角色。然后,它创建一个新的 tomcat-jmx用户,为其分配这些角色,并为用户设置密码。如果您使用全新安装的T

2021-08-05 12:38:40 231

原创 Java面试题,如何使用Java来实现平衡二叉树AVL?代码详解

parent.left = null; } else if (parent.right != null && parent.right.value == value) {// 是由子结点 parent.right = null; } } else if (targetNode.left != null && targetNode.right != null) { // 删除有两颗子树的节点 int minVal = delRightTre...

2021-08-05 12:37:36 96

原创 Java面试题!学会反射的基础

if (param.equals("HashMap")) { map = new HashMap<>();} else if (param.equals("LinkedHashMap")) { map = new LinkedHashMap<>();} else if (param.equals("WeakHashMap")) { map = new WeakHashMap<>();}return map;}通过传入参数`para.

2021-08-05 12:36:41 102

原创 Java面试题目!硬核实践!这些不为人熟知的字节码指令你真的了解了吗

Exception table:        from    to  target type            0     6     8   any# 装箱拆箱在刚开始学习 Java 语言的你,可能会被自动装箱和拆箱搞得晕头转向。Java 中有 8 种基本类型,但鉴于 Java 面向对象的特点,它们同样有着对应

2021-08-05 12:35:31 130

原创 Java面试题目!探析JDK提供(1)

DubboDubbo中也大量使用SPI的方式实现框架的扩展, 不过它对Java提供的原生SPI做了封装,允许用户扩展实现Filter接口3 使用介绍要使用Java SPI,需要遵循如下约定:1、当服务提供者提供了接口的一种具体实现后,在jar包的META-INF/services目录下创建一个以“接口全限定名”为命名的文件,内容为实现类的全限定名;2、接口实现类所在的jar包放在主程序的classpath中;3、主程序通过java.util.ServiceLoder动态装载实现模块,它通过.

2021-08-05 12:34:35 72

原创 Java面试题目!基于基于jsp

管理员功能:=======系统登录,首页,。。新增管理员,管理员信息列表,网站用户信息列表,。。新增公告信息,公告信息查询,。。美容项目类型信息查询,城市列表,操作。。美容院信息列表,美容项目信息查询,。订单信息查询,美容项目评价信息列表等功能。。。。用户角色包含以下功能:。注册,登录,网站公告,。。。美发分类,染发详情,。。。加入购物车,下订单,。。活动详情,关键词搜索等功能。。。。技术: HTML 、CSS、JavaScript、jsp、mysql、Spring、Sp

2021-08-05 12:33:20 58

原创 Java面试题目!Java学习路线和方法推荐

我们写程序的都知道一个公式叫做 “程序设计 = 算法 + 数据结构”。我们想让我们的网站的地盘更加牢固的话,我觉得数据结构与算法还是很有必要学习的。所以第三步,我推荐可以适当花时间看一下 数据结构与算法 但是,同样不做强求!你抽时间一定要补上就行!三、数据结构与算法如果你想进入大厂的话,我推荐你在学习完 Java基础之后,就开始每天抽出一点时间来学习算法和数据结构。为了提高自己的编程能力,你也可以坚持刷 Leetcode。就目前国内外的大厂面试来说,刷 Leetcode 可以说已经成了不得不走的一条.

2021-08-05 12:32:17 388 1

原创 Java高级开发面试,《零基础

2、授权grant 权限 on 数据库.表 to '用户'@'IP地址'3、取消授权revoke 权限 on 数据库.表 from '用户名'@'IP地址'授权实例如下:grant all privileges on db1.tb1 TO '用户名'@'IP'grant select on db1.* TO '用户名'@'IP'grant select,insert on *.* TO '用户名'@'IP'revoke select on db1.tb1

2021-08-04 20:02:18 66

空空如也

空空如也

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

TA关注的人

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