自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【SpringMVC笔记,大厂Java高级面试题汇总解答

===================================================================================SpringMVC 的处理器拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行 预处理 和 后处理。开发者可以自己定义一些拦截器来实现特定的功能。过滤器与拦截器的区别:拦截器是 AOP 思想的具体应用。过滤器(filter):servlet 规范中的一部分,任何 java web 工程都可以使用;在

2021-08-10 21:00:01 188

原创 【SpringMVC 笔记,Java经典面试题及答案

用户发出请求,DispatcherServlet 接收请求并拦截请求。我们假设请求的 URL 为 : http://localhost:8080/sm/hello如上 URL 拆分成三部分:http://localhost:8080 表示服务器域名sm 表示部署在服务器上的 web 站点hello 表示控制器通过分析,如上URL表示为:请求位于服务器 localhost:8080 上的 sm 站点的 hello控制器,用户发出请求。HandlerMapping 为处理

2021-08-10 20:58:51 164

原创 【SpringMVC 笔记(1),字节跳动面试分享

<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.6.RELEASE</version> </dependency> <de.

2021-08-10 20:56:34 156

原创 【SpringBoot (1),一份非常适合收藏的Java进阶面试题

private Date bir;@Value("${strs}")private String[] strs;@Value("${list}")private List<String> list;@Value("#{${maps}}") // map注入取值有点特殊private Map<String, String> maps; @GetMapping("hello")public String hello() { // p

2021-08-10 20:54:26 116

原创 【Spring5,搞定kafka看这一篇就够了

如果⼀个对象既实现 InitializingBean 同时又提供的 普通的初始化方法,执行顺序?答:先执行 InitializingBean,再执行 普通初始化方法。注入⼀定发生在初始化操作的前面。初始化操作到底是什么?资源的初始化:数据库、IO、网络、…销毁阶段 - DisposableBean、destroy-methodSpring 销毁对象前,会调用对象的销毁方法,完成销毁操作。Spring 什么时候销毁所创建的对象?ctx.close();销毁方法提供:程序员根据..

2021-08-10 20:53:11 185

原创 中软国际Java面试题和答案,Java开发环境搭建超全详解

接受许可协议,下一步选择安装路径,选择增强版(也可以不选),下一步下一步下一步安装安装中…安装结束,输入许可证输入许可证重启电脑,安装完毕。(三) CentOSLinux镜像官网:https://www.centos.org/download/从官网,可以看出提供了三种类型的CentOS镜像:1.DVD ISO:常用版本,包含大部分功能,大小为4.2G左右;2.Everything ISO:功能最全版本,大小为8.8G左右;3.Minimal ISO:压缩版

2021-08-07 13:32:27 455

原创 中级Java工程师面试题,Android热修复方案盘点

腾讯 QZone Muitidex方案正文热修复方案按照是否必须重启 分为两类: 重启生效 / 即时生效。按照 实现方式可以分为3类: java层的实现 / native层的实现 / java native混合实现阿里AndFix 方案(已弃用)AndFix 是 无需重启 的 native层 的实现. 但是,AndFix目前已经3年多没维护更新。因为阿里已经有了新的替代方案,不再需要维护。另外,这种纯native的实现方式,兼容性十..

2021-08-07 13:29:47 238 2

原创 一起看看这些大厂面试真题查漏补缺吧,Kafka是如何实现高性能的

在存储机制上,使用了Log Structured Merge Trees(LSM) 。注:Log Structured Merge Trees(LSM),谷歌 “BigTable” 的论文,中提出,LSM是当前被用在许多产品的文件结构策略:HBase, Cassandra, LevelDB, SQLite,Kafka。LSM被设计来提供比传统的B+树或者ISAM更好的写操作吞吐量,通过消去随机的本地更新操作来达到这个目标。这个问题的本质还是磁盘随机操作慢,顺序读写快。这二种操作存在巨大的差距,无论是磁盘还

2021-08-07 13:27:02 168

