java专题

探索Java设计模式:工厂方法模式

探索Java设计模式:深入理解与实践工厂方法模式 在软件开发中,设计模式作为一种最佳实践的集合,有助于我们构建更加健壮、可扩展的代码结构。本文将聚焦于Java编程语言中的经典设计模式之一——工厂方法模式,通过简要介绍、实现示例及实际运用等模块,帮助读者深入理解并有效运用这一模式。 一、简要介绍 **工厂方法模式(Factory Method Pattern)**是一种创建型设计模式,其核心思

JAVA错误: 在类中找不到主方法, 请将主方法定义为:public static void main(String[] args)

一个类只有包含了入口才能运行,这个入口告诉了系统从哪开始运行程序,入口的格式固定,例如: class test{public static void main(String[] args){入口代码;}}

JAVA命令行编译运行程序

JAVA源程序名扩展名必须是.java,并且主文件名必须是: (1)如有public类必须写public类的名。 (2)如没有public类则主文件名任意。 编译源程序: javac -d 目录名 源文件 以上命令中-d 目录名代表将编译产生的二进制码文件(.class文件)存放的位置,文件名为类名.class(源文件中几个类生成几个class文件),无需指定产生的文件的文件名。执行此命令时

JAVA JRE JDK

JRE(Java Runtime Environment)=JVM+核心库,运行JAVA程序(.class文件)所必须的组件。如想开发编译Java程序(.java文件)需安装JDK(Java Development Kit)。安装JDK时默认包含公共JRE。

JAVA编译运行机制

JAVA既需要编译也需要解释,因此并非编译型语言和解释型语言。 JAVA源代码经过指令javac后编译生成的是平台无关的二进制码,当需要运行在特定平台时,再将生成的二进制码用java命令解释为特定平台的机器码,因此不同平台的解释器(JVM)不同。 JAVA编译产生二进制码,避免了解释型语言每次运行都需要解释,性能得到了提高,并且依然保留解释过程,使其能够跨平台运行。

JAVA获取对象类名

对象名.getClass(),与类名.class所得到的字符串相同: String a = new String("aaa");System.out.println(a.getClass() == String.class); //返回true

JAVA对象的equals方法

一切类都是Object的子类,Object有equals方法,因此所有对象都有equals方法。 此方法可以按程序自己的规则判断两个对象是否相等,比如以下代码: String a = new String("hi");String b = new String("hi");System.out.println(a==b); //打印falseSystem.out.println(a

JAVA对象的toString方法

