自定义博客皮肤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)
  • 收藏
  • 关注

原创 isEmpty 和 isBlank 的用法区别,你都知道吗?

StringUtils.isBlank(null) = trueStringUtils.isBlank(“”) = trueStringUtils.isBlank(" ") = trueStringUtils.isBlank(“bob”) = falseStringUtils.isBlank(" bob ") = false/*** Checks 

2022-04-21 13:15:03 745

原创 Docker:第七章:Docker搭建私服-本地镜像库

docker pull registry[](()然后查看镜像sudo docker images[](()启动该容器[](()创建目录,这里以/opt/data/registry为宿主机存储的目录mkdir -p /opt/data/registry[](()运行镜像,配置端口以及将容器内的数据映射挂载在自己指定的目录上docker run -d -v /opt/data/registry:/var/lib/registry -p 5000:5000 --restart=always -

2022-04-21 13:08:56 1036

原创 Docker镜像超详细介绍

docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统UnionFS。bootfs(boot file system)主要包含bootloader和kernel, bootloader主要是引导加载kernel, Linux刚启动时会加载bootfs文件系统,在Docker镜像的最底层是bootfs。这一层与我们典型的Linux/Unix系统是一样的,包含boot加载器和内核。当boot加载完成之后整个内核就都在内存中了,此时内存的使用权已由bootfs转交给内核,此时系统也会卸载bootf

2022-04-21 13:07:23 1848

原创 Java字符串转码

}System.out.println(“|binary|”+length+" bit "+str);}public static void getBinary(byte[] barray) {int i;String bstr;for(i = 0; i <barray.length; i++){bstr = Integer.toBinaryString((barray[i] & 0xFF) + 0x100).substring(1);System.out.print(bstr

2022-04-20 14:12:59 1878

原创 Java8的这些集合骚操作,你掌握了嘛?

}Stream操作============具体使用可以参照public void testStream(){IntStream stream = IntStream.builder().add(1).add(2).add(3).build();int max = stream.max().getAsInt();System.out.println(max);}List的replaceAll===================Java8为List接口增加了默认的replaceAll方法

2022-04-20 14:10:30 174

原创 Java-String-对象,你真的了解了吗?

private final char value[];/** Cache the hash code for the string */private int hash; // Default to 0/** use serialVersionUID from JDK 1.0.2 for interoperability */private static final long serialVersionUID = -6849794470754667710L;}从这段源码中可以看出,String类

2022-04-20 14:08:35 505

