
java
文章平均质量分 85
sun0322
NULL
展开
-
Java利用JCSH 实现 sftp 传送文件代码
JSch (Java Secure Channel) 是一个纯 Java 实现的 SSH2 库,允许 Java 程序通过 SSH 协议安全地连接远程服务器,支持:SFTP(安全文件传输)SCP(安全文件复制)端口转发(SSH 隧道)Shell 命令执行(远程命令调用)它是 com.jcraft 提供的开源库,广泛用于 Java 应用中的 SSH 相关功能。原创 2025-04-24 21:07:43 · 754 阅读 · 0 评论 -
EJB如何管理事务
在 EJB(Enterprise JavaBeans) 中,事务管理也是一个核心功能。EJB 提供了类似于 Spring 的注解来控制事务行为。EJB 提供了 @TransactionManagement 和 @TransactionAttribute 等注解来控制事务行为。事务管理方式可以是容器管理(默认)或 Bean 管理。事务传播行为通过 TransactionAttributeType 枚举类来配置。原创 2025-01-22 22:10:14 · 3066 阅读 · 0 评论 -
PDF转换为TIF,JPG的一个简易工具(含下载链接)
这个工具是java实现的,现在电脑上一般都安装了JRE,即使你不会java,不懂什么是Java。只要你电脑上安装了jre,这个工具一样可以使用。===原创 2024-09-29 14:40:48 · 5826 阅读 · 0 评论 -
java实现,PDF转图片(TIF,jpg)、PDF中写入内容
我原本文件才0.3M,生成的TIF有3M的大小。方法1:pom中添加如下引用。问题:结果全部为false。方法2:使用jdk9。原创 2024-09-03 21:59:19 · 5748 阅读 · 0 评论 -
圆周率计算(祖冲之计算圆周率的方式,java实现)
====原创 2024-06-24 07:24:56 · 5610 阅读 · 0 评论 -
Servlet,Spring,Spring Boot,Sprint Batch,ThymeLeaf 学习
■前言新项目■Spring Boot 学习1.Spring Boot 介绍1https://qingmiaogu.blog.csdn.net/article/details/1062358462.Spring Boot 介绍2https://blog.csdn.net/u012702547/article/details/1062275633.TaskLethttps://blog.csdn.net/neweastsun/article/details/88...原创 2020-07-07 20:52:46 · 3182 阅读 · 1 评论 -
【java】指定类,指定package,找到package下面,这个类的所有子类
所有被扫描的类,都会被加载。Face--静态初始化块。父类--静态初始化块。子类--静态初始化块。Face--静态变量。原创 2024-06-15 16:28:56 · 1030 阅读 · 2 评论 -
把图片转换成Base64形式存储
类来进行Base64编码,它是在Java 8中引入的官方 API,提供了更稳定和可靠的Base64编码功能。最好的做法是事先知道流的大小,或者使用其他方法来准确获取流的大小,比如记录文件大小或者使用其他方式来确定流的结束标记。方法的返回值取决于操作系统和文件系统的不同,可能会导致错误的结果。更为可靠的方式是根据实际读取到的数据大小来确定字节数组的大小。方法来确定流的大小,因为它并不总是返回精确的流大小。方法会返回缓冲区中的字节数,而不是整个流的大小。方法的行为有不同的解释,导致返回值的不确定性。原创 2024-05-20 22:28:51 · 10891 阅读 · 0 评论 -
【性能】【算法】for循环,性能提高
在计算阶乘的过程中,循环结构通常会引入条件分支,用于判断循环是否继续。当分支预测(branch prediction)失败时,CPU的流水线会发生停顿,等待分支判断结果返回。这会导致流水线中断,浪费了一些CPU周期。----而如果采用展开循环的方式,即在代码中展开多个循环迭代,相当于将多个循环迭代的结果直接写入代码中。这样就避免了循环和条件分支的存在,减少了分支预测失败的机会,减少了流水线停顿。原创 2024-01-08 20:00:00 · 1902 阅读 · 1 评论 -
反序列化,反射时,构造函数是否调用。
当反序列化对象时,不会调用类的构造方法。相反,Java 反序列化机制会使用一些特殊的机制将数据转换为对象,而不需要调用构造方法。这可以通过读取对象序列化数据流并进行对象重建来实现。,然后使用构造方法的newInstance()方法来创建实例。这样就会触发相应构造方法的调用。当使用反射创建类的实例时,构造方法确实会被调用。,而是通过使用类的特殊方法来重新构建对象实例。通过反射创建实例时,需要首先获取类的构造方法。Person的无参构造方法被调用。对象的构造方法并不会被调用。反序列化时,不被调用。原创 2023-12-07 21:30:00 · 5529 阅读 · 2 评论 -
为什么重写equels方法时,一定要重写hashcode方法
========■前言・最近刷一刷java考试题・而且,前一段时间,同事编码也遇到了这种问题(equals相等,hashcode不相等。)、因此造成了HashMap取不到想要的值。■java中为什么重写equals方法,就一定要重写hashcode方法在Java中,通常在重写equals方法的同时也需要重写hashCode方法,这是因为这两个方法是密切相关的。当你在Java中使用对象作为键的时候,比如HashMap、HashSet等。原创 2023-12-02 23:13:49 · 1171 阅读 · 0 评论 -
发布订阅者模式(观察者模式)、Spring的事件与监听
应用场景张三,李四,王五,分别都去了售楼处,想要购买新房,售楼处现在没有房子,记录了他们的联系方式,告诉他们,有新房时,我们售楼处,会和你们联系。售楼处:发布者(发布主题,有新房销售)购房者:观察者(订阅主题,是否有新房发售)原创 2023-11-12 22:42:29 · 4864 阅读 · 0 评论 -
DES、AES加密、MD5、SHA256等散列生成(java代码)
==■前言WebAPI直接,HTTP传送数据,数据加密。原创 2023-03-14 09:53:42 · 3705 阅读 · 0 评论 -
JPA、EJB、事务管理、WebSphere ---相关内容整理
JPA(Java Persistence API)和JDBC类似,也是官方定义的一组接口,但是它相比传统的JDBC,它是为了实现ORM而生的,即Object-Relationl Mapping,它的作用是在关系型数据库和对象之间形成一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了。■1.1.配置文件JPA persistence.xml 文件初学者指南_allway2的博客-CSDN博客_persistence.xml。原创 2023-02-11 21:30:05 · 2028 阅读 · 0 评论 -
java处理,调用外系统的 WebAPI(https请求)时,相关知识整理
=====原创 2023-02-04 08:57:31 · 10835 阅读 · 0 评论 -
log4j警告之【log4j:WARN No appenders could be found for logger(xxx.xxxxxxxx.xxx.XXXXX).】原因・解决
・工程里面虽然配置了log4j.xml,但是配置的位置比较特殊,(log4j.xml 或 log4j.properties)选择【Java Build Path 】在这里面添加conf文件夹。选择【Source】选项卡。运行时没有找到 log4的配置文件。・普通工程(正常工程)配置新工程,运行出错。原创 2023-02-02 19:15:00 · 682 阅读 · 0 评论 -
Runtime、ProcessBuilder的区别(Java中,两种方法来启动其他程序)
ProcessBuilder.start() 和 Runtime.exec()传递的参数有所不同,・Runtime.exec()可接受一个单独的字符串,这个字符串是通过空格来分隔可执行命令程序和参数的;・ProcessBuilder的构造函数是一个字符串列表或者数组。列表中第一个参数是可执行命令程序,其他的是命令行执行是需要的参数。原创 2023-01-10 22:42:36 · 5583 阅读 · 0 评论 -
Maven ,命令行中,字符编码 设置
Maven ,命令行中,字符编码 设置。原创 2022-09-29 23:49:30 · 4304 阅读 · 0 评论 -
使用VBA调用jar传递参数,并获取返回值
目录■VBA代码■Java代码■运行效果ExcelLog效果 (通过VBA调用jar后,运行,生成的Log)■相关知识1.Maven打包生成jar2.log4J配置使用3.Maven工程做成4.使用Git,管理代码版本■更多知识1.Java知识整理2.软件开发中使用单词3.VBA操作相关内容整理■VBA代码Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As原创 2022-05-12 23:20:27 · 1926 阅读 · 0 评论 -
Java反射学习,Junit中的应用(JMockit)
目录1.操作对象2.反射代码3.更多应用(Junit)4.核心代码 (Junit中使用)1.操作对象package com.sxz.study.reflect;public class Student { private String name; private Integer score; public Student() {} public Student(String name, Integer score) { thi原创 2022-05-08 22:03:48 · 4936 阅读 · 0 评论 -
使用SpringBoot启动SpringBatch,启动过程源代码分析
目录一.POM二.Spring框架类1.SpringApplication (spring-boot-xxx.jar)2.JobLauncherApplicationRunner(spring-boot-autoconfigure-xxx.jar)launchJobFromProperties(Properties properties)executeLocalJobs(JobParameters jobParameters)execute(Job job, JobPar..原创 2022-04-21 16:16:06 · 2537 阅读 · 0 评论 -
POM 打包 Jar,指定Main方法的类,指定使用的JDK
目录■前言■POM文件定义■在Eclipse中,运行MVN,生成Jar■命令行执行1.执行指定了Main方法的Jar2.执行没有Main方法的jar■扩展■扩展1:Java命令行执行■扩展2:Maven■前言 写了一个工具,仅仅一个java文件不能实现,需要多个java文件, 打成jar,执行时方便。■POM文件定义<build> <plugins> <plugi...原创 2022-04-02 08:04:45 · 3491 阅读 · 0 评论 -
数学公式【(1+1+2+1+2+3+1+2+3+4。。。)⇒n*(n+1)*(n+2)/6】
■代码package com.sxz.myjava;public class Test0224 { public static void main(String[] args) { // TODO Auto-generated method stub int sum = 0; for (int i = 0; i < 10; i++) { for (int j = 0; j < i; j++) { System.out.print(j); sum原创 2022-02-26 23:51:16 · 5337 阅读 · 0 评论 -
Java学习之「Spring + AspectJ 」
■前言【Spring中这两个核心思想」都是一种设计模式(工厂,代理) IoC的思想基于工厂模式 AOP的思想则是基于代理模式。AspectJ是一个面向切面的框架,是目前最好用,最方便的AOP框架【静态代理】有:编译时织入(特殊编译器实现)、类加载时织入(特殊的类加载器实现)■省略部分安装maven安装lombook■代码构造■运行效果14:09:56.035 [main] DEBUG org.springframework.context.annot...原创 2022-01-22 14:12:18 · 5593 阅读 · 0 评论 -
Java学习之Thread之Join、【Monitor】与【wait】与【notify】与【sleep】_加【Callable】【Executor】【ExecutorService】【Future】
■基础【相同点】都会让线程进入阻塞(Blocked)状态【不同的】1.每一个Object对象,都有一个锁,【wait】会释放锁,【sleep】不会释放锁。(即,不会释放同步监视器)详细解释1.Monitor是一种用来实现同步的工具 (锁:【同步监视器】)2.与每个java对象相关联,即每个java对象都有一个Monitor与之对应3.Monitor是实现Sychronized(内置锁)的基础2.【wait】与【notify】是Object的方法。【sleep】是Threa..原创 2022-01-16 23:57:22 · 5285 阅读 · 0 评论 -
Eclipse中【Maven下载时,下载源码】设定方法
目录■Eclipse中设定方法■效果■扩展●2.14.1 存在漏洞JndiLookup.javaAbstractLookup.java■Eclipse中设定方法 Maven Download Artifact Sources■效果---■扩展可以查看查看Log4j2的漏洞,JNDI注入 相关的 源码了。 ●2.14.1 存在漏洞JndiLookup.java/* * Licensed to the Apache S..原创 2021-12-29 22:47:10 · 872 阅读 · 0 评论 -
Java8新特性学习_001_(Lambda表达式,函数式接口,方法引用,Stream类,Optional类)
目录■代码■代码运行结果■代码说明・44行:Stream的、foreach方法ー参数类型:函数式接口・82行:Interface中,default方法・92行 Stream的、max方法的ー参数类型:函数式接口・Stream的优点(特性)■四种常见的【函数式接口】以及【运用】・Function・Consumer・Supplier・Predicate■更多代码■更多代码1(Stream,Optional)■更多代码2(Java8 文件操...原创 2021-12-26 20:37:18 · 6004 阅读 · 0 评论 -
JNDI RMI 注入(Log4j2漏洞)
目录■相关知识1.SLF4J(Simple logging Facade for Java) // 简单日志门面■(log4j2)漏洞■JNDI 注入代码实现(RMI)■代码细节说明1.javax.naming.Reference // 构造方法2.代码中使用的服务如何构建 SimpleHTTPServer // (Python)快速共享目录3.RMI的利用版本限制4.问答5.RMI(Remote Method Invocation)为远程方法调用●在攻击..原创 2021-12-24 23:01:28 · 13571 阅读 · 0 评论 -
获取运行的class文件,所在的目录
目录■代码■效果■目录■坑!!!结果to be [.../jre/lib/ext/]■代码package com.sxz.test;public class TestClassLoader { public static void main(String[] args) { String classPath = TestClassLoader.class.getClassLoader().getResource("").getPath(); System.o...原创 2021-10-24 23:04:43 · 5144 阅读 · 0 评论 -
SpringBoot + MyBatis + Thymeleaf 之 HelloWorld
目录■相关知识■代码UserController2helloThymeleafMyBatis.html■效果■DB数据■相关知识SpringBoot + MyBatis 之 Hello World_sun0322-CSDN博客SpringBoot + Thymeleaf 之 HelloWorld_sun0322-CSDN博客■代码UserController2package com.sxz.test.one.controller;import java.原创 2021-10-10 23:18:49 · 4972 阅读 · 0 评论 -
SpringBoot + MyBatis 之 Hello World
目录■相关知识1(其他代码)■相关知识2(补充说明)■目录结构■配置文件■POM・注意点■application.properties・注意点■DB■Java代码1.HelloWorldMainApplication (启动类)2.UserController (控制类)3.User4.UserMapper5.UserService6.UserServiceImpl■xml代码■相关知识1(其他代码)SpringBoot + T..原创 2021-10-09 21:56:00 · 5662 阅读 · 0 评论 -
SpringBoot + Thymeleaf 之 HelloWorld
目录■相关知识■构造■代码javahtmlpomyml■相关知识Java学习(更新中)_sun0322-CSDN博客使用JDK中的 keytool【创建证书】・【查看】・【使用】_sun0322-CSDN博客■构造■代码java注意点:不能使用@RestControllerpackage com.sxz.test.one;import java.time.LocalDateTime;import javax.servlet.ht...原创 2021-10-08 11:08:20 · 5054 阅读 · 0 评论 -
Java中的GC(垃圾回收)log ,以及 JVM 介绍
目录■启动参数■启动Log■GC Log■GC Log ---- 垃圾回收部分 Log【Full GC】■GC Log 对性能的影响■JVM 内存模型■GC Log ---- 垃圾回收部分 Log ----每一列的含义【JVM启动后,经过的时间】【PSYoungGen】【ParOldGen】【Metaspace】【默认元空间大小】【Time】■图文信息■启动参数java -verbose:gc -Xloggc:C:/Logs/Sprin...原创 2021-08-10 22:38:20 · 8412 阅读 · 0 评论 -
判断图片文件真实类型---通过文件表头判断。
■前言BufferedImage image = ImageIO.read(bin);的返回值为NULL,所以想要查看图片文件真实的类型。 /** * tif合并 **/ public static byte[] margerTif(List<byte[]> bytes){ ByteArrayInputStream bin = null; List<BufferedImage> images = new原创 2021-07-06 23:04:09 · 6043 阅读 · 0 评论 -
TIF合并Java代码
11Maven<!-- tif 合并 --> <dependency> <groupId>com.sun.media</groupId> <artifactId>jai_codec</artifactId> <version>1.1-mr</version> </dependency>2原创 2021-07-06 11:45:33 · 5989 阅读 · 0 评论 -
原始的Ajax请求方式 (XMLHttpRequest)
■前言看到了最原始的Ajax的代码以下为摘要===46.XMLHttpRequest XMLHttpRequest 是 AJAX 的基础。 所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。 XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 xmlhttp.open("GET","test1.txt",true); xmlht..原创 2021-07-02 22:27:18 · 5329 阅读 · 0 评论 -
SpringBoot, 启动类,使用「SpringBootApplication」标注
■使用@SpringBootApplicationpublic class MyApplication { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }■源码---package org.springframework.boot.autoconfigure;---@Target原创 2021-06-26 23:15:50 · 4827 阅读 · 2 评论 -
SpringBoot的jar传递参数时,使用两个「--」横线来标记参数
新版博客编辑界面超级难受,考虑转战博客园!!!■前言指定tomcat的端口,--server.port指定配置文件,--spring.config.location指定profile,--spring.profiles.active=testjava -jar mySpringBoot.jar --spring.config.location=C:/application.properties --server.port=8081■SpringBoot源代码分析原创 2021-06-26 22:19:01 · 5432 阅读 · 0 评论 -
Springboot,log文件配置时,logging.file.name与logging.file
新版博客编辑界面超级难受,考虑转战其他平台,比如博客园!!!■前言·SpringBoot版本升级之后,log文件无法显示。■原因■解决■·SpringBoot源代码分析2.1.6中,springboot的源码---package org.springframework.boot.logging;import java.util.Properties;import org.springframework.core.env.Environment原创 2021-06-26 21:41:38 · 8346 阅读 · 1 评论 -
使用JDK中的 keytool【创建证书】・【查看】・【使用】
1.创建证书keytool -genkey -alias myTomcat----------■扩展1.cacerts文件没有被修改cd c:\Program Files\Java\jre1.8.0_191\lib\security2.查看证书指纹keytool -list -keystore cacerts -storepass changeit--3.查看证书详细信息keytool -list -v -keystore ca.原创 2021-05-22 17:23:23 · 17632 阅读 · 2 评论