自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java8新特性-Base64,别再说自己不会JVM虚拟机了

Base64 编码字符串 (基本) :dGhpbmt3b24=原始字符串: thinkwon []()UrlEncoder方式@Testpublic void testUrlEncoder() { String str = "thinkwon"; // 使用基本编码 String base64encodedString = Base64.getUrlEncoder().encodeToString(str.getBytes(StandardCharsets.

2021-09-12 08:50:35 228

原创 Java-数据结构:树,这份资料可帮你解决95%的问题

二、二叉树1. 概述定义:对一般的树加了约束:每个结点最多两棵子树,即二叉树中不存在 度大于2 的结点子树有 左右次序 之分有 5 种形态:满二叉树和完全二叉树(对满二叉树最底层,从右至左删除结点)2. 重要特性二叉树,在第 i 层至多有 2i-1 个结点深度为 k 的二叉树至多有 2k-1 个结点高度(或深度)为 K .

2021-09-12 08:48:51 388

原创 Java 集合及底层源码分析,Java零基础入门pdf

如果该索引位置元素对应的hash值和待插入的元素的hash值相同,且是同一个引用或者是内容相同的话就不能添加如果索引位置有值且满足一颗红黑树的话,则调用红黑树的算法进行添加如果索引位置有值且是一个链表的话,则循环比较链表,如果存在相同元素的话,则不允许添加,否则添加到链尾即可//1.执行HashSet() public HashSet() { map = new HashMap<>(); }//2.执行add() publ..

2021-09-12 08:47:06 292

原创 JAVA 线程池原理,百度Java面试题目

如果正在运行的worker数量超过或者等于corePoolSize,那么就将该任务加入到workQueue队列中去。如果workQueue队列满了,也就是offer方法返回false的话,就检查当前运行的worker数量是否小于maximumPoolSize,如果小于就创建一个worker直接执行该任务。如果当前运行的worker数量是否大于等于maximumPoolSize,那么就执行RejectedExecutionHandler来拒绝这个任务的提交。workQueue:任务的阻塞队列,缓存将要.

2021-09-12 08:45:20 182 1

原创 JAVA 线程池原理(1),中信银行Java笔试题

线程池的状态(5种):其中AtomicInteger变量ctl的功能非常强大:利用低29位表示线程池中线程数,通过高3位表示线程池的运行状态:RUNNING:-1 << COUNT_BITS,即高3位为111,该状态的线程池会接收新任务,并处理阻塞队列中的任务;SHUTDOWN: 0 << COUNT_BITS,即高3位为000,该状态的线程池不会接收新任务,但会处理阻塞队列中的任务;STOP : 1 << COUNT_BITS,即高3位为001,该状态的线程不

2021-09-12 08:43:39 183

原创 Java 方法的使用(方法重载,阿里+头条+腾讯等大厂Java面试题分享

package sum;//方法重载的实例public class Demo01 {public static void main(String[] args) { System.out.println(add1(10, 20)); System.out.println(add2(10, 20,30)); System.out.println(add3(10.0, 20.0));}public static int add1(int x, int y) {

2021-09-12 08:41:51 67

原创 IDEA中Maven依赖下载失败解决方案,PDF超过6000页

使用IDEA进行Maven项目开发时,时不时会遇到pom.xml报错的情况,其中很大概率是因为Maven依赖的jar包下载失败,找来找去也没有找到是什么问题,困扰了很多程序猿,这里给出IDEA中Maven依赖下载失败解决方案,给大家参考,实测有用。文章目录首先检查网络有没有问题,确定网络没有问题,请看下一步多次点击重新导入Maven依赖的按钮设置自动导入Maven依赖在IDEA中找到Maven的配置文件的地址,然后检查配置的远程仓库或者镜像有没有问题如果上面几步都没有.

2021-09-12 08:40:02 139

原创 30岁程序员裸辞,springboot视频

阿里内部面试笔记的目录内容:阿里巴巴高并发秒杀架构展示分布式中间件数据库设计模式与实践数据结构与算法阿里巴巴面试真实场景还原这些笔记我都已经整理好了,需要原件学习的可**[点击此处]()**阿里巴巴高并发秒杀架构展示=================阿里巴巴中文站商品信息如何存放MySQL的扩展性瓶颈===============分布式===前后端完全分离与Rest规范中间件===redis的过期策略以及内存淘汰机制

2021-09-11 11:15:08 96

原创 2021,你还在写,Java程序员面试题集大全

接下来我们测试下 public static void main(String[] args) throws Exception { // 待加密内容 String str = "https://juejin.cn/user/2084329778071479"; // 密钥 String secretKey = "xtianyaa"; byte[] encrypt = encrypt(str.getBytes(),

2021-09-11 11:13:12 100

原创 2021最新一线互联网大厂常见高并发面试题解析,快手Java面试算法题

[]()1)多线程和单线程的区别和联系?答:在单核 CPU 中,将 CPU 分为很小的时间片,在每一时刻只能有一个线程在执行,是一种微观上轮流占用 CPU 的机制。多线程会存在线程上下文切换,会导致程序执行速度变慢,即采用一个拥有两个线程的进程执行所需要的时间比一个线程的进程执行两次所需要的时间要多一些。结论:即采用多线程不会提高程序的执行速度,反而会降低速度,但是对于用户来说,可以减少用户的响应时间。面试官:那使用多线程有什么优势?解析:尽管面临很多挑战,多线程有一些优点仍然使得

2021-09-11 11:11:26 478

原创 2021年Java面试题抢先看,够全,2021Java开发社招面试总结+解答分享

这个问题与前面的类似,适配器模式和代理模式的区别在于他们的意图不同。由于适配器模式和代理模式都是封装真正执行动作的类,因此结构是一致的,但是适配器模式用于接口之间的转换,而代理模式则是增加一个额外的中间层,以便支持分配、控制或智能访问。[]()84)什么是模板方法模式?(答案)模板方法提供算法的框架,你可以自己去配置或定义步骤。例如,你可以将排序算法看做是一个模板。它定义了排序的步骤,但是具体的比较,可以使用 Comparable 或者其语言中类似东西,具体策略由你去配置。列出算法概要的方法就是众所

2021-09-11 11:09:46 137

原创 2021-07-22 Java练习题,Java基础知识重点总结pdf

public static void topic() { System.out.println("请输入你想运行题目的序号:"); Scanner s = new Scanner(System.in); int t = s.nextInt(); switch (t) { case 1: topic01(); break; case 2: topic02()

2021-09-11 11:08:06 68

原创 2020还有必要学JSP吗?,Java面试笔试题初级

out.write("<html>\r\n"); out.write("<head>\r\n"); out.write(" <title>简单使用JSP</title>\r\n"); out.write("</head>\r\n"); out.write("<body>\r\n");String s = "HelloWorda";out.println(s); out.write("\r\n");..

2021-09-11 11:06:14 158

原创 2020最新Nginx教程全面详解,从入门到实践,mysql基础教程视频

第七章:Nginx HTTP框架综述第八章:Nginx HTTP请求处理第九章:Nginx HTTP请求转发第十章:Nginx HTTP子请求第十一章:Nginx变量第十二章:Nginx辅助设施第十三章:Nginx进程机制第十四章:Nginx事件机制第十五章:Nginx多线程机制第十六章:Nginx Stream机制第十七章:Nginx HTTP机制第十八章:Nginx与设计模式第十九章:OpenResty开发怎么样 光是目录肯定就让你眼前一亮吧 内容丰富下面看看内.

2021-09-11 11:04:30 205 1

原创 Java 中节省 90% 时间的常用的工具类,2021Java开发学习路线

Fri Jul 16 00:00:00 CST 2021false2021-07-122021-07-132021-07-142021-07-152021-07-162021-07-172021-07-18Process finished with exit code 0 []()返回多个字段有时候在一个方法中需要返回多个值的时候,经常会使用 HashMap 返回或者是 JSON 返回。Lang3 下已经帮我们提供了这样的工具类,不需要再多写 HashMa.

2021-09-10 11:56:24 105

原创 Java 万字长文基础知识总结(下,2021年阿里Java岗面试必问

慢查询是什么?分析MySQL语句查询性能的⽅法除了使用 EXPLAIN 输出执⾏计划,还可以让MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为“慢查询”。主从库是什么?1、做数据的热备,作为后备数据库,主数据库服务器故障后,可切 换到从数据库继续⼯作,避免数据丢失。2、架构的扩展。业务量越来越⼤,I/O访问频率过⾼,单机⽆法满⾜,此时做多库的存储,降低磁盘I/O访问的频率,提⾼单个机器的I/O性能。3、读写分离,使数据库能支撑更⼤的并发。在报表中尤.

2021-09-10 11:54:49 154

原创 GET和POST的区别,Java软件工程师面试题

HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。GET和POST能做的事情是一样一样的。你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。那么,“标准答案”里的那些区别是怎么回事?在我大万维网世界中,TCP就像汽车,我们用TCP来运输数据,它很可靠,从来不会发生丢件少件的现象。但是如果路上跑的全是看起来一模一样的汽车,那这个世界看起来是一团混乱,送急件的汽车可能被前面满载货物的汽车拦堵在路上,整

2021-09-10 11:53:07 68

原创 FusionStorage原理及组件,linux编程语言笔记

VBS和OSD分开部署在不同的节点3)scsi和iscsi使用场景业务与VBS是否合部如果合部—scsi如果分开部署在不同节点----iscsi无论是scsi还是iscsi,都支持融合部署和分离部署通常在应用场景上考虑是融合还是分离,多在scsi场景考虑scsi场景下如果业务需要大量计算资源保障,此时考虑分离部署----关键业务系统,例如数据库如果服务器主机有足够计算资源支持业务和FS的组件运行,此时考虑融合部署----云场景融合部署的成本低于分离部署二、FS的灾备=======

2021-09-10 11:51:32 373

原创 flex 布局详解,springcloud视频下载

看到 align 属性就是针对 corss axis;后面跟 items 就是针对单个 item;后面跟 content 就是针对整个模块。[]()flex 模块布局[]()flex-direction:设置 main axis 的方向flex items 默认都是沿着 main axis(主轴) 从 main start 开始往 main end 方向排布flex-direction 决定 了 main axis 的方向,有 4 个取值:row(默认值)row-r.

2021-09-10 11:49:49 73

原创 etcd:一款比Redis更骚的分布式锁的实现方式,真香警告

客户端以前缀 /etcd/lock/ 读取 key-Value 列表,判断自己 key 的 Revision 是否为当前列表中 最小的,如果是则认为获得锁;否则监听列表中前一个 Revision 比自己小的 key 的删除事件,一旦监听到删除事件或者因租约失效而删除的事件,则自己获得锁;执行业务获得锁后,操作共享资源,执行业务代码释放锁完成业务流程后,删除对应的key释放锁肝代码有了以上理论做基础,我们开始etcd分布式锁的代码实现。jetcd客户端jetcd是etcd的Java客户

2021-09-10 11:47:59 239

原创 一文聊透 Dubbo 优雅上线,你连基础的JVM运行时内存布局都忘了

service.setRef(new GreetingsServiceImpl()); service.setRegister(false); service.export(); System.out.println("dubbo service started"); new CountDownLatch(1).await();}}注意我们配置了不发布:service.setRegister(false),由于 QOS 配置是默认打开的,在...

2021-09-09 21:15:59 178

原创 一文把Servlet整的明明白白,阿里内部Mybatis学习笔记

1.3、常见错误1.3.1、url-pattern 中配置的路径没有以斜杠打头1.3.2、servlet-name 配置的值不存在二、Servlet生命周期=============2.1、Servlet生命周期​ Servlet 对象的生命周期:Servlet 创建对象–>初始化操作–> 运行操作–>销毁操作​ Web 服务器管理了 Servlet 的生命周期,Servlet 对象整个过程都是 Web 服务器来管理的。2.2、Servlet 接口中生命周期方法

2021-09-09 21:14:10 123

原创 90%的Java程序员,阿里+头条+腾讯等大厂Java笔试题目分享

一切看起来很美好,但是随着业务快速迭代,这个时候系统D也想要这个数据。那既然这样,A系统的开发同学就改咯,在发送数据给BC的同时加上一个D。但是,越到后面越发现,麻烦来了。。。整个系统好像不止这个数据要发送给BCD、还有第二、第三个数据要发送给BCD。甚至有时候又加入了E、F等等系统,他们也要这个数据。并且有时候可能B系统突然又不要这个数据了,A系统该来改去,A系统的开发哥们头皮发麻。更复杂的场景是,数据通过接口传给其他系统有时候还要考虑重试、超时等一些异常情况,真是头发都白了呀。。。来看下图,体

2021-09-09 10:41:07 166

原创 7月份了,掌握这套精编Java高级面试题解析

其实这个问题,不只是他们,我有的时候也会考虑,如果不进步,以后可能连一个好一点学校的应届毕业生都不如,之前跟刚入职的一个新人聊天,我发现,现在已经不是那个老师念念ppt,学生随便听听,60分及格就看可以毕业的时代了,各类竞技大赛,年轻人的想法真的是层出不穷,那这个时候,作为“前辈的我们”该怎么去提升自己就是一个必须去考虑的事情,起码不能让自己被这个社会淘汰不是,对吧。就一句话,学无止境,尤其是程序员这一行,真的是 学海无涯苦作舟啊,所以,程序员们,你知道该做什么了吗?说的有点多,话归正题,现在已经7月份了,

2021-09-09 10:37:36 89

原创 7张图带你轻松理解Java 线程安全,Java学习教程百度云

System.out.println("final x from 2: " + x); } }.start();}public static void main(String[] args) { new ThreadDemo().runTest();}}示例代码中 runTest 方法2个线程分别执行 1\_000\_000 次 count() 方法, count() 方法中只执行简单的 x++ 操作,理论上每次执行 ...

