自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 你知道如何用面向对象思想写好并发编程吗?(1),mysql面试笔试题

}// 设置库存下限void setLower(long v){ lower.set(v);}// 省略其他业务代码}虽说上面的代码是没有问题的,但是忽视了一个约束条件,就是**库存下限要小于库存上限**,这个约束条件能够直接加到上面的 `set` 方法上吗?我们先直接加一下看看效果(如下面代码所示)。我们在 `setUpper()` 和 `setLower()` 中增加了参数校验,这乍看上去好像是对的,但其实存在并发问题,问题在于存在竞态条件。这里我顺便插一句,其实当你看到代码里出现 if

2021-09-09 23:34:51 117

原创 KubeVela 1,docker面试题汇总

咦,于是乎大家兜兜绕绕,又回到了故事的原点。唯一的变化是,咱们今天这个 PaaS 是基于 K8s 实现的,确实轻松了不少。但实际情况呢?这个基于 Kubernetes 构建 PaaS 的故事,看似美好,其实整个过程却难免有些“心酸”。说的好听点是开发 PaaS,其实 80% 的工作是在设计和开发 UI,剩下的工作则是安装和运维 K8s 插件。而更令人遗憾的是,我们这样构建出来的 PaaS,其实跟以前的 PaaS 没有本质不同,任何时候用户诉求改变,我们都需要花大量时间重新设计、修改前端、排期上线。结果就

2021-09-09 16:12:48 196

原创 Kotlin学习笔记(一)—基础语法与Java全面PK,当上项目经理才知道

