Java预科知识

以下内容是根据狂神的Java说、chatgpt和csdn相关博客,结合自己的理解完成的。

Java了解

基于Java 开发了巨多的平台,系统,工具

  • 构建工具: Ant, Maven, Jekins
  • 应用服务器:Tomcat, Jetty, Jboss, Websphere, weblogic
  • Web开发:Struts, Spring, Hibernate, myBatis
  • 开发工具:Eclipse, Netbean,intellij idea, Jbuilder
  • Hadoop

Java构建工具

当你开发一个大型的Java应用程序时,构建工具就像是一个自动化的助手,它可以帮你完成很多繁琐的任务,比如:

  • 下载所需的代码库:就像从商店购物一样,你需要的东西都能被自动下载到你的项目中。
  • 整理和编译代码:它会帮你整理你的代码,并确保它们能够被计算机读懂。
  • 运行测试:就像做实验一样,确保你的代码能够按照你期望的方式运行。
  • 打包应用程序:就像把所有东西放进一个盒子里一样,它会帮你把所有需要的东西打包成一个可以运行的程序。

这样,你就能够更专注于编写代码,而不必亲自去做这些琐碎的工作。

Java应用服务器

Java应用服务器是一种软件框架或工具,用于在服务器上托管和运行Java应用程序。它们提供了一种环境,使得开发人员能够部署、管理和运行他们的Java应用程序。Java应用服务器通常提供以下功能:

  1. Servlet容器:用于托管和执行Java Servlet,这是一种用于扩展Web服务器功能的Java类。
  2. JSP容器:用于执行Java Server Pages(JSP),这是一种用于创建动态网页的Java技术。
  3. 管理工具:用于监视和管理部署在服务器上的应用程序,包括资源分配、性能监控等。
  4. 连接池:用于管理与数据库等外部资源的连接,以提高性能并减少资源占用。
  5. 安全性:提供安全机制,如用户认证、授权管理等,以确保应用程序和数据的安全性。

Java应用服务器就像是一个大管家,它的工作是在网络上运行Java应用程序。想象一家餐厅,Java应用程序就像是菜单上的菜,而应用服务器就像是厨房和服务员,它们负责把菜做好并送到客人面前。

应用服务器提供了一个安全而可靠的地方,让你的Java应用程序可以在互联网上运行。

Java Web开发

Java的Web开发是指利用Java编程语言和相关的技术来构建互联网上的应用程序。这些应用程序通常以网页的形式呈现,并且能够在网页浏览器中运行。Java的Web开发通常涉及以下方面:

  1. Servlets和JSP:Servlets是Java编写的服务器端程序,用于处理HTTP请求并生成响应。JSP(JavaServer Pages)允许开发人员在HTML中嵌入Java代码,用于动态生成网页内容。
  2. 框架:Java的Web开发涉及使用各种框架,如Spring、Spring Boot、Struts等,这些框架提供了许多功能和工具,用于简化开发过程,包括依赖注入、面向切面编程、模型-视图-控制器(MVC)等。
  3. 数据库访问:Java的Web应用通常需要与数据库进行交互,使用技术如JDBC(Java数据库连接)或者持久化框架(比如Hibernate)来实现。
  4. 前端技术:虽然Java主要用于服务器端开发,但Java的Web开发也需要涉及前端技术,比如HTML、CSS、JavaScript等,以及现代的前端框架和工具。
  5. 应用服务器:Java Web应用程序通常部署在Java应用服务器(比如Tomcat、Jetty等)上,这些服务器提供了一个环境,用于托管和运行Java Web应用程序。

Java的Web开发通常涉及到多种技术和工具,以实现各种功能,从简单的静态网页到复杂的动态Web应用程序。

Spring

Spring是一个用于构建企业级Java应用程序的综合框架。它提供了许多功能,包括依赖注入、面向切面编程、事务管理等。Spring框架的设计目标是简化企业级应用程序的开发,并且提供了许多模块,如Spring MVC用于构建Web应用程序,Spring Boot用于快速构建独立的生产级Spring应用程序等。Spring的核心是IoC(控制反转)和AOP(面向切面编程)概念,它们使得开发人员可以更轻松地编写可维护和可扩展的代码。

MyBatis

