Java 基础、进阶与实战和笔试面试
文章平均质量分 70
1. Java基础入门
2. Java进阶学习
3. Java实战项目
4. Java笔试面试大全
oscar999
毕业于中国科学技术大学,数据库四级、通过系统设计师、系统分析师、信息系统项目管理师资格认证。国际项目管理(IPMP)C级认证。超过15年软件项目开发和管理经验,精通Java Web相关技术(包括Spring系列、Ext JS等),对PHP、Python、C#、Vue等有涉猎。
展开
-
Java常用对象的快速初始化
在Java中,有多种方式来快速初始化各种常用对象,如字符串数组(String[]),集合列表(List),映射表(Map),以及集合(Set不同的数据结构和版本的Java可能提供不同的初始化方法。以下是一些基本示例说明如何在Java中进行快速初始化。原创 2024-06-28 22:48:50 · 251 阅读 · 0 评论 -
Java如何根据对象属性值从对象列表中获取满足条件的对象
举例来说, User 的类有三个属性, id,name和age, 现在要从一个User的List集合中获取age=20的所有 User。触类旁通, Java Stream还可以实现除了过滤之外的其他功能。利用 Java 8 引入的 Streams 来简化代码。原创 2024-06-14 07:07:59 · 208 阅读 · 0 评论 -
JavaParser的快速介绍
Java Parser是一个用于解析和分析Java源代码的开源工具。它提供了一个API接口,使开发人员能够读取和修改Java源代码的结构。Java Parser可以帮助开发人员进行一些有用的任务,其主要的作用包括三个方面:解析Java源代码:它可以将Java源代码转换为一个抽象语法树(Abstract Syntax Tree, AST),每个节点代表源代码中的一个结构,例如类、方法、变量等。遍历和修改AST:开发人员可以使用Java Parser遍历AST,并对AST节点进行修改。原创 2024-03-12 21:59:15 · 105508 阅读 · 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 · 1449 阅读 · 0 评论 -
Java调用操作系统命令的输出乱码问题解决
使用Java 的Runtime调用操作系统的命令,出现异常时使用getErrorStream()获取错误信息的字节流,转换该字节流为字符串显示时,出现乱码。原创 2023-09-27 21:53:54 · 932 阅读 · 0 评论 -
JWT一篇通
JWT(JSON Web Token)是一种开放的标准,标准的编号是RFC7591。用于在不同实体之间安全地传输信息。它是基于 JSON 编码的令牌。原创 2023-09-06 06:32:14 · 261 阅读 · 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 · 2787 阅读 · 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 · 437 阅读 · 0 评论 -
Java实现对称加密(DES,AES)快速入门示例
对称加密是使用相同的密码进行加密和解密, 对称加密实现简单,安全性相比非对称加密较弱, 常用的对称加密算法有 DES,AES以及PDE等,关于对称加密相关概念参考:[对称加密、非对称加密深度解析]本篇介绍Java的DES和AES的加密和解密, 关于PDE算法的加解密实现, 可以参考:原创 2023-08-12 21:49:54 · 2634 阅读 · 0 评论 -
JJWT快速入门
JJWT快速用使用示例原创 2023-08-06 22:38:58 · 645 阅读 · 0 评论 -
Java 之LocalDateTime的介绍和使用
`LocalDateTime`是Java的日期和时间类之一,用于表示不带时区信息的日期时间。原创 2023-08-04 22:59:43 · 1121 阅读 · 0 评论 -
一文读透时区和时间戳以及基于Java的操作
本篇简洁介绍时区和时间戳基本概念,主要演示在java 语言中如何对时区时间,事件戳等进行转换。原创 2023-08-03 22:47:57 · 577 阅读 · 0 评论 -
Java集合类型对象的快速初始化
本篇介绍字符串数组、List 和 Map类型对象的定义初始化简单方式。原创 2023-05-25 22:01:36 · 852 阅读 · 0 评论 -
Java非空判断相关的弱点类型汇总与比较
缺少非空判断可能会导致`NullPointerException`异常,严重会发生程序崩溃或出现其他异常, 而编码过程中非空判断的类型也有多种。原创 2023-03-08 06:59:53 · 410 阅读 · 0 评论 -
Java代码弱点与修复之——Explicit null dereferenced(显式空间接引用)
Explicit null dereferenced, 显示空间接引用。是 Coverity 静态代码分析工具检测到的一种中风险缺陷。这种缺陷通常发生在尝试使用空指针引用调用对象上的方法或访问属性时。Explicit null dereferenced的缺陷可能会导致程序崩溃或产生不可预测的结果。原创 2023-03-07 21:21:18 · 756 阅读 · 0 评论 -
Java代码弱点与修复之——Dereference null return value(间接引用空返回值)
Dereference null return value,间接引用空返回值。是Coverity Scan静态代码分析工具中的一个警告,表示代码中有对可能为空(null)的方法或函数返回值进行间接引用(Dereference)操作。该类型的漏洞可能会导致 `NullPointerException` 异常,并且会导致程序崩溃或出现其他异常。原创 2023-03-06 22:38:00 · 1093 阅读 · 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 · 384 阅读 · 0 评论 -
Java代码弱点与修复之——Copy-paste error(复制粘贴错误)
Copy-paste error,复制粘贴错误。是指在复制和粘贴代码时产生的错误。这种错误通常是由于程序员在复制代码时未正确编辑所复制的代码或编辑复制后的代码时忘记更改一些值或参数而导致的。复制粘贴错误可能会导致程序逻辑错误、编译错误或运行时错误。原创 2023-03-04 09:21:39 · 1145 阅读 · 0 评论 -
Java代码弱点与修复之——Open redirect(开放重定向)
Open redirect , 开放重定向,是一种常见的安全漏洞,也被称为“重定向漏洞”。该漏洞通常出现在 Web 应用程序中,攻击者可以利用它将用户重定向到恶意站点,从而进行钓鱼攻击、恶意软件传播、诱骗等活动。原创 2023-03-03 22:24:33 · 1781 阅读 · 0 评论 -
Java代码弱点与修复之——Dereference after null check-空检查后间接引用
Dereference after null check-空检查后间接引用。 在Java语言中,通俗点的说明就是: 对于一个可能为空的变量,前面使用的时候进行了非空判断,后面使用的时候又没有进行非空判断。是指在复制和粘贴代码时产生的错误。这种错误通常是由于程序员在复制代码时未正确编辑所复制的代码或编辑复制后的代码时忘记更改一些值或参数而导致的。复制粘贴错误可能会导致程序逻辑错误、编译错误或运行时错误。原创 2023-03-02 22:19:32 · 840 阅读 · 0 评论 -
Java代码弱点与修复之——Copy-paste error(复制粘贴错误)
Copy-paste error,复制粘贴错误。是指在复制和粘贴代码时产生的错误。这种错误通常是由于程序员在复制代码时未正确编辑所复制的代码或编辑复制后的代码时忘记更改一些值或参数而导致的。复制粘贴错误可能会导致程序逻辑错误、编译错误或运行时错误。原创 2023-03-01 22:29:16 · 846 阅读 · 0 评论 -
Java代码弱点与修复之——URL manipulation(URL操纵)
"URL manipulation" 是指攻击者利用应用程序中的 URL 参数来执行恶意操作的一种攻击技术。原创 2023-02-28 22:24:23 · 1698 阅读 · 0 评论 -
Java代码弱点与修复之——Arguments in wrong order(参数顺序错误)
"Arguments in wrong order":是指在调用方法时传入参数的顺序不正确,导致方法的行为与预期不符。原创 2023-02-28 21:56:43 · 96 阅读 · 0 评论 -
Java代码弱点与修复之——ORM persistence error(对象关系映射持久错误)
ORM persistence error, ORM 持久化错误 。表示 ORM 工具在尝试将对象保存到数据库中时出现了问题原创 2023-02-27 22:43:53 · 405 阅读 · 0 评论 -
Java代码弱点与修复之——WMI: Inefficient Map Iterator(低效的Map迭代器)
Inefficient Map Iterator,意思是“低效的Map迭代器”。这个警告表示代码中存在低效的迭代器遍历Map的方式,通常会影响性能。在FindBugs中,简写为WMI。原创 2023-02-23 19:59:06 · 468 阅读 · 0 评论 -
Java代码弱点与修复之——DE: Dropped or ignored exception(无视或忽略异常)
Dropped or ignored exception(DE)指的是在代码中抛出的异常被捕获后被无视或忽略了,而不是被适当地处理。这种情况通常发生在程序员没有处理异常或处理异常时不小心忽略了异常的情况下。原创 2023-02-22 21:32:38 · 867 阅读 · 0 评论 -
Java代码弱点与修复之——‘Constant‘ variable guards dead code
'Constant' variable guards dead code 常量变量导致的死代码。这是FindBugs 定义的弱点, 在Coverity中属于低风险弱点。这个弱点指代码中存在不可达的语句或代码块,这些代码被警告视为“死代码”。通常是由于条件判断中包含了常量值而导致的。原创 2023-02-22 21:23:23 · 141 阅读 · 0 评论 -
Java代码弱点与修复之——Logically dead code-逻辑死代码
Logically dead code , 逻辑死代码, 也就是永远也不会被执行到的代码。在Coverity扫描种属于中风险代码漏洞。原创 2023-02-15 23:07:03 · 539 阅读 · 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 · 2169 阅读 · 0 评论 -
Java代码弱点与修复之——Dereference before null check 空检查前间接引用
Dereference before null check,空检查前取消引用。通俗一点就是一个可能为空的变量, 先使用了, 后面又进行非空判断。原创 2023-02-13 21:53:18 · 951 阅读 · 0 评论 -
Java之路径操纵解决的误区
目前网络上查询的Java解决 Path Manipulation 弱点的方案是不足的甚至是错误的,有一定的误导性。比如stackoverflow 有一篇的解决方案是建议使用 Java本身的Path 或者是Apache Common IO 的normalize()方法来对路径进行规范化处理。原创 2023-02-09 22:32:34 · 1501 阅读 · 0 评论 -
结合Coverity扫描Spring Boot项目进行Path Manipulation漏洞修复
本篇介绍使用Coverity 扫描基于Spring Boot 项目中的Path Manipulation 漏洞, 进而解决风险,并且可以通过扫描原创 2023-02-09 22:24:11 · 1501 阅读 · 0 评论 -
Java代码弱点与修复之——Dead local store(本地变量存储了闲置不用的对象)
将一个值赋给一个局部变量,但该值不会在任何后续操作中读取或使用。原创 2023-02-08 21:23:28 · 1040 阅读 · 0 评论 -
Java防御路径操作(Path Manipulation) 的正确姿势
本篇介绍在 Java应用中如何防御路径操作(Path Manipulation)的攻击。原创 2023-01-11 22:30:06 · 6535 阅读 · 0 评论 -
Java 防御XSS攻击实战与示例代码
本篇介绍在Java 项目中如何快速修复XSS 漏洞。本篇使用的是黑名单的方式, 对于非法字符进行转义。 黑名单的方式虽然不能完全的解决XSS的漏洞, 但是能有效的减轻攻击, 对于使用类似Coverity等代码静态扫描攻击扫描的漏洞, 修复之后就不会再报相关的警报了。原创 2023-01-08 20:59:33 · 1622 阅读 · 0 评论 -
Eclipse插件之Tomcat Plugin 介绍、安装与使用
Eclipse Tomcat 插件为开发Java Web应用程序提供了Tomcat容器的简单集成。所谓的集成其实主要是以下功能:1. 在Eclispe中启动和关闭Tomcat2. 启动后的应用可以很容易的打断点进行调试, 这一点应该是该插件最大的优势。原创 2022-12-27 09:28:29 · 2986 阅读 · 10 评论 -
Eclipse 插件 ERMaster安装与使用
ERMaster是制作ER图(Entity Relationship Diagram,实体关系图)的Eclipse插件。 提供了从数据库导入、Excel表定义簿制作、图片输出、DDL输出等功能原创 2022-12-26 22:27:52 · 2093 阅读 · 1 评论 -
Java Servlet + H2数据库之集成环境配置
Java Web项目整合H2原创 2022-12-17 11:28:17 · 574 阅读 · 0 评论 -
Java使用H2数据库全方式汇总
本篇快速介绍H2数据库在各种类型的Java应用中的使用, 包括:1. Java 项目2. Java Web 项目3. Spring Boot项目原创 2022-12-11 17:09:36 · 4317 阅读 · 0 评论 -
Could not initialize class org.apache.maven.plugin.war.util.WebappStructureSerializer 问题解决
在Eclipse中创建了一个Maven类型的项目,项目的打包方式是war, 也就是Web 项目, 可是创建完成的项目的pom.xml 有两处错误, 分别是:1. `Could not initialize class org.apache.maven.plugin.war.util.WebappStructureSerializer`2. `web.xml is missing and is set to true`原创 2022-12-11 12:06:25 · 11075 阅读 · 6 评论