自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Spring 持久层,Java大厂面试攻略

进行动态代理底层实现的切换,默认 `false` 是 JDK,`true` 是 Cglib。<tx:annotation-driven transaction-manager="dataSourceTransactionManager" proxy-target-class="true"/> Spring 中的事务属性(Transaction Attribute)============================================================

2021-08-10 20:51:19 133

原创 【Spring Cloud 9,腾讯Java社招面试流程

2、Container (容器)容器的定义和镜像几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。由于容器的定义并没有提及是否要运行容器,所以实际上,容器 = 镜像 + 读写层。3、Repository(仓库)Docker仓库是集中存放镜像文件的场所,镜像构建完成后,可以很容易在当前宿主上运行,但是,如果需要在其他服务器上使用这个镜像,我们需要一个集中的存储、分发镜像的服务,Docker Registry(仓库注册服务器)就是这样的服务。 有时候会把仓库(R

2021-08-10 20:50:13 249

原创 【Spring Cloud 10,Java架构师技术路线

资源的调用关系,例如资源的调用链路,资源和资源之间的关系;运行指标,例如 QPS、线程池、系统负载等;控制的效果,例如直接限流、冷启动、排队等。Sentinel 的设计理念是让您自由选择控制的角度,并进行灵活组合,从而达到想要的效果。3、什么是熔断降级除了流量控制以外,及时对调用链路中的不稳定因素进行熔断也是 Sentinel 的使命之一。由于调用关系的复杂性,如果调用链路中的某个资源出现了不稳定,可能会导致请求发生堆积,进而导致级联错误。Sentinel 和 Hystrix ..

2021-08-10 20:48:58 255

原创 【Spring Boot 2,BAT常见的20道Java面试题详解

// TODO Auto-generated method stub HttpServletRequest request = (HttpServletRequest) srequest; System.out.println("this is MyFilter,url :"+request.getRequestURI()); filterChain.doFilter(srequest, sresponse); } @Override public void init(..

2021-08-10 20:46:45 1461

原创 【Spring Boot 21(1),springmvc基础入门

4、以上都搞定之后,就开始打包如果是初次打包点击build,如果不是请点击Rebuild。5、最后找到输出目录即可所有的输出文件都在out目录下,运行 java -jar xxxx.jar即可运行项目。三、命令行打包1、cmd到项目指定目录2、输入命令:mvn install出现 BUILD SUCCESS 证明打包成功,发现 自动生成了 target 目录, jar 包就在目录里边:3、运行jar包即可java -jar target/service_edu.j

2021-08-10 20:43:18 55

原创 [笔记]后端面试知识点准备

https://zhuanlan.zhihu.com/p/124278272[]()Java对象创建的过程https://zhuanlan.zhihu.com/p/143743569讲解一下CMS垃圾回收器的具体回收过程以及特点java.class是在哪种类加载器里面新生代survivor为什么要分两部分老年代的回收算法有什么cms介绍一下full gc发生在什么时候多线程如果多次调用start会怎么样什么情况下会触发full gcJava web框架===============

2021-08-07 13:20:36 116

原创 Zookeeper协议篇-Paxos算法与ZAB协议

拜占庭问题1982年 ,Lamport与另两人共同发表了论文提出了一种计算机容错理论,为了描述这个理论中的问题,假设了一个问题相关的故事场景,如下:拜占庭帝国有许多支军队,不同军队的将军之间必须制订一个统一的行动计划,从而做出进攻或者撤退的决定,同时,各个将军在地理上都是被分隔开来的,只能依靠军队的通讯员来进行通讯。然而,在所有的通讯员中可能会存在叛徒,这些叛徒可以任意篡改消息,从而达到欺骗将军的目的。这就是著名的拜占庭问题,而这个问题就和分布式场景下异步系统和不可靠的协议中达到一致性类似,后来L

2021-08-07 13:19:19 138

原创 SpringBoot:定制-Actuator

metrics:enabled: true正如以上片段所示,`endpoints.enabled`设置为false就能禁用Actuator的全部端点,然后将`endpoints.metrics.enabled`设置为true重新启用`/metrics`端点。# 三、添加自定义度量信息你可能还想定义自己的度量,用来捕获应用程序中的特定信息。比方说,我们想要知道用户往阅读列表里保存了多少次图书,最简单的方法就是在每次调用`ReadingListController`的`addToReadingLi

2021-08-07 13:17:59 171

原创 Netty常量池

再往后, 要配置Channel, 那么就出现了ChannelOption, 要配置数据库就可能会出现DatabaseOption(这一个是为了让大家更好的理解常量的含义, 笔者臆想的)于是ChannelOption表示用于Channel配置信息中的key, 我们看到这个ChannelOption的源码, 一开始出现了一个pool, 池子, 就是本文的核心主题, 常量池, 这个池子的作用是用来保存常量的, 假设我有许多的Channel配置, 那么我自然就需要有许多的ChannelOption, 由于配

2021-08-07 13:16:39 83

原创 Netty常量池(1)

public static final ChannelOption<Integer> SO_RCVBUF = valueOf("SO_RCVBUF"), 通过valueOf作为入口进行创建, 可以联想到, 这个SO_RCVBUF就是常量池中ConcurrentMap的key, 与此同时会创建一个ChannelOption, 这个ChannelOption的name也是SO_RCVBUF, 我们再来看看ConstantPool的valueOf源码public T valueOf(Strin

2021-08-07 13:15:18 74

原创 Java面试题总结(基础面试题完结版,2020-10-13

CPU 缓存,在多核 CPU 的情况下,带来了可见性问题操作系统对当前执行线程的切换,带来了原子性问题译器指令重排优化,带来了有序性问题为了解决并发编程的三大问题,提出了 JSR-133,新的 Java 内存模型,JDK 5 开始使用。简单总结下Java 内存模型是 JVM 的一种规范定义了共享内存在多线程程序中读写操作行为的规范屏蔽了各种硬件和操作系统的访问差异,保证了 Java 程序在各种平台下对内存的访问效果一致解决并发问题采用的方式:限制处理器优化和使..

2021-08-07 13:12:39 117

原创 Java面试基础篇之java基础语法之七:抽象类与接口

接口不能单独被实例化扩展(extends) vs 实现(implements) 扩展指的是当前已经有一定的功能了, 进一步扩充功能. 实现指的是当前啥都没有, 需要从头构造出来接口中只能包含抽象方法. 对于字段来说 , 接口中只能包含静态常量(final static)interface IShape { void draw(); public static final int num = 10; }其中的 public, static, final 的关键字都可以省略.

2021-08-07 13:11:18 68

原创 职场中的中年危机,【跟我学Java就对了(1)

(2)练习①斐波那契数列的时间复杂度?什么是斐波那契数列呢?也就是0 1 1 2 3 5……这样的数列,也就是第三项是前两项之和。看出来了吗?所以,我们先来写一个斐波那契函数class Fib{ int ret =0; public int sfib(int x){ if(x==0){ ret = 0; }else if(x<3){ ret = 1; }els

2021-08-06 15:34:52 56

原创 美的Java面试题,蚂蚁金服内推四面:基础

什么是tomcat类加载机制?类加载器双亲委派模型机制?让你评价一下你自己?蚂蚁金服二面:扯了下项目、讲一下项目经历redis的底层数据结构了解多少?知道动态字符串sds的优缺点么(redis底层数据结构之一)?redis的单线程特性有什么优缺点?用过 Redis 的哪些数据结构, 分别用在什么场景?怎么解决缓存击穿问题的?Hytrix的隔离机制有哪些?Hytrix常见配置是哪些?做过哪些调优?JVM调优、数据库调优都行!给了个场景,问你怎么调?蚂蚁金服三面:依然是介绍自.

2021-08-06 15:33:43 512

原创 美团二面惜败,惊了!我这样优化了Tomcat后

进入页面,我们需要关注的就是其中JVM的列表参数:Eden Space:年轻代中的Eden区Survivor Space:年轻代中的Survivor 区Tenured Gen:老年代-养老区其中Eden Space、Survivor Space、Tenured Gen属于堆内存,而下面的三个(Code Cache、Compressed Class Space、Metaspace)属于非堆内存Code Cache:代码缓存区Compressed Class Space:压缩类空间Metaspac

2021-08-06 15:32:38 137

原创 美团Java面试题,【开发必备

在我们开发的任何应用程序中,以下的这些代码我相信一定是大家都写过的://服务层@Servicepublic class OrderServiceImpl { public Order queryOrder() { System.out.println("Reading from collectionA"); return new Order("1","2019-07-11"); } public int updateOrder() {

2021-08-06 15:31:28 219

原创 网易架构师深入讲解Java开发,工作多年,关于线程数存在的误区

上下文切换的过程是需要时间的;现在我们再来看一下上面的问题,我们小伙伴们再看一下是哪个方案快呢?是不是有些小伙伴们会说方案一,因为不需要线程切换。先不急,再往下看为什么要多线程按照上面的说法,有线程的上下文切换耗时,那么为什么需要多线程呢?小伙伴会不会感觉很乱,怎么回事?小伙伴想想在我们真实业务中,我们是什么流程?上图的流程:1、先发起网络请求2、web服务器解析请求3、请求后端的数据库获取数据4、获取数据后,进行处理5、把处理结果放回给用户这个是我们处理业务的时候,常规的请求流程

2021-08-06 15:30:15 70

原创 网易Java社招面试题,一次幸运的校招小米Java后台offer

1、10 亿个 URL,每个 URL的大小< 56B,要求去URL进行去重,并且机器的内存大小为 4G。2、说一下计算机网络中七层,五层,四层协议;IP 地址子网划分。3、在浏览器上敲一个URL,按下回车,发生了什么?4、问了不少Linux中的命令,具体忘记了,问了4,5个吧。5、问了几种查表,连表的情况,让大体说出SQL语句来。6、聊一聊对Tomcat的理解。7、手写一个快排。可以看出整体一面很富有校招的色彩,比较多的课本上的内容。而进入二面后,就开始..

2021-08-06 15:29:08 211

原创 缓存与数据库一致性如何解决,JavaBean与xml互转的方法详解

public class JaxbUtil {/** * JavaBean装换成xml 默认编码UTF-8 * * @param obj * @return */public static String converTomXml(Object obj) { return converToXml(obj, "UTF-8");}/** * JavaBean装换成xml * * @param obj * @param encoding * @re

2021-08-06 15:28:02 97

原创 统一命名服务、集群管理、分布式应用,2021-02-06

启动dockersystemctl start docker复制代码修改配置{“registry-mirrors”: [“https://3p42xjxk.mirror.aliyuncs.com”,“https://registry.docker-cn.com”,“http://hub-mirror.c.163.com”,“https://docker.mirrors.ustc.edu.cn”],“log-driver”: “json-file”,“log-opts”: {“max

2021-08-06 15:26:57 108

原创 纯干货,涨薪50%

先说了一下dfs递归实现。面试官说要优化。说了一下用迪杰斯特拉的思路,说可以。四辆小车,每辆车加满油可以走一公里,问怎么能让一辆小车走最远。说了好几种方案,面试官引导我优化了一下,但是还是不满意,最后他说跳过。hashmap的实现,hashtable,concurrenthashmap实现。MySQL的索引,B 树性质。Linux的cpu 100怎么排查,top jstack,日志,gui工具8 Linux大文件怎么查某一行的内容。Redis内存数据库的内存指的是共享内存么Redis的持久.

2021-08-06 15:25:53 133

原创 别再说你不会!为什么阿里的程序员成长如此之快?看完阿里P9大牛的

并发编程进阶(并发工具类实战+CAS+显示锁解析+线程池内部机制+性能优化)JVM深度剖析(理解运行时数据区+堆外内存解读+JDK+内存泄漏问题排查+Arthas+GC算法和垃圾回收器+类加载机制等)MySQL深度进阶深入Tomcat底层(线程模型+性能调优)3-5年资深:数据库(调优+事务+锁+集群+主从+缓存等)Linux(命令+生产环境+日志等)中间件&分布式(dubbo+MQ/kafka、ElasticSearch、SpringCloud等组件)5-7年架构:开源.

2021-08-05 14:52:48 116

原创 农民工看完都学会了!八年CRUD

问我如何把docker讲很清楚,我从物理机,虚拟机到容器具体实现稍微说了下。问我cgroup在linux的具体实现,不会。多线程用过哪些,chm和countdownlatch在实习用过二面:自我介绍Java的集合类哪些是线程安全分别说说这些集合类,hashmap怎么实现的,扯了很多MySQL索引的实现,innodb的索引,b+tree索引是怎么实现的,为什么用b+tree做索引节点,一个节点存了多少数据,怎么规定大小,与磁盘页对应。MySQL的事务隔离级别,分别解决什么问题。Redis.

2021-08-05 14:51:52 180

原创 八年Java开发心路历程,【springcloud

instance:hostname: eureka7001client:#false表示不向注册中心注册自己register-with-eureka: false#false表示自己就是注册中心,我的职责是维护服务实例,并不需要去检索服务fetch-registry: falseservice-url: #设置与eureka server交互的地址查询服务和注册服务都依赖这个地址 defaultZone: http://${eureka.instance.hostname

2021-08-05 14:50:40 75

原创 全靠这套面试题,历经一年学弟从家里到了阿里,只要有梦想总会实现的

我最近也整理了很多Java学习笔记跟面试真题,为了帮助大家能够顺利拿到心仪offer,现在分享给阅读到本篇文章的Java程序员朋友们,需要资料的可【点击此处】获取!求职故事====艰难起步====???? 2020 年 4 月 ~ 2020 年 8 月人没办法预知未来。正如 2020 年 4 月 21 日的那个深夜,当我为字节跳动一周后的面试激动地彻夜难眠时,不会想到迎接我的将是毫无悬念的失败。这一周里,我拼命背基础、写 LeetCode 题目,天亮就起,凌晨才睡,吃饭都在刷牛客找面经。只可

2021-08-05 14:49:40 741 1

原创 全靠这套面试题,代码怎么写才能被面试官看上?教你10条下饭的操作

正例: select count(*) from t_rule_BookInfo t title = #{title} AND author = #{author} UPDATE 操作也一样,可以用标记代替 1=1。## 二、迭代entrySet() 获取Map 的key 和value> 当循环中只需要获取Map 的主键key时,迭代keySet() 是正确的;但是,当需要主键key 和取值value 时,迭代entrySet() 才是更高效的做法,其比先迭代k.

2021-08-05 14:48:38 85

原创 全网疯传!看完就能懂!ElasticSearch-垃圾回收器优化(1)

es集群配置:16核cpu,内存64G,磁盘200GJDK版本:1.8垃圾回收器: CMS+ParNew部署在这个集群的服务偶尔会遇到服务超时的情况,从kibana监控中可以看到,服务超时情况发生时,es服务器cpu较高。es存在young gc频繁,old gc 低频率,每天约出现2-4次。查看过去一小时的监控情况,发现young gc 比较频繁,大量对象最终进入了老年代,通过old gc被回收掉了。查看GC日志,log里99%都是GC (Allocation Failure)造成的y.

2021-08-05 14:47:34 432

原创 全网疯传!Kotlin(3)-协程和操作符重载

“骚操作”关心协程的人一般都会十分关注它到底能给我们异步编程带来怎样的便利。这里总结几个不用协程实现起来很麻烦的骚操作。如果有一个函数,它的返回值需要等到多个耗时的异步任务都执行完毕返回之后,组合所有任务的返回值作为 最终返回值fun test6(): String = runBlocking { var finalRes = "" coroutineScope { launch { delay(1000) final

2021-08-05 14:46:40 170

原创 全套学习!你真的搞懂高并发了吗?万字长文让你彻底理解透彻高并发

高并发绝不意味着只追求高性能,这是很多人片面的理解。从宏观角度看,高并发系统设计的目标有三个:高性能、高可用,以及高可扩展。1、高性能:性能体现了系统的并行处理能力,在有限的硬件投入下,提高性能意味着节省成本。同时,性能也反映了用户体验,响应时间分别是100毫秒和1秒,给用户的感受是完全不同的。2、高可用:表示系统可以正常服务的时间。一个全年不停机、无故障;另一个隔三差五出线上事故、宕机,用户肯定选择前者。另外,如果系统只能做到90%可用,也会大大拖累业务。3、高扩展:表示系统的扩展能力,流量高峰时能

2021-08-05 14:45:37 170

原创 入职阿里啦!听音乐不过瘾?自制一个音乐播放器(1)

.[](https://gitee.com/vip204888/java-p7)双击音乐触发播放属性函数===============================================================================在添加好音乐之后,我们当然需要对音乐进行播放,在这里我们需要设置当双击音乐文件后,可以在musicplayer播放器中进行播放。**该函数需要注意的地方是:** 我们需要对存放音乐文件的列表进行判断,如果音乐列表为零...

2021-08-05 14:44:39 98

原创 入职阿里啦!16步快速搭建Java开发项目模板,拒绝重复性工作

测试策略:自动化测试如何分类,哪些必须写测试,哪些没有必要写测试;技术架构:技术架构图;部署架构:部署架构图;外部依赖:项目运行时所依赖的外部集成方,比如订单系统会依赖于会员系统;环境信息:各个环境的访问方式,数据库连接等;编码实践:统一的编码实践,比如异常处理原则、分页封装等;FAQ:开发过程中常见问题的解答。需要注意的是,README中的信息可能随着项目的演进而改变(比如引入了新的技术栈或者加入了新的领域模型),因此也是需要持续更新的。虽然我们知道,软件文档..

2021-08-05 14:43:45 388

原创 你值得拥有!2020最后一次Java面试(1)

HashMap和HashTable的区别?讲一下 hashMap 原理。hashMap 可以并发读么?并发写会有什么问题?集合类存放于 Java.util 包中, 主要有几种接口?Array与ArrayList有什么不一样?简单介绍下 ArrayList 怎么实现,加操作、取值操作,什么时候扩容?说说ConcurrentHashMap?头插法还是尾插法?扩容怎么做?集合在迭代的过程中,插入或删除数据会怎样?3 并发notify()和notifyAll()有什么区别?..

2021-08-04 22:21:12 106

原创 作为一个Java开发者,Java工程师的进阶之路-Kafka篇(一

灵活性 & 峰值处理能力:在访问量剧增的情况下,应用仍然需要继续发挥作用,但是这样的突发流量并不常见。如果为以能处理这类峰值访问为标准来投入资源随时待命无疑是巨大的浪费。使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃。可恢复性:系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。顺序保证:在大多使用场景下,数据处理的顺序都很重要。大部.

2021-08-04 22:18:08 122

空空如也

空空如也

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

TA关注的人

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