一切类都是Object的子类,Object有toString方法,因此所有对象都有toString方法。 打印一个对象时,打印的就是这个对象的toString方法返回值,值为: 类名@hashCode 因此很多时候需要程序员重写此方法,推荐写法为: @overridepublic String toString(){return "类名[field1=" + field1 + ",f

SpringBoot教程(十九) | SpringBoot集成knife4j

首先介绍一下Knife4j. 就是一款接口文档框架,跟swagger类似。 但是整合了很多swagger的功能,页面比swagger美观。现在大有取代swagger之势 官方文档地址: https://doc.xiaominfo.com/docs/quick-start 其实主要的集成方式,在文档里都已经描述了,并且我之前也写过集成SpringBoot集成swagger的文章,大同小异。我用的

基于springboot的高校宣讲会管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式 🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于springboot的高校宣讲会管理系统,java项目。 eclipse和idea都能打开运行。 推荐环境配置:eclipse/idea

IDEA创建javaweb

今天的作业是写一个JSP版Helloworld ,然后开始漫长的创建过程 ,我觉得自己下次又忘了怎么创建的,所以来一个傻瓜教程给自己看。 到这里我就可以写代码了。

关于使用SpringSecurity框架发起JSON请求,但因登陆失效导致响应403的问题。

这里记录一个生产中遇到的一个问题。 现有环境是基于SpringBoot 2.6.8,然后是前后台一体化的项目。 安全框架使用的是内置版本的SpringSecurity。 在实际使用过程中遇到一个问题。 就是当用户登陆失效后,前端操作JSON请求获取列表数据,但因为登陆失效了。导致请求过不去返回结果 同时服务端也没有任何的异常日志。 后来发现是因为Security内置的一个过滤器Cs

Java—IO流详解(一)

IO也就是Input和Output的缩写,在java中,IO涉及的范围比较大,这里主要讨论针对文件内容的读写! 对于文件内容的操作主要分为两大类 分别是:   字符流   字节流 其中,字符流有两个抽象类:Writer Reader 其对应子类FileWriter和FileReader可实现文件的读写操作 BufferedWriter和BufferedReader能够提供缓冲区功能,

Java—String、StringBuffer、StringBuilder的用法与区别

本文转自: kingzone_2008的博客 1 String String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。 String类包含如下定义: /** The value is used for character storage. */ private final char value[]; /** The offset i

Java23种设计模式-行为型模式之解释器模式

解释器模式(Interpreter Pattern):定义了一种文法,并且对于任何该文法的句子,都能够解释和执行。可以将复杂的问题分解成一系列简单的表达式,然后使用解释器来解释这些表达式。 涉及角色: 抽象表达式(Abstract Expression):定义一个抽象的解释操作,通常包含一个interpret()方法,用于解释语句。 终结符表达式(Terminal Expression):实现抽

Head First Java 中文版 (第 2 版) PDF 下载

微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题。 简介 《HeadFirstJava》是一本完整地面向对象(object-oriented,OO)程序设计和Java的学习指导用书,根据学习理论所设计,你可以从程序语言的基础开始,到线程、网络与分布式程序等项目。重要的是,你可以学会如何像一个面向对象开发者一样去思考,而且不只是读死书。   在这里,你可以会玩游

深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)PDF 下载

微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题。 简介 全书共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。*部分从宏观的角度介绍了整个Java技术体系、Java和JVM的发展历程、模块化,以及JDK的编译,这对理解本书后面内容有重要帮助。第二部分讲解了JVM的自动内存管

SpringBoot 实战 (十三) | 整合 MyBatis (XML 版)

微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题。 前言 如题,今天介绍 SpringBoot 与 Mybatis 的整合以及 Mybatis 的使用,之前介绍过了 SpringBoot 整合MyBatis 注解版的使用,上一篇介绍过 MyBatis 的理论,今天这篇就不介绍 MyBatis 的理论了,有兴趣的跳转阅读:SpringBoot 实战 (十三) |

SpringBoot 实战 (十二) | 整合 thymeleaf

微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题。 前言 如题,今天介绍 Thymeleaf ,并整合 Thymeleaf 开发一个简陋版的学生信息管理系统。 SpringBoot 提供了大量模板引擎,包含 Freemarker、Groovy、Thymeleaf、Velocity 以及 Mustache,SpringBoot 中推荐使用 Thymeleaf

SpringBoot 填坑 | CentOS7.4 环境下,MySQL5.7 表时间字段默认值设置失效

微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题。 前言 如题,今天这篇是一个刚认识不久的小师弟的投稿。交谈中感觉技术水平与代码素养非常高,关键是才大二呀。那会我应该还在玩泥巴吧,真是后生可畏。 问题描述 我在本地端( windos 端,数据库版本 MySQL5.7、SpringBoot2.1.3、数据访问框架 JPA)测试代码时 current_time

SpringBoot 实战 (十一) | 整合数据缓存 Cache

微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题。 前言 如题,今天介绍 SpringBoot 的数据缓存。做过开发的都知道程序的瓶颈在于数据库,我们也知道内存的速度是大大快于硬盘的,当需要重复获取相同数据时,一次又一次的请求数据库或者远程服务,导致大量时间耗费在数据库查询或远程方法调用上,导致性能的恶化,这便是数据缓存要解决的问题。 Spring 的缓存支

SpringBoot 实战 (十) | 声明式事务

微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题。 前言 如题,今天介绍 SpringBoot 的 声明式事务。 Spring 的事务机制 所有的数据访问技术都有事务处理机制,这些技术提供了 API 用于开启事务、提交事务来完成数据操作,或者在发生错误时回滚数据。 而 Spring 的事务机制是用统一的机制来处理不同数据访问技术的事务处理,Spring

SpringBoot 实战 (九) | 整合 Mybatis

微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题。 前言 如题,今天介绍 SpringBoot 与 Mybatis 的整合以及 Mybatis 的使用,本文通过注解的形式实现。 什么是 Mybatis MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。

SpringBoot 实战 (八) | 使用 Spring Data JPA 访问 Mysql 数据库

微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题。 前言 如题,今天介绍 Spring Data JPA 的使用。 什么是 Spring Data JPA 在介绍 Spring Data JPA 之前,首先介绍 Hibernate 。 Hibernate 使用 O/R 映射 (Object-Relation Mapping) 技术实现数据访问, O/R 映

SpringBoot 实战 (七) | 默认日志配置

微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题。 前言 如题,今天介绍 springboot 默认日志的配置。 默认日志 Logback 默认情况下,Spring Boot 用 Logback 来记录日志,并用 INFO 级别输出到控制台。如果你在平常项目中用过 Spring Boot,你应该已经注意到很多 INFO 级别的日志了。默认日志长这样: 2

Java设计模式 _创建型模式_原型模式(Cloneable)

一、原型模式 1、原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能比较好。一般对付出较大代价获取到的实体对象进行克隆操作,可以提升性能。 2、实现思路: (1)、需要克隆的实体类实现Cloneable接口 (2)、复写clone方法(当前对象本身可以不复写,如果当前对象被继承,需要clone子类,则必须要复写) 二、代码示例 1、基础示例: impor