MyBatis是一个持久层框架,用于将Java对象(POJOs)与数据库记录进行映射。与传统的JDBC相比,MyBatis可以通过XML或注解方式更加便捷地进行数据库操作。它允许开发人员将SQL语句与Java方法进行关联,从而更加灵活地进行数据库操作。MyBatis具有简单易用的特点,同时也提供了高度的灵活性和性能优化的可能性,因此在Java的持久层开发中得到了广泛的应用。

Java开发工具

Java开发工具是指用于编写、调试和管理Java应用程序的软件工具。

Hadoop

Hadoop 是一个开源的分布式存储和计算框架,用于处理大规模数据集。它最初由Apache软件基金会开发,并且成为了处理大数据的主要工具之一。Hadoop框架主要包括两个核心部分:Hadoop分布式文件系统(HDFS)和MapReduce计算模型。

  • Hadoop分布式文件系统(HDFS):HDFS是Hadoop的文件存储系统,它被设计用于在计算集群上存储大规模数据。HDFS通过将数据分布式存储在集群的多个节点上,提供了高容错性和高吞吐量的数据存储解决方案。
  • MapReduce计算模型:MapReduce是Hadoop用于处理和计算存储在HDFS上的大规模数据的编程模型。它将数据处理任务分解为多个独立的部分,然后在集群中的多个节点上并行执行这些任务,最后将结果合并以得到最终的输出。

当我们谈论大数据时,我们通常指的是非常大的数据集,以至于传统的数据处理工具无法有效处理。Hadoop就像是一个大型的数据处理工厂。它有两个主要功能:

  1. 存储数据:想象一下,你有一大堆文件,比如成千上万的文件,太多以至于你的电脑或硬盘装不下。Hadoop就像是一个可以把这些文件分散存储在许多不同的地方,这样你就不必担心存储空间不够了。
  2. 处理数据:当你需要对这些大量的文件进行处理时,Hadoop可以帮你分配这些工作给许多计算机,这样就可以更快地完成工作。就好像有一个非常大的团队帮你一起工作,比你一个人做会快很多。

总的来说,Hadoop就是一个能够帮助我们存储和处理非常大量数据的工具,让我们能够更有效地管理和利用这些数据。

程序员的三高hhh

高并发、高可用、高性能
https://blog.csdn.net/weixin_46048259/article/details/128491043

Java的特性和优势

简单性、面向对象、可移植性、高性能、分布式、动态性、多线程、安全性、健壮性

  • 简单性:Java的语法相对简单易懂,使得编写和阅读代码更加容易。它避免了许多传统编程语言中容易犯的错误。
    没有了C语言中的指针,不用维护指针了。

  • 面向对象:这意味着Java能够更好地组织和管理代码,使得代码更易于维护和重用。通过面向对象的方式,程序员可以更容易地模拟现实世界的情景。

  • 可移植性:Java代码可以在不同的计算机和操作系统上运行,因为它们可以被编译成中间代码(bytecode),然后在任何支持Java的平台上运行。

  • 高性能:尽管Java是一种解释型语言,但它的性能非常出色。通过即时编译和其他优化技术,Java程序可以达到接近原生代码的性能。

  • 分布式:Java内置了许多库和工具,使得开发分布式系统变得更加容易。这使得不同计算机上的程序可以方便地进行通信和协作。

  • 动态性:Java具有动态加载和动态链接的能力,这意味着程序可以在运行时动态地加载新的模块和库,使得程序更加灵活和可扩展。
    Java的反射机制体现了Java的动态性特性。
    通过反射,Java程序可以在运行时检查类、接口、字段和方法,也可以实例化对象、调用方法,甚至可以操作数组。这种动态性使得程序能够在运行时获取关于类和对象的信息,从而实现更灵活的编程和更高级的技术实现。

  • 多线程:Java内置了对多线程编程的支持,这使得程序能够更有效地利用计算机的多核处理器,实现更高的性能。

  • 安全性:Java拥有严格的安全机制,包括内置的安全管理器和类加载器,这些功能可以防止恶意代码的执行和系统资源的滥用。
    比如Java中的异常捕获机制。

  • 健壮性:Java在设计时考虑了许多错误处理和异常情况,这使得程序更加健壮,能够更好地处理各种意外情况。

Java的三大版本

  • JavaSE:标准版(桌面程序、控制台开发。。。)

  • JavaME:嵌入式开发(手机、小家电。。。),现在用的少了。

  • JavaEE:E企业级开发(web端、服务器开发。。。)