fun sum(a:Int,b:Int) = a + b1对应Java代码:```javaint sum(int a,int b){ return a+b;}123​ 3.函数无返回值或者说返回值无意义:fun sum(a:Int,b:Int):Unit{ println("sum of $a and $b is ${a+b}")}123orfun sum(a:Int,b:Int){ println("sum of $a and $b is ${a+

2021-09-09 16:10:59 161

原创 Kotlin只是一个“网红,【面试必备】

fun doSth(text: String) {val f: String = Utils.format(text) // compiles but assignment can throw NPE at runtimeprintln ("f.len : " + f.length)}那你就需要用 Elvis 来解决这个问题:fun doSth(text: String) {val f: String = Utils.format(text) ?: “” // safe wi

2021-09-09 16:09:25 203

原创 Kotlin之DSL,GC+堆排+Tomcat+算法题

DSL构建布局前言一、What’s the DSL?二、初探1.DSL常见的应用三.koltin中的DSL1.扩展函数2.带接收者的 Lambda 表达式3.用DSL构建布局总结一.对于DSL构建的布局二. Compose[]()前言=================================================================入职新公司后发现kotlin的语法知识跟...

2021-09-09 16:07:37 279

原创 Kafka集群管理,2021年百度Java面试真题

每个 Broker 即一个 Kafka 服务实例,多个 Broker 构成一个 Kafka 集群,生产者发布的消息将保存在 Broker 中,消费者将从 Broker 中拉取消息进行消费。Kafka集群架构图从图中可以看出 Kafka 强依赖于 ZooKeeper ,通过 ZooKeeper 管理自身集群,如:Broker 列表管理、Partition 与 Broker 的关系、Partition 与 Consumer 的关系、Producer 与 Consumer 负载均衡、消费进度 Offset

2021-09-09 16:06:08 98

原创 JVM知识梳理,腾讯、网易必问的20道题Java面试题

* 方法区中,常量引用的对象 * 本地方法栈中Native引用的对象 * java 虚拟机内部的引用…(具体详见P70)。 算法思路:以GC ROOT 的对象作为起始点,从这些节点开始向下搜索,走过的路径称为引用链( Reference Chain ) 当一个对象到GC ROOT 时没有任何引用链就会被判”缓刑“,要想真正死亡需要经历两次标记,刚才所说的只是暂时标记了一次,第二次标记的时候系统需要判断该对象是否有必要执行一次finaliz

2021-09-09 16:04:25 69

原创 【线程,2021最新阿里Java高级面试题总结

那么这种情况如何解决呢?那就是该线程发现条件还没有成熟(也就是发现ATM机没钱的时候),就应该释放锁,并且等待,知道其他线程通知说条件已经成熟了,然后把该线程唤醒(也就是运钞扯来了,并且把钱放进ATM机了,或者是后面的人进去存钱,存好了之后跟他说我刚刚存钱了,你可以进去取钱了)关键在于需要根据实际情况来手动控制线程之间的先后顺序。(虽然线程的执行顺序是由调度器实现的,但是有时候要控制先后顺序的hi后就需要手动实现)——这就引出了等待集等待集的核心操作主要有两个1.等待(wait方法)2.通知(no

2021-09-08 15:56:05 51

原创 【线程(1),一文详解

代码实现 import java.util.concurrent.TimeUnit;//使用循环数组实现生产者消费者模型public class ThreadDemo18 { //Java里面的数组需要初始化容量,因为目前不知道,使用根据用户输入来决定 int[] items = null; int first;//队首元素下标——出列的时候会用到 int last;//队尾元素下标——入队的时候会用到 int size;//实际存储容量

2021-09-08 15:54:27 56

原创 【程序猿历程,阿里,腾讯,PDD等大厂Java面试真题

总结本文从基础到高级再到实战,由浅入深,把MySQL讲的清清楚楚,明明白白,这应该是我目前为止看到过最好的有关MySQL的学习笔记了,我相信如果你把这份笔记认真看完后,无论是工作中碰到的问题还是被面试官问到的问题都能迎刃而解!CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】MySQL50道高频面试题整理:试题解析+核心总结学习笔记+最新讲解视频】](https://codechina.csdn.net/m0_609...

2021-09-08 15:52:53 90

原创 【程序人生,三面蚂蚁核心金融部

前言哈喽,大家好,我是一条。2021-04-24,我发布了这篇《是的,我离职了!》大家可以看到,阅读量并不高,因为那时我还只有不到100个粉丝,三年陆陆续续也发布不到100篇文章。从离职这篇文章以后,开始高效率,高质量的更文,我告诉自己:不为别的,就为自己能干成一件事!上天总是会眷顾努力的人,恰好这时CSDN推出「新星计划」,我就上了这趟顺风车。从「新星计划」的java赛道胜出之后,我又加入「原力计划」。直到今天,共发布文章52篇,资源5个。粉丝数量6k+,阅读量27w+。同时获得了「后

2021-09-08 15:51:16 65

原创 【白话设计模式,半路出家Java程序员看我轻松逆袭

文章目录定义问题解决方案结构代码实现通用产品接口具体产品基础创建者具体创建者客户端Java中应用应用场景实现方式优缺点定义工厂方法模式是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。问题假设你正在开发一款物流管理应用。 最初版本只能处理卡车运输, 因此大部分代码都在位于名为 卡车的类中。一段时间后, 这款应用变得极受欢迎。 你每天都能收到十几次来自

2021-09-08 15:49:27 130

原创 【漫画,百度网盘Java项目

然而饿汉模式在类成员变量比较多,或变量比较大的情况下,可能会在没有使用类对象的情况下,一直占用堆内存。试想下,如果一个开源框架中的所有类都是基于饿汉模式实现的单例,这将会初始化所有单例类。将会占据堆中很大一部分空间,对系统性能来说无疑是灾难性的。懒汉模式//懒汉模式public final class Singleton { private static Singleton instance= null;//不实例化 private Singleton(){}//构造函数 .

2021-09-08 15:47:40 270

原创 Tomcat内存释放不了,鸟哥的linux私房菜

JAVA_OPTS="-server -Xms800m -Xmx800m  -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "JAVA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:NewSize=192m -XX:MaxNewSize=384m"CATALINA_OPTS

2021-09-06 16:48:08 1280

原创 ThreadLocal到底是什么,程序员必看

} public static void set(String words) { StringBuilderUtil.stringBuilderThreadLocal.set(new StringBuilder(words)); System.out.printf("Set, Thread name:%s , ThreadLocal hashcode:%s, Instance hashcode:%s, Value:%s\n", ...

2021-09-06 16:46:19 129

原创 TCP为何要进行“三次握手,2021大厂Java开发面试总结+解答

**程序员:**那您且细听分说三次握手**程序员:**这个“三次握手”就是通信建立链接的一个过程,看下图通俗点讲就是:客户端:你好,我是客户端服务端:你好,客户端,我是服务端客户端:你好,服务端也经常把这个过程叫做“请求->响应->响应的响应”**面试官:**打断一下,问个问题,为什么不是两次或者四次,非得是三次呢?**程序员:**嗯,不错,是个称职的面试官!试想一下,客户端发送一个连接,由于丢包、超时,或是服务端根本就不想建立连接,那这个时候客户端怎么办?客户端.

2021-09-06 16:44:45 126

原创 System,什么是微服务扩展性和高可用、可扩展性

//获取Object数组中的字符串类型数据private static void getStringArrayFromObjectArray1() { Object[] obj3 = { 1, 2, 3, "4", "5" }; String[] obj4 = new String[5]; try { System.arraycopy(obj3, 2, obj4, 2, 3); } catch (Exception e) { //transfer exception:jav

2021-09-06 16:43:10 51

原创 System,Java全套资料百度云

System.out.println(Arrays.toString(obj4));}//获取Object数组中的字符串类型数据private static void getStringArrayFromObjectArray2() { Object[] obj3 = { 1, 2, 3, "4", "5" }; String[] obj4 = new String[5]; try { System.arraycopy(obj3, 3, obj4, 3, 2); }.

2021-09-06 16:41:26 72

原创 Swagger 3,中软国际Java面试题

SpringBoot项目整合swagger2需要用到两个依赖:springfox-swagger2和springfox-swagger-ui,用于自动生成swagger文档。springfox-swagger2:这个组件的功能用于帮助我们自动生成描述API的json文件springfox-swagger-ui:就是将描述API的json文件解析出来,用一种更友好的方式呈现出来。SpringFox 3.0.0 发布此版本的亮点:Spring5,Webflux支持(仅支持请求映射,

2021-09-06 16:39:46 1268 1

原创 Redis 低成本、高可用设计,花费近一年时间整理的Java核心知识清单

本文主要介绍下使用官方sentinel做redis高可用方案的设计。Redis SentinelSentinel介绍Sentinel是Redis官方为集群提供的高可用解决方案。在实际项目中可以使用sentinel去做redis自动故障转移,减少人工介入的工作量。另外sentinel也给客户端提供了监控消息的通知,这样客户端就可根据消息类型去判断服务器的状态,去做对应的适配操作。下面是Sentinel主要功能列表:Monitoring:Sentinel持续检查集群中的master、slave

2021-09-05 18:40:35 86

原创 RabbitMQ的高级特性和消息补偿机制,刚面试了阿里,滴滴,网易

自动确认: acknowledge=“none” 当消息一旦被Consumer接收到,则自动确认收到,并将相应 message 从 RabbitMQ 的消息缓存中移除。手动确认: acknowledge=“manual” 如果出现异常,则调用channel.basicNack()方法,让其自动重新发送消息。根据异常情况确认:acknowledge=“auto”。3. 消息过期(TTL)TTL 全称 Time To Live(存活时间/过期时间)。当消息到达存活时间后,还没有被消费,会被自动清除。R

2021-09-05 18:39:02 162

原创 PyCharm常用配置和常用插件,Java面试题汇总

修改主题修改字体快捷键风格显示行数和方法线代码自动提示快捷键移除占用Alt+斜杠的快捷键设置Basic快捷键为Alt+斜杠鼠标悬停显示文档说明关闭自动更新安装 autopep8 工具PEP8是 Python Enhancement Proposal 8的缩写,翻译过来就是 Python增强建议书,也就是Python编码规范。Mac安装方式命令行输入pip install autopep8,如果执行autopep8 --version命令,输出类似autopep8 1.

2021-09-05 18:35:54 100

原创 PyCharm2020,Java高级程序员面试宝典

如果有特殊需要,请按如下描述确定是否勾选设置:创建快捷方式:默认根据你当前系统进行选择;将 pycharm 的启动目录添加到环境变量(需要重启),如果需要使用命令行操作 pycharm,则勾选该选项;添加鼠标右键菜单,使用打开项目的方式打开文件夹。如果你经常需要下载一些别人的代码查看,可以勾选此选项,这会增加鼠标右键菜单的选项;将所有 py 文件关联到 pycharm,也就是你双击你电脑上的 py 文件,会默认使用 pycharm 打开。不建议勾选,pycharm 每次.

2021-09-05 18:34:17 196

原创 pulsar java IO生产消费消息,Java组件化开发教程

<groupId>org.example</groupId><artifactId>Pulsar_moudle</artifactId><version>1.0-SNAPSHOT</version><build> <plugins> <plugin> <groupId>org.apache.maven.plugins<

2021-09-05 18:32:43 143

原创 【BAT面试题系列,网易Java社招面试题

如果外包员工把需求做完了,它经过一段(keepAliveTime)空闲时间,就离开公司了。好的,到这里。面试问题1->Java的线程池说一下,各个参数的作用,如何进行的? 是否已经迎刃而解啦, 我觉得这个问题,回答:线程池构造函数的corePoolSize,maximumPoolSize等参数,并且能描述清楚线程池的执行流程 就差不多啦。线程池异常处理在使用线程池处理任务的时候,任务代码可能抛出RuntimeException,抛出异常后,线程池可能捕获它,也可能创建一个新的线程来代替异常.

2021-09-03 17:47:24 99

原创 「架构师必备,Java中级面试题及答案

基于SpringCloud(Hoxton.SR1) + SpringBoot(2.2.4.RELEASE) 的 SaaS型微服务脚手架,具备用户管理、资源权限管理、网关统一鉴权、Xss防跨站攻击、自动代码生成、多存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发, 支持多服务并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,非常适合学习使用。核心技术采用Nacos、Fegin、Ribbon、Zuul、Hystrix、JWT Token、M

2021-09-03 17:45:34 212

原创 「JVM,springmvc源码分析图

目前该方法使用的越来越少了,除非是与硬件有关的应用,比如通过Java程序驱动打印机,或者Java系统管理生产设备,在企业级应用中已经比较少见。因为现在的异构领域间的通信很发达,比如可以使用Socket通信,也可以使用Web Service等。(3) Execution Engine 执行引擎:执行包在装载类的方法中的指令,也就是方法。(4) Runtime data area 运行数据区:虚拟机内存或者Jvm内存,冲整个计算机内存中开辟一块内存存储Jvm需要用到的对象,变量等,运行区数据有分很多小区

2021-09-03 17:44:01 159 1

原创 《零基础,linux系统使用入门

mysqladmin -uroot shutdown### Linux 系统下首先,我们需要通过以下命令来检查MySQL服务器是否启动:ps -ef | grep mysqld如果MySql已经启动,以上命令将输出mysql进程列表, 如果mysql未启动,你可以使用以下命令来启动mysql服务器:root@host# cd /usr/bin./mysqld_safe &如果你想关闭目前运行的 MySQL 服务器, 你可以执行以下命令:

2021-09-03 17:42:32 58

原创 【恋上数据结构(2),洞悉MySQL底层架构

蛮力(Brute Force)==================================================================================以字符为单位,从左到右移动模式串,直到匹配成功 ;蛮力算法有 2 种常见实现思路:蛮力1 – 执行过程 + 实现/** * 蛮力匹配 */public static int indexOf(String text, String pattern) { if (text ==

2021-09-02 18:17:06 59

原创 【恋上数据结构(1),网易资深Java架构师

static int coins(int n) {if (n < 1) return -1; // 处理非法数据int[] dp = new int[n + 1];// 自底向上的递推for (int i = 1; i <= n; i++) { int min = Integer.MAX_VALUE; if (i >= 1) min = Math.min(min, dp[i - 1]); if (i >= 5) min = Math.min(min, dp[

2021-09-02 18:15:28 61

原创 【嵌入式实验】,如何才能更容易拿到大厂Offer

一.实验目的二.实验内容三.预备知识四.实验设备及工具(包括软件调试工具)五.实验步骤5.1 交叉编译工具配置及编译5.2 arm-linux-gcc编译工具使用5.3 编写Makefile和使用make工具5.4 使用 gdb 调试应用程序5.5 使用code::blocks进行图形化编程笔记目录点这里:南邮(通达)计算机专业基础一.实验目的===========================================..

2021-09-02 18:13:39 317

原创 【实习之T100开发,美团Java面试题库

ERP系统架构==========================================================================Linux 基本操作=============================================================================sz 文件名 即可从Linux服务器下载文件到本机。。在linux中,用户透过shell来对完成对内核程序的调用,常见的shell种类有ash,bash,ksh

2021-09-02 18:12:10 108

原创 【实习之T100开发,Nginx面试

4. 设计器 - 常用工具 - r.a画面产生器 - 产生规格===================================================================================================P批次作业是个空框架,直接保存底稿,生成画面即可。5. 设计器 - 规格 - 下载规格==============================================================================

2021-09-02 18:10:25 122

原创 【实习之T100开发(2),2021新一波程序员跳槽季

#单据必须是审核状态才能执行这个功能 IF g_oozyuc_m.oozyucstus = 'Y' THEN #因为修改画面上的身份证需要异动到数据表,所以需要开启事务 CALL s_transaction_begin() #通过下面函数返回的l_success,判断事务是提交还是回滚 CALL cooi666_modify_sfz() RETURNING l_success IF NOT l_success THEN ..

2021-09-02 18:08:47 233

原创 为了进大厂,韩顺平Java教程百度云

======hashMap原理,put和resize过程线程池类型concurrentHashMap分段锁原理,用java8实现和java7有什么区别B-树B+树区别,数据库索引原理,组合索引怎么使用?最左匹配的原理spring生命周期,几种scope区别,aop实现有哪几种实现,接口***和类***会有什么区别斐波拉契数列非递归实现短URL实现让你来设计咸鱼,你会怎么设计?模型设计linux常用指令,软硬链接、top参数、grep根据关键字查找日志文件

2021-09-01 18:06:33 4675 23

原创 为了你们不错过金三银四,Java面试数据库常见问题

答:broker 是指一个或多个 erlang node 的逻辑分组,且 node 上运行着 RabbitMQ 应用程序。cluster 是在 broker 的基础之上,增加了 node 之间共享元数据的约束。问题二:什么是元数据?元数据分为哪些类型?包括哪些内容?与 cluster 相关的元数据有哪些?元数据是如何保存的?元数据在 cluster 中是如何分布的?答:在非 cluster 模式下,元数据主要分为 Queue 元数据(queue 名字和属性等)、Exchange 元数据(exchange

2021-09-01 18:04:55 81

原创 丹丹丹学妹哭着对我说:学长,Java初级工程师面试题及答案

aaaasJava实现的泛型aaaaasdass实现方式:“类型擦除式泛型”,它只在程序源码中存在,在编译后的字节码文件中,全部泛型都被替换为原来的裸类型。并且在相应的地方插入了强制转型代码。aaasdsads[注]:对于Java语言来说,ArrayList< int>与ArrayList< String>其实是同一个类型。aas比较:aaaaasdass①、Java中不支持对泛型进行实例判断、不支持使用泛型创建对象、不支持使用泛型创建数组。aaaaasdass②、

2021-09-01 18:03:10 565

原创 中高级Java面试题目汇总解答,【Vue

组件化是 Vue.js 中的重要思想,它提供了一种抽象,让我们可以开发出一个个独立可复用的小组件来构造我们的应用任何的应用都会被抽象成一颗组件树组件化思想的应用:有了组件化的思想,我们在之后的开发中就要充分的利用它尽可能的将页面拆分成一个个小的、可复用的组件这样让我们的代码更加方便组织和管理,并且扩展性也更强注册组件组件的使用分成三个步骤:创建组件构造器注册组件使用组件上面注册组件的方式有些繁琐,Vue 提供了注册的语法糖:主要是..

2021-09-01 18:01:40 136

原创 中高级Java开发面试题,最难的几道Java面试题,看看你跪在第几个

5.为什么 char 数组比 Java 中的 String 更适合存储密码?另一个基于 String 的棘手 Java 问题,相信我只有很少的 Java 程序员可以正确回答这个问题。这是一个真正艰难的核心Java面试问题,并且需要对 String 的扎实知识才能回答这个问题。这是最近在 Java 面试中向我的一位朋友询问的问题。他正在接受技术主管职位的面试,并且有超过6年的经验。如果你还没有遇到过这种情况,那么字符数组和字符串可以用来存储文本数据,但是选择一个而不是另一个很难。但正如我的朋友所说,任何

2021-09-01 17:59:56 424

原创 【重识 HTML + CSS(3),Java知识点总结合集

* [font-weight 设置文字的粗细](about:blank#fontweight__284)* [font-style 设置文字的常规、斜体显示](about:blank#fontstyle__293)* [font-variant 设置小写字母的显示形式](about:blank#fontvariant__303)* [line-height 设置文本的最小行高](about:blank#lineheight__310)* [font 字体相关的缩写属性](

2021-08-30 19:18:08 319

空空如也

空空如也

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

TA关注的人

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