
Java
文章平均质量分 84
gdlsky
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JAVA中XML格式字符串转为javabean(对象),然后返回xml格式字符串
一、引入相关依赖pom.xml文件配置如下所示: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId原创 2020-12-11 20:21:04 · 1141 阅读 · 0 评论 -
Vue获取并显示后端Feign返回的Activiti图片流
背景Java后台生成Activiti流程图后,将图片流传送给vue前端,前端进行显示1. Java端A. Feign消费方a1. 控制层端@GetMapping(value = "/show_diagram") public void showDiagram(@RequestParam String processInstanceId,HttpServletRespo...原创 2020-04-17 10:09:12 · 818 阅读 · 0 评论 -
使用分布式缓存Ehcache或者NoSQL数据库
Ehcache实际是一个Java的开源缓存产品,用来提升性能,降低负载,方便可伸缩性。后面有秦始皇Terracotta兵马俑式的服务器矩阵支持, Ehcache成为一种线性可扩展的分布式缓存。它是一个无关系结构schema-less, key-value, 基于Java的分布式缓存,它提供可靠的一致性控制,可根据主键key 值value或属性索引搜索。Flexible Consistency可靠的...转载 2018-04-27 17:26:57 · 406 阅读 · 0 评论 -
Java缓存技术详解
一、缓存是什么?请点击此处输入图片描述Cache①高速缓冲存储器,其中复制了频繁使用的数据以利于快速访问。②位于速度相差较大的两种硬件/软件之间,用于协调两者数据传输速度差异的结构二、缓存有哪几类?1、基于web应用的系统架构图请点击此处输入图片描述2、在系统架构中,不同层级之间为了加快访问速度,缓存都可以存在。操作系统磁盘缓存->减少磁盘机械操作数据库缓存->减少文件系统I/O应用程...转载 2018-04-27 17:22:55 · 987 阅读 · 0 评论 -
jquery的 ajax返回值为中文时乱码解决方法
用jquery的ajax,遇到个问题,服务器端从数据库取到的数据没有出现中文乱码问题(日志打出来是没有乱码的),但是异步传到客户的时候却出现了乱码。 服务器端已经编码过了(UTF-8编码)。开始一直怀疑是客户端的问题,比如客户端和服务器端编码不一致啊,也怀疑是不是JQuery的AJAX工具函数中少配了 contentType: "application/x-www-form-urlencoded...转载 2018-04-13 09:42:24 · 21300 阅读 · 0 评论 -
jAVA 提高文件复制性能之多线程复制文件
利用IO流中的随机访问文件 RandomAccessFile 和文件通道 FileChanne 复制文件可大大提高文件的读写效率,在此基础上利用多线程复制文件使其性能更优。因线程的个数可根据文件的大小及需求而定。其大概原理是根据给定的线程个数,将文件分段,每个线程负责的数据大小=文件长度/线程个数,将不能除尽的部分留给最后一段文件所分配的线程处理。以下是实现代码及自己理解的注释,多有偏差请见谅。下...转载 2018-04-11 17:22:35 · 500 阅读 · 0 评论 -
Java实现Zip解压 压缩包
对zip压缩包的解压是比较常见的应用场景,java代码的实现也很简单。废话不多说,直接上代码吧一、代码 /** * zip解压 * @param srcFile zip源文件 * @param destDirPath 解压后的目标文件夹 * @throws RuntimeException 解压失败会抛出运行时异常 */ public static void unZip...转载 2018-04-16 16:34:52 · 1056 阅读 · 1 评论 -
Java实现将文件压缩成zip
最近碰到个需要下载zip压缩包的需求,于是我在网上找了下别人写好的zip工具类。但找了好多篇博客,总是发现有bug。因此就自己来写了个工具类。 这个工具类的功能为:(1)可以压缩文件,也可以压缩文件夹(2)同时支持压缩多级文件夹,工具内部做了递归处理(3)碰到空的文件夹,也可以压缩(4)可以选择是否保留原来的目录结构,如果不保留,所有文件跑压缩包根目录去了,且空文件夹直接舍弃。注意:...转载 2018-04-16 16:32:41 · 1032 阅读 · 1 评论 -
Elicpse使用技巧-打开选中文件文件夹或者包的当前目录
很多时候,我们需要在eclipse那里打开选中文件(文件夹,包)的当前目录,在资源管理器那里显示这个目录,这个时候,我们又不想采用“选中文件/文件夹/包名--右击--Properties--Location--复制路径--打开我的电脑--粘贴地址--回车”这种繁琐的方式的话,那就可以参考以下方法。方法一:1.点击菜单栏上的Run--External Tools--External Tools Co...转载 2018-04-02 09:41:33 · 197 阅读 · 0 评论 -
Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
方案一:用Eclipse自带的Export功能步骤1:准备主清单文件 “MANIFEST.MF”,由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下:Manifest-Version: 1.0Class-Path: lib/commons-codec.jar lib/commons-httpclient-3...转载 2018-03-16 09:05:38 · 405 阅读 · 0 评论 -
JAVA中jar包的用途说明
jar包用途axis.jarSOAP引擎包commons-discovery-0.2.jar用来发现、查找和实现可插入式接口,提供一些一般类实例化、单件的生命周期管理的常用方法.jaxrpc.jarAxis运行所需要的组件包saaj.jar创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法. wsdl4j-1.5.1.jarAxis运行所需要的组件...转载 2018-07-04 11:38:41 · 2548 阅读 · 0 评论 -
Java通过HttpServletRequest获取post请求中的body内容
一、使用jemeter进行接口测试时无法成功,无法获取到body中的json参数,后来通过postman测试却可以用。1、Jemeter中content-type:application/x-www-form-urlencoded 默认的。如果不指定content-type,默认使用此格式。2、jemeter中传输的格式是以json进行传输,故需要改变为:content-ty...原创 2018-07-27 11:39:33 · 22073 阅读 · 0 评论 -
Java堆内存溢出的解决方案
JAVA堆内存管理是影响性能主要因素之一。堆内存溢出是JAVA项目非常常见的故障,在解决该问题之前,必须先了解下JAVA堆内存是怎么工作的。先看下JAVA堆内存是如何划分的,如图:JVM内存划分为堆内存和非堆内存,堆内存分为年轻代(Young Generation)、老年代(Old Generation),非堆内存就一个永久代(Permanent Generation)。 年轻代又...原创 2019-09-18 13:45:51 · 1255 阅读 · 1 评论 -
限流算法
TL;DR(too long don'tread)限流算法:计数器、滑动窗口、漏桶、令牌桶。限流方案:Guava的RateLimiter、Alibaba Sentinel大家都知道,对于高并发的业务场景,我们为了保障服务的稳定,经常会祭出三大利器:缓存、熔断降级和服务限流。服务限流作为一个核心的自保护机制,能够在非常高并发的情况下,其他机制都无法保障降级的情况下,保...原创 2019-08-11 16:12:44 · 237 阅读 · 0 评论 -
SpringBoot配置HTTPS报java.lang.UnsatisfiedLinkError: org.apache.tomcat.jni.SSL.renegotiatePending(J)I问题
一、1、昨天使用springboot项目配置HTTPS报了以下错误:15-Apr-2019 14:41:34.103 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in 20284 ms15-Apr-2019 14:41:34.118 严重 [https-openssl-nio-6190-exec...原创 2019-05-18 13:51:48 · 6702 阅读 · 2 评论 -
SpringBoot项目优化和JVM调优
项目调优作为一名工程师,项目调优这事,是必须得熟练掌握的事情。在SpringBoot项目中,调优主要通过配置文件和配置JVM的参数的方式进行。在这边有一篇比较好的文章,推荐给大家!SpringBoot项目配置Tomcat和JVM参数一、修改配置文件关于修改配置文件application.properties。SpringBoot项目详细的配置文件修改文档其中比较重要的...转载 2019-05-08 14:08:12 · 353 阅读 · 0 评论 -
SpringBoot设置上传文件的大小
今天使用SpringBoot+Mybatis+shiro做文件上传时遇到一个错误:org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field fileContext exceeds its maximum permitted size of 1048576 byt...原创 2019-05-08 13:46:45 · 4462 阅读 · 1 评论 -
XSS网站攻击以及Netty单双向认证和设置白名单
目录 技术分享之Java安全... 1 一. XSS攻击... 1 1.1 简述... 1 1.2 实例... 1 1.2.1 反射型 XSS. 1 1.2.2 存储型XSS. 4 1.2.3 DOM XSS. 5 1.3 应对策略... 6 1.3.1 反射型 XSS. 6 1.3.2 存储型XS...原创 2019-02-27 14:26:22 · 1965 阅读 · 0 评论 -
IntelliJ IDEA 2018.3 项目创建
第一部分:新建一个Maven项目打开IDEA,File>New>Project,选择Maven,选择Project SDK(JDK),勾选Create from archetype(),选择maven-archetype-webapp。填写GroupId和ArtifactIdGroupId和ArtifactId是确定项目在Maven仓库中的坐标,具有唯一性,可以通过他们去...转载 2018-12-25 16:23:56 · 1883 阅读 · 0 评论 -
2018的初冬,派卧底去阿里、京东、美团、滴滴带回来的面试题及答案
今天有时间顺便整理了一下面试带回来的答案,整理的答案有什么问题的请及时告诉我方便他人的阅读面试题 1开发中java用了比较多的数据结构有哪些?数据元素相互之间的关系称为结构。有四类基本结构:集合、线性结构、树形结构、图状结构; 集合结构:除了同属于一种类型外,别无其它关系线性结构:元素之间存在一对一关系常见类型有: 数组,链表,队列,栈,它们之间在操作上有所区别.例如...原创 2018-11-30 14:26:27 · 637 阅读 · 0 评论 -
Spring boot配置http和https访问使用tomcat和undowtow方式
方式一、Tomcat配置 一、相关配置application.yml配置server: #HTTPS和HTTP共用端口号 port: 8443 #如果要使用HTTP就注释掉一下配置信息测试的端口号就是定义的8080端口 #SSL配置 ssl: #证书配置 key-store: E://server.p12 #密码配置 key-st...转载 2018-11-02 16:58:29 · 1705 阅读 · 0 评论 -
SpringBoot整合Mybatis多数据源(Atomikos)
一、 Spring介绍1.1、SpringBoot简介在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot来让你更易上手,更简单快捷地构建Spring应用!Spring Boot让我们的Spring应用变的更轻量化。比如:你可以仅仅依靠一个Jav...原创 2018-10-23 16:37:19 · 1140 阅读 · 0 评论 -
Java遍历Map对象的四种方式
关于java中遍历map具体哪四种方式,请看下文详解吧。方式一 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。1234Map<Integer, Integer> map = new HashMap<Integer, Integer>(); for (Map.Entry<Integer, Integer> entry : map.entr...转载 2018-03-07 09:51:55 · 184 阅读 · 0 评论 -
使用Spring Security实现权限管理
1、技术目标 了解并创建Security框架所需数据表为项目添加Spring Security框架掌握Security框架配置应用Security框架为项目的CRUD操作绑定权限 2、权限管理需求描述 为系统中的每个操作定义权限,如定义4个权限: 1)超级权限,可以使用所有操作 2)添加影片权限 3)修改影片权限 4)删除影转载 2017-12-18 09:34:34 · 457 阅读 · 0 评论 -
Enum(枚举类型)的应用
一.前言 在我们日常的开发过程中,我们经常定义使用常量;在Effective Java建议用枚举来替换常量的使用,提高我们代码的质量,总结一下枚举定义常量的基本使用二.枚举类型说明 1.枚举是一种数据类型,在jdk1.6版本才开始引入; 2.枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内; 3.枚举定义了一组业务原创 2017-12-08 10:26:57 · 271 阅读 · 0 评论 -
javaweb(九)—— 通过Servlet生成验证码图片
一、BufferedImage类介绍生成验证码图片主要用到了一个BufferedImage类,如下:创建一个DrawImage Servlet,用来生成验证码图片 1 package gacl.response.study; 2 import java.awt.Color; 3 import java.awt.Font; 4 import java转载 2017-10-15 13:46:03 · 184 阅读 · 0 评论 -
javaweb(八)——HttpServletResponse对象(二)
一、HttpServletResponse常见应用——生成验证码1.1、生成随机图片用作验证码 生成图片主要用到了一个BufferedImage类, 生成随机图片范例: 1 package gacl.response.study; 2 3 import java.awt.Color; 4 import java.awt.Font; 5 import jav转载 2017-10-15 13:45:10 · 166 阅读 · 0 评论 -
javaweb(七)——HttpServletResponse对象(一)
一、HttpServletResponse对象介绍 HttpServletResponse对象代表服务器的响应。这个对象中封装了向客户端发送数据、发送响应头,发送响应状态码的方法。查看HttpServletResponse的API,可以看到这些相关的方法。1.1、负责向客户端(浏览器)发送数据的相关方法 1.2、负责向客户端(浏览器)发送响应头的相关转载 2017-10-15 13:43:28 · 183 阅读 · 0 评论 -
javaweb学习(六)—Servlet开发(二)
一、ServletConfig讲解1.1、配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个标签为servlet配置一些初始化参数。例如: 1 servlet> 2 servlet-name>ServletConfigDemo1servlet-name> 3 servlet-class>gacl.s转载 2017-10-15 13:41:33 · 158 阅读 · 0 评论 -
javaweb学习(五)—Servlet开发(一)
一、Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术。 Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤: 1、编写一个Java类,实现servlet接口。 2、把开发好的Java类部署到web服务器中。 按照一种约定俗成的称呼习惯转载 2017-10-15 13:39:41 · 193 阅读 · 0 评论 -
javaweb学习(四)—Http协议
一、什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。二、HTTP协议的版本 HTTP协议的转载 2017-10-15 13:38:06 · 206 阅读 · 0 评论 -
JavaWeb学习(三)
一、打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下: 范例:将JavaWebDemoProject这个JavaWeb应用打包成war包 执行完之后,就可以得到一个文件,平时开发完JavaWeb应用后,一般都会将JavaWeb应用打包成一个war包,然后将这个war包放到Tom转载 2017-10-15 13:37:24 · 170 阅读 · 0 评论 -
Mybatis的ResultMap的使用
resultMap 元素是 MyBatis 中最重要最强大的元素。它就是让你远离 90%的需要从结果 集中取出数据的 JDBC 代码的那个东西, 而且在一些情形下允许你做一些 JDBC 不支持的事 情。 事实上, 编写相似于对复杂语句联合映射这些等同的代码, 也许可以跨过上千行的代码。 ResultMap 的设计就是简单语句不需要明确的结果映射,而很多复杂语句确实需要描述它们 的关系。你已原创 2017-10-24 10:39:07 · 426 阅读 · 0 评论 -
JavaWeb学习(二)
一、Tomcat服务器端口的配置 Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件。 如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改例如:将Tomcat服务器的启动端口由默认的8080改成8081端口Tomcat服务器启动端口默认配置1 C转载 2017-10-15 13:35:02 · 184 阅读 · 0 评论 -
Http+servlet
Servlet的框架是由两个Java包组成:javax.servlet和javax.servlet.http. 在javax.servlet包中定义了所有的Servlet类都必须实现或扩展的的通用接口和类.在javax.servlet.http包中定义了采用HTTP通信协议的HttpServlet类.Servlet的框架的核心是javax.servlet.Servlet接口,所有的Serv原创 2017-10-15 13:14:42 · 281 阅读 · 0 评论 -
javaweb(十)—HttpServletRequest对象(一)
一、HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。二、Request常用方法2.1、获得客户机信息 getRequestURL方法返回客户端发出请求时的完整URL。转载 2017-10-16 13:23:04 · 190 阅读 · 0 评论 -
Log4j的配置
简介Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。配置文件其实也可以完全不使用配置文件,而是在代码中配置Log4j环境。但是,使用转载 2017-11-02 16:25:59 · 204 阅读 · 0 评论 -
Java 基本数据类型
1. Java的简单类型及其封装器类Java基本类型共有八种,基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double。JAVA中的数值类型不存在无符号的,它们的取值范围是固定的,不会随着机器硬件环境或者操作原创 2017-11-03 11:01:17 · 157 阅读 · 0 评论 -
Nginx+Tomcat负载均衡集群
一、 工具 nginx-1.13.4 apache-tomcat-8.5.20二、 目标 实现高性能负载均衡的Tomcat集群: 三、 步骤 1、首先下载Nginx,要下载稳定版: 2、然后原创 2017-12-25 15:55:36 · 189 阅读 · 0 评论 -
数据库如何把null转化为空字符
sqlserver中可用isnull函数:1select isnull(null,'');oracle中可用nvl函数:1select nvl(null,'') from dual;mysql中可用ifnull函数:1原创 2017-12-15 10:01:33 · 14181 阅读 · 1 评论