2021-09-09 10:36:01 94

原创 70道Java开发面试题及答案,Java常用算法手册

GenericServlet :通用的Servlet | HttpServlet :HttpServlet\* 编写一个类继承HttpServlet,重写doGet和doPost方法.  \* 配置![](http://www.runoob.com/wp-content/uploads/2014/07/servlet-arch.jpg)### 16\. SERVLET的生命周期用户第一次访问Servlet的时候,服务器会创建一个.

2021-09-09 10:34:14 117

原创 6 张图带你彻底搞懂分布式事务 XA 模式,华为2021深圳春招面试

第二阶段执行 XA commit/rollback。mysql 目前是支持 seata xa 模式的两阶段优化的。「但是这个优化对 oracle 不支持,因为 oracle 实现的是标准的 xa 协议,即 xa end 后,协调节点向事务参与者统一发送 prepare,最后再发送 commit/rollback。这也导致了 seata 的 xa 模式对 oracle 支持不太好。」[]()seata XA 源码==========================================.

2021-09-09 10:32:35 192

原创 Maven技术快速入门(1),springcloud实战演练

在settings.xml里面的mirrors标签里面导入<mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url></mirror>2.6、配置本..

2021-09-08 09:35:05 210

原创 Matlab运算于内部函数,Java架构师必备技能

2. 变量及其操作MATLAB中变量不需先声明再使用,使用时就表示声明了变量,在工作窗可以查变量的变化。在MATLAB中,变量名是以字母开头,后接字母、数字或下划线的字符序列,最多63个字符。在MATLAB中,变量名区分字母的大小写,在变量名中不包含空格和标点符号且不能以MATLAB系统保留变量命名。MATLAB系统中保留的变量:| 变量名 | 意义 || — | — || ans | 计算结果的默认赋值变量 || i,j | 虚数单位 || pi | 圆周率 || NaN |

2021-09-08 09:33:27 125

原创 Matlab绘图基本用法,tomcat原理及优化

上一篇:Matlab创建M文件以及程序控制下一篇:Matlab数值微分与数值积分二维图形学习1.1 绘制二维曲线的基本函数1.plot函数的基本用法plot函数的基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。样例:在0<=X<=2π区间内,绘制曲线:y=4e-0.25xsin(πx)样例:在-π<=t<=π区间内,绘制曲线:x=tcos(2t),y=tsin(t2);说明:(1)当x是向量,y是矩阵时,x

2021-09-08 09:31:38 228

原创 Matlab绘图基本用法(1),阿里巴巴二面被血虐

4.双纵坐标函数plotyyplotyy函数是MATLAB 5.X新增的函数。它能把函数值具有不同量纲、不同数量级的两个函数绘制在同一坐标中。调用格式为:plotyy(x1,y1,x2,y2)其中x1-y1对应一条曲线,x2-y2对应另一条曲线。横坐标的标度相同,纵坐标有两个,左纵坐标用于x1-y1数据对,右纵坐标用于x2-y2数据对。样例:用不同标度绘制:y1=e-0.5xsin(2πx),y2=sin(x);容易使用的绘图函数:ezplotezplot(FUN):绘制函数FUN(x);ez

2021-09-08 09:30:03 569

原创 Lombok简介,从入门到精通系列Java高级工程师路线介绍

2.1添加maven依赖<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.4</version> <scope>provided</scope></dependency> 2.2安装插件使用Lombok还需要插件的配合

2021-09-08 09:28:22 69

原创 Lombok插件安装与使用,靠着这份面试题跟答案

在Idea软件中,我们可以直接对插件进行安装,安装步骤如下:1. 点击File -> Settings,在列表中可以看到Plugins2. 点击过Plugins后,在上方输入框输入Lombok,进行搜索3. 找到对应的插件,点击Install安装4. 下载过后,执行下方操作,之后重启IDEABuild,Execution,Deployment -> Compiler ->Annotation Processors ->勾选 Enable annotation proce.

2021-09-08 09:26:40 105

原创 LockSupport详解,费时6个月成功入职阿里

void park():阻塞当前线程,如果调用unpark方法或者当前线程被中断,从能从park()方法中返回void park(Object blocker):功能同方法1,入参增加一个Object对象,用来记录导致线程阻塞的阻塞对象,方便进行问题排查;void parkNanos(long nanos):阻塞当前线程,最长不超过nanos纳秒,增加了超时返回的特性;void parkNanos(Object blocker, long nanos):功能同方法3,入参增加一个Obj..

2021-09-08 09:24:51 73

原创 Android面试从新手到架构师,一篇解析就够(2),rocketmq原理面试

==============================================volatile 关键字只能用来修饰变量,适用修饰可能被多线程同时访问的变量相当于轻量级的 synchronized,volatitle 能保证有序性(禁用指令重排序)、可见性变量位于主内存中,每个线程还有自己的工作内存,变量在自己线程的工作内存中有份拷贝,线程直接操作的是这个拷贝被 volatile 修饰的变量改变后会立即同步到主内存,保持变量的可见性双重检查单例,为什么要加 vio

2021-09-07 14:06:21 455

原创 Android面试从新手到架构师,一篇解析就够(1),跳槽字节跳动

5.抽象工厂模式:结构型(7):描述如何将类或对象按某种规则组成更大的结构1.桥接模式:对于两个或以上纬度独立变化的场景,将抽象与具体实现分离,实例:用不同颜色画不同形状2.外观模式:对外有一个统一接口,外部不用关心内部子系统的具体实现,这是"迪米特原则"的典型应用3.适配器模式:改变类的接口,使原本由于接口不匹配而无法一起工作的两个类能够在一工作,实例:RecycleView 的 Adapter 不管什么类型的 View 都返回 ViewHolder4.代理模式:由代理对..

2021-09-07 14:04:44 268

原创 Android 高频面试必问之Java基础,2021年您应该知道的技术之一

AppClassLoader:Java默认的加载器就是 System 类加载器,又叫作 Application 类加载器。它负责从 classpath 环境变量中加载某些应用相关的类,classpath 环境变量通常由 -classpath 或 -cp 命令行选项来定义,或者是 JAR 中的 Manifest 的 classpath 属性,Application 类加载器是 Extension 类加载器的子加载器。类加载会涉及一些加载机制。委托机制:加载任务委托交给父类加载器,如果不行就向下传递.

2021-09-07 14:02:54 160

原创 Alibaba:Nacos服务心跳和健康检查源码介绍,Java面试核心知识点精讲

服务的健康检查Nacos Server会开启一个定时任务来检查注册服务的健康情况,对于超过15秒没收到客户端的心跳实例会将它的 healthy属性置为false,此时当客户端不会将该实例的信息发现,如果某个服务的实例超过30秒没收到心跳,则剔除该实例,如果剔除的实例恢复,发送心跳则会恢复。当有实例注册的时候,我们会看到有个service.init()的方法,该方法的实现主要是将ClientBeatCheckTask加入到线程池当中,如下图:ClientBeatCheckTask中的run方法主要做两

2021-09-07 13:59:38 171

原创 985应届进大厂,细数Java开发者的艰辛历程

腾讯一面:说说为什么要选择腾讯?你之前做过的项目说一下针对项目的难点进行提问,如何解决的,在这个问题中有什么收获?怎么避免再次?讲一下TCP有哪些机制可以完成可靠传输?TCP为什么有三次握手?讲一下HTTPS通信的建立机制虚拟内存的作用,知道吗?讲一下程序编译的原理讲一下MySQL 语句执行的过程MySQL 的缓存会失效吗?MySQL 前缀索引假设建立联合索引(a, b, c)如果对字..

2021-09-07 13:57:56 164

原创 7月初京东Java开发岗三面面经分享,字节跳动高工面试

2、一个排好序的数组,找出两数之和为m的所有组合3、自然数序列,找出任意连续之和等于n的所有子序列数据结构:4、从数据库查出一个数据结果集,其中有一个时间字段,请用一个数据结构存储使得可以最快速的查出某个时间段内的记录。5、上一题我提到了B+树,他就继续问了为何用B+树实现索引而不用二叉树数据库:6、说说Oracle数据库的事务隔离级别,以及遇到的相关问题这个我说了标准的四种级别,Oracle实现的三种级别,并概述了下多版本读一致性项目相关技术:7、看到简历上写了个rpc,讲讲,我说了跟r

2021-09-07 13:56:08 100

空空如也

空空如也

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

TA关注的人

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