J2EE
文章平均质量分 91
MayMatrix
J2EE .
展开
-
Spring中的@Transactional使用
SpringBoot @Transactional的rollbackFor属性1.简单回顾Java Exception该图摘自:https://blog.csdn.net/zhangerqing/article/details/8248186一方面,我们可以将异常分为运行时异常(RuntimeException)和非运行时异常(Exception中除了RuntimeException及其子类以外的)。另一方面,我们可以将异常分为受控异常(checked exceptions)和不受控异.转载 2021-06-03 14:10:04 · 364 阅读 · 0 评论 -
Apache Tomcat 8.5 安全配置与高并发优化
优化配置参考一(APR与内存配置)第一步:配置user登录tomcat 参考:https://www.cnblogs.com/kevincaptain/p/10370794.html第二步:性能优化 2.1tomcat的运行模式有3种:bio: tomcat7.0默认的模式,性能非常低下,没有经过任何优化处理和支持.阻塞式I/O操作,表示Tomcat使用的是传统Java I/O操作(即java.io包及其子包)。Tomcat7以下版本默认情况下是以bio模式运行的,..转载 2021-03-24 11:05:59 · 1417 阅读 · 0 评论 -
Tomcat配置优化 maxTread maxConnections 理解
properties.yml配置: (spring版本2.1.3RELEASE) 能点住ctrl左键点击跳转说明配置是正确的server:#tomcat配置tomcat:# 当所有线程都在使用时,建立连接的请求的等待队列长度,默认100accept-count: 1000# 线程池维持最小线程数,默认10min-spare-threads: 4# 允许最大连接数,默认10000,当达到临界值时,系统可能会基于accept-count继续接受连接max-connections: 10000转载 2021-03-24 11:00:57 · 2095 阅读 · 0 评论 -
Spring AOP支持的AspectJ切入点指示符
例子:@Aspect@Component@Slf4jpublic class PJServiceImpl {@Pointcut(value = "execution(* com.demo.service.*Impl.*(..))")//com.demo.service包下 所有 Impl后缀的所有方法public void pointCut() {}@Around(value = "pointCut()")public Object assertAround(Proceeding.转载 2021-01-29 16:46:28 · 230 阅读 · 0 评论 -
几种等待多线程任务执行完毕的方法
CountDownLatch和Cyclicbarrier概念、区别及原理1、概念 CountDownLatch:具有计数器的功能,等待其他线程执行完毕,主线程在继续执行,用于监听某些初始化操作,并且线程进行阻塞,等初始化执行完毕后,通知主线程继续工作执行。值得注意的是CountDownLatch计数的次数一定要与构造器传入的数字一致,比如构造器传入的是3,则countDown()一定要执行3次,否则线程将一直阻塞。CountDownLatch通常用来控制线程等待,它可以让线程等待倒计时结束,.转载 2020-09-25 15:17:14 · 6764 阅读 · 0 评论 -
Java对象深拷贝浅拷贝总结
目录深拷贝 1. 手动new 2. clone方法 3. java自带序列化 4. json序列化 性能测试 深拷贝总结 浅拷贝 1. spring BeanUtils(Apache BeanUtils) 2. mapstruct 性能测试 浅拷贝总结 在java开发的过程中我们很多时候会有深拷贝需求,比如将一个请求体拷贝多次,修改成多个不同版笨,分别发给不同的服务,在比如维护不同的缓存时。还有些时候并不需要深拷贝,只是简单的类型转换,比如到将do对.转载 2020-09-15 11:50:01 · 266 阅读 · 0 评论 -
Spring AOP:搞清楚advice的执行顺序
文章目录目录 AOP的核心概念 模拟aspect advice的执行过程 同一aspect,不同advice的执行顺序 不同aspect,advice的执行顺序 同一aspect,相同advice的执行顺序 Transactional Aspect的优先级 AOP的核心概念要完全理解Spring AOP首先要理解AOP的核心概念和术语,这些术语并不是Spring指定的,而且很不幸,这些术语并不能直观理解,但是,如果Spring使用自己的术语,那将更加令人困惑。A.转载 2020-09-11 17:04:11 · 756 阅读 · 0 评论 -
Spring AspectJ切入点语法详解
1、Spring AOP支持的AspectJ切入点指示符切入点指示符用来指示切入点表达式目的,,在Spring AOP中目前只有执行方法这一个连接点,Spring AOP支持的AspectJ切入点指示符如下: execution:用于匹配方法执行的连接点; within:用于匹配指定类型内的方法执行; this:用于匹配当前AOP代理对象类型的执行方法;注意是AOP代理对象的类型匹配,这样就可能包括引入接口也类型匹配; ta...转载 2020-09-11 16:42:30 · 393 阅读 · 0 评论 -
【Filter操作Request/Response数据】HttpServletRequestWrapper使用技巧(自定义session和缓存InputStream)
一、前言 javax.servlet.http.HttpServletRequestWrapper 是一个开发者可以继承的类,我们可以重写相应的方法来实现session的自定义以及缓存InputStream,在程序中可以多次获取request body的内容。二、自定义seesionimport javax.servlet.http.*;public class CustomizeHttpServletRequest extends HttpServletRequestWrapper {转载 2020-09-11 16:33:47 · 1075 阅读 · 0 评论 -
【Filter操作Request/Response数据】java使用Filter过滤器对Response返回值进行修改
有时候在开发过程中会有这样一个场景,有时需要对返回的数据进行处理。比如加密啊,添加某些标记啊等等。这种情况我们可以通过过滤器去处理。过滤器是什么就不介绍了,百度一下,你就知道。看看代码吧:返回值输出代理类:这个类主要是为了吧Response里面的返回值获取到,因为直接Response没有提供直接拿到返回值的方法。所以要通过代理来取得返回值package com.channel.filter; import java.io.ByteArrayOutputStream;import j转载 2020-09-11 16:24:01 · 2548 阅读 · 1 评论 -
Spring PropertyPlaceholderConfigurer 用法
PropertyPlaceholderConfigurer 用法一、PropertyPlaceholderConfigurer 的继承体系二、PropertyPlaceholderConfigurer 的基本概念三、PropertyPlaceholderConfigurer 的基本使用PropertyPlaceholderConfigurer 引入外部属性文件PropertyPlaceholder...转载 2020-04-10 19:09:14 · 1302 阅读 · 0 评论 -
exe4j打包java的jar成exe(window版)
概述:java是需要运行环境的,如果在没有配置jdk环境电脑那怎么运行?自带jre环境。为了安全问题一般会将jar打包成exe文件,jar是可以被反编译的;其二打包exe方便后期打包成安装包(InnoSetup工具可以胜任,这里不涉及)关于防止反编译:exe运行时可能在windows运行目录获取内部jar,所以为了防止反编译自定义classLoader,将重要的class加密读取,这样可以防...转载 2019-12-13 16:23:05 · 617 阅读 · 0 评论 -
alibaba/druid DRUID连接池的实用 配置详解
项目源码:https://github.com/alibaba/druidDRUID介绍 DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池(据说是目前最好的连接池,不知道速度有没有转载 2017-10-20 14:45:36 · 11522 阅读 · 1 评论 -
CXF客户端代码生成与服务调用(二)
通过命令行操作:[plain] view plain copyC:\Documents and Settings\hsy C:\Documents and Settings\hsy>f: F:\>dir 驱动器 F 中的卷是 ProData 卷的序列号是 5C5E-6EE2 F:\ 的目录 ..转载 2017-09-28 10:21:29 · 503 阅读 · 0 评论 -
wsdl文件用SoapUI快速创建WebService,CXF生成客户端代码
一、前言最近项目接触到2C的很多接口,提供接口文档和WSDL文件,一开始测试接口都是一个个码代码,后面了解到可以先用SoapUI跑一下通不通,再后来更牛叉,既然用wsdl文件直接生成客户端代码。期间摸滚带爬花了挺多时间,前车之鉴,学习记录一下。关于WSDL的详细说明链接。二、SoapUI快速创建WebService下载地址:https://www.soapui.org/do转载 2017-09-28 10:53:50 · 6653 阅读 · 0 评论 -
使用 CXF 做 webservice 简单例子
Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻量级容器中,以及部署在更高级的服务器上,例如 Jboss、IBM® WebSphere® 或 BEA WebLogic。 该框架提供了以下功能:Web 服务标准支持转载 2017-09-28 10:22:28 · 212 阅读 · 0 评论 -
CXF实现webService服务(一)
前工作中也用CXF,但都是用别人现成搭好的环境,这次自己重头搭建一遍环境。过程中也有遇到的问题,也做了简单的整理。对于CXF是干什么用的,我不想多说,大家都知道这是我们在java编程中webService技术的一种实现工具。我们说说为什么用CXF来实现webService:1. Java的webService实现本身就是一个很耗性能的实现方案(xml与java对象之间在服转载 2017-09-28 10:14:21 · 253 阅读 · 0 评论 -
Spring横切面(advice),增强(advisor),切入点(PointCut)
Spring横切面(advice),增强(advisor),切入点(PointCut)的一点理解:1.Spring管理事务有2种,其中一种是HibernateTransactionManager管理txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">转载 2017-07-07 15:27:50 · 5300 阅读 · 0 评论 -
spring 中 isolation 和 propagation 详解
可以在XML文件中进行配置,下面的代码是个示意代码 增加记录的方法 获取记录的方法 删除的方法 更改记录的方法 下面扩展将一下spring里面事务的传播属性和事务隔离级别。一、Propagation (事务的传播属性)Propagationkey属性确定代理应该给哪个方法增加事务行为。这转载 2017-07-07 14:55:30 · 625 阅读 · 0 评论 -
【Http请求-Spring RestTemplate】1.RestTemplate 深度解析
补充2016年6月12日:从 Spring 4.3 开始加入了OkHttp3ClientHttpRequestFactory一、概述本文主要介绍 Spring Web 模块中的 RestTemplate 组件的原理、优缺点、以及如何扩展以满足各种需求。在介绍 RestTemplate 之前,我们先来谈谈 HTTP Client,谈谈选择一个优秀的 HTTP Client 实现的的...转载 2019-03-27 10:13:46 · 911 阅读 · 0 评论 -
备份CSDN博客——dump到本地存档/博客搬家
大哥有了新想法,然而没有技术,令人欣慰的是大哥想到了我,于是我便答应免费帮个忙,这是一个基于云的项目,具体细节也就不透露了,然而在实现的过程中,其中一个模块我觉得可以自用,于是我就想把这个模块抽出来,该模块的功能就是将CSDN博客上的文章下载到本地。 假期只完成了一个模板,虽然很垃圾,但是却能满足自用的需求,一直以来,我都很害怕自己喝懵了写的一些感悟放在网上会在某一天再也打不开,原创 2017-06-20 11:44:34 · 1396 阅读 · 0 评论 -
DURID连接池wiki常见问题
https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98English | 中文欢迎大家使用Druid,常见问题在这里解答,希望对大家有所帮助。1. Druid是什么?Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。2. 在哪里下转载 2017-10-20 15:10:17 · 2013 阅读 · 0 评论 -
java调用matlab:一、生成文件,本机调用
Java代码实现的计算难免会显得不够高效。而利用MATLAB写好相应的计算函数,然后打包成jar包供Java调用,在某些情况下会更加方便。或者有些时候会涉及到使用Java调用MatLab展现一些二维三维图。因此用到Java调用MatLab。我的需求是要在获取一维曲线任一点的插值,计划在服务端调用matlab function获取返回值。文章分为两部分:一、生成文件,本机调用成功二、在服务器搭建运行...原创 2018-04-11 11:24:55 · 2360 阅读 · 0 评论 -
java调用matlab:二、在服务端(客户机)搭建运行环境和常见问题解决
在服务端(客户机)搭建matlab运行环境1.下载MCR到客户机https://cn.mathworks.com/products/compiler/matlab-runtime.html注意对应的版本和位数,我的是matlab2012b x64就下载这个二、安装下载下来的MCR,一路下一步安装就可以了,无需注册码。检查 环境变量>>Path中是否已经有了C:\Program File...原创 2018-04-11 12:59:36 · 3100 阅读 · 2 评论 -
使用springMVC的详细步骤 SpringMVC与Struts2对比
使用springMVC也可以代替struts2,当然只是代替业务分发的功能,struts2的一些其他功能它是没有的,不然要struts2有什么用。 下面我用springMVC代替struts2去整合hibernate实现简单的员工查询功能。 使用springMVC有两个配置文件需要配置,一个是applicationContext.xml、另一个是web.xml,在application转载 2015-07-15 21:09:30 · 413 阅读 · 0 评论 -
Spring @Configuration和@Bean的用法和理解
Sprign的配置Bean的方式:1、第一种自己写的类,Controller,Service。 用@controller @service即可2、第二种,集成其它框架,比如集成shiro权限框架,集成mybatis分页插件PageHelper,第三方框架的核心类都要交于Spring大管家管理@Configuration可理解为用spring的时候xml里面的<beans>标...转载 2019-07-24 11:20:43 · 1772 阅读 · 0 评论 -
Spring中bean的作用域与生命周期
前言 一 bean的作用域 1. singleton——唯一 bean 实例 2. prototype——每次请求都会创建一个新的 bean 实例 3. request——每一次HTTP请求都会产生一个新的bean,该bean仅在当前HTTP request内有效 4. session——每一次HTTP请求都会产生一个新的 bean,该bean仅在当前 HTTP session 内...转载 2019-05-21 17:31:44 · 1389 阅读 · 4 评论 -
【Http请求-Spring RestTemplate】4.设置超时
设置超时有及其简便的两种方法,分别如下一.Java的配置类设置如下方式,添加此配置类即可。@Configuration public class AppConfig{@Beanpublic RestTemplate customRestTemplate(){HttpComponentsClientHttpRequestFactory httpRequestFactory = ...转载 2019-03-27 10:49:10 · 5441 阅读 · 0 评论 -
【Http请求-Spring RestTemplate】4.配置连接池
https://blog.csdn.net/zhang89xiao/article/details/79260519什么是RestTemplate?RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。调用RestTemplate的默认构造函数,RestTemplate对...转载 2019-03-27 10:28:20 · 1178 阅读 · 0 评论 -
【Http请求-Spring RestTemplate】3.常见问题解决方案
服务端获取不到body的问题:这个问题坑了我两天了,用RestTemplate、HttpClient、JDK URLConnection写测试类,都试了,一旦设置header的contentType为JSON,服务端拦截器中通过request.getParameterMap()就为{},问题是同样的代码在别人的项目里都能获取到。一开始觉得问题在客户端,试验了十几种设置都还是不能获取,但是仔细看...转载 2019-03-27 10:03:07 · 5233 阅读 · 0 评论 -
【Http请求-Spring RestTemplate】2.使用方法
RestTemplate这篇文章打算介绍一下Spring的RestTemplate。我这边以前设计到http交互的,之前一直采用的是Apache HttpComponents。后来发现Spring框架中已经为我们封装好了这个框架。因此我们就不需要直接使用下面这种稍微底层一点的方式来实现我们的功能:String uri = "http://example.com/hotels/1/boo...转载 2019-03-27 09:57:24 · 517 阅读 · 0 评论 -
Tomcat远程调试的方法(Tomcat与JDPA)
一、远程调试的战略目标 伴随系统上线后,由于服务器操作权限没有面向系统设计人员开放,只能通过系统的操作日志以及错误日志来分析性能以及错误处理。但是有时候,由于错误信息没有针对性就给系统设计人员分析问题带来了难度与不便,如果系统设计人员能够对已经上线部署在远程端面Java虚拟机后端的系统进行实时调试的情况下,该问题将变得迎刃而解,我要激动的说一声,那都不是事! 正巧我对T转载 2017-02-24 12:50:59 · 10399 阅读 · 0 评论 -
>>>>最近需要研究的技术
设计原则技术:RESTful /无状态请求原则及实现方式消息队列处理技术:MQActiveMQKafkaredis敏捷开发:JFinal JFinal_cms原创 2016-06-10 23:38:44 · 451 阅读 · 0 评论 -
Jenkins+Maven+SVN快速搭建持续集成环境
在网上看了好多有关集群部署的文章,感觉都不是太连贯,很多只是给你说怎么安装而已,但是过程中遇到的问题真不少,但是也解决了很多问题,希望我的文章能够帮到那些想学习的人吧,jenkins主要是解决了一个集群项目和节点管理的工具,能够方便的把项目分发到个个容器里面去,省去了集群的时候需要一个个往tomcat里面放war包,同时也能够对集群节点的一个状态进行管理。其实我喜欢先实践后理论,我就不说什转载 2016-06-10 23:23:56 · 5828 阅读 · 0 评论 -
Tomcat内存监控 JConsole / JProfiler 监控远程linux tomcat运行情况的配置
jconsole监控远程linux tomcat运行情况的配置来自:http://zhumeng8337797.blog.163.com/blog/static/100768914201242494649455/ 步骤如下:1.编辑tomcat/bin/catalina.shBash代码 vi catalina.sh 在转载 2015-10-22 17:03:06 · 2714 阅读 · 0 评论 -
Tomcat内存优化1 Tomcat内存设置详解
Java内存溢出详解 一、常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出JVM在启动的时候会自动设置JVM Heap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。可以利用JVM提供的-Xmn -转载 2015-10-22 16:10:36 · 477 阅读 · 0 评论 -
Tomcat内存优化 6 小技巧/线程使用监控
在生产环境(Linux)有什么办法知道当前某个线程的运行情况,比如是不是挂住了,是不是吃了好多cpu和内存。以下是针对tomcat上的应用的. 其他的java程序, 只要你能触发他的thread dump并且拿到结果, 也是一样.1. ps -ef | grep java找到你的java程序的进程id, 定位 pid2. top -Hp $pidshift+t 查看耗c转载 2015-11-05 15:57:30 · 546 阅读 · 0 评论 -
使用Memory Analyzer tool(MAT)分析内存泄漏
前言 在平时工作过程中,有时会遇到OutOfMemoryError,我们知道遇到Error一般表明程序存在着严重问题,可能是灾难性的。所以找出是什么原因造成OutOfMemoryError非常重要。现在向大家引荐Eclipse Memory Analyzer tool(MAT),来化解我们遇到的难题。如未说明,本文均使用Java 5.0 on Windows XP SP3环境。 为转载 2015-11-05 17:48:31 · 416 阅读 · 0 评论 -
Tomcat内存优化4.1续 ——使用MAT分析内存泄露
案例1:概述对于大型 JAVA 应用程序来说,再精细的测试也难以堵住所有的漏洞,即便我们在测试阶段进行了大量卓有成效的工作,很多问题还是会在生产环境下暴露出来,并且很难在测试环境中进行重现。JVM 能够记录下问题发生时系统的部分运行状态,并将其存储在堆转储 (Heap Dump) 文件中,从而为我们分析和诊断问题提供了重要的依据。通常内存泄露分析被认转载 2015-11-05 16:50:25 · 1556 阅读 · 0 评论 -
Tomcat内存优化4 求根索源——工具 JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足转载 2015-10-29 14:38:48 · 3486 阅读 · 0 评论