序列java jndi

java正则

正则常见用法(例子来源:hutool文档): String content = "ZZZaaabbbccc中文1234"; Pattern pattern = Pattern.compile(regex, Pattern.DOTALL); Matcher matcher = pattern.matc ......
正则 java

#Java程序设计实践

#Java程序设计实践 ##Java训练集1~3总结与心得 训练集链接 前言: 本次训练集1~3主要考察了对java基础语法的掌握,内容包括基础程序的设计,类设计,编程规则的掌握等等,学习的重点在于适应java的语法以及让类的设计规范合理。 PS:这次Java训练是某种意义上我第一次上手Java,题 ......
程序设计 程序 Java

Java Bean 注册对象

注册对象 POM.xml <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.3.6</version> </dependency> ElasticSearchConfig. ......
对象 Java Bean

JAVA使用jackson比对两个json串是否一样

<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.10.1</version> </dependency> 这种方式忽略顺序 ......
两个 jackson JAVA json

(Java实现)使用官方Paging3分页库实现RecyclerView加载更多(loadmore)的功能

Paging是google官方推出的一个分页加载库,配合RecyclerView可以很方便实现RecyelerView的Footer和Header,Paging3相对以前的版本,实现loadmore的功能更为方便,但因为找了一圈,连Google,stackoverflow,github这些地方也找了 ......
RecyclerView loadmore Paging3 功能 更多

Java八股文之基础篇

一、Java基础篇 1.接口和抽象类的区别 (1)抽象类可以有构造方法,而接口没有 (2)抽象类可以有抽象方法和具体方法,接口只能有抽象方法 (3)抽象类的成员4种权限修饰符都可以修饰,接口只能用private 2.重载和重写的区别 重载发生在同一个类中,方法名相同、参数列表、返回类型、权限修饰符可 ......
八股文 八股 基础 Java

读Java性能权威指南(第2版)笔记25_性能测试方法上

1. 测试真实的应用程序 1.1. 应该以实际产品的使用方式进行测试 1.2. 所有的基准测试通常都包括一个预热期,在这期间,JVM可以将代码编译到最佳状态 1.3. 微基准测试(microbenchmark) 1.3.1. 通过测量一小部分代码的性能来确定多种实现中哪个最好 1.3.2. 必须读取 ......
性能 权威 笔记 指南 方法

国内免费ChatGPT接口(Java及Python调用示例)

一、接口信息 接口地址:https://www.1bit.asia/openai/api/ask类型:POST参数:{ "prompt": "写一个修仙小说目录", "userName":"apiuser002", "token":"链接页面获取"} 说明:userName参数和token需要对应。 ......
示例 接口 ChatGPT Python Java

关于Java

Java的优势和特性 简单化 面向对象 可移植性 高性能 分布式 动态性 多线程 安全性 健壮性 Java的三个版本 JavaSE 标准版(桌面程序,控制台开发等) JavaME 嵌入式开发(手机,小家电等) JavaEE E企业级开发(Web端,服务器开发等) 简单介绍JDK JRE JVM JD ......
Java

Java面试-基础篇之4

#String、StringBuffer、StringBuilder的区别与联系 首先,String、StringBuffer和StringBuilder都是操作字符串的数据的类。 不同的是,从源码角度来看,String是继承自Object祖宗类,实现Serializable(可序列化接口)、Com ......
基础 Java

java第一次作业

