01_Java前世今生

6.2 并发安全前世今生 并发安全前世今生 阅读详情

浏览 Java 的前世今生

认识 Java
  • Java是一种广泛使用的编程语言,拥有庞大的用户群。 它具有简单、面向对象、分布式等特点,广泛的应用于互联网应用程序开发等各个领域。
  • Java之父是詹姆斯·高斯林,他是加拿大的计算机科学家和程序员。
  • 编程语言发展历史
    • 机器语言
    • 汇编语言
    • 高级语言(使用接近人类自己的语言书写,翻译器再将其翻译成计算机能理解的语言)
  • 总结:不管是什么样的高级编程语言,最终都是翻译成计算机底层可以识别的机器语言
  • Bug 与 Debug
    • Bug 原意是虫子,现在用来指代电脑程序中隐藏的一些问题或者漏洞
    • Debug 现在的意思为,修复缺陷
Java 技术体系
技术体系说明
Java SE ( Java Standard Edition) : 标准版Java 技术的核心和基础
Java EE ( Java Enterprise Edition) : 企业版企业级应用开发的一套解决方案
Java ME ( Java Micro Edition) : 小型版针对移动设备应用的解决方案
搭建 Java 开发环境
  • Java 的产品叫 JDK ( Java Development Kit : Java 开发者工具包),必须安装 JDK 才能使用 Java
  • 声明:我们这里使用的是 JDK-17 ( LTS : long-term support 长期支持版)
  • 下载 JDK,前往 Oracle 官网 进行下载
  • 在bin目录下:( E:/JavaEnv/jdk-17.0.9/bin/)
    • java.exe => 执行工具
    • javac.exe => 编译工具
Java 程序开发的三个步骤
  • 编写代码(filename.java)
  • 编译代码(filename.javac)
  • 运行代码
编写你的第一个 Java 程序
public class HelloWorld {
	public static void main(String[] args){
		System.out.println("Hello World!");
	}
}

补充:在 JDK 11 开始支持 Java 直接运行源代码文件

JDK 详解

三个名词

  • JVM ( Java Virtual Machine ) : Java 虚拟机,真正运行 Java 程序的地方
  • 核心类库 : Java 本身写好的程序,提供给程序员使用
  • JRE ( Java Runtime Environment ) : Java 的运行环境

关系

  • JRE = JVM + 核心类库
  • JDK = JRE + 开发工具(如:Java、Javac…)
Java 的跨平台工作原理
  • Java 源代码,一次编译,处处可用!
  • 原因如下
    • Java 根据不同的系统,非常贴心的弄好了对应版本的 JVM 虚拟机
    • 想要在哪个系统使用,下载对应系统版本的 JVM 虚拟机就行了
  • 版本展示
    • Windows 版 JVM 虚拟机
    • Linux 版 JVM 虚拟机
    • MacOS 版 JVM 虚拟机
配置 Path 环境变量
  • 配置的原因:为了在终端上 (例如:cmd窗口) 快速的使用 java.exe 和 javac.exe 等程序,所以我们需要配置Path 环境变量
  • 配置的方法:设置 => 系统 => 高级系统设置 => 高级 => 环境变量 => 系统的变量( 或者’用户的变量’ ) => Path => 添加 java.exe 所在目录的路径
Java 开发工具
  • 之前使用的开发工具
    • 文本编辑器
      • 记事本
      • NotePad++ 等等
    • 缺点
      • 没有错误提醒
      • 没有智能的代码提示
      • 需要自己去编译、执行
  • 现在使用的开发工具
    • 集成开发环境(IDE,Integrated Development Environment)
      • 它能够把代码编写、编译、执行等多种功能综合到一起的开发工具,可以进行代码智能提示,错误提醒,项目管理等等
      • 它能够极大地提高我们的开发效率
    • 推荐’集成开发环境’的软件有
      • Intellij IDEA
      • MyEclipse 等等
Intellij IDEA 管理 Java 程序的结构
  • project ( 项目、工程 )

  • module ( 模块 )

  • package ( 包 )

  • class ( 类 )

