面试

面对疫情,我们正在行动!

╄→гoц情女王★ 提交于 2021-01-21 11:31:31
前言 2020年注定是一个会被载入史册的一年,这一年里面我们经历了高考延期,奥运会延期,澳大利亚史无前例的森林大火,但是大家印象最深刻的应该还是新冠疫情的爆发。 2020年开年之初,新型冠状病毒就在全国范围内爆发,全国进入紧急抗疫状态,武汉全城封闭,澳洲紧急撤侨。为了有效的控制疫情,大人们选择在家办公,学生们开始了上网课,保证停课不停学。在全国人民的共同努力下疫情得到了有效的控制,大家的日常生活也逐渐恢复了往常的样子。正当我们准备欢送2020,喜迎2021的时候,疫情却迎来了第二次的复发,提醒我们这场“战疫”还没有结束。 由于疫情出现反弹的原因,加速了全国各地中小学寒假的到来。受疫情影响比较大的一些城市如,大连,沈阳,石家庄,黑龙江等地区,相继发布了寒假提前的通知,暂停线下授课。一些教育机构也提早做起了线上教学的预案,线上教育再一次进入了大家的视野。 疫情反弹,在线教育已经做好准备 2020年初,突如其来的疫情让我们国家的教育被迫转移到了线上,可以说这次疫情是对我们国家线上教育的一次重大考验。 面对这次疫情的突然爆发,国家马上采取了积极措施,面对无法正常开学,无法正常上课的情况,教育部采用了“停课不停学”的大规模在线教育实验。保证学生们虽然无法正常在学校上课,但是可以使用线上教学的方式来学习,保证正常的学习进度。 经过了这次大规模的线上教育,大部分学生、家长

spring boot启动报错Error starting ApplicationContext(未能配置数据源)

