【Java基础】01 Java概述
2021/7/10 17:10:51
本文主要是介绍【Java基础】01 Java概述,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- 1. java概述
- 1.1. 特性
- 1.1.1. try catch finally 机制
- 1.2. 概念
- 1.1. 特性
- 2. JVM
- 2.1. JVM概述
- 2.2. OOM
- 2.3.
- 3. Maven
- 3.1. 概述
- 3.1.1. Maven概念及特性
- 3.1. 概述
- 4. Antlr4
- 4.1. 概述
- 4.1.1. 概念
- 4.1.2. 补充
- 4.1. 概述
- 介绍java和常用的工具包
1. java概述
1.1. 特性
1.1.1. try catch finally 机制
参考:
- java(3)-深入理解java异常处理机制
1.2. 概念
- UDF
UDF(User Defined Function)即用户自定义函数。
2. JVM
2.1. JVM概述
2.2. OOM
-
什么是OOM
- OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于
java.lang.OutOfMemoryError
。 - 官方说明:
Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory could be made available by the garbage collector.
意思就是说,当JVM因为没有足够的内存来为对象分配空间并且垃圾回收器也已经没有空间可回收时,就会抛出这个error(注:非exception,因为这个问题已经严重到不足以被应用处理)
- OOM,全称“Out Of Memory”,翻译成中文就是“内存用完了”,来源于
-
为什么会OOM
参考:
- 什么是OOM,为什么会OOM及一些解决方法
2.3.
3. Maven
3.1. 概述
3.1.1. Maven概念及特性
-
Maven 概念
1. Apache Maven is a software project management and comprehension tool. 2. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
-
特性
Feature Summary The following are the key features of Maven in a nutshell: Simple project setup that follows best practices - get a new project or module started in seconds Consistent usage across all projects - means no ramp up time for new developers coming onto a project Superior dependency management including automatic updating, dependency closures (also known as transitive dependencies) Able to easily work with multiple projects at the same time A large and growing repository of libraries and metadata to use out of the box, and arrangements in place with the largest Open Source projects for real-time availability of their latest releases Extensible, with the ability to easily write plugins in Java or scripting languages Instant access to new features with little or no extra configuration Ant tasks for dependency management and deployment outside of Maven Model based builds: Maven is able to build any number of projects into predefined output types such as a JAR, WAR, or distribution based on metadata about the project, without the need to do any scripting in most cases. Coherent site of project information: Using the same metadata as for the build process, Maven is able to generate a web site or PDF including any documentation you care to add, and adds to that standard reports about the state of development of the project. Examples of this information can be seen at the bottom of the left-hand navigation of this site under the "Project Information" and "Project Reports" submenus. Release management and distribution publication: Without much additional configuration, Maven will integrate with your source control system (such as Subversion or Git) and manage the release of a project based on a certain tag. It can also publish this to a distribution location for use by other projects. Maven is able to publish individual outputs such as a JAR, an archive including other dependencies and documentation, or as a source distribution. Dependency management: Maven encourages the use of a central repository of JARs and other dependencies. Maven comes with a mechanism that your project's clients can use to download any JARs required for building your project from a central JAR repository much like Perl's CPAN. This allows users of Maven to reuse JARs across projects and encourages communication between projects to ensure that backward compatibility issues are dealt with.
参考:
- Apache Maven
- Maven的作用 –
4. Antlr4
4.1. 概述
4.1.1. 概念
-
概念
ANTLR 是用JAVA写的语言识别工具,它用来声明语言的语法,简称为“元语言”(meta-language)。 -
语法解析过程
ANTLR 语法识别一般分为二个阶段:- 词法分析阶段 (lexical analysis)
对应的分析程序叫做 lexer ,负责将符号(token)分组成符号类(token class or token type) - 解析阶段
根据词法,构建出一棵分析树(parse tree)或叫语法树(syntax tree)
- 词法分析阶段 (lexical analysis)
4.1.2. 补充
-
谁在使用 Antlr4
Hive
Spark
Oracle
Presto
Elasticsearch -
常见的语法分析器
Antlr
Javacc
SqlParser (位于Alibaba的Druid库中)
其中Antlr和Javacc都是现代的语法解析器,两者都很优秀,其中Antlr要更胜一筹。而SqlParser只能解析sql语句,功能比较单一。
这篇关于【Java基础】01 Java概述的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南