1. 定义圆形半径,求面积。int r =5; package hhhh; public class hhh { public static void main(String[] args) { double r = 5; double mian = 0; mian = r * r * 3.14; ......
第一次 java

java学习日记20230321-main方法

Main方法 java虚拟机需要调用类的main方法,所以该方法的访问权限必须是public java虚拟机在执行main()方法时不必创建对象,所以该方法必须是static 该方法接收String类型的数组参数,该数组中保存执行java命令时传递给所运行的类的参数 java执行的程序 参数1 参数 ......
20230321 方法 日记 java main

20.(行为型模式)java设计模式之迭代器模式

一、什么是迭代器模式(IteratorPattern) 提供—种方法顺序访问一个聚合对象中各个元素,而又无须暴露该对象的内部实现,属于行为型模式。 应用场景: —般来说,迭代器模式是与集合是共存的,只要实现一个集合,就需要同时提供这个集合的迭代器,就像java中的Collection,List、Se ......
模式 设计模式 行为 java 20

java学习日记20230320-类变量和类方法

类变量和类方法 static修饰的静态变量或者方法 静态变量是类共享的,当class运行时。jdk8之前时放在方法区,静态域,jdk8之后放在堆中,会生成class对象在堆中; 在类加载中生成; static静态变量是同一个类的所有对象共享 static类变量,在类加载的时候就生成 类变量也叫静态变 ......
变量 20230320 方法 日记 java

反序列化漏洞 之 CC1链(审计分析)

反序列化前提 1、被序列化和反序列化的类需要实现 Serializable 序列化 接口 2、并重写 readObject 方法,在重写的 readObject 方法中执行 objectInputStream.defaultReadObject 方法(否则无法读取序列化时属性的值) 3、具体原因这里 ......
序列 漏洞 CC1 CC

深度理解Java线程池ThreadPoolExecutor

一.使用线程池的好处 1.提高系统性能和响应速度:线程池可以通过复用线程来减少线程的创建和销毁,从而减少了系统开销,提高了系统的性能和响应速度。 2.提高代码的可维护性:使用线程池可以将任务的执行与线程的创建和管理分离开来,使得代码更加清晰易懂,也更加容易维护。 3.提高代码的可复用性:线程池可以让 ......
ThreadPoolExecutor 线程 深度 Java

JNDI RMI 远程访问(LOG4j2漏洞底层原理)

JDK 版本 8u112 客户端(模拟被攻击的网站) 服务端(注册 RMI 服务,给被攻击网站提供 RMI 服务) 服务端 IP 192.168.3.175 恶意类(客户端发送请求给服务端,服务端再请求恶意类予以返回) 需要先将恶意类编译成 class 文件再存放到网站上,再通过命令开启服务 恶意类 ......
底层 漏洞 原理 LOG4j2 JNDI

Java 静态方法不能被重写

1、静态方法不能被重写,如果重写静态方法,会编译报错的 {:height="50%" width="50%"} 2、如果不加@Override标签,是可以的。但这样写,父类的静态方法和子类的静态方法就没有什么关系了,我将它理解成形参列表相同的重构。实际效果类似于覆盖。 {:height="50%" ......
静态 方法 Java

Java第一次作业

1. 定义圆形半径,求面积。 package wwww; import java.util.Scanner; public class apo { public static void main(String[] args) { // TODO Auto-generated method stub ......
第一次 Java

Java运算符

Java运算符 Java运算符有:算术运算符、关系运算符、位运算符、逻辑运算符、赋值运算符、其他运算符 算术运算符 A=10,B=20 操作符 描述 例子 + 加法,运算符两侧的值相加 A+B=30 - 减法,运算符两侧的值相减 B-A=10 * 乘法,运算符两侧的值相乘 A*B=200 / 除法, ......
运算符 Java

Java学习笔记(八)GUI

GUI编程 如何学习? 这是什么? 它怎么玩? 该如何去平时运用? 组件 窗口 弹窗 面板 文本框 列表框 按钮 图片 监听事件 鼠标 键盘 破解工具 1. 简介 Gui的核心技术:Swing AWT,不流行,快被淘汰了, 因为界面不美观 需要jre环境 为什么我们要学习? 可以写出自己心中想要的一 ......
笔记 Java GUI

Java面试问题

1、面向对象的特征有哪些方面? 答:抽象、继承、封装、多态。 1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 2)继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、 ......
问题 Java

力扣---300. 最长递增子序列

给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出 ......
序列 300

Java第一次作业

1. 定义圆形半径,求面积。int r =5; package 难得; import java.util.Scanner; public class 无语 { public static void main(String[] args) { // TODO Auto-generated method ......
第一次 Java

Linux启动Java程序jar包Shell脚本

手动方式启动和终止java程序 启动java程序jar:nohup java -jar XXX.jar 查看程序占用pid:ps -ef | grep XXX.jar 或 jps jps是jdk提供的一个查看当前java进程的小工具,查询Linux系统当前所有java进程pid的命令。 根据pid杀 ......
脚本 程序 Linux Shell Java

Java 学习总结

1111 ......
Java

Java基础语法2

# 顺序结构 程序从上到下依次地执行,中间没有任何判断和跳转。 System.out.println("程序开始"); System.out.println("起床"); System.out.println("洗漱"); System.out.println("开车"); System.out. ......
语法 基础 Java

java前后台交互从网络编程到SpringBoot

通过这片文章,想表达的是代码演变的过程,由繁到简 最原始的方法,通过网络编程、I/O流和多线程来实现: package com.itheima; import java.io.*; import java.net.ServerSocket; import java.net.Socket; impor ......
网络编程 SpringBoot 网络 java

java中同步和异步的区别

概念: 1、同步:所有的操作都做完,才返回给用户。这样用户在线等待的时间太长,给用户一种卡死了的感觉(就是系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的感觉)。这种情况下,用户不能关闭界面,如果关闭了,即迁移程序就中断了。 2、异步:将用户请求放入消息队列,并反馈给用户,系统迁移程 ......
java

Java 2023年接地气的中高级面试题一(附答案)

直入主题: Q1:为什么要用分布式锁? 在分布式系统中,多个进程或线程可能会同时访问共享资源,这可能会导致数据不一致、并发性问题、性能下降等问题。为了解决这些问题,我们通常会使用分布式锁来协调多个进程或线程对共享资源的访问。 分布式锁是一种协调机制,它通过在共享资源上设置锁来防止多个进程或线程同时访 ......
中高级 答案 Java 2023