删除回忆录丶 提交于 2021-01-21 09:39:12
主要错误: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. 未能配置数据源:未指定“url”属性,也无法配置嵌入式数据源。 Error starting ApplicationContext . To display the conditions report re - run your application with 'debug' enabled . 2019 - 06 - 03 09 : 47 : 45.300 ERROR 23160 -- - [ //加入Java开发交流君样:756584822一起吹水聊天 main ] o . s . b . d . LoggingFailureAnalysisReporter : * * * * * * * * * * * * * * * * * * * * * * * * * * * APPLICATION FAILED TO START * * * * * * * * * * * * * * * * * * * * * * * * * * * Description : Failed to configure a DataSource : 'url'

如何优雅地终止一个线程?

牧云@^-^@ 提交于 2021-01-21 07:26:22
我们的系统肯定有些线程为了保证业务需要是要常驻后台的,一般它们不会自己终止,需要我们通过手动来终止它们。我们知道启动一个线程是start方法,自然有一个对应的终止线程的stop方法,通过stop方法可以很快速、方便地终止一个线程,我们来看看stop的源代码。 通过注解@Deprecated看出stop方法被标为废弃的方法,jdk在以后的版本中可能被移除,不建议大家使用这种API。 那为什么这么好的一个方法怎么不推荐使用,还要标注为废弃呢? 假设有这样的一个业务场景,一个线程正在处理一个复杂的业务流程,突然间线程被调用stop而意外终止,这个业务数据还有可能是一致的吗?这样是肯定会出问题的,stop会释放锁并强制终止线程,造成执行一半的线程终止,带来的后果也是可想而知的,这就是为什么jdk不推荐使用stop终止线程的方法的原因,因为它很暴力会带来数据不一致性的问题。 正因为stop方法太过暴力,所以一般不推荐使用,除非你非常清楚你自己的业务场景,用stop终止不会给你的业务带来影响。 说了这么多,那如何优雅地终止一个线程呢?看看下面的程序。 其实也不难,只需要添加一个变量,判断这个变量在某个值的时候就退出循环,这时候每个循环为一个整合不被强行终止就不会影响单个业务的执行结果。 推荐去我的博客阅读更多: 1. Java JVM、集合、多线程、新特性系列教程 2. Spring MVC

阿里巴巴JAVA岗发布+内部面试题(含P5-P7)

我们两清 提交于 2021-01-21 04:59:27
不少人对阿里巴巴技术岗的体系结构及级别的技术要求设置不太清楚,想去面试心里没底,下面简单介绍一下阿里P5-P7技术岗要求体系以及为大家分享一份涵盖阿里巴巴P5-P7的完整面试题! 阿里P5(高级研发工程师) 工作要求: 能独立完成日常工作,并能够对一些方案提出自己的建议。 基本考核就是能上手独立完成工作,熟练掌握。 技能要求(熟练): 程序设计和开发。 工作中需用到的Java开发的技术点以及相关的其他技术点 工作中需用到的Web开发的技术点以及相关的其他技术点 工作中需要用到的数据库技术点以及相关的其他技术点 运维能力,应用发布和运维,线上故障分析和排查 1-5的技能能力:程序设计和开发、java web、数据库的技能要求熟练 阿里P6(技术主管) 工作要求: 能独立解决问题,制定系统的技术实现方案,考核会涉及部分技术深度 技能要求: 除P5的技能外,还需掌握以下技能,以下技能至少需要做到熟悉 架构设计,运维能力,操作系统 阿里P7(技术专家) 工作要求: 能独立带领产品或业务向前发展,并在产品或业务的规划上具备一定的能力。 技能要求: 在P6的基础上,需要在Java开发、Web开发上至少有一项能做到精通。 在架构设计上至少在某一架构领域达到精通 阿里P5-P7内部面试题(含答案): 因内容篇幅较长, 免费 获取完整阿里面试题及答案,扫码添加 下方微信 ,还有在职 阿里面试官

IDEA激活教程

戏子无情 提交于 2021-01-21 02:09:23
1,下载破解补丁; https://pan.baidu.com/s/1LcXvupL00XTU-HHE1J6ynA 提取码: 8t1w 下载补丁文件 jetbrains-agent.jar 并将它放置到 idea安装目录的\bin目录下 2,点击试用; 进入idea软件界面后,点击激活窗口的“Evaluate for free”免费试用; (这里用PyCharm代替,其实都是一样的) 3,修改配置文件; 配置文件修改已经不在bin目录下直接修改,而是通过idea修改! 进入到项目界面后,点击idea最上面的菜单栏中的 “Help” -> “Edit Custom VM Options …”。 在打开的vmoptions编辑窗口末行添加:-javaagent:你idea的安装目录\jetbrains-agent.jar 修改完配置文件之后重启idea; 修改完配置文件之后重启idea; 修改完配置文件之后重启idea; 如果错误则会出现idea打不开的情况,这时候可以删除用户配置目录下的idea文件夹(能打开idea就不要删除): idea 文件夹 , 注意这个文件夹是隐藏目录! windwos:C:\Users\用户名\ macos:~/Library/Preferences/ ubuntu:~/. 4,输入激活码; JQE11SV0BR

Java面试宝典

心不动则不痛 提交于 2021-01-20 05:56:29
相关概念 面向对象的三个特征 封装,继承,多态.这个应该是人人皆知.有时候也会加上抽象. 多态的好处 允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消息就是函数调用).主要有以下优点: 可替换性:多态对已存在代码具有可替换性. 可扩充性:增加新的子类不影响已经存在的类结构. 接口性:多态是超累通过方法签名,想子类提供一个公共接口,由子类来完善或者重写它来实现的. 灵活性: 简化性: 代码中如何实现多态 实现多态主要有以下三种方式: 1. 接口实现 2. 继承父类重写方法 3. 同一类中进行方法重载 虚拟机是如何实现多态的 动态绑定技术(dynamic binding),执行期间判断所引用对象的实际类型,根据实际类型调用对应的方法. 接口的意义 接口的意义用三个词就可以概括:规范,扩展,回调. 抽象类的意义 抽象类的意义可以用三句话来概括: 为其他子类提供一个公共的类型 封装子类中重复定义的内容 定义抽象方法,子类虽然有不同的实现,但是定义时一致的 ## 接口和抽象类的区别 比较 抽象类 接口 默认方法 抽象类可以有默认的方法实现 ,java 8之前,接口中不存在方法的实现. 实现方式 子类使用extends关键字来继承抽象类.如果子类不是抽象类,子类需要提供抽象类中所声明方法的实现. 子类使用implements来实现接口

你必须掌握的 21 个 Java 核心技术!