JDK、JRE、JVM

  • JDK:Java开发工具包(Java Development Kit),它是用于开发Java应用程序的软件开发工具集合。JDK包括了Java编译器(javac)、Java运行时环境(JRE)、Java类库、调试器和其他工具。如果你想要编写和编译Java程序,你需要安装JDK。

  • JRE:Java运行时环境(Java Runtime Environment),它包含了Java虚拟机(JVM)和Java类库,是用于运行Java程序的软件。当你要运行一个已经编译好的Java程序时,你只需要安装JRE,因为它提供了程序运行所需的一切环境。

  • JVM:Java虚拟机(Java Virtual Machine),它是Java程序运行的环境。当你运行一个Java程序时,JVM负责将Java字节码(.class文件)翻译成特定操作系统的机器码,以便程序能够在特定平台上运行。JVM提供了内存管理、安全性、垃圾回收等功能,使得Java程序能够在不同的操作系统上具有一致的行为。

这三者之间的关系可以用下面的方式来理解:JDK包含JRE,而JRE包含JVM。也就是说,JDK包含了你开发Java程序所需的一切,包括编译器、运行时环境和其他工具;而JRE则是用于运行Java程序的环境,其中包含了JVM和Java类库。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/214827.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dell r720远程网络安装ubuntu20.04(无U盘)

登陆后界面,在主界面上,我们就可以看到各个硬件组件的状态。在快速启动任务栏中,可以对系统电源进行操作,如开机、关机等。安装操作系统,在虚拟控制台预览处点击>启动 按照浏览器出现的提示确定安装控件等&#x…

软件设计师——数据结构(一)

📑前言 本文主要是【数据结构】——软件设计师——数据结构的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 &#x1f304…

running小程序重要技术流程文档

一、项目文件说明: (注:getMyMoney无用已删除) 二、重要文件介绍 1.reinfo.js:位于utils文件下,该文件封装有统一的请求URL,和请求API同意封装供页面调用;调用时候需要在页面上先…

unittest与pytest的区别

Unittest vs Pytest 主要从用例编写规则、用例的前置和后置、参数化、断言、用例执行、失败重运行和报告这几个方面比较unittest和pytest的区别: 用例编写规则 用例前置与后置条件 断言 测试报告 失败重跑机制 参数化 用例分类执行 如果不好看,可以看下面表格&…

算能 MilkV Duo开发板实战——opencv-mobile (迷你版opencv库)的移植和应用

