
Java 基础、进阶与实战和笔试面试
文章平均质量分 73
1. Java基础入门
2. Java进阶学习
3. Java实战项目
4. Java笔试面试大全
oscar999
毕业于中国科学技术大学,数据库四级、通过系统设计师、系统分析师、信息系统项目管理师资格认证。国际项目管理(IPMP)C级认证。超过20年软件项目开发和管理经验,精通Java Web相关技术(包括Spring系列、Ext JS等),对PHP、Python、C#、Vue等有涉猎。
展开
-
Java的类加载机制和类对象
在使用Java 语言开发时,Class Loader可能是一个不用关注的概念,但是在某些疑难问题的解决的时候,可能需要掌握相关的知识,比如笔者在这一篇遇到的问题:。接下来就来全面的看一看Java的类加载机制。原创 2025-04-16 23:28:09 · 709 阅读 · 0 评论 -
基于VS Code开发Java 代码之调试关联项目代码
部门需要从Eclipse IDE 转到VS Code,对于新的工具的适应是需要一些时间和推广。对于Java 项目来说,有的成员可能会觉得VS Code 的Debug没有Eclipse IDE 好用,特别是关联项目的Debug。其实, VS Code也提供了关联项目的Debug的方式,而且也非常好用。原创 2025-01-12 13:04:10 · 652 阅读 · 0 评论 -
Maven项目如何设置上传源码包到本地库或远端库
maven-source-plugin插件的主要功能是将项目的源代码打包成JAR文件,这个JAR文件通常用于调试、文档生成或与其他开发者共享项目的源代码。通过将该插件配置在Maven项目的pom.xml文件中,开发者可以轻松地实现源代码的打包和发布。调试:在调试过程中,开发者可能需要查看项目的源代码。通过maven-source-plugin生成的源代码JAR文件,开发者可以方便地获取到项目的源代码,从而加快调试进度。文档生成:在生成项目文档时,可能需要包含源代码的注释和说明。原创 2025-01-12 09:45:55 · 601 阅读 · 0 评论 -
gRPC 基本介绍
gRPC(Google Remote Procedure Call)是一个现代的开源高性能远程过程调用(RPC)框架,其是一个功能强大、高性能且易于使用的RPC框架,它支持多种语言和平台,并提供了丰富的核心功能来满足各种分布式应用场景的需求。它可以在任何环境中运行。原创 2024-12-05 22:48:19 · 282 阅读 · 0 评论 -
Java环境变量配置
综上,一个Java源文件要运行需要使用到javac 和java 的命令,这些命令位于Java安装目录的bin 目录下, 如果不添加Java bin目录到PATH,则要么到Java bin目录执行命令, 要么使用 java,javac 命令的全路径。如果只是要找到Java相关的命令,直接将Java 的bin 目录放到PATH 就可以了,为什么要JAVA_HOME呢?文件读入到Java虚拟机(JVM)的内存中,然后转换成机器语言并解释执行。这个过程需要用到JDK中的。为后缀的文件中,这个文件被称为源文件。原创 2024-12-04 22:51:26 · 542 阅读 · 0 评论 -
三步入门Log4J 的使用
本篇基于Maven 的Project项目, 快速演示Log4j 的导入和演示。原创 2024-12-04 22:24:37 · 1891 阅读 · 0 评论 -
Linux下如何安装JDK
Linux 中JDK安装路径一般是:或查看JDK的安装路径命令which java。原创 2024-11-30 21:13:01 · 1422 阅读 · 0 评论 -
JDK 下载全介绍
总结来说,OpenJDK 21.0.2 (build 21.0.2+13) 是在 OpenJDK 21 GA (build 21+35) 基础上进行的更新,包含了更多的修复和改进,通常更稳定和安全。建议在生产环境中使用最新的更新版本,以确保获得最新的修复和安全补丁。OpenJDK 目前提供的都是解压版本,解压就可以使用,不需要安装。OpenJDK 目前最新版本是 OpenJDK 23。JDK的最新版本的下载地址。原创 2024-11-29 06:46:14 · 1304 阅读 · 0 评论 -
JDK的版本演化,JDK要收费吗?
对于个人学习和开发: 无所谓收费,都可以使用对于商业用途: 也就是公司使用,或是作为软件产品的一部分免费使用的最新版本: 8u201/202。如果要继续免费使用高版本的JDK怎么办,答案就是OpenJDK, 当然也有其他免费开源JDK实现,比如 Zulu,AdoptOpenJDK,Amazon的Corretto和阿里巴巴的dragonwell等等SE 标准LTS 长期支持JDK 1.0 - 1996年1月JDK 1.1 - 1997年2月J2SE 1.2 - 1998年12月。原创 2024-11-28 22:49:50 · 1454 阅读 · 0 评论 -
Java 语言的起源发展与基本概念(JDK,JRE,JVM)
JVM,全称Java虚拟机(Java Virtual Machine),是一个能够运行Java字节码的虚拟计算机。它并不是一种具体的硬件设备,而是一种基于计算机的软件系统,能够模拟硬件环境来执行Java程序。加载:JVM通过类加载器子系统将Java类的字节码从磁盘加载到内存中。这个过程包括验证字节码的合法性,确保它符合Java语言的规范。链接:链接过程将加载的类合并到JVM的运行时环境中。这包括将符号引用转换为直接引用,以便在运行时能够快速地找到和使用这些引用。初始化。原创 2024-11-28 22:15:25 · 1108 阅读 · 0 评论 -
VS Code开发Java之代码格式化方法大全
在Visual Studio Code (VS Code) 中开发Java,可以通过多种方式快速格式化代码。以下是一些常用的方法:Java开发基本需要安装 Language Support for Java™ by Red Hat的VS Code扩展。它为Java开发者提供了全面的语言支持。原创 2024-11-21 22:34:06 · 997 阅读 · 0 评论 -
Java常用对象的快速初始化
在Java中,有多种方式来快速初始化各种常用对象,如字符串数组(String[]),集合列表(List),映射表(Map),以及集合(Set不同的数据结构和版本的Java可能提供不同的初始化方法。以下是一些基本示例说明如何在Java中进行快速初始化。原创 2024-06-28 22:48:50 · 362 阅读 · 0 评论 -
Java如何根据对象属性值从对象列表中获取满足条件的对象
举例来说, User 的类有三个属性, id,name和age, 现在要从一个User的List集合中获取age=20的所有 User。触类旁通, Java Stream还可以实现除了过滤之外的其他功能。利用 Java 8 引入的 Streams 来简化代码。原创 2024-06-14 07:07:59 · 1043 阅读 · 0 评论 -
Java操作Excel之 POI介绍和入门
POI是Apache 提供的一个开源的Java API,用于操作Microsoft文档格式,如Excel、Word和PowerPoint等。POI是Java中处理Microsoft文档最受欢迎的库。截至2023/12, 最新版本时 POI 5.2.5。原创 2023-12-05 22:40:12 · 2436 阅读 · 0 评论 -
Java调用操作系统命令的输出乱码问题解决
使用Java 的Runtime调用操作系统的命令,出现异常时使用getErrorStream()获取错误信息的字节流,转换该字节流为字符串显示时,出现乱码。原创 2023-09-27 21:53:54 · 1225 阅读 · 0 评论 -
JWT一篇通
JWT(JSON Web Token)是一种开放的标准,标准的编号是RFC7591。用于在不同实体之间安全地传输信息。它是基于 JSON 编码的令牌。原创 2023-09-06 06:32:14 · 342 阅读 · 0 评论 -
JJWT使用完全指南
JJWT,是一款适用于 Java 和 Android 的 JSON Web Token(JWT)库。 JJWT, 也称为Java JWT ,全称是 Java JSON Web Token。JJWT完全基于 JWT、JWS、JWE、JWK 和 JWA RFC 规范以及 Apache 2.0 许可条款下的开源。该库由 Okta 的高级架构师 Les Hazlewood 创建,由一个贡献者社区支持和维护。原创 2023-08-23 22:26:27 · 5558 阅读 · 0 评论 -
基于JJWT理解JWT,JWS,JWE
* JWT, JSON Web Token。 JSON格式的Web令牌* JWS: signed JWT,签名的JWT* JWE: encrypted JWT,签名且加密的JWT(对负载也加密)原创 2023-08-21 22:43:18 · 596 阅读 · 0 评论 -
Java实现对称加密(DES,AES)快速入门示例
对称加密是使用相同的密码进行加密和解密, 对称加密实现简单,安全性相比非对称加密较弱, 常用的对称加密算法有 DES,AES以及PDE等,关于对称加密相关概念参考:[对称加密、非对称加密深度解析]本篇介绍Java的DES和AES的加密和解密, 关于PDE算法的加解密实现, 可以参考:原创 2023-08-12 21:49:54 · 3553 阅读 · 0 评论 -
JJWT快速入门
JJWT快速用使用示例原创 2023-08-06 22:38:58 · 786 阅读 · 0 评论 -
Java 之LocalDateTime的介绍和使用
`LocalDateTime`是Java的日期和时间类之一,用于表示不带时区信息的日期时间。原创 2023-08-04 22:59:43 · 1261 阅读 · 0 评论 -
一文读透时区和时间戳以及基于Java的操作
本篇简洁介绍时区和时间戳基本概念,主要演示在java 语言中如何对时区时间,事件戳等进行转换。原创 2023-08-03 22:47:57 · 7885 阅读 · 0 评论 -
Java集合类型对象的快速初始化
本篇介绍字符串数组、List 和 Map类型对象的定义初始化简单方式。原创 2023-05-25 22:01:36 · 927 阅读 · 0 评论 -
Java非空判断相关的弱点类型汇总与比较
缺少非空判断可能会导致`NullPointerException`异常,严重会发生程序崩溃或出现其他异常, 而编码过程中非空判断的类型也有多种。原创 2023-03-08 06:59:53 · 487 阅读 · 0 评论 -
Java代码弱点与修复之——Explicit null dereferenced(显式空间接引用)
Explicit null dereferenced, 显示空间接引用。是 Coverity 静态代码分析工具检测到的一种中风险缺陷。这种缺陷通常发生在尝试使用空指针引用调用对象上的方法或访问属性时。Explicit null dereferenced的缺陷可能会导致程序崩溃或产生不可预测的结果。原创 2023-03-07 21:21:18 · 941 阅读 · 0 评论 -
Java代码弱点与修复之——Dereference null return value(间接引用空返回值)
Dereference null return value,间接引用空返回值。是Coverity Scan静态代码分析工具中的一个警告,表示代码中有对可能为空(null)的方法或函数返回值进行间接引用(Dereference)操作。该类型的漏洞可能会导致 `NullPointerException` 异常,并且会导致程序崩溃或出现其他异常。原创 2023-03-06 22:38:00 · 1415 阅读 · 0 评论 -
Java代码弱点与修复之——BC: Bad casts of object references(错误的强制类型转换)
Bad casts of object references: 错误的强制类型转换。在Coverity中,属于低风险漏洞。在FindBugs中, 该类型错误的编号是FB.BC_UNCONFIRMED_CAST,它表示存在可能存在不安全的类型转换。在Java中,如果在将一个对象转换为另一个类型时出错,会抛出ClassCastException异常。这个警告就是为了防止这种情况发生。原创 2023-03-05 20:46:22 · 482 阅读 · 0 评论 -
Java代码弱点与修复之——Copy-paste error(复制粘贴错误)
Copy-paste error,复制粘贴错误。是指在复制和粘贴代码时产生的错误。这种错误通常是由于程序员在复制代码时未正确编辑所复制的代码或编辑复制后的代码时忘记更改一些值或参数而导致的。复制粘贴错误可能会导致程序逻辑错误、编译错误或运行时错误。原创 2023-03-04 09:21:39 · 1422 阅读 · 0 评论 -
Java代码弱点与修复之——Open redirect(开放重定向)
Open redirect , 开放重定向,是一种常见的安全漏洞,也被称为“重定向漏洞”。该漏洞通常出现在 Web 应用程序中,攻击者可以利用它将用户重定向到恶意站点,从而进行钓鱼攻击、恶意软件传播、诱骗等活动。原创 2023-03-03 22:24:33 · 2169 阅读 · 0 评论 -
Java代码弱点与修复之——Dereference after null check-空检查后间接引用
Dereference after null check-空检查后间接引用。 在Java语言中,通俗点的说明就是: 对于一个可能为空的变量,前面使用的时候进行了非空判断,后面使用的时候又没有进行非空判断。是指在复制和粘贴代码时产生的错误。这种错误通常是由于程序员在复制代码时未正确编辑所复制的代码或编辑复制后的代码时忘记更改一些值或参数而导致的。复制粘贴错误可能会导致程序逻辑错误、编译错误或运行时错误。原创 2023-03-02 22:19:32 · 1156 阅读 · 0 评论 -
Java代码弱点与修复之——Copy-paste error(复制粘贴错误)
Copy-paste error,复制粘贴错误。是指在复制和粘贴代码时产生的错误。这种错误通常是由于程序员在复制代码时未正确编辑所复制的代码或编辑复制后的代码时忘记更改一些值或参数而导致的。复制粘贴错误可能会导致程序逻辑错误、编译错误或运行时错误。原创 2023-03-01 22:29:16 · 1090 阅读 · 0 评论 -
Java代码弱点与修复之——URL manipulation(URL操纵)
"URL manipulation" 是指攻击者利用应用程序中的 URL 参数来执行恶意操作的一种攻击技术。原创 2023-02-28 22:24:23 · 2172 阅读 · 0 评论 -
Java代码弱点与修复之——Arguments in wrong order(参数顺序错误)
"Arguments in wrong order":是指在调用方法时传入参数的顺序不正确,导致方法的行为与预期不符。原创 2023-02-28 21:56:43 · 154 阅读 · 0 评论 -
Java代码弱点与修复之——ORM persistence error(对象关系映射持久错误)
ORM persistence error, ORM 持久化错误 。表示 ORM 工具在尝试将对象保存到数据库中时出现了问题原创 2023-02-27 22:43:53 · 522 阅读 · 0 评论 -
Java代码弱点与修复之——WMI: Inefficient Map Iterator(低效的Map迭代器)
Inefficient Map Iterator,意思是“低效的Map迭代器”。这个警告表示代码中存在低效的迭代器遍历Map的方式,通常会影响性能。在FindBugs中,简写为WMI。原创 2023-02-23 19:59:06 · 592 阅读 · 0 评论 -
Java代码弱点与修复之——DE: Dropped or ignored exception(无视或忽略异常)
Dropped or ignored exception(DE)指的是在代码中抛出的异常被捕获后被无视或忽略了,而不是被适当地处理。这种情况通常发生在程序员没有处理异常或处理异常时不小心忽略了异常的情况下。原创 2023-02-22 21:32:38 · 992 阅读 · 0 评论 -
Java代码弱点与修复之——‘Constant‘ variable guards dead code
'Constant' variable guards dead code 常量变量导致的死代码。这是FindBugs 定义的弱点, 在Coverity中属于低风险弱点。这个弱点指代码中存在不可达的语句或代码块,这些代码被警告视为“死代码”。通常是由于条件判断中包含了常量值而导致的。原创 2023-02-22 21:23:23 · 192 阅读 · 0 评论 -
Java代码弱点与修复之——Logically dead code-逻辑死代码
Logically dead code , 逻辑死代码, 也就是永远也不会被执行到的代码。在Coverity扫描种属于中风险代码漏洞。原创 2023-02-15 23:07:03 · 766 阅读 · 0 评论 -
Java代码弱点与修复之——Suspicious calls to generic collection methods
`Suspicious calls to generic collection methods `: 对通用collection 方法的可疑调用,这是Coverity扫描的提示错误。该弱点属于中风险的弱点, 在FindBugs/SpogBugs,定义这属于Java代码的一个Bug, 编号是GC_UNRELATED_TYPES, 对应的描述是:原创 2023-02-14 22:07:23 · 3071 阅读 · 0 评论 -
Java代码弱点与修复之——Dereference before null check 空检查前间接引用
Dereference before null check,空检查前取消引用。通俗一点就是一个可能为空的变量, 先使用了, 后面又进行非空判断。原创 2023-02-13 21:53:18 · 1317 阅读 · 0 评论