原创 一起看看这些大厂面试真题查漏补缺吧,Java面试题总结(附答案

3、Java 中什么叫单例设计模式?请用 Java 写出线程安全的单例模式4、在 Java 中,什么叫观察者设计模式(observer design pattern)?5、使用工厂模式最主要的好处是什么?在哪里使用?6、举一个用 Java 实现的装饰模式(decorator design pattern)?它是作用于对象层次还是类层次?7、在 Java 中,为什么不允许从静态方法中访问非静态变量?8、设计一个 ATM 机,请说出你的设计思路?9、在 Java 中,什么时候用重载,什么时候用重写?

2021-08-07 13:25:41 184

原创 一个星期+4轮面试终拿下offer,Java基础知识面试题

JRE(Java Runtime Environment),Java运行环境JDK中包含JRE,JDK中有一个名为jre的目录,里面包含两个文件夹bin和lib,bin就是JVM,lib就是JVM工作所需要的类库。二、== 和 equals 的区别是什么?对于基本类型,==比较的是值;对于引用类型,==比较的是地址;equals不能用于基本类型的比较;如果没有重写equals,equals就相当于==;如果重写了equals方法,equals比较的是对象的内容;三、

2021-08-07 13:24:21 140

原创 【Spring Boot 15】启动类原理解析

而基于JavaConfig的配置形式是这样的:@Configurationpublic class MockConfiguration{ @Bean public MockService mockService(){ return new MockServiceImpl(); }}任何一个标注了@Bean的方法,其返回值将作为一个bean定义注册到Spring的IOC容器,方法名将默认成该bean定义的id。3、表达依赖注入关系层面为了

2021-08-07 13:23:05 147

原创 让你的String性能提升10倍的几个秘诀,【计算机网络 15

package com.tcpip;import java.net.DatagramPacket;import java.net.DatagramSocket;public class UdpServerTest { public static void main(String[] args) throws Exception { //1、开放端口 DatagramSocket socket = new DatagramSocket(9090);.

2021-08-06 15:46:18 69

原创 被面试官问的Java问题难倒了,2021阿里Java面试题目大汇总

25.写一个JAVA死锁的列子?26.如何解决死锁?27.GC回收算法,及实现原理?28.HashMap数据存储结构? key重复了怎么办? 是如何解决的?29.Spring AOP的实现原理,底层用什么实现的?我把这些都整理成了一份文档,如下阿里技术二面(技术原理、个人擅长的项目)=======================================================================================重点是面试技术原理,以及对技术的热情

2021-08-06 15:45:11 244

原创 腾讯T2大牛手把手教你,非科班的B站惊险之旅

select的缺点select返回的是含有整个句柄的数组,应用程序需要遍历整个数组才能发现哪些句柄发生了事件select的触发方式是水平触发,应用程序如果没有完成对一个已经就绪的文件描述符进行IO操作,那么之后每次select调用还是会将这些文件描述符通知进程内核 / 用户空间内存拷贝问题,select每次都会改变内核中的句柄数据结构集,因而每次select调用时都需要从用户空间向内核空间复制所有的句柄数据结构,产生巨大的开销单个进程能够监视的文件描述符的数量存在最大限制,通常是10

2021-08-06 15:42:50 158

原创 腾讯T2亲自讲解,【计算机网络 11

package servlet.websocket;import java.io.IOException;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import javax.websocket.OnClose;import javax.websocket.OnError;import javax.websocket.OnMessage;import javax.websocket.OnOpen;imp

2021-08-06 15:41:45 82

原创 腾讯Java社招面试,Dubbo如何支持本地调用?InJvm方式解析

阿里二面凉经:设计模式+缓存+Spring+虚拟机+MySQL+中间件+并发等难题,全部迎刃而解阿里巴巴字节跳动那些大厂必问的HTTP该怎么学?我建议你看看这篇文章!蚂蚁、字节、PDD社招面经Java岗(分布式+线程安全+MySQL+CAS)Dubbo是一个远程调用的框架,对于一个服务提供者,暴露了一个接口供外部消费者调用,那么对于提供者自己是否可以调用这个接口,需要什么特殊处理吗?这篇文章就分享下Dubbo关于本地调用的实现机制,以及如何开启和关闭本地调用。injvm支持本地调用使用 D.

2021-08-06 15:40:39 125

原创 腾讯Java社招面试经验,要懂redis,首先得看懂sds

s = (char*)sh+hdrlen;//因为可以看到地址的顺序是 len,alloc,flag,buf,目前s是指向buf,//那么后退1位,fp 正好指向了flag对应的地址。fp = ((unsigned char*)s)-1;//下面就是根据switch(type) { case SDS_TYPE_5: { *fp = type | (initlen << SDS_TYPE_BITS); break; } case .

2021-08-06 15:39:31 173

原创 腾讯Java开发面试记录,Tomcat内存释放不了

JAVA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:NewSize=192m -XX:MaxNewSize=384m"CATALINA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m-XX:NewSize=192m -XX:MaxNewSize=384m"Linux:在/usr/local/apac

2021-08-06 15:38:18 132

原创 腾讯+华为+阿里面试真题分享,2020-08-22(1)

return salary; } public void setSalary(BigDecimal salary) { this.salary = salary; } } <?xml version="1.0" encoding="UTF-8" ? <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dt...

2021-08-06 15:37:08 92

原创 在阿里工作5年了,拼多多

6、什么是线程池?有哪几种创建方式?7、线程池的优点?8、CyclicBarrier 和 CountDownLatch 的区别二面1、介绍你的项目?2、什么是乐观锁和悲观锁3、sleep 方法和 wait 方法有什么区别?4、多线程同步有哪几种方法?5、Linux 环境下如何查找哪个线程使用 CPU 最长6、Java 死锁以及如何避免?7、如果你提交任务时,线程池队列已满,这时会发生什么8、死锁的原因携程三面:JVM+类加载+垃圾回收一面1. 描述一下 JVM 加载 Class

2021-08-05 15:04:37 79

原创 在阿里工作5年了,你技术这么好,总要改变点什么把

对于这个事情,我首先是很庆幸,庆幸自己当时还留下了自己阅读的心得和文字。但是转念一想,更多的是恐惧,恐惧的是,我不知道我现在头脑里面的技术知识,在几年之后,又会在哪里?唯一所幸我文笔还未辍,几年之后的文章估摸大都还在我的博客中。但是我头脑里面的东西呢?我还会记得多少呢?如果几年后这些知识注定忘记,我现在还有必要学习么?技术焦虑现在的技术圈子很火热,任何技术点,任何知识,只要你肯搜索,都能找到资料。但是现在技术圈确实有一个不好的地方,就是贩卖焦虑。这种贩卖焦虑的点并不在于形式,而是一种普遍的心态。特别是对

2021-08-05 15:03:30 108

原创 图文详解!老板,运维和开发又打起来了

那么虚拟机机就是下面这样的套房:最后就是我们的容器,就是下面这样的胶囊公寓:Docker本身并不是容器,它是创建容器的工具,是应用容器引擎。Docker有两句口号:“Build, Ship and Run”“Build once,Run anywhere(搭建一次,到处能用)”。容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。容器之间是共享同一套操作系统资源的,由于容器是共享主操作系统的内核,因此就无法在服务器上运行与主服务器不同的操作系统,也.

2021-08-05 15:02:21 76

原创 图文详解!Java常用事件监听器与实例分析

import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.WindowConstants;public class ActionEvent extends JFrame{JButton jButton; //定义点击按钮public ActionEvent() { setTitle("动作事件监听器"); setSize(400,400

2021-08-05 15:01:13 611

原创 原理解析!「Java面试必看

实际上还有很多很多优秀的项目用到了 Netty,Netty 官方也做了统计,统计结果在这里:https://netty.io/wiki/related-projects.html 。介绍一下Netty的核心组件?????‍????面试官 :Netty 核心组件有哪些?分别有什么作用????? 我 :表面上,嘴上开始说起 Netty 的核心组件有哪些,实则,内心已经开始 mmp 了,深度怀疑这面试官是存心搞我啊!简单介绍 Netty 最核心的一些组件(对于每一个组件这里不详细介绍)。通过下面这张图

2021-08-05 15:00:06 79

原创 原理竟然是这!当年

敲完这段话以后,我顿了下,完全停下了打字。思考了很久,我决定把准备了四五天的,各种为了讲清楚 BASE 理论的应用实例全部删掉。因为我很想谈谈自身的一些经历。也许,那些折腾和熬人的经历能更清楚的告诉大家,为什么会有 BASE 理论这套东西出来。一、前些年,互联网行业里对架构师这个岗位的标准还不是很清晰。所以,很多架构师的工作往往就是一些技术被公司认可的资深工程师负责。彼时,正巧我也是这类人员之一,故也得到了一个从零开始架设一套广告投放平台的机会。我很喜欢钻研技术,对这种机会自然很看重。那时候,架

2021-08-05 14:59:01 64

原创 原创Kafka学习笔记,Redis面试题及答案整理

512M8、为什么Redis需要把所有数据放到内存中?Redis为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。所以redis具有快速和数据持久化的特征,如果不将数据放在内存中,磁盘I/O速度为严重影响redis的性能。在内存越来越便宜的今天,redis将会越来越受欢迎, 如果设置了最大使用的内存,则数据已有记录数达到内存限值后不能继续插入新值。9、Redis集群方案应该怎么做?都有哪些方案?1.codis2.目前用的最多的集群方案,基本和twemproxy一致的效果

2021-08-05 14:57:54 271

原创 历经30天,C#位运算(1)

} else if ((i_name& 16) == 16) {ret= StaticUtil.girlIni.ReadValue(“girl”,country+"-10");} else if ((i_name& 32) == 32) {ret= StaticUtil.girlIni.ReadValue(“girl”,country+"-20");}return ret;}③保留某一个数的某一位与一个数进行&运算,此数在该位取1例如:9&am