5.1 线程的前世今生探索 线程的前世今生探索 目录介绍 1.Vlayout简单介绍 2.主要功能介绍 2.1 主要功能的思维导图 2.2 主要功能说明 .使用方法与案例 3.1 初始化 3.2 设置回收复用池 3.3 设置RecycleView适配器 3.4 添加模块的adapter 3.5 将所有adapter绑定到RecycleView 4.相关代码说明 4.1 VirtualLayoutAdapte 阅读详情

相关推荐

携程景点评论数据爬取实战:破解AJAX动态加载与分页参数逆向分析

本文详细介绍了携程景点评论数据爬取的实战经验,重点破解了AJAX动态加载与分页参数逆向分析的技术难题。通过分析`getCommentCollapseList`接口,解析动态参数如`poiId`和`pageIndex`,并实现分页逻辑,帮助开发者高效获取评论数据。文章还提供了完整的Python爬虫代码和反爬策略,适用于数据分析与内容挖掘。

weixin_29098367的博客 673

【java 入门01】java的前世今生与jvm(虚拟机)千字总结

我的目标是:想给大家带来既能让大家看来感觉简单易懂,而且还语法全面,重点突出,便于大家查找、理解和复盘的博客。我知道这样很难,但我一直会努力的。

光之梦的博客 700

新手避坑指南:用PIC16F15355开发板和MCC完成第一个UART通信项目

本文为新手提供了使用PIC16F15355开发板和MPLAB代码配置器(MCC)实现首个UART通信项目的完整指南。通过图形化配置系统时钟、UART参数并自动生成驱动代码,手把手教学如何避开常见陷阱,快速完成从环境搭建、代码编写到调试输出的全流程,助力开发者高效入门PIC单片机开发。

bash7scripter的博客 725

Java基础知识总结01-Java的前世今生

1.Java语言是什么? Java语言是一种计算机语言,名字取自咖啡。 (Java最初的名字为 OAK)。 2.Java语言发展简史 ·Java语言之父 James Gosling(詹姆斯·高斯林) ·SUN(Stanford University Network 斯坦福大学网络公司) ·1995年5月23日 Java语言诞生 ·1996年1月 JDK1.0 ·1997年2月 ...

weixin_43603123的博客 303

VirtualBox创建虚拟机(为安装Ubuntu桌面系统)

Ubuntu的安装非常灵活。但是万变不离其宗,归纳起来,无非就是以下3种:(1)用户可以下载完整的ISO镜像文件,将其转移到各种介质上面,例如DVD或者U盘,然后以该介质引导系统进行安装。(2)用户可以下载一个非常小的网络安装器,利用该安装器引导系统进行在线安装。(3)用户可以将Ubuntu安装到一个U盘中,随身携带。为了便于读者学习,本节将介绍通过完整的ISO镜像文件安装Ubuntu。其他的安装方式将在后面介绍。

夏天又到了的专栏 2687

拆开一个烧坏的IGBT模块,手把手教你识别过压、过流、过温的“案发现场”

本文详细解析了IGBT模块失效分析的实战技巧,通过观察铝层熔化纹路、焊锡溢出形态等物理痕迹,手把手教你识别过压、过流、过温的典型失效模式。文章提供了从基础工具包到现场快速诊断的完整流程,帮助工程师精准定位IGBT模块失效的根本原因。

weixin_30655569的博客 424

大数据兼云计算(王明龙)讲师-JAVA-DAY01-前世今生

