自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jerry的一亩三分地

大自然的搬运工

  • 博客(212)
  • 资源 (1)
  • 收藏
  • 关注

转载 Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches

上面的设置比较粗暴,使cache的作用基本无法发挥。需要根据机器的状况进行适当的调节寻找最佳的折衷。修改/etc/sysctl.conf添加如下选项后就不会内存持续增加。通过修改proc系统的drop_caches清理free的cache。和Cache方法/proc/sys/vm/drop_caches。频繁的文件访问会导致系统的Cache使用量大增。free内存减少到几十兆,系统运行缓慢。运行sync将dirty的内容写回硬盘。...

2022-07-28 15:49:39 4173

转载 java.io.IOException: The temporary upload location [C:\Windows\Temp\tomcat.6949618360138609656.8080\

问题说明:SpringBoot 定义的web项目过一段一时间会报如下异常:java.io.IOException: The temporary upload location [C:\Windows\Temp\tomcat.6949618360138609656.8080\work\Tomcat\localhost\xxweb] is not valid异常分析:异常显示,临时文件不存在。因为springboot在启动的时候会创建一个tmp的临时文件用来存放一下临时的文件信息等内容tmp文

2021-08-20 15:26:34 671

转载 SpringBoot默认HikariDataSource配置

Spring Boot默认的数据源是HikariDataSource,配置方式 ,直接上配置代码:spring: application: name: test-cloud profiles: active: prod datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&charac

2021-05-10 13:08:55 9349

原创 SpringBoot中优雅的使用多线程

在 SpringBoot 应用中,经常会遇到在一个接口中,同时做事情1,事情2,事情3,如果同步执行的话,则本次接口时间取决于事情1 2 3执行时间之和;如果三件事同时执行,则本次接口时间取决于事情1 2 3执行时间最长的那个,合理使用多线程,可以大大缩短接口时间。那么在 SpringBoot 应用中如何优雅的使用多线程呢?快速使用SpringBoot应用中需要添加@EnableAsync注解,来开启异步调用,一般还会配置一个线程池,异步的方法交给特定的线程池完成,如下:@Configurat

2020-11-30 17:10:48 1582 2

转载 解决IDEA的Plugin org.apache.maven.plugins:maven-archetype-plugin:RELEASE or one of its dependencies cou

解决IDEA的[ERROR] Plugin org.apache.maven.plugins:maven-archetype-plugin:RELEASE or one of its dependencies could not be resolved问题在使用IDEA(之前没用过)创建maven项目时,总是创建不成功,文件残缺,下面是错误提示。[ERROR] Plugin org.apache.maven.plugins:maven-archetype-plugin:RELEASE or one

2020-11-30 14:00:35 1023

原创 java excel导出

工具类/** * 导出excel * @param title * @param rowTitles * @param dataArray * @param response */ public static void exportExcelByResource(String title,String[] rowTitles,JSONArray dataArray,...

2020-03-31 15:09:14 179

原创 java泛型静态方法实际使用

静态泛型方法定义:public static <T> T deserialize(byte[] byteArray) { ObjectInputStream oip = null; try { oip = new ObjectInputStream(new ByteArrayInputStream(byteArray)); @SuppressWarnings(...

2019-12-26 17:42:46 665

原创 软件架构演进浅析

进入IT行业6年,见证了整个系统架构的变迁,经历了一轮又一轮架构浪潮。从最早的单体架构的一整个系统的杂乱无章,发展到多模块的单体架构,再到SOA架构的分布式解构系统,进而又更进一步进化到当今流行的微服务架构。每一种架构形态都不是万能的,都有其优劣所在,以及其所适应的场景和团队构成。1. 单体架构单体架构不是一无是处的,任何架构都有其优势和劣势。单体快速开发和验证想法,证明产品思路是否可行,...

2019-12-06 14:06:30 492

原创 一致性Hash算法以及java实现

目前我们很多时候都是在做分布式系统,但是我们需把客户端的请求均匀的分布到N个服务器中,一般我们可以考虑通过Object的HashCodeHash%N,通过取余,将客户端的请求分布到不同的的服务端。但是在分布式集群中我们通常需要添加或删除服务器,所以通过取余是不行的。一致性Hash就是为了解决这个问题。  Consistent Hashing 一致性Hash的原理  1、环型Hash空间...

2019-09-06 15:06:51 3746

转载 JavaAgent 应用(spring-loaded 热部署)

本文重点说一下,JavaAgent 能给我们带来什么?自己实现一个 JavaAgent xxxxxx基于 JavaAgent 的 spring-loaded 实现 jar 包的热更新,也就是在不重启服务器的情况下,使我们某个更新的 jar 被重新加载。一、基于 JavaAgent 的应用实例JDK5中只能通过命令行参数在启动JVM时指定javaagent参数来设置代理类,而JDK6中已经...

2019-09-05 15:46:44 932

转载 JDBC元数据(MetaData)学习

元数据(MetaData): 元数据(MetaData),即定义数据的数据.比如,我们要搜索一首歌(歌本身就是数据),可以通过歌名,歌手,专辑等信息来搜索,这些歌名,歌手,专辑就是这首歌的元数据.因此数据库的元数据就是一些注明数据库信息的数据.JDBC来处理数据库的接口主要有三个,即:   Connection : 由Connection对象的getMetaData()方法获取的是Data...

2019-09-03 11:26:07 4660

转载 Response重定向实现参数隐藏

最近在弄一个SSH项目,前期已经做好了,现在的需求是进行单点登陆实现,涉及到重定向跳转(带有参数那种)情况,但是不能在地址栏上出现参数的信息,需要进行参数的隐藏跳转。由于时间比较急,本人没来得及开发一个小工具,这次用的别人以前写好的工具类进行参数隐藏。放在这里好让自己积累一些工具类,也方便大家参考!好了,直接上代码:package com.example.Utils;import jav...

2019-07-26 15:02:59 1939 3

转载 对Request.parameter中参数进行添加或修改

在讲解这个问题之前,先来聊聊我程序的设计,为移动端提供接口的同学们都知道,在接口通讯的过程中,数据是需要加密传输的,博主设计的也不例外,请看下面的内容:可以看到,parameter参数是一段加密串,接下来在看我们的接口定义部分:可以看到,接口需要的参数是一个User对象,现在有个问题,怎么将加密的数据解密并将解密出的数据映射到User对象中呢?...

2019-07-22 15:35:22 11840

转载 Linux后台运行java -jar

问题描述我打好的jar包,放在服务器上之后,在windows里面用xshell打开一个连接,然后运行java -jar 。。。。执行这个jar文件,当我关闭这个链接的时候为什么程序停止了呢? 打开XShell连接并运行java -jar  XX.jar 后当前的连接被锁定,也就是说,你的连接的线程当前的状态会影响程序的执行,比如你按了CTRL+C命令程序退出,还有关闭你的连接那...

2018-11-12 18:40:24 289

转载 git 本地分支与远程分支

github上已经有master分支 和dev分支在本地git checkout -b dev 新建并切换到本地dev分支git pull origin dev 本地分支与远程分支相关联在本地新建分支并推送到远程git checkout -b testgit push origin test   这样远程仓库中也就创建了一个test分支 ================...

2018-11-12 18:01:26 220

原创 java后台接口树形结构json数据返回

适用于父子关系的数据结构//从数据库中查找所有地址@Select("select t.id as addressId,t.address_name as addressName,t.parent_id as parentId from t_equipment_address t")public List<EquipmentAddressVo> getAllEquipmen...

2018-11-08 14:28:29 4678 4

原创 tomcat在lib目录下加载自定义的文件夹存放jar包

我们在tomcat中需要放置多个项目公用的jar包,来使得多个项目可以公用这些jar包来工作,不要每个项目都引这些jar包,可以将jar包放在tomcat的lib目录下面。lib目录下面本来就有许多自带的jar包了,为了防止混淆,可以在lib目录下建一个ext目录,来将项目要用到的jar包放在此处。但是tomcat是无法识别这个ext目录里面的文件的,此时需要修改tomcat配置文件${cat...

2018-11-08 14:24:09 9019

转载 Spring boot 中 Mybatis Plus 在 Oracle 新增数据时,主键自增问题

问题:新增数据时提示,无效的列类型:1111,如下图: 解决办法:1.spring boot 依赖版本改为 mybatis-plus-boot-starter 2.在配置文件中增加#主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";id-type: 1# Sequence序列接口实现...

2018-11-02 11:40:51 2675

原创 java虚拟机类加载机制

1. 概述       代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。在java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类加载时稍微增加一些性能开销,但是会为Java应用程序提供高度的灵活性,动态绑定,动态扩展就是依赖运行期动态加载和动态连接这个特点实现的。 2. 类加载的时机       类从被加...

2018-09-07 16:04:43 132

转载 使用jmap和MAT分析JVM堆内存

我的一台生产环境机器每次运行几天之后就会莫名其妙的宕机,分析日志之后发现在tomcat刚启动的时候内存占用比较少,但是运行个几天之后内存占用越来越大,通过jmap命令可以查询到一些大对象引用没有被及时GC,这里就要求解决内存泄露的问题。Java的内存泄露多半是因为对象存在无效的引用,对象得不到释放,如果发现Java应用程序占用的内存出现了泄露的迹象,那么我们一般采用下面的步骤分析:1. 用工...

2018-08-20 16:38:27 443

转载 Spring Cloud Eureka简介及原理

Eureka是Netflix开发的服务发现组件,本身是一个基于REST的服务。Spring Cloud将它集成在其子项目spring-cloud-netflix中,以实现Spring Cloud的服务发现功能。目前Eureka 项目相当活跃,代码更新相当频繁,目前最新的版本是1.5.5。Eureka 2.0也在紧锣密鼓地开发中,2.0将会带来更强的功能和更好的扩展性,但是由于还没有Release,...

2018-06-07 18:07:56 5920

转载 Spring事务级别以及嵌套事务

Spring 的事务级别:引用PROPAGATION_REQUIRED -- 支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 PROPAGATION_SUPPORTS -- 支持当前事务,如果当前没有事务,就以非事务方式执行。 PROPAGATION_MANDATORY -- 支持当前事务,如果当前没有事务,就抛出异常。 PROPAGATION_REQUIRES_NEW -- ...

2018-04-27 12:37:02 542

转载 Spring 注解事务,声明事务共存的情况下,先后顺序

首先先看配置文件:[html] view plaincopy&lt;!-- hibernate --&gt;      &lt;bean id="sessionFactory"          class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt;          &lt;property name="dat...

2018-04-27 11:47:55 1308

转载 web过滤器中获取请求的参数(content-type:multipart/form-data)防止csrf攻击

1.前言:  1.1 在使用springMVC中,需要在过滤器中获取请求中的参数token,根据token判断请求是否合法;  1.2 通过requst.getParameter(key)方法获得参数值;    这种方法有缺陷:它只能获取  POST 提交方式中的Content-Type: application/x-www-form-urlencoded;    HttpServletR...

2018-04-17 18:31:30 2631

原创 Apache HttpClient设置请求超时时间和返回超时时间,以及超时重试

// 创建http请求客户端 DefaultHttpClient client = new DefaultHttpClient(); client.getParams().setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 80000); client.getParams().setIntParameter...

2018-02-09 16:28:52 4587

转载 【Weblogic】linux下weblogic新建domain(入门教程)

找到weblogic下的/common/bin目录,/home/weblogic/Oracle/Middleware/wlserver_10.3/common/bin./config.sh -mode=console(用控制台模式安装) (1)选择“创建新的Weblogic域”,输入“1”,按回车;(2)一般情况直接回车就行;(3)根据自己需要来选择模板,这里选的是第一个;(4)给domain命名

2018-01-18 17:16:02 5072

转载 Java代码调用存储过程和存储方法

1.调用 存储过程:[java] view plain copypackage com.test.demo;    import java.sql.CallableStatement;  import java.sql.Connection;    import org.junit.Test;    import oracle.jdbc.internal.OracleTypes;  import 

2018-01-18 13:08:06 2599

原创 Spring 定时任务scheduled-tasks详解

1. Spring 定时任务scheduled-tasks简单介绍Spring内部有一个task是Spring自带的一个设定时间自动任务调度,提供了两种方式进行配置,一种是注解的方式,而另外一种就是XML配置方式了。注解方式比较简洁,XML配置方式相对而言有些繁琐,但是应用场景的不同,两者又各有优点,所以具体使用还是根据需求来划分。因为任务调度这样的需求,通常改动都是比较多的,如果用注解的方式改动

2018-01-16 19:11:27 25900

转载 如何在命令行中使用 ftp 命令上传和下载文件

本文中,介绍在 Linux shell 中如何使用 ftp 命令。包括如何连接 FTP 服务器,上传或下载文件以及创建文件夹。尽管现在有许多不错的 FTP 桌面应用,但是在服务器、SSH、远程会话中命令行 ftp 命令还是有很多应用的。比如。需要服务器从 ftp 仓库拉取备份。 步骤 1: 建立 FTP 连接想要连接 FTP 服务器,在命令上中先输入ftp然后空格跟

2018-01-09 11:14:15 64683 2

原创 Oracle查出一个用户具有的所有系统权限和对象权限

1. 系统权限1 SELECT *2 FROM DBA_SYS_PRIVS3 WHERE GRANTEE = 'LCAM_SYS_1216'4 UNION ALL5 SELECT *6 FROM DBA_SYS_PRIVS7 WHERE GRANTEE IN8 (SELECT GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE

2018-01-04 16:36:05 759

转载 Oracle数据库创建DATABASE LINK

物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单一的大型数据库,用户可以通过网络对异地数据库中的数据进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的,开发人员无需关心网络的链接细节、数据在网络节点中的具体分布情况和服务器间的协调工作过程。       数据库之间的链接建立在DATABASE LINK上。要创建一个DATABASE LINK,必须首先在建立链

2017-12-25 11:23:14 718

转载 ORACLE物化视图与视图区别

物化视图是一种特殊的物理表,“物化”(Materialized)视图是相对普通视图而言的。普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图SQL语句的查询。这样对整体查询性能的提高,并没有实质上的好。    物化视图:是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照!

2017-09-28 17:39:54 2547

转载 java的Future和FutureTask

public interface Future Future 表示异步计算的结果。Future有个get方法而获取结果只有在计算完成时获取,否则会一直阻塞直到任务转入完成状态,然后会返回结果或者抛出异常。 Future 主要定义了5个方法: 1)boolean cancel(boolean mayInterruptIfRunning):试图取消对此任务的执行。如果任务已完成

2017-09-26 13:48:57 401

转载 Java中的Runnable、Callable、Future、FutureTask的区别与示例

Java中存在Runnable、Callable、Future、FutureTask这几个与线程相关的类或者接口,在Java中也是比较重要的几个概念,我们通过下面的简单示例来了解一下它们的作用于区别。Runnable其中Runnable应该是我们最熟悉的接口,它只有一个run()函数,用于将耗时操作写在其中,该函数没有返回值。然后使用某个线程去执行该runnable即可实现多线程,Th

2017-09-26 13:46:35 281

原创 Hibernate应用迁移到weblogic报错ClassNotFoundException: org.hibernate.hql.ast.HqlToken

问题原因分析今天,将tomcat上面跑的好好的应用,迁移到Weblogic上面,突然就不能用了,几个人各种改,改了好几天,还是没效果。后来,抓到了日志报错ClassNotFoundException: org.hibernate.hql.ast.HqlToken............................原来是这个错误。原因:从网上获知,weblogic.jar中已经有了一

2017-09-26 13:24:10 1108

转载 Log4j的扩展-支持设置最大日志数量MaxFileSize的DailyRollingFileAppender

Log4j现在已经被大家熟知了,所有细节都可以在网上查到,Log4j支持Appender,其中DailyRollingFileAppender是被经常用到的Appender之一。在讨论今天的主题之前,我们先看下另外一个Appender。最常用的Appender——RollingFileAppender下面是RollingFileAppender的一个Log4j配置样例(配置1):

2017-09-26 13:20:40 23249 1

原创 log4j基础配置详解

og4j.rootLogger 是配置log4j的根logger 具体配置方法请看下面代码 log4j.properties配置文件讲解如下: # Set root logger level to DEBUG and its only appender to A1 #log4j中有五级logger #FATAL 0 #ERROR 3 #WARN 4 #INFO 6 #DEBUG 7 配置根Logg

2017-09-26 13:14:48 349

转载 Log4j RollingFileAppender和DailyRollingFileAppender的配置

log4j提供RollingFileAppender和DailyRollingFileAppender将日志记录输出到文件。RollingFileAppender按log文件最大长度限度生成新文件,DailyRollingFileAppender按日期生成新文件。  l og4j.rootCategory=INFO, CONSOLE,Rlog4j.a

2017-09-26 13:02:36 26750

转载 log4j使用DailyRollingFileAppender

DailyRollingFileAppender是日志记录软件包Log4J中的一个Appender,它能够按一定的频度滚动日志记录文件。我们可以下面的方式配置DailyRollingFileAppender:log4j.rootCategory=INFO,Slog4j.appender.S=org.apache.log4j.DailyRollingFileAppenderlog4j

2017-09-26 12:55:38 2339

原创 log4j的日志文件保存与spring集成

以DailyRollingFileAppender 为例:假设每天一个日志文件有以下设置:log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender log4j.appender.A1.File=app.loglog4j.appender.A1.DatePattern='.'yyyy-MM-ddlog4j.appe

2017-09-26 10:10:25 418

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除