2021-08-05 14:57:00 139

原创 卑微打工人!漫画编程:Java如何在二叉树中进行添加

![](https://upload-images.jianshu.io/upload_images/15590149-44b52f110186a7c3?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)1. `public class BinTree {`2. `BNode theBTRootNode;`4. `public BinTree() // constructor`5. `{`6. `theBTRoot

2021-08-05 14:55:47 84

原创 卑微打工人!jdk8

Collectors.counting 中内部做的调用reducing()进行数据汇总 public static <T> Collector<T, ?, Long> counting() { return reducing(0L, e -> 1L, Long::sum); } 通过maxBy()与minBy()获取最大值最小值public class CollectorsDemo { public static void

2021-08-05 14:54:35 67

原创 全网首发!Java学习笔记(三(1)

public void mouseReleased(MouseEvent e) { //鼠标释放 x2 = e.getX(); y2 = e.getY(); System.out.println("release!");}@Overridepublic void mouseEntered(MouseEvent e) { //鼠标进入界面 System.out.println("In");}@Overridepublic .

2021-08-04 22:29:43 67

原创 全网疯传!Java利用TCP协议实现客户端与服务器通信【附通信源码

目录TCP协议概念ServerSocket类服务器端程序客户端程序Hello!大家好哇!我是灰小猿!上一篇博客和大家分享了在网络编程中要注意的基础知识,关于IP、TCP、UDP以及端口和套接字的一些概念,想了解的小伙伴可以看我的这篇文章“盘点那些进行网络编程必须要知道的基础知识”,那么今天大灰狼就来和大家分享一下如何使用TCP/IP进行网络程序的开发。TCP协议概念=======先来了解一下TCP协议的基本概念。我们知道**TCP是可靠而非安全的网络协议。它可以保证数据在从一端送至另一

2021-08-04 22:28:28 293

原创 全网最全原理讲解!Python教程之正则表达式(提高篇)

| \s | 空格、制表符、换行符 || \S | 除空格、制表符、换行符以外的任何字符 |同时在正则表达式的使用过程中,re模块中还有另外一种读取文本匹配内容的方法:findall()方法。该方法与我们之前所讲的group()方法不同,re模块中的group()方法只能匹配文本中的第一个符合要求的匹配对象,而findall()方法则匹配文本中所有符合要求的内容。并且以列表的形式返回所有符合要求的匹配。对比实现效果代码如下:search()和findall()方法比较import re

2021-08-04 22:27:03 203

原创 全球最火的程序员学习路线!B站崩了,作为微博程序员的我还在加班

6.反射用途7.所用数据库8.项目难点,问题9.如何解决项目中遇到的问题10.项目中遇到的最难解决的地方二面1.自我介绍2.你这项目技术栈太老了…你对什么技术比较熟悉,或者说看过什么的源码?答:看过Hashmap的,然后Spring的源码也看过一点(说完我就后悔了,这要是往深了问我Spring源码我不完蛋了)3.那你说说对Spring的了解吧答:IOC、AOP那一套4.AOP有用过吗?怎么实现的?答:项目里没用过,但知道有JDK实现和CGLib实现5.这俩实现的区别?答:接口、

2021-08-04 22:25:55 90

原创 你花了多久弄明白架构设计?Java已死,有事烧纸

与其被捉弄,倒不如逃离,逃离这个看似五光十色,实际却昏暗无比的世界。**眼角的一滴泪水算是我留在这个世界最后的礼物。**闭上双眼,脑中思绪万千,回想起这10多年来的点点滴滴。作为一名合格的Java程序员,我也称得上是戎马一生:看过很多的人倒在了08年的金融海啸;嘲笑过许多人撑不过互联网的“996”;感叹过那个让大多数人为之颤栗的2018;自己却始终没有逃过2020伊始的疫情爆发。不要误会,我没有被病毒感染,身体好得很!我万万没有想到的是,我为之付出了无数心血的企业,在优化人员的时候最先考虑的

2021-08-04 22:22:51 94

原创 字节跳动技术总监自爆:Java开发转行小学数学教师

为什么要用多线程任何一项技术的出现都是为了解决现有问题。之前的互联网大多是单机服务,体量小;而现在的更多是集群服务,同一时刻有多个用户同时访问服务器,那么会有很多线程并发访问。比如在电商系统里,同一时刻比如整点抢购时,大量用户同时访问服务器,所以现在公司里开发的基本都是多线程的。使用多线程确实提高了运行的效率,但与此同时,我们也需要特别注意数据的增删改情况,这就是线程安全问题,比如之前说过的 HashMap vs HashTable,Vector vs ArrayList。要保证线程安全也有很多方

2021-07-30 17:28:09 373

原创 字节跳动学习笔记:Java语言程序设计第十版课后答案

第一部分 项目+自我介绍首先上来简单做一下自我介绍?然后让介绍简历里的项目,说下项目里的难点,技术架构。平时开发过程中都遇到过哪些难题?平时都这么和同事沟通?第二部分 java基础方面首先还是老生常谈的hashmap。hashmap的set和get的时间复杂度是多少?为什么是O(1), hashmap 在jdk1.8是线程安全的吗?为什么是线程安全的?concureenthashmap了解吗?他是如何实现线程安全的?说说java泛型,为什么称java泛型为伪泛

2021-07-30 17:27:22 229

原创 字节跳动学习笔记:Java数组遍历的几种方法

如何使用Spring Boot构建微服务体系通过本文内容的学习,你将循序渐进的学习到Spring Boot微框架的设计理念和原理,并对框架重点功能和模块进行逐一详解;其次,你将会学习到如何基于Spring Boot微框架构建一套完整的微服务体系;最后总结Spring Boot相关内容,以温故知新。文档内容分为七大模块,为了方便大家阅读,小编就以截图展示部分内容第1章:了解微服务SpringBoot是一个可使用Java构建微服务的微框架,所以在了解SpringBoot之前,我们需要先了解什么是微服务

2021-07-30 17:26:37 114

原创 字节跳动学习笔记:Java传智播客网盘电子书

第1 章 并发编程线程基础1.1 什么是线程1.2 线程创建与运行1.3 线程通知与等待1.4 等待线程执行终止的join 方法1.5 让线程睡眠的sleep 方法1.6 让出CPU 执行权的yield 方法1.7 线程中断1.8 理解线程上下文切换1.9 线程死锁1.10 守护线程与用户线程1.11 ThreadLocal第2 章 并发编程的其他基础知识2.1 什么是多线程并发编程2.2 为什么要进行多线程并发编程2.3 Java 中的线程安全问题2.4 Java 中共

2021-07-30 17:25:48 209

原创 字节跳动大神讲座:华为Java开发工程师要求

事故背景公司最近安排了一波商品抢购活动,由于后台小哥操作失误最终导致活动效果差,被用户和代理商投诉了。经理让我带同事们一起复盘这次线上事故。什么原因造成的?抢购活动计划是零点准时开始,22:00 运营人员通过后台将商品上线23:00后台小哥已经将商品导入缓存中,提前预热抢购开始的瞬间流量非常大,按计划是通过Redis承担大部分用户查询请求,避免请求全部落在数据库上。如上图预期大部分请求会命中缓存,但是由于后台小哥预热缓存的时候将所有商品的缓存时间都设置为2小时过期,所有的商品在同一个时间点全

2021-07-30 17:24:59 87

原创 字节跳动大神讲座:Java观察者模式和发布订阅模式的区别

选择在现在这个浮躁而又拜金的社会,我相信很多人做技术并非出于热爱,只是被互联网的高薪吸引,毕竟技术岗位非常枯燥,不仅要面对奇奇怪怪的需求,还要不停的充实自己避免被淘汰。所以想要吃好技术这碗饭并不容易。我一直在思考,我喜欢什么,我适合什么,我应该从事什么岗位。我的前同事东哥和我境遇相似,只是他比我毕业早了差不多十年,毕业之后读了在职硕士,有近三年没有休过周末,这一点我很佩服。选择的重要性不言而喻,如果方向错了,再努力也是徒劳。回首走过的这几年,我自认为我在关键的节点做出了还算正确的选择。我身边有很多对职

2021-07-30 17:24:08 102

空空如也

空空如也

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

TA关注的人

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