课堂java

java设计模式之策略模式的优雅实现

策略模式是开发中常用的一种设计模式,主要解决在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护的问题。看了网上很多关于策略模式的上下文切换类实现都不甚优雅,故而想总结分享一篇自我感觉比较优雅的处理方式,方便大家一起学习。方式一:使用@PostConstruct初始化到map中 ......
模式 设计模式 策略 java

Java MVEL表达式注入漏洞原理研究

一、Java MVEL表达式原理 MVEL全称为:MVFLEX Expression Language,是用来计算Java语法所编写的表达式值的表达式语言。MVEL的语法很大程度上受到Java语法的启发,但为了使表达式语法更高效,还是有一些基本差异,例如可以像正则表达式一样直接支持集合、数组和字符串 ......
表达式 漏洞 原理 Java MVEL

Java SPEL表达式注入漏洞原理研究

一、Java SpEL表达式基本原理 SpEL(Spring Expression Language)简称Spring表达式语言,在Spring 3中引入。 SpEL能在运行时构建复杂表达式、存取对象图属性、对象方法调用等等,可以与基于XML和基于注解的Spring配置还有bean定义一起使用。 在 ......
表达式 漏洞 原理 Java SPEL

Java基本数据类型

1.数据类型 1.1基本数据类型 整数型:byte(1字节)、short(2字节)、int(4字节)、long(8字节) 浮点型:float(4字节)、double(8字节) 字符型:char(2字节) 布尔类型:boolean(1字节) short和char都是两字节,实际容量相同,但是short ......
类型 数据 Java

Java面试题小练(二)

Java异常处理方式 Java的异常处理机制——抛出异常,捕获异常,声明异常 Java的异常处理是通过5个关键字来实现的 try,catch,throw,throws和finally Java通过面向对象的方法进行异常处理,一旦方法抛出异常,系统自动根据该异常对象寻找合适异常处理器来处理该异常,把各 ......
Java

java 方法的重载

在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能。 每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系 简单记: 同一个类中,方法名相同,参数不同的方法。与返回值无关。 参数不同:个数不同、类型不同、顺序不同 构成重载关系 public class day9_02 ......
方法 java

java 方法的定义和调用

方法(method)是程序中最小的执行单元。 ......
方法 java

Java基础 反射获取成员方法

