JavaApplet基础
Java Applet 基础Applet 是一种 Java 程序。它一般运行在支持 Java 的 Web 浏览器内。因为它有完整的 Java API支持,所以Applet 是一个全功能的 Java 应用程序。如下所示是独立的 Java 应用程序和 applet 程序之间重要的不同: Java 中 Applet 类继承了 java.applet.Applet 类。 Applet 类没有定义 main(),所以一个 Applet 程序不会调用 main() 方法。 Applet 被设计为嵌入在一个 HTML 页面。 当用户浏览包含 Applet 的 HTML 页面,Applet 的代码就被下载到用户的机器上。 要查看一个 Applet 需要 JVM。 JVM 可以是 Web 浏览器的一个插件,或一个独立的运行时环境。 用户机器上的 JVM 创建一个 Applet 类的实例,并调用 Applet 生命周期过程中的各种方法。 Applet 有 Web 浏览器强制执行的严格的安全规则,Applet...
JavaAI编程助手
Java AI 编程助手这两年 AI 发展迅猛,作为开发人员,我们总是追求更快、更高效的工作方式,AI 的出现可以说改变了很多人的编程方式。 AI 对我们来说就是一个可靠的编程助手,给我们提供了实时的建议和解决方案,无论是快速修复错误、提升代码质量,或者查找关键文档和资源,AI 作为编程助手都能让你事半功倍。 今天为大家推荐一款适配了 Viusal Studio,VS Code,JetBrains 系列(本文使用)以及 Vim 等多种编译器环境的插件 Fitten Code,Fitten Code 是由非十大模型驱动的 AI 编程助手,它可以自动生成代码,提升开发效率,帮您调试 Bug,节省您的时间,另外还可以对话聊天,解决您编程碰到的问题。 Fitten Code 免费且支持 80 多种语言:Python、C++、Javascript、Typescript、Java等。目前对于 Java,Fitten Code 支持在多种文本编辑器或 IDE 上使用,接下来我们来详细看看在 IntelliJ IDEA...
Java9新特性
Java 9 新特性 Java 9 发布于 2017 年 9 月 22 日,带来了很多新特性,其中最主要的变化是已经实现的模块化系统。接下来我们会详细介绍 Java 9 的新特性。 Java 9 新特性 模块系统:模块是一个包的容器,Java 9 最大的变化之一是引入了模块系统(Jigsaw 项目)。 REPL (JShell):交互式编程环境。 HTTP 2 客户端:HTTP/2标准是HTTP协议的最新版本,新的 HTTPClient API 支持 WebSocket 和 HTTP2 流以及服务器推送特性。 改进的 Javadoc:Javadoc 现在支持在 API 文档中的进行搜索。另外,Javadoc 的输出现在符合兼容 HTML5 标准。 多版本兼容 JAR 包:多版本兼容 JAR 功能能让你创建仅在特定版本的 Java 环境中运行库程序时选择使用的 class 版本。集合工厂方法:List,Set 和 Map 接口中,新的静态工厂方法可以创建这些集合的不可变实例。私有接口方法:在接口中使用private私有方法。我们可以使用 private...
Java8新特性
Java 8 新特性Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。 新特性Java8 新增了非常多的特性,我们主要讨论以下几个: Lambda 表达式 − Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法中)。方法引用 − 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。默认方法 − 默认方法就是一个在接口里面有了一个实现的方法。新工具 − 新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。Stream API −新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。Date Time API − 加强对日期与时间的处理。Optional 类 − Optional...
Go错误处理
Go 错误处理 Go 语言通过内置的错误接口提供了非常简单的错误处理机制。 Go 语言的错误处理采用显式返回错误的方式,而非传统的异常处理机制。这种设计使代码逻辑更清晰,便于开发者在编译时或运行时明确处理错误。 Go 的错误处理主要围绕以下机制展开:error 接口:标准的错误表示。显式返回值:通过函数的返回值返回错误。自定义错误:可以通过标准库或自定义的方式创建错误。panic 和 recover:处理不可恢复的严重错误。error 接口Go 标准库定义了一个 error 接口,表示一个错误的抽象。error 类型是一个接口类型,这是它的定义: type error interface { Error() string} 实现 error 接口:任何实现了 Error() 方法的类型都可以作为错误。Error() 方法返回一个描述错误的字符串。使用 errors 包创建错误我们可以在编码中通过实现 error 接口类型来生成错误信息。创建一个简单错误:实例package main import ( “errors” “fmt”) func main() { ...
Go语言递归函数
Go 语言递归函数 递归,就是在运行的过程中调用自己。 语法格式如下: func recursion() { recursion() /* 函数调用自身 */} func main() { recursion()} Go 语言支持递归。但我们在使用递归时,开发者需要设置退出条件,否则递归将陷入无限循环中。递归函数对于解决数学上的问题是非常有用的,就像计算阶乘,生成斐波那契数列等。 阶乘以下实例通过 Go 语言的递归函数实例阶乘:实例package main import “fmt” func Factorial(n uint64)(result uint64) { if (n > 0) { result = n * Factorial(n-1) return result } return 1} func main() { var i int = 15 fmt.Printf(“%d 的阶乘是 %d\n”, i,...
Go语言运算符
Go 语言运算符运算符用于在程序运行时执行数学或逻辑运算。Go 语言内置的运算符有: 算术运算符关系运算符逻辑运算符位运算符赋值运算符其他运算符 接下来让我们来详细看看各个运算符的介绍。 算术运算符下表列出了所有Go语言的算术运算符。假定 A 值为 10,B 值为 20。 运算符描述实例+相加 A + B 输出结果 30-相减 A - B 输出结果 -10*相乘 A * B 输出结果 200/相除 B / A 输出结果 2%求余 B % A 输出结果 0++自增 A++ 输出结果 11–自减 A– 输出结果 9 以下实例演示了各个算术运算符的用法:实例package main import “fmt” func main() { var a int = 21 var b int = 10 var c int c = a + b fmt.Printf(“第一行 - c 的值为 %d\n”, c ) c = a - b fmt.Printf(“第二行 - c 的值为 %d\n”, c ) ...
Go语言范围(Range)
Go 语言范围(Range) Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对。 for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。格式如下:for key, value := range oldMap { newMap[key] = value} 以上代码中的 key 和 value 是可以省略。如果只想读取 key,格式如下:for key := range oldMap或者这样:for key, _ := range oldMap如果只想读取 value,格式如下:for _, value := range oldMap 实例数组和切片遍历简单的切片,2**%d 的结果为 2 对应的次方数:实例package main import “fmt” // 声明一个包含 2...
Go语言结构体
Go 语言结构体Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。结构体表示一项记录,比如保存图书馆的书籍记录,每本书有以下属性: Title :标题Author : 作者Subject:学科ID:书籍ID 定义结构体结构体定义需要使用 type 和 struct 语句。struct 语句定义一个新的数据类型,结构体中有一个或多个成员。type 语句设定了结构体的名称。结构体的格式如下:type struct_variable_type struct { member definition member definition … member definition} 一旦定义了结构体类型,它就能用于变量的声明,语法格式如下: variable_name := structure_variable_type {value1, value2…valuen}或variable_name := structure_variable_type {...
Go语言结构
Go 语言结构 在我们开始学习 Go 编程语言的基础构建模块前,让我们先来了解 Go 语言最简单程序的结构。 Go Hello World 实例Go 语言的基础组成有以下几个部分: 包声明引入包函数变量语句 & 表达式注释 接下来让我们来看下简单的代码,该代码输出了”Hello World!”:实例package main import “fmt” func main() { /* 这是我的第一个简单的程序 */ fmt.Println(“Hello, World!”)} 让我们来看下以上程序的各个部分: 第一行代码 package main 定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。下一行 import “fmt” 告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化 IO(输入/输出)的函数。下一行 func main()...