# 1. 为什么 Java 需要运行时环境
# 1.1. Java 程序的启动方式
- IDE中启动,比如:Eclipse、IntelliJ IDEA
- 构建为 jar,通过命令行的方式启动,比如:java -jar application.jar
- 使用构建工具(如:Gradle、Maven)启动,比如 SpringBoot 应用启动:gradle bootRun、mvn spring-boot:run
# 1.2. JRE 是什么
在这里引用极客时间课程Java核心技术面试精讲
我们日常会接触到 JRE(Java Runtime Environment) 或者 JDK(Java Development Kit)。JRE,也就是 Java 运行时环境,仅包含运行 Java 程序的必须组件,包括 Java 虚拟机以及 Java 核心类库等。而 JDK 可以看作是 JRE 的一个超集,提供了更多工具,比如编译器、各种诊断工具等。
# 关于Java
老生长谈,Java是一个什么事物,都有些什么样的特性呢?
Java
:Java 是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 Java 编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,舍弃了容易引起错误的指针,以引用取代;移除了C++中的运算符重载和多重继承特性,用接口取代;增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。Sun微系统对 Java语言 的解释是:“Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言”。
Java 不同于一般的编译语言或解释型语言。它首先将源代码编译成字节码,再依赖各种不同平台上的虚拟机来解释执行字节码,从而具有“一次编写,到处运行”的跨平台特性。在早期 JVM 中,这在一定程度上降低了 Java 程序的运行效率。但在J2SE1.4.2发布后,Java 的运行速度有了大幅提升。
# 0. 写在前面
在我们日常的划水中,常常听到持续集成、持续部署、持续交付、DevOps,那么这些名词到底是什么意思?对我们的日常工作有什么作用呢?能够提高划水的效率呢?其实对于名词的解释始终还是千人千面,不同环境下必然存在不同的产物,我今天想说一说我自己的理解,希望不会对你有误导。
# 1. 什么是持续交付
持续交付
# 写在前面
在工作中,还没有仔细的去研究过一些算法实现,直到最近面试才知道,自己的数据结构与算法的功底这么差。 知道总是比不知道的强,那么就一个一个的来吧,我也会通过文字的方式记录自己的算法道路,下一个目标就是LeetCode。
# 如题(某次面试题)
给定⼀个按开始时间从⼩到大排序的时间区间集合,请将重叠的区间合并。时间区间集合⽤用一个二维数组表示, 二维数组的每⼀行表示⼀个时间区间(闭区间),其中 0 位置元素表示时间区间开始,1 位置元素表示时间区间结束。 例 1:输入:[ [1, 3], [2, 6], [8, 10], [15, 18] ]返回: [ [1, 6], [8, 10], [15, 18]] 解释:时间区间 [1, 3] 和 [2, 6] 有部分重叠,合并之后为 [1, 6] 例 2:输入:[[1, 4], [4, 5]]返回:[[1, 5]]解释:时间区间[1,4] 和 [4,5]重叠了了⼀一个时间点,合并之后为 [1,5] 需要实现的⽅法原型:int[][] merge(int[][] intervals)
- 二维数组中的每一行表示一个时间区间(闭区间),其中0位置表示开始时间,1位置表示结束时间
- 给定的时间区间集合按照开始时间从小到大排序,即为有序
上一页
下一页