代码示例: public static void main(String[] args) throws Exception { //获取class字节码文件对象 Class clazz = Class.forName("pojo.Student"); //获取所有的方法(getMethods()还能 ......
成员 基础 方法 Java

每日博客——使用Maven对Java独立应用程序进行编译打包

使用Maven对Java独立应用程序进行编译打包 1. 安装Maven 网盘下载 apache-maven-3.9.2-bin.zip 链接为:https://pan.baidu.com/s/181shkgg-i0WEytQMqeeqxA(提取码:9ekc ) sudo unzip /export/ ......
应用程序 程序 Maven 博客 Java

Java基础之方法

方法 前言 1.程序开始执行的时候先从main方法开始 2.Java语言中所有的方法体的代码都要遵守从上到下执行 3.mian方法程序会自动调用,而main以外的方法需要程序员自己调用。 4.main以外的方法只有被调用的时候才会执行 什么是方法?为什么使用方法? 方法是一个可以重复使用的代码段。而 ......
基础 方法 Java

Java流程控制_01分支结构

1. if分支 2.switch分支 switch可以快速找到某个值,不用一个一个找(底层代码) ......
分支 流程 结构 Java 01

P1 java跨平台原理

java: 混合型编译 / Arm平台执行器 按行翻译-> 虚拟机 -> ARM Cpu java -> .class二进制字节码 \ X86平台执行器 按行翻译-> 虚拟机 -> X86 Cpu java 跨平台通过虚拟机实现 java并不是直接运行在os中的,而是运行在虚拟机里 针对不同的系统, ......
原理 java P1

java程序通过ssl连接mysql(windows环境)

环境:OS:windows2012(mysql服务器)mysql:5.7.29jdk:1.8 说明:mysql5.7版本安装会自动生成如下的证书文件(可以用不自己再生成ca文件):ca.pemclient-cert.pemclient-key.pem同时mysql是默认开启了ssl了的 keytoo ......
windows 环境 程序 mysql java

当java文件被加密时候,通过.class文件查看代码

使用 jadx-gui.exe工具,或者jd-gui.exe工具查看 ......
文件 时候 代码 class java

java web jsp 分页显示代码

<%@ page language="java" contentType="text/html; charset=gb2312" pageEncoding="gb2312"%><%@ page import="java.sql.*, chap03.*"%><!DOCTYPE html PUBLIC ......
代码 java web jsp

使用 Java 对比两个PDF文档之间的差异

不论是在团队写作还是在个人工作中,PDF 文档往往会经过多次修订和更新。掌握 PDF 文档内容的变化对于管理文档有极大的帮助。通过对比 PDF 文档,用户可以快速找出文档增加、删除和修改的内容,更好地了解文档的演变过程,轻松地管理文档。本文将介绍如何在 Java 程序中通过代码快速比较两个 PDF ......
差异 之间 两个 文档 Java

Java 时间戳转换为yyyy-MM-dd格式

import java.util.Date; import java.text.SimpleDateFormat; public class TimestampConverter { public static void main(String[] args) { long timestamp = ......
yyyy-MM-dd 格式 时间 Java yyyy

java 生成二维码

// 二维码 String codeInfo = JSON.toJSONString(vo); codeInfo = AESUtil.aesEncrypt(codeInfo, CodeConstants.AES_TOKEN); Image image = Image.getInstance( QRC ......
java

java陷阱之关于数据同步

需求 需要查询设备列表。使用redissearch,需要从cannal->kafka->redis 问题 保证数据有序性和一致性(运维那边不能根据设备id进行分区,到时消息消费时面临消费的有序性问题)采用的是不使用binlog日志修改信息,采用通过id在数据库实时查一次。 但是因为有些字段高频修改导 ......
陷阱 数据 java

java集合相关理解

collection是java集合的最根本的接口 collections是java集合的工具类 ArrayList是线程不安全的 vector是线程安全的 其实现继承均与ArrayList相同,但是其中方法多数添加了synchronized关键字 stack继承了vector 因此也是线程安全的 但 ......
java

狂神说Java学习

Java基础 【【狂神说Java】Java零基础学习视频通俗易懂】 注释 ......
Java

java.net.SocketException四大异常解决方案

java.net.SocketException四大异常解决方案 java.net.SocketException如何才能更好的使用呢?这个就需要我们先要了解有关这个语言的相关问题。希望大家有所帮助。那么我们就来看看有关java.net.SocketException的相关知识。 第1个异常是 ja ......
SocketException 解决方案 方案 java net

Java8 Optional

根据Oracle Java官方文档,Optional是一个容器对象,可以包含也可以不包含非null值。Optional在Java 8中引入,目的是解决 NullPointerExceptions的问题。本质上,Optional是一个包装器类,其中包含对其他对象的引用。在这种情况下,对象只是指向内存位 ......
Optional Java8 Java

Java 业务开发常见错误 100 例

第一讲:使用并发工具库类,建议 容易犯的四类错: 只知道使用并发工具,但并不清楚当前线程的来龙去脉,解决多线程问题却不了解线程;--错误 误以为使用了并发工具就可以解决一切线程安全问题,期望通过把线程不安全的类替换为线程安全的类来一键解决问题。--错误 没有充分了解并发工具的特性,还是按照老方式使用 ......
常见 错误 业务 Java 100

Java基本语法

一、基本框架 1)概念 一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作 对象(object):代表现实世界中可以明确标识的一个实体,存在独特的标识、状态和行为。例如,一条鱼是一个对象,它的状态有:颜色、品种;行为有:漫游、鱼跃等。 类(class):是创建对象的模 ......
语法 Java

java中native源码查找方法

以Object的hashCode()方法为例: 1. 下载openjdk源码或从github中查找,这里以github中查找为例;2. GitHub中查找https://github.com/bpupadhyaya/openjdk-8/tree/master/hotspot源码;3. 搜索到Obje ......
源码 方法 native java

Java基础 反射获取构造方法

在 Java 中,万物皆对象。比如,字节码文件 可以看作是 Class这个类的对象; Constructor 这个类是用来描述 构造方法的,所以这个类的对象就表示构造方法的对象; Field 这个类是用来描述成员变量的,所以这个类的对象就表示成员变量的对象; Method 这个类是用来描述成员方法的 ......
基础 方法 Java

Java实现分页的方式有哪些?

1、手动分页 不使用任何框架,用limt分页 select xx from tab_a limt #{pageNo},#{pageSize} 2、RowBounds分页(不推荐) 这个是内存分页,它的原理是一次性查出所有数据,然后在内存里进行分页,占内存。 3、PageHelper分页(推荐) My ......
方式 Java

Java基础 获取 class 对象的三种方式

① Class.forName ( "全类名" ) → 最为常用 全类名:包名 + 类名 Class 的首字母是大写的,所以是一个类名,是用来描述字节码文件的。 这个类里面有一个静态方法叫 forName,参数可以传递一个类的全类名,可以获取到参数的字节码文件对象 ② 类名.class → 这种方式 ......
对象 方式 基础 class Java

Java基础 反射

反射允许对封装类的字段(成员变量)、方法(成员方法)和构造函数(构造方法)的信息进行编程访问 获取字段(成员变量)、成员方法 和 构造方法的时候,我们不是从 Java 文件中获取的,而是从 class 字节码文件当中获取的 所以我们首先要先学习如何获取 class 字节码文件的对象 ......
基础 Java
共10341篇  :74/345页 首页上一页74下一页尾页