原创 Java-8新特性:学习如何使用Lambda表达式(二

方法参考有时你已经有了一个适合你需求的方法,你想将它传递给其他一些方案。例如,假设您希望在单击按钮时只打印事件对象。你可以这样写button.setOnAction(event -> System.out.println(event));将println方法传递给setOnAction方法更直观。以下示例显示了它:button.setOnAction(System.out::println);System.out::println是一个方法引用,类似于lambda表达式。我们可以在这里用方法

2022-04-20 14:07:05 191

原创 Java 线程池原理分析

3.1 核心参数分析3.1.1 核心参数简介如上节所说,线程池的核心实现即 ThreadPoolExecutor 类。该类包含了几个核心属性,这些属性在可在构造方法进行初始化。在介绍核心属性前,我们先来看看 ThreadPoolExecutor 的构造方法,如下:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long

2022-04-20 14:05:27 97

原创 HCIE云计算--灾备

二、重要概念三、备份介质四、备份软件BCManagereBackup五、组网方式CA(client Agent)六、总结1.备份和容灾2、备份类型3、RTO/RPO4、备份系统的类型5、备份介质6、容灾和备份的区别7、BCManager ebackup–云场景备份管理软件8、ebackup软件的组成[9、ebackup的部署方式](about:blank#9%E3%80%81ebackup%E7%9A%84%E Java开源项目【ali1024.coding.net/publ

2022-04-20 14:03:49 12990

原创 ForkJoin实现分而治之

把一个复杂的问题分解成多个相似的子问题,然后把子问题分解成更小的子问题,知道子问题简单到可以直接求解。算法领域有分治算法(归并排序、快速排序都属于分治算法,二 分法查找也是一种分治算法);大数MapReduce也是。[](()分治模型分治任务可以分成两个阶段:任务分解,结果合并。[](()Fork/Join的使用Fork/Join计算框架主要包含两部分,一部分是分治任务的线程池ForkJoinPool,另一部分是分治任务ForkJoinTask。这两部分的关系类似ThreadPoolExecut

2022-04-20 13:57:56 154

原创 Elasticsearch7

开心,ES7.3.1版本的发布周期还不到10天,设计人员简直是神仙!心中一顿happy乱喷后,赶快上网搜索了一番ES7.3的java开发说明。由于之前用过ES1和ES5版本,知道小版本之间的API应该是通用的,会不会大版本间也能通用呢?很显然,如果通用我就不写这篇入坑指南了。之前我们用的一直是Spring追踪更新的transport包(如下图)但很可惜,当前最新的Spring-elastiscsearch只更新到ES6.7,ES7不能使。唉,赶快找其他的小厂家插件。。后来找到了款ES7官网API

2022-04-20 13:56:07 776

原创 Elasticsearch7(1)

org.elasticsearchelasticsearch7.3.1</ Java开源项目【ali1024.coding.net/public/P7/Java/git】 version>org.elasticsearch.clientelasticsearch-rest-high-level-client7.3.12.编写demo代码这里由于不是Spring的包,不需要加什么xml配置文件了,直接使用即可,啥都不说了,都在代码里了!仔细阅读下方的注释,我就不在这里多BB..

2022-04-20 13:53:45 114

原创 JAVA 百度地图 API

var map = new BMap.Map(“allmap”);//var map = new BMap.Map(“allmap”, { mapType: BMAP_SATELLITE_MAP });var point = new BMap.Point(109.503789, 35.860026); // 获取上方默认的经纬度map.centerAndZoom(point, 14); // 重置地图显示区域map.enableScrollWheelZoom(); // 启用滚轮放大缩小//定位

2022-04-18 13:35:19 621

原创 Java 反射 getClass()

Class<?> getEnclosingClass​() //返回基础类的直接封闭类。Constructor<?> getEnclosingConstructor​() //如果此Class对象表示构造函数中的本地或匿名类,则返回一个Constructor对象,该对象表示基础类的直接封闭的构造函数。Method getEnclosingMethod​() //如果此Class对象表示方法中的本地或匿名类,则返回一个Method表示基础类的直接封闭方法的对象。T[] getEn

2022-04-18 13:33:25 471

原创 Java 结合实例学会使用 静态代理、JDK动态代理、CGLIB动态代理

实现完再回头看看,应该就不会支支吾吾了。进入正文[](()一、代理模式=====================================================================代理模式分为:静态代理动态代理先不管什么静还是动的,先知道这个代理模式的使用,是干嘛的。文字描述:为其他对象提供一个代理以控制对某个对象的访问。代理类主要负责为委托了(真实对象)预处理消息、过滤消息、传递消息给委托类,代理类不现实具体服务,而是利用委托类来完成服务,并将执行结果封装

2022-04-18 13:31:23 186

原创 J2EE基础集合框架之Map集合

一、集合框架Map的特点1、无序性:和set集合一样,具有无序性的特点。上图有四个对象,其中不是按顺序输出的。2、键不可重复,值重复性:由上图可得:键不重复,要是重复的话就会输出两个a, 可以输出同样的值。3、key键可以为空。二、Map集合遍历的方式:1、通过遍历键来得到值:Map集合与前两个集合不一样,Map集合是以键值对的形式去存储元素的。2、通过entry方式遍历Map集合![](https://img-blog.csdnimg.cn/202

2022-04-18 13:29:49 252

原创 Java虚拟机(JVM)之字节码文件结构

属性表集合在开始之前,让我们写一个简单的介绍你好世界。接下来,我们将以Hello World文件的已编译字节码文件为例,解析字节码文件的内容。public class Demo{public static void main(String args[ 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 ]){System.out.println(“Hello World.”);}}然后运行javac Demo.命令行上的Java命令编译类,生成一个演示.

2022-04-17 13:30:04 2426

原创 Java程序设计(高级及专题)- 多线程

public static void main(String[] args) {Son r1=new Son();Thread t1=new Thread(r1,“大明”);Thread t2=new Thread(r1, “小明”);t1.start();t2.start();try {t1.join();//等待线程结束t2.join();} catch (InterruptedException e) {// TODO Auto-generated catch blocke.pr

2022-04-17 13:27:48 85

原创 项目中Dao,Service,Controller

像这种打包,不管是充气娃娃还是别的什么东西,都打包。你可以理解为图中的黑衣人就是一个Util。某种程度上也会跟Service有点接近。但是Service一般而言,都是包含有业务逻辑的,很少能做单元测试。Util一般来说,就是一个明确的输入和一个明确的输出结果。单元测试中,多数也是来测试Util。积累好自己的Util是一件很重要的事儿。3 ServiceService比Util的概念大很多,它的重点是在于提供一个服务。这个服务可能包括一系列的数据处理,也有可能会调用多个Util,或者是调用别的服务.

2022-04-15 18:50:09 2903

原创 面试官:开口就要25K,我就用了2成功力

**程序员:**额…这个没有**面试官:**那你了解Synchronized锁升级过程吗?**程序员:**没有…**面试官:**那刚刚提到了Lock,CAS你能给我简单的介绍一下吗?**程序员:**CAS就是比较并交换**面试官:**恩恩,提到这点就可以了,那你有在实际开发过程中有实际的一些应用吗?应用到乐观锁的一个过程**程序员:**有的,就譬如,我在更新数据库的时候,如果一个数据库用的是乐观锁的话,我也用一个自旋的操作,就把他更新到成功为止**面试官:**自旋的效率会不会很低?如果一直取不

2022-04-15 18:48:23 110 1

原创 阿里内部教程:千页 Redis 源码笔记,涨薪必备

Redis 源码设计精髓第 1 章简单介绍了 RedisRedis 简介Redis 5.0 的新特性Redis 源码概述Redis 安装与调试第 2~8 章重点讲解了 SDS、跳跃表、压缩列表、字典、整数集合、quicklist 和 Stream 数据结构的实现。![](https://img-blog.csdnimg.cn/aecb6ce2f6e64287a7f Java开源项目【ali1024.coding.net/public/P7/Java/git】 79e

2022-04-15 18:46:45 733

原创 金九银十,入职字节跳动那一天,我哭了

[](()环节四:字节跳动面试经历,真实记录还原===================================================================================字节跳动一面:第一面我觉得应 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 该是基础面,重点考察的是自己技术的广度 和一些技术的掌握情况,一面小哥哥也没有深究于某个特定的点,面试时间大约1个小时。自我介绍怎么打算投递后台岗位的,没有考.

2022-04-15 18:44:30 393

原创 通过一个Kafka故障解决过程阐述架构师必须具备的架构思维

[Java进阶之梯,成长路线与学习资料,助力突破中间件领域](()[](()1、问题描述某一天突然收到开发环境Kafka报 IO Exception(many open files),其相关的日志如下:问题是发生在公司的开发环境,为了避免信息泄露,我在本地进行了模拟,不影响本次问题的分析与学习。[](()2、问题分析首先我们要能看懂Kafka-manager上的一些监控指标,topic列表中关于topic的信息项如下所示:topictopic名称Partitions分区数

2022-04-15 18:38:32 1861

原创 谁再说MySQL难学,我一篇文章就丢过去

EXPLAIN 的查询结果还会告诉你你的索引主键被如何利用的,你的数据表 是如何被搜索和排序的……等等,等等。挑一个你的 SELECT 语句(推荐挑选那个最复杂的,有多表联接的),把关键 字 EXPLAIN 加到前面。你可以使用 phpmyadmin 来做这个事。然后,你会看到一 张表格。下面的这个示例中,我们忘记加上了 group_id 索引,并且有表联接:当我们为 group_id 字段加上索引后:我们可以看到,前一个结果显示搜索了 7883 行,而后一个只是搜索了两个 表的 9 和 16 行

2022-04-15 18:36:19 392

原创 诡异的Redis数据库内存,空间很大,内存使用还是不理想

坐好了,准备发车 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 !图注:思维导图[](()查看内存使用情况===============================================================================首先想要知道 Redis 内存的使用情况,我们就需要获取相关的信息。Redis 中查看内存相关信息是很简单的,只需要在命令行输入『info memory』就可以看到各种相关数据。在这里我罗列了

2022-04-15 18:34:09 419

原创 Spring--AOP面向切面编程,java后端面试通过邮件范本

前言⽂章有点⻓,请耐⼼看完,绝对有收获!不想听我BB直接进⼊⾯试分享:准备过程蚂蚁⾦服⾯试分享拼多多⾯试分享字节跳动⾯试分享最后总结个人所得(供大家参考学习)当时我⾃⼰也准备出去看看机会,顺便看看⾃⼰的实⼒。当时我其实挺纠结的,⼀⽅⾯现在部⻔也正需要我,还是可以有⼀番作为的,另⼀⽅⾯觉得近⼀年来进步缓慢,没有以前⻜速进步的成就感了,⽽且业务和技术偏于稳定,加上⾃⼰也属于那种⽐较懒散的⼈,⻣⼦⾥还是希望能够突破现状,持续在技术上有所精进那么问题来了,⽬标是啥?就我⽽⾔,短期⽬标是深⼊研究某

2022-04-12 16:14:18 74

原创 Spring 中经典的 9 种设计模式,打死也要记住啊,献给真心想学Java的打工人

前言说到CAS(CompareAndSwap),不得不先说一说悲观锁和乐观锁,因为CAS是乐观锁思想的一种实现。悲观锁:总是很悲观的认为,每次拿数据都会有其他线程并发执行,所以每次都会进行加锁,用完之后释放锁,其他的线程才能拿到锁,进而拿到资源进行操作。java中的synchronized和ReentrantLock等独占锁就是悲观锁思想的实现。乐观锁:总是很乐观认为,自己拿到数据操作的时候,没有其他线程来并发操作,等自己操作结束要更新数据时,判断自己对数据操作的期间有没有其他线程进行操作,如果有,则

2022-04-12 16:12:43 236

原创 Spring Cloud微服务如何设计异常处理机制?,java面试资料推荐

思维导图前言在很多时候,我们都可以在各种框架应用中看到ZooKeeper的身影,比如Kafka中间件,Dubbo框架,Hadoop等等。为什么到处都看到ZooKeeper?“userId”: “zhangsan”,“balance”: 5000}}而如果出现异常或者错误,则会相应地返回错误码和错误信息,如:{“code”: “-1”,“msg”: “请求参数错误”,“data”: null}在编写面向外部的服务接口时,服务端所有的异常处理我们都要进行相应地捕获,并在control

2022-04-12 16:11:08 119

原创 Spring Cloud Gateway过滤器精确控制异常返回(实战,控制http返回码和message字段)

一、内存与线程1、内存结构内存是计算机的重要部件之一,它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。JVM的内存结构规定Java程序在执行时内存的申请、划分、使用、回收的管理策略,通说来说JVM的内存管理指运行时数据区这一大块的管理。从上图可见,返回码为400,和我们设定的一样,但是message却为空,这是怎么回事呢?按照咱们的设定,这里应该显示请求参数必须包含user-id字段,看来咱们遇到一只拦路虎了[](()小小拦路虎

2022-04-12 16:09:34 255

原创 Spring Cloud Gateway过滤器精确控制异常返回(分析篇),神操作

前言在网络技术中基于浏览器的B/S结构无论在PC端还是手机端都充当着至关重要的角色。 PC端自不必说,手机中很多应用虽然是以APP的形式存在,但它采用的还是B/S结构。如今日头条、微信的朋友圈等,这些应用在内部封装了浏览器,后端仍然是 Web站点。在大型网站和复杂系统的开发中,Java无疑具有很大的优势,而在lava的Web框架中 Sprig MVC 以其强大的功能和简单且灵活的用法受到越来越多开发者的青睐。Spring MVC入门很简单,但是要想真正使用好却并非易事,而且现在也没有全面、深入地使用资

2022-04-12 16:07:59 629

原创 Spring Cloud Gateway实战之四:内置predicate小结,Java研发岗面试复盘总

前言这几年在Java工程师招聘时,会看到很多人的简历都写着使用了Spring Cloud做微服务实现,使用Docker做自动化部署,并且也会把这些做为自己的亮点。而比较有趣的这其中以小公司出来的人为绝大多数,大的公司出来的人简历上倒是很少提这些东西。对于我自己来说,从15年就开始关注这一块,看过马丁.福勒最开始的关于微服务的论文、也看过不少对微服务的论证的英文文章和书,也研究过Spring Cloud、Sofa等开源实现以及Service mesh。考虑到我们公司研发团队人力不足、基础设施不完善,当初是

2022-04-12 16:06:05 279

原创 Spring Boot+Spring Cloud实现itoken项目,java中高级面试经验

今年互联网形式依旧严峻,再次爆发几次大规模裁员潮。我决定把这篇文章分享出来帮助那些对前途感到迷茫的朋友。在猎头的眼里,我已不是根正苗红的程序员。何为根正苗红?计算机专业毕业,从毕业起就从事特定方向的开发工作,这才是猎头眼中的香饽饽。毕业之后的那段岁月,可以用悲惨形容,每当和人提起,我总会有点自嘲的说“睡过凌晨一点的办公室,吃过凌晨三点的便利店,做过凌晨五点的首班车”。但是回头想想,我却要感谢那不堪的经历,让我找到了适合自己的方向。作为技术人员,我一直有个疑问,什么是你引以为傲的资本?面对已经来临..

2022-04-12 16:02:55 335

原创 Spring boot 入门教程-集成security,java面试中经常被问到的问题

前言Spring 框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶。毋庸置疑,Spring 早已成为 Java 后端开发的行业标准,无数的公司选择 Spring 作为基础的开发框架,大部分Java 后端程序员在日常工作中也会接触到 Spring。很多研发人员把 Spring 看作心目中最好的 Java 项目,没有之一。所以这是重点也是难点,工作中必须会,面试时肯定考。加入数据源配置:spring.datasource.url=jdbc:mysql://localhost

2022-04-12 16:01:20 104

原创 一份秀出新天际的SpringCloudAlibaba笔记,把微服务玩的出神入化

前言今天我们来说说Redis为什么高性能?如何做高可用?Redis为什么这么快?Redis是单线程的,避免了多线程的上下文切换和并发控制开销;Redis大部分操作时基于内存,读写数据不需要磁盘I/O,所以速度非常快;Redis采用了I/O多路复用机制,提高了网络I/O并发性;Redis提供高效的数据结构,如跳跃表、哈希表等;以上这些Spring Cloud Alibaba中的技术点都是我从阿里大佬的一份Spring Cloud Alibaba全解析笔记中CV出来的,这份笔记主要讲解了S

2022-04-11 17:34:03 311

原创 一个用消息队列的人,不知道为啥要用MQ,这就有点尴尬了

前言:说到算法,相信每一个程序员和接触过程序员的朋友都不会陌生,直到现在算法一直占着面试必问的地位,而算法面试也仍是当前最适合公司筛选程序员的方法之一,在阿里,字节跳动、华为等公司带动下,无论是求职者还是面试官,都逐渐认识到算法面试其实是相对高效、准确且公平的筛选机制**,可能你会觉得算法面试有几个实际工作中用到的,不过是“面试造火箭,工作拧螺丝”**罢了,那我想说你并没有认识到算法面试的真正目的。说简单点,算法面试就是为了筛选出足够聪明要么足够勤奋的人,在一个算法题中,不仅考察你的沟通能力,你的逻辑思

2022-04-11 17:32:28 1541

原创 【金九银十冲刺】Java岗面试题核心每日知识点

Vector 与 ArrayList 一样,也是通过数组实现的,不同的是它支持线程的同步,即某一时刻只有一个线程能够写Vector,避免多线程同时写而引起的不一致性,但实现同步需要很高的花费,因此,访问它比访问 ArrayList 慢。1.3. LinkList(链表)LinkedList 是用链表结构存储数据的,很适合数据的动态插入和删除,随机访问和遍历速度比较慢。另外,他还提供了 List 接口中没有定义的方法,专门用于操作表头和表尾元素,可以当作堆栈、队列和双向队列使用。2.SetSet 注

2022-04-11 17:30:53 609

原创 【设计模式】职责链模式,MySQL+Tomcat+JVM,看完还怕面试官

前言从3月份开始,打算找工作,一个偶然的机会,拉勾上一个蚂蚁金服的师兄找到我,说要内推,在此感谢姚师兄,然后就开始了蚂蚁金服的面试之旅。把简历发过去之后,就收到了邮件通知,10个工作日联系我,请耐心等待。没过2天就接到一个杭州的座机,说要约我进行电话面试,效率还是挺高,然后当天晚上就进行了一面。下班后,吃了饭,专门找了一条人比较少的小路,到了7点,电话准时打过来了。那这篇博客是不是就这样结束了呢?当然不是,重点才刚刚开始。上面的职责链模式让人看起来很别扭,那是因为还没有优化过,我们发现再三个子类

2022-04-11 17:29:19 484

原创 【聊透SpringMVC】SpringMVC,java面试问项目部署

什么是自旋锁和互斥锁?由于CLH锁是一种自旋锁,那么我们先来看看自旋锁是什么?自旋锁说白了也是一种互斥锁,只不过没有抢到锁的线程会一直自旋等待锁的释放,处于busy-waiting的状态,此时等待锁的线程不会进入休眠状态,而是一直忙等待浪费CPU周期。因此自旋锁适用于锁占用时间短的场合。这里谈到了自旋锁,那么我们也顺便说下互斥锁。这里的互斥锁说的是传统意义的互斥锁,就是多个线程并发竞争锁的时候,没有抢到锁的线程会进入休眠状态即sleep-waiting,当锁被释放的时候,处于休眠状态的一个线程会再次获

2022-04-11 17:27:44 277

原创 【源码分析设计模式 4】JDK中的原型模式

this.age = age;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}@Overridepublic String toString() {return “Sheep [name=” + name + “, age=” + age + “, color=” + color + “, address=” + address + “]”;

2022-04-11 17:26:09 65

原创 【数据结构与算法 4】单链表面试题

length++;cur = cur.next;}return length;}二、查找单链表的第K个节点//思路//1、编写一个方法接收,接收head节点,同时接收一个index//2、index表示倒数第index个节点//3、先把链表从头到尾遍历,得到链表的总的长度//4、得到size后,我们从链表的第一个开始遍历(size-index)个//5、找到返回该节点,没有返回空public static HeroNode findLastIndexNode(HeroNode he

2022-04-11 17:21:26 74

空空如也

空空如也

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

TA关注的人

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