前世今生 Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。 Java分为三个体系: JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版) JavaEE(J2EE)(Java ...

IT灵魂摆渡者的博客 326

从Xilinx FPGA到MIPI DSI LCD屏:手撸代码的实战经验分享

本文分享了使用Xilinx FPGA驱动MIPI DSI LCD屏的实战经验。作者从依赖官方IP核失败,到与底层D-PHY IP缠斗,最终通过手撸代码,直接配置GTY收发器原语并实现完整的D-PHY与DSI协议栈,成功点亮屏幕。文章详细剖析了协议细节、Vivado工具链的调试技巧与避坑指南,为FPGA工程师提供了从理论到实践的宝贵参考。

weixin_29188997的博客 399

Java日期时间的前世今生

日常开发中,日期和时间是我们经常遇到并且需要处理的。由于日期时间的复杂性,随着Java的发展,也诞生了三代日期处理API。接下来就让我们一起来探究下Java日期时间的前世今生

再小的帆也能远航,把分享变成一种习惯 4055

Dify整合FireCrawl与百度搜索实战:手把手教你打造全能研究助手

本文手把手教你基于Dify平台,整合FireCrawl网页爬虫与百度搜索能力,构建一个能同时处理本地文档与实时网络信息的全能研究助手。通过部署核心环境、配置模型、接入两大工具并设计自动化工作流,实现从问题提出到深度分析报告生成的一站式解决方案,极大提升信息调研与整合效率。

weixin_29062963的博客 500

51-14 Retentive Network,RetNet 多尺度保留机制序列建模论文精读

RetNet 提出了多尺度保留机制序列建模,该机制支持三种计算范式,即并行、循环和分块循环。RetNet有更好的全局注意力建模、高效的计算效率、对遮挡的鲁棒性、支持基于注意力的图像生成、与置信度相关的门控机制和多任务学习等特点,对不同视觉任务可以共享历史注意力记忆,可以同时进行分类、分割、检测等任务。RetNet在视觉领域应该有广阔的应用前景。

AIgraphX 1613

java线程的前世今生

多线程 1. 什么是并发与并行? 并发:指两个或多个事件在同一个时间段内发生。 并行:指两个或多个事件在同一时刻发生(同时发生)。 2 线程与进程 进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。 线程:线程是进程中的一个执行单元...

Gebo的博客 484

matlab 点云可视化(1)——pcshow()函数可视化单个点云

matlab可视化单个点云常用方法汇总。

点云侠的博客 5359

01|前世今生:你不得不了解的Go的历史和现状

你好,我是Tony Bai。今天是我们的第一堂课。第一堂课的开场,我要做的事很简单,就想跟你聊一聊Go语言的前世今生。我一直认为,当你开始接触一门新语言的时候,你一定要去了解它的历史和现状。因为这样,你才能建立起对这门语言的整体认知,了解它未来的走向。而且,也能建立你学习的“安全感”,相信它能够给你带来足够的价值和收益,更加坚定地学习下去。所以,在这一节课,我就来跟你聊聊Go的前世今生,讲清楚Go...

优快云学习 633

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Java中常用日期API的前世今生

介绍API之前,先了解下几个基本知识。 计算世界时间的主要标准有: UTC(Coordinated Universal Time)协调世界时:是以原子时秒长为基础,在时刻上尽量接近于世界时的一种时间计量系统。 GMT(Greenwich Mean Time)世界时:也称为格林威治标准时间,格林威治位于本初子午线上。 CST(Central Standard Time)中央标准时间:CST可视为美国、澳大利亚、古巴或中国的标准时间。 Java中的时间是从 1970 年 1 月 1 日 00:00:00

椿尼的博客 935

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java前世今生

要想学习

kaigegeshen的专栏 797

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

轻松高效拿捏C语言01-C语言的前世今生

程序员Feri一名12年+的程序员,做过开发带过团队创过业,擅长Java、鸿蒙、嵌入式、人工智能等开发,专注于程序员成长的那点儿事,希望在成长的路上有你相伴!君志所向,一往无前!

程序员Feri 1419

[02][01][01] Spring前世今生和编程思想

文章目录Spring 的前世今生一切从 Bean 开始Spring 的设计初衷BOP 编程伊始依赖注入的基本概念AOP 编程理念Spring 中的编程思想总结Spring 编程思想Spring 注解编程Spring Framework 1.x 注解驱动启蒙时代Spring Framework 2.X 注解驱动过渡时代Spring Framework 2.5 引入了新的骨架式 AnnotationSpring Framework 3.x 注解驱动黄金时代Spring Framework 4.x 注解驱动完善时

安全新司机 574

从头到尾说一说Java时间日期体系的前世今生

约38亿年前地球出现生命体,约46亿年前太阳系形成,大约138亿年前宇宙大爆炸,那再往前呢?想起吕秀才对姬无命发出灵魂之问『时间是否有开端,宇宙是否有尽头』。施一公曾经在一次演讲中说,宇宙中从来不存在时间,只存在运动。地球公转太阳一圈是一年,这是运动,地球自转一圈是一天,这也是运动。从来就没有时间,或者说时间就是空间。『三十年春,秦晋围郑。郑伯使烛之武如秦』两千多年前我们就以时间记事,在造物主已经缔造的这一片井然有序的世界里,我们凭空创建出一个新的概念,并不断尝试融入这个世界体系--沙漏、水钟、日晷等等。

m0_46163918的博客 1154

Python的前世今生

认识 Python 人生苦短,我用 Python —— Life is short, you need Python 目标 Python 的起源 为什么要用 Python? Python 的特点 Python 的优缺点 01. Python 的起源 Python 的创始人为吉多·范罗苏姆(Guido van Rossum) 1989 年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的解释程序,作为 ABC 语言的一种继承(感觉下什么叫牛人) ABC 是由吉多参加设计的一种

zazazaaazza的博客 286

JDBC的前世今生

“请必须要有自信,你就是一道风景,没必要在别人风景里面仰视。”你好,我是梦阳辰,快来和我一起学习吧! 01.JDBC是什么? 概念:Java DataBase Connectivity ,java数据库连接,Java语言操作数据库。 JDBC本质:sun公司定义的一套操作所有关系型数据库的接口。各个数据库厂商去实现这套接口(提供数据库驱动jar包)。我们可以使用这套接口(jdbc)编程,真正执行的代码时驱动jar包中的实现类。但我们只需要面向接口编程。 02.JDBC快速入门 步骤: 1.下载驱动:去.

轻松玩编程 504

C语言速成01之一文彻底搞清楚C语言的前世今生

我是Feri,一位在代码世界深耕12年的老兵。从Java到鸿蒙,从嵌入式到AI,始终坚信:所有复杂系统的根基,都藏在最基础的语言里。今天,让我们一起揭开C语言的神秘面纱——这门诞生于Unix实验室的"古老语言",如何成为现代编程世界的基因链。

程序员Feri 1134

大模型 API 格式的前世今生

大模型API格式发展历程显示,主流厂商各自为政,导致接口规范混乱。OpenAI先后推出两套互不兼容的Chat Completions和Responses API,Anthropic采用独立system字段设计,Gemini则使用contents结构。国内平台多兼容OpenAI早期标准。核心差异体现在:system提示词位置(独立字段vs嵌入消息)、消息容器命名(messages/contents)、返回结构等方面。这种碎片化现状增加了开发者适配成本,建议国内开发者优先采用OpenAI兼容格式以降低迁移难度。

qq_33489819的博客 1278

Elasticsearch 的前世今生

Medcl 01 需求的诞生 刘备一大早就来到了公司,一看张飞和关羽已经在公司了,就问道:“两位贤弟,今天来的还蛮早啊。” 张飞一听就炸毛了,“大哥,你让我和二哥去做什么搜索功能,我们已经一晚没睡了,昨天就没回去好嘛。” 关羽也来气,“大哥,是啊,我们刚刚才上线电商网站,你这边又要加什么需求,现在用数据库检索不是好好的么,能不能让我们歇口气。” “两位兄弟辛苦了,我也不想啊,最近咱们一单生意都没有...

liqiuman180688的博客 405

响应式编程_01基本概念:前世今生

这种工作方式的优势就在于,生成事件和消费事件的过程是异步执行的,所以线程的生命周期都很短,也就意味着资源之间的竞争关系较少,服务器的响应能力也就越高。可以设想一下,当系统中存在的服务 A 需要访问服务 B 时,在服务 A 发出请求之后,执行线程会等待服务 B 的返回,这段时间该线程就是阻塞的,整个过程的 CPU 利用效率低下,很多时间线程被浪费在了 I/O 阻塞上.为了更好地分析整个调用过程,我们假设服务的提供者为服务 A,而服务的消费者为服务 B,那么这两个服务的交互过程应该是下图所示这样的。

小工匠 3449

消息队列Rocket的介绍,前世今生

消息队列Rocket的介绍,前世今生

java架构师分享,有问题可以联系我 310
上一篇: 关于C/C++指针星号 * 的写法问题
下一篇: 02_Java基础语法
code_stream
博客等级 码龄4年 1238粉丝 169原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值