![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 69
皓亮君
夫君子之行,静以修身,俭以养德。非淡泊无以明志,非宁静无以致远。夫学须静也!
展开
-
websphere liberty部署 war应用
websphere liberty简单应用一 简介websphere liberty是IBM公司推出的web应用容器,类似于tomcat,以下是liberty的优点1.1.配置简单;1.2, 更改配置不需要重新启动服务,tomcat是需要的。1.3, 多应用部署效率高,稳定性比Tomca...原创 2018-12-21 13:11:25 · 8473 阅读 · 8 评论 -
基于注解方式实现Spring Security忽略拦截
一般像一些静态资源文件需要过滤掉安全认证,例如图片,.css,.js等静态资源文件,像这种在配置文件中指定比较方便。: String url=baseUrl+接口访问路径(/login) =/test/login。像这种需要忽略某个接口需要在Spring Security配置类中在代码中写死,非常的不灵活。测试用注解修饰的接口路径,可以正常访问,由此可看配置是正常。如果从配置文件中删除了过滤的接口名称则访问接口会返回403。忽略的接口访问路径规则以下文3.3的测试接口为例,添加配置类注入配置的参数。原创 2022-12-22 22:45:00 · 4721 阅读 · 0 评论 -
JVM基础和常见面试题
JVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java是一门抽象程度特别高的语言,提供了自动内存管理等一系列的特性。这些特性直接在操作系统上实现是不太可能的,所以就需要JVM进行一番转换。从下图中可以看到,有了JVM这个抽象层之后,Java就可以实现跨平台了。JVM只需要保证能够正确执行.class文件,就可以运行在诸如Linux、Windows、MacOS等平台上了。原创 2022-09-29 12:52:31 · 2435 阅读 · 0 评论 -
javascript上传文件到腾讯云COS
JavaScript上传是通过http协议直接传输数据到腾讯云对象存储里面1.首先引入腾讯云封装好的cos-js-sdk-v5.js文件下载链接:https://pan.baidu.com/s/1wUmKY797cYsBxfAs9KQACA 密码:sj1c2.以下代码可以完成上传文件操作<html><head> <meta http-equ......原创 2018-07-29 10:03:26 · 7950 阅读 · 3 评论 -
SpringBoot更换Apache Log4 2.15.0-rc2j漏洞补丁
文章目录1.Apache Log4j 远程代码执行漏洞以及修复建议2.编译最新的源码成jar包3.在springboot项目中更新log4j补丁3.1把编译好的jar包放到项目根路径下3.2 引入依赖3.3 配置把本地jar打包到项目中1.Apache Log4j 远程代码执行漏洞以及修复建议Apache Log4j2是一款优秀的Java日志框架。2021年11月24日,阿里云安全团队向Apache官方报告了Apache Log4j2远程代码执行漏洞。由于Apache Log4j2某些功能存在递归解析功原创 2021-12-10 19:48:28 · 2618 阅读 · 0 评论 -
Java中线程池参数描述
文章目录1.ThreadPoolExecutor描述2.四种线程池的使用2.1.newSingleThreadExecutor2.2.newCachedThreadPool2.3.NewScheduledThreadPool2.4.newFixedThreadPool1.ThreadPoolExecutor描述ThreadPoolExecutor是一个 ExecutorService,它使用可能的几个池线程之一执行每个提交的任务,通常使用 Executors 工厂方法配置。ThreadPoolExe原创 2022-04-13 22:15:20 · 432 阅读 · 0 评论 -
Java中的阻塞队列BlockingQueue
文章目录1.BlockingQueue 简介2.ArrayBlockingQueue(有界队列)3.LinkedBlockingQueue(双锁线程安全队列)4.PriorityBlockingQueue(优先级队列)1.BlockingQueue 简介BlockingQuene是一个阻塞队列接口,当BlockingQueue操作无法立即响应时,有四种处理方式:抛出异常;返回特定的值,根据操作不同,可能是null或者false中的一个;无限制的阻塞当前线程,直到操作可以成功为止;根据阻塞超时设原创 2022-04-13 20:09:20 · 1575 阅读 · 0 评论 -
Spring Data Jpa 配置多数据源
文章目录1.配置数据库连接信息2.编写数据源配置类3.编写数据库配置4.目录结构1.配置数据库连接信息spring: datasource: db1: # 1.0 Datasource url: jdbc:mysql://127.0.0.1:3306/test1?useSSL=false&serverTimezone=GMT%2b8&characterEncoding=utf8&connectTimeout=1000&socketTimeout=原创 2022-03-26 09:28:43 · 1636 阅读 · 0 评论 -
解决Spring Data Jpa懒加载的N+1问题
[top]问题描述因为设计树形结构的实体中用到了多对一,一对多的映射关系,在加载这个实体对象的时候,因为JPA的懒加载特效会导致触发N+1的问题,通常1的这方是通过1条SQL查找得到的1个对象或1个集合,由于关联的存在 ,又需要将这个对象(或集合)关联的集合取出,1这方的集合数量是N,则要发出N条SQL,于是本来的1条联表查询SQL可解决的问题变成了N+1条SQL。例如以下场景,后台管理系统菜单往往都是树结构的,一般会存在多个菜单和子菜单,如下:1.实体类@Data@Entity@Table(原创 2022-03-26 09:25:17 · 2890 阅读 · 2 评论 -
Spring Data Jpa配置国产的神通数据库
[top]神通数据库当前教程使用的官方上面的window x86 7.0的版本官方下载地址: http://www.shentongdata.com/index.php/download/list-27window上安装教程需要用到的jdbc包和hibernate包在maven的中央仓库中没有这2个包,需要重数据库安装目录下的jdbc和hibernate目录找到对应包后上传至maven私服中。 <!--国产化神通数据库 --> <depend原创 2022-03-20 20:39:05 · 3391 阅读 · 8 评论 -
使用aspose.word for Java在word中插入文本和表格支持合并单元格
文章目录引入依赖生成表格用到的模型类aspose.word功能工具类测试引入依赖 <repositories> <repository> <id>AsposeJavaAPI</id> <name>Aspose Java API</name> <url>https://repository.aspose.com/repo/<原创 2022-03-20 19:47:14 · 2359 阅读 · 0 评论 -
Java8 Stream常用的API
文章目录一.简介二.数据准备三.常用API1.数据分组1.1 根据性别对学生分组1.2 把学生姓名和成绩分别用map的K,V存储1.3 用学生的姓名作为map的key,对象作为value2.条件筛选2.1 根据条件筛选性别是女并且分数大于95分的学生2.2 根据条件筛选年龄等于20岁的第一条数据2.3 获取成绩等于100分的总人数3.获取某个字段的集合4.根据多字段进行排序一.简介Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类原创 2021-11-20 16:22:57 · 1239 阅读 · 0 评论 -
Spring MVC执行流程和简配版功能实现
文章目录简介一.用到的相关依赖二.相关代码信息1. annotation包2.初始化流程简介此文基于之前看【Spring5 核心原理】书籍然后综合自己的理解改造了一些功能,简单的概况了springMvc初始化和执行的流程,mvc核心的模块如下图一.用到的相关依赖javax.servlet-api: 这个就不需要我讲了吧,刚入行接触的就是servlet,处理请求用doPost,doGet相信大家都接触过reflections: 用于扫描接口的实现类使用的 <dependenci原创 2021-08-08 15:04:32 · 199 阅读 · 0 评论 -
Spring事务传播机制和隔离级别
Spring事务传播机制和隔离级别原创 2021-08-04 00:11:30 · 7060 阅读 · 1 评论 -
学习笔记【Spring中常用的设计模式】
文章目录简介一. Spring用到的设计模式类别1. 创建型模式2. 结构性模式3. 行为型模式二. 设计模式详解1. 工厂模式1.1 简单工厂模式1.2 工厂方法模式1.3 抽象工厂模式2. 单例模式2.1 饿汉模式2.2 懒汉模式2.3 破坏单例的方式2.4 注册式单例模式2.4.1 枚举单例模式2.4.2 容器式单例模式3. 原型模式详解3.1 浅克隆3.2 深克隆4. 代理模式4.1 为什么要用代理模式?4.2 静态代理4.3 动态代理4.4 CGLIB代理4.5 JDK动态代理与CGLIB对比4.原创 2021-08-04 00:06:40 · 2677 阅读 · 14 评论 -
软件架构设计七大原则
文章目录1.开闭原则2.依赖倒置原则3.单一职责4.接口隔离原则5.迪米特原则6.里氏替换原则7.合成复用原则1.开闭原则开闭原则(Open-Closed Principle,OCP)是指一个软件实体(类,模块和函数)应该对扩展性开放,对修改关闭,所谓的开闭,也正是对扩展和修改两个行为的一个原则,它强调的用抽象构建框架,用实现扩展细节,可以提高软件系统的可复用性及可维护性.开闭原则是面向对象设计中最基础的设计原则,它指导我们如何建立稳定,灵活的系统,例如版本更新,我们尽可能不修改源代码,但是可以增加新原创 2021-08-03 23:02:44 · 2282 阅读 · 0 评论 -
Java监控目录所在磁盘的存储使用情况超出阔值告警
文章目录功能描述获取结果的模型类工具类测试类功能描述获取应用资源目录所在的文件系统的使用情况,并对硬盘使用率超出某个阔值做警告信息获取结果的模型类public class WorkspaceHarDiskInfo { public WorkspaceHarDiskInfo(String filesystem, String size, String used, String use) { this.filesystem = filesystem; this.s原创 2021-06-22 12:56:51 · 575 阅读 · 2 评论 -
根据JPA实体类生成对应数据的sql文件
文章目录用到的依赖测试用的model类生成sql的工具类测试总结用到的依赖示例中用到的lombok依赖自动生成get,set,如不需要也可自行手动生成get,set方法 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency&g原创 2021-06-16 20:22:00 · 1605 阅读 · 0 评论 -
RocketMQ入门笔记
文章目录简介1.RocketMQ架构组成部分1.1 Name Server1.2 BrokerServer1.3 Producer1.4Consumer2.NameServer职责描述简介RocketMQ是由阿里捐赠给Apache的一款分布式、队列模型的开源消息中间件,经历了淘宝双十一的洗礼。优点如下:削峰填谷(主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题)系统解耦(解决不同重要程度、不同能力级别系统之间依赖导致一死全死)提升性能(当存在一对多调用时,可以发一条消息给消息系统原创 2021-06-02 20:36:33 · 568 阅读 · 0 评论 -
使用pdfbox进行pdf和图片之间的转换
文章目录简介引入依赖pdf转换成图片图片合成pdf多个pdf合成1个pdf简介pdfbox是Apache开源的一个项目,支持pdf文档操作功能。官网地址: https://pdfbox.apache.org/支持的功能如下图.引入依赖 <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox-app<原创 2021-01-18 13:04:02 · 4318 阅读 · 2 评论 -
使用Java定时从Nginx的日志中获取黑客的ip并加入访问黑名单
文章目录简介使用nginx的deny属性禁止黑名单IP访问Java工具类1.定义恶意攻击代码信息列表2.解析nginx日志中的非法访问的IP地址3.写入nginx的黑名单文件中4.工具类集成方法5.测试Main函数定时执行工具类的方式1.把工具类打包成jar,然后写入到linux的crontab事件中2.使用Java定时任务实现实战效果简介最近发现公司线上的应用老出现访问异常的情况,排查nginx的access.log日志文件,发现了大量恶意攻击的代码,内容如下主要内容为"\x03\x00\x00/原创 2021-01-16 18:51:49 · 6413 阅读 · 5 评论 -
Java获取所有docker容器信息并重启宕机的容器
文章目录简介使用到的docker 命令docker psps参数的format可选项描述docker restartJava代码封装容器属性的类获取所有容器的详细信息简介任务需求很简单,获取所有docker容器查询指定容器是否在运行中,如果运行状态非Up,则重启该容器使用到的docker 命令docker ps语法: docker ps [OPTIONS]参数说明-a显示所有的容器,包括未运行的。-f根据条件过滤显示的内容。–format指定返回值的模板文件原创 2021-01-05 23:58:01 · 2652 阅读 · 3 评论 -
解决JAVA中Runtime.getRuntime().exec()方法启动子进程时候出现阻塞问题
文章目录问题描述有问题的代码能正常运行的代码新建一个线程接受子进程控制台输出信息main函数代码问题描述本人在开发中遇到通过Process类启动子进程的时候出现子进程一直阻塞,排查了子进程程序代码没有问题代码,然后偶然找到一个大佬写的博客才解决了此问题,需要单独启动一个新的线程接受子进程控制台的输出信息方可解决。有问题的代码 public static void main(String[] args) throws Exception { String osname = Sys原创 2020-11-30 23:13:12 · 2511 阅读 · 0 评论 -
使用docker安装RocketMQ
文章目录1.拉取镜像2.创建namesrv服务创建namesrv数据存储路径构建namesrv容器3.创建broker节点创建broker数据存储路径创建配置文件构建broker容器安装rocketmq控制台拉取镜像构建rocketmq控制台服务容器需要关闭防火墙或者开放namesrv和broker端口关闭防火墙开放指定端口访问控制台1.拉取镜像docker pull rocketmqinc/rocketmq2.创建namesrv服务创建namesrv数据存储路径mkdir -p /docke原创 2020-10-14 00:07:03 · 55387 阅读 · 94 评论 -
docker安装maven私服进行jar包管理
Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。Nexus 使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过m2eclipse与Eclipse集成使用。Nexus支持WebDAV与LDAP安全身份认证。原创 2020-04-25 18:45:38 · 1326 阅读 · 0 评论 -
Java使用腾讯云COS上传下载及删除操作
简介:腾讯云对象存储(Cloud Object Storage,COS)是腾讯云为企业和个人开发者们提供的一种能够存储海量数据的分布式存储服务,用户可随时通过互联网对您的大量数据进行批量存储和处理。首先先创建1个存储桶然后配置一下密钥,yong y然后新建一个密钥然后就可以通过这个密钥访问云资源了package com.ljm.test;import com.qcloud.cos.COSCli...原创 2018-07-15 13:55:23 · 13272 阅读 · 8 评论 -
springboot应用jar包防止反编译
jar包防止反编译本文参考xjar官网:https://github.com/core-lib/xjar 本篇用springboot jar作为示例对jar文件简单的加密操作,如更复杂的请查看xjar官方 1. 在需要加密的jar的pom.xml文件添加依...原创 2019-10-16 17:50:44 · 5496 阅读 · 6 评论 -
在没有jdk环境的电脑上运行java项目
把jar文件打包成可执行的.exe文件,在没有jdk的环境的电脑运行1.准备2个文件,1个是你要打包的jar文件,另1个是jdk文件下面的jre如果嫌jre文件太大,你们可以去网上找下精简版的jre2.安装exe4j打包工具,执行打包操作下载链接:https://pan.baidu.com/s/15ZTOlvfUai_XNBJiWoDfUQ 密码:a9pu......原创 2018-07-22 19:18:01 · 18300 阅读 · 20 评论 -
java使用swing实现内嵌浏览器
java使用swing实现内嵌浏览器1.使用swing内嵌浏览器需要导入3个jar包,第3个根据电脑版本选择dj-native-swing-swt.jar dj-native-swing.jar org.eclipse.swt.win32.win32.x86_64-4.3.jar下载链接:https://pan.baidu.com/s/1zZ-BfP4Lghyrc...原创 2018-07-22 20:09:09 · 22294 阅读 · 59 评论 -
用Idea把java项目导出成可执行的jar
以下步骤可以把Java项目导出成可执行的jar1.打开Project Structure 2.选中 Artifacts>JAP>From modules with dependencies 3.选择1个有main方法的类做为启动类,然后OK就行 4.构建项目 点击Build Artifacts,然后选择Build5.项目out目录...原创 2018-08-04 22:53:34 · 21920 阅读 · 3 评论 -
把java项目打包成安装包
把Java的项目环境和可执行的EXE文件打包成安装包把java项目打包成可执行的exe文件请看我这边文章:https://mp.csdn.net/postedit/811572471.需要准备3个应用 7z用于把项目目录打包成* .7z格式的压缩文件 7zsfxtool用于把* .7z格式的文件打包成安装包 Resou......原创 2018-08-04 23:47:05 · 7996 阅读 · 0 评论 -
HTML5 Video播放本地文件
本人在做项目的时候,有个功能需求需要播放云上的视频和本地磁盘里的视频,播放云上的视频有url直接就能播放,但是播放本地的视频涉及到浏览器跨域的问题,在网上找了很多,但都不能解决我的问题,最后想到了构建流的方式在服务器上播放本地视频。下面是我在服务器上播放本地视频的效果图先贴上html5代码<!DOCTYPE html><html lang="en"&......原创 2018-08-18 12:10:03 · 51176 阅读 · 18 评论 -
java生成图片验证码(字母 | 运算 | 汉字)
java生成图片验证码(字母|运算|汉字) 1.先看下以下效果图,ui请勿参考 2.后台工具类代码package com.ljm.verification.util;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.Buf...原创 2018-10-26 19:37:11 · 1319 阅读 · 0 评论 -
JAVA集成WebSocket,实现服务器与客户端握手
WebSocket实现服务器与客户端握手自学的WebSocket途中遇到很多坑,希望需要使用的朋友可以少走弯路,使用的环境:tomcat7.0,mysql,springMvc,spring,Mybatis主要使用2个jar包 这2个jar包在tomcat7的 lib文件夹里面有catalina.jar ...原创 2018-03-23 00:57:42 · 6315 阅读 · 3 评论 -
JAVA代码给QQ邮箱发邮件
通过java代码给qq邮箱发邮件使用发送邮箱所需要2个jar包activation.jar mail.jar下载链接:https://pan.baidu.com/s/1YA3jgmUNzWOKun5WlwgBFA 密码:1or0 先要激活qq邮箱的pop3/smtp服务 账户里面...原创 2018-03-30 03:30:39 · 1300 阅读 · 0 评论 -
java进程之间通信
一 进程间通信的方法主要有以下几种: (1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。 (2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关 系进程间的通信。命名管道在文件系统中有对应的文件名。命名管道通过命令mkfifo或系统调用mkfifo来创建。...原创 2019-09-03 09:47:41 · 2583 阅读 · 0 评论 -
linux安装mongoDB数据库,java集成mongoDB
基本概念文档是MongoDB中数据的基本单元,非常类似于关系型数据库中的行,但更具有表现力; 集合Collection可以看作是一个动态模式(Dynamic Schema)的表; MongoDB的一个实例可以拥有多个相互独立的数据库 (Database),每一个数据库都拥有自己的集合; 每一个文档都有一个特殊的键_id,这个键在文档所属的集合中是唯一的; Mong...原创 2018-07-18 02:07:28 · 711 阅读 · 0 评论