五迷三道 提交于 2021-01-20 05:54:21
写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,希望可以给大家一些经验,能让大家更好学习和使用Java。 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE相关的、和Java中各个框架相关的内容。 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。 1. JVM相关 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。 不过对于一个有着3年以上Java经验的资深开发者来说,不会JVM几乎是不可接受的。 JVM作为java运行的基础,很难相信对于JVM一点都不了解的人可以把java语言吃得很透。 我在面试有超过3年Java经验的开发者的时候, JVM几乎就是一个必问的问题了。 当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证java开发能力的高低。 在JVM这个大类中,我认为需要掌握的知识有: JVM内存模型和结构 GC原理,性能调优 调优:Thread Dump, 分析内存结构 class 二进制字节码结构, class loader 体系 , class加载过程 , 实例创建过程 方法执行过程 Java各个大版本更新提供的新特性(需要简单了解) 2. Java的运行 这条可能出看很简单

必须掌握的 21 个 Java 核心技术

╄→尐↘猪︶ㄣ 提交于 2021-01-20 05:54:03
点击上方 “ Java专栏 ”, 选择“置顶或者星标” 第一时间阅读精彩文章! 1、☞ 程序员进阶必备资源免费送「21种技术方向!」 点击查看☜ 2、☞ 《Java面试手册》.PDF 点击查看 写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,希望可以给大家一些经验,能让大家更好学习和使用Java。 这次介绍的主要内容是和J2SE相关的部分,另外,会在以后再介绍些J2EE相关的、和Java中各个框架相关的内容。 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。 1. JVM相关 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。 不过对于一个有着3年以上Java经验的资深开发者来说,不会JVM几乎是不可接受的。 JVM作为java运行的基础,很难相信对于JVM一点都不了解的人可以把java语言吃得很透。 我在面试有超过3年Java经验的开发者的时候, JVM几乎就是一个必问的问题了。 当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证java开发能力的高低。 在JVM这个大类中,我认为需要掌握的知识有: JVM内存模型和结构 GC原理,性能调优 调优:Thread Dump, 分析内存结构 class 二进制字节码结构,

你必须掌握的 21 个 Java 核心技术!

雨燕双飞 提交于 2021-01-20 05:53:40
程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 8.2 分钟。 来自: Java进阶架构师 经过这么多年的Java开发,以及结合平时面试Java开发者的一些经验,我觉得对于J2SE方面主要就是要掌握以下的一些内容。 1. JVM相关 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。 不过对于一个有着3年以上Java经验的资深开发者来说,不会JVM几乎是不可接受的。 JVM作为java运行的基础,很难相信对于JVM一点都不了解的人可以把java语言吃得很透。 我在面试有超过3年Java经验的开发者的时候, JVM几乎就是一个必问的问题了。 当然JVM不是唯一决定技术能力好坏的面试问题,但是可以佐证java开发能力的高低。 在JVM这个大类中,我认为需要掌握的知识有: JVM内存模型和结构 GC原理,性能调优 调优:Thread Dump, 分析内存结构 class 二进制字节码结构, class loader 体系 , class加载过程 , 实例创建过程 方法执行过程 Java各个大版本更新提供的新特性(需要简单了解) 2. Java的运行 这条可能出看很简单,java程序的运行谁不会呢? 不过很多时候, 我们只是单纯通过IDE去执行java程序,底层IDE又是如何执行java程序呢?很多人并不了解。

盘点2020年前端最火的8个技术

情到浓时终转凉″ 提交于 2021-01-20 05:21:45
2020年的年终岁尾,我们一起解读一下整个2020年的前端技术的8个技术, 并深度分析 2021年大前端领域又有哪些顶级技术趋势,你不容错过。 2020年注定是不平凡的一年,相信因为疫情很多程序员的工作和生活都受到了一定影响,其实现在前端的技术已经到了深水区,工程师主要分为前面架构师和前端图形学工程师,那么2021年整个前端技术又有哪些新的趋势? 01 第一个就是 TypeScript,TypeScript 整个呈现出爆发性的增长,在NPM它的下载量达到了四; 02 第二个就是 React 下载量达到了第一,但是Vue的star增长最多。很多人经常问我到底是深入React 还是深入Vue ,我建议你深入React,别问我为什么,你懂的~ 03 第三个就是 WebAssembly 已经逐渐崭露头角,其实我们浏览器这样的桌面应用化的趋势会越来越明显,在前端去增强web应用,WebAssembly 在整个下一年会有更加强劲的趋势 04 第四个就是no-code、low-code、pro-code在今年随着产业互联网的提出,整个行业进入了to b的转型期,未来的低代码会越来越受到大厂的重视,那么这个时候大家一定要去努力奔大厂。 05 第五个就是我们的Devops到NoOps的转换路径之一。变成目前大家都在尝试Serverless,所以在你的简历里如果没有Serverless,一定要尽量尝试