前言 OpenCV是一种开源的计算机视觉和机器学习软件库,旨在提供一组通用的计算机视觉工具。它用于图像处理、目标识别、人脸识别、机器学习等领域,广泛应用于计算机视觉任务。 OpenCV-Mobile是OpenCV库的轻量版本,专为移动平台(A…

[MySQL] SQL优化之性能分析

🌈键盘敲烂,年薪30万🌈 目录 一、索引优化 1、索引是什么: 2、索引的数据结构: 3、索引种类: 4、sql分析(回表查询) 二、定位慢查询语句 1、慢查询日志 2、profile详情 3、…

洛谷P3807 Lucas定理

传送门: P3807 【模板】卢卡斯定理/Lucas 定理 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P3807题干: 给定整数n,m,p 的值,求出C(nm,n)​mod p 的值。 输入数据保证…

案例027:基于微信小程序的校园二手平台的设计与实现

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

SAP UI5 walkthrough step3 Controls

在上一步&#xff0c;我们是直接用index.html 中的body 里面的DIVision去输出 hello world&#xff0c; 在这个章节&#xff0c;我们将用SAP UI5 的标准控件 sap/m/Text 首先&#xff0c;我们去修改 webapp/index.html <!DOCTYPE html> <html> <head><…

Pytorch深度强化学习1-6:详解时序差分强化学习(SARSA、Q-Learning算法)

目录 0 专栏介绍1 时序差分强化学习2 策略评估原理3 策略改进原理3.1 SARSA算法3.2 Q-Learning算法 0 专栏介绍 本专栏重点介绍强化学习技术的数学原理&#xff0c;并且采用Pytorch框架对常见的强化学习算法、案例进行实现&#xff0c;帮助读者理解并快速上手开发。同时&#…

【论文极速读】LVM,视觉大模型的GPT时刻?

【论文极速读】LVM&#xff0c;视觉大模型的GPT时刻&#xff1f; FesianXu 20231210 at Baidu Search Team 前言 这一周&#xff0c;LVM在arxiv上刚挂出不久&#xff0c;就被众多自媒体宣传为『视觉大模型的GPT时刻』&#xff0c;笔者抱着强烈的好奇心&#xff0c;在繁忙工作之…

class073 背包dp-01背包、有依赖的背包【算法】

class073 背包dp-01背包、有依赖的背包【算法】 算法讲解073【必备】背包dp-01背包、有依赖的背包 code1 P1048 [NOIP2005 普及组] 采药 // 01背包(模版) // 给定一个正数t&#xff0c;表示背包的容量 // 有m个货物&#xff0c;每个货物可以选择一次 // 每个货物有自己的体积…

ChatGPT 应用开发(一)ChatGPT OpenAI API 免代理调用方式(通过 Cloudflare 的 AI Gateway)

前言 开发 ChatGPT 应用&#xff0c;我觉得最前置的点就是能使用 ChatGPT API 接口。首先我自己要能成功访问&#xff0c;这没问题&#xff0c;会魔法就可以本地调用。 那用户如何调用到我的应用 API 呢&#xff0c;我的理解是通过用户能访问到的中转服务器向 OpenAI 发起访问…

带阻滤波器:原理、应用及性能分析?|深圳比创达电子EMC

在现代电子技术和通信领域中&#xff0c;滤波器是一种常见的电路元件&#xff0c;用于处理信号&#xff0c;去除不需要的频率成分或者增强感兴趣的频率成分。本文将重点探讨带阻滤波器&#xff0c;它是一种特殊类型的滤波器&#xff0c;具有在特定频率范围内抑制信号的功能。我…

JVM Optimization Learning(五)

目录 一、JVM Optimization 1、G1 1、G1内存模型 2、基础概念 3、G1特点&#xff1a; 4、CMS日志分析 5、G1日志分析 2、GC参数 2.1、GC常用参数 2.2、Parallel常用参数 2.3、CMS常用参数 2.4、G1常用参数 一、JVM Optimization 1、G1 G1官网说明&#xff1a;Gar…

【微软技术栈】发布自己造的轮子 -- 创建Nuget包(分布操作)

目录 1、您的项目 2、创建 .nuspec 文件 3、一张图片胜过一千个拉取请求 4、包括自述文件 MD 文件 5、构建软件包 6、将包部署到 Nuget.Org 7、手动上传软件包 8、自动化和脚本化部署 9、我们如何构建和部署 ErrLog.IO Nuget 包 10、Nuget统计数据 11、最后的思考 创建 Nuget 包…

生产上线需要注意的安全漏洞

一、关闭swagger 1、关闭swagger v3 # 需同时设置auto-startupfalse&#xff0c;否则/v3/api-docs等接口仍能继续访问 springfox:documentation:enabled: falseauto-startup: falseswagger-ui:enabled: false 2、关闭swagger v2 # 只要不是true就不启用 swagger:enable: fa…

YOLOv8/YOLOv7/YOLOv5/YOLOv4/Faster-rcnn系列算法改进【NO.83】将主干特征提取网络Backbone改为RevCol

前言 作为当前先进的深度学习目标检测算法YOLOv8,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法。此后的系列文章,将重点对YOLOv8的如何改进进行详细的介绍,目的是为了给那些搞科研的同学需要创新点或者搞工程项目…

Vue3: 给表格多个字段添加排序功能

问题 在Vue3项目中&#xff0c;使用element-plus的表格组件绘制表格后&#xff0c;需要令表格的多个字段可以进行选择排序&#xff08;选择升序或者降序&#xff09;但是排序功能好像有时候会出错&#xff0c;需要排序的字段多了之后&#xff0c;排序功能有时候会不起作用 解…

分子生成领域的stable diffusion - GEOLDM

一、关于stable diffusion 很多人都知道stable diffusion&#xff0c;stable diffusion的出现改变了机器生成领域&#xff0c;让AI技术第一次无比的接近正常人。大语言模型&#xff0c;AIGC概念于是兴起。基于stable diffusion 大家开发了lora&#xff0c; hyperwork等微调技术…