Java EE

springboot2配置JavaMelody与springMVC配置JavaMelody

假装没事ソ 提交于 2020-08-11 20:10:20
文章来自于: 诗情画意程序员 JavaMelody是监视QA和生产环境中的Java或Java EE应用程序服务器,以图表的方式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、 Guice)的执行数量,平均执行时间,错误百分比等。图表可以按天,周,月,年,全部或自定义时间段查看。 JavaMelody介绍 JavaMelody的目标是监视QA和生产环境中的Java或Java EE应用程序服务器。它不是模拟用户请求的工具,而是根据用户对应用程序的使用情况来测量和计算有关应用程序实际操作的统计信息的工具。JavaMelody主要基于请求的统计信息和演化图。 它可以改善质量检查和生产中的应用程序,并有助于: 提供有关平均响应时间和执行次数的事实 在趋势不好的时候,在问题变得太严重之前做出决定 根据更有限的响应时间进行优化 找到响应时间的根本原因 优化后验证真正的改进 注: 执行所需的Java版本:1.6或更高版本(Oracle的JDK或JRE或JRockit或IBM的OpenJDK或J9) 执行所需的服务器版本:至少servlet api 2.4(或JavaEE 1.4),例如Tomcat 5.5或+,GlassFish v2 +,JBoss 4 +,Jetty 6 +

Java Object-Oriented:day11 【 红包案例】

元气小坏坏 提交于 2020-08-11 19:44:46
一、案例分析 1、场景说明: 红包发出去之后,所有人都有红包,大家抢完了之后,最后一个红包给群主自己。大多数代码都是现成的,我们需要做的就是填空题。 2、我们自己要做的事情有: 1. 设置一下程序的标题,通过构造方法的字符串参数 2. 设置群主名称 3. 设置分发策略:平均,还是随机? 3、红包分发的策略: 1. 普通红包(平均):totalMoney / totalCount,余数放在最后一个红包当中。 2. 手气红包(随机):最少1分钱,最多不超过平均数的2倍。应该越发越少 二、普通红包实现 1、实现代码 Bootstrap package day11.demo08; import day11.red.OpenMode; /* 场景说明: 红包发出去之后,所有人都有红包,大家抢完了之后,最后一个红包给群主自己。 大多数代码都是现成的,我们需要做的就是填空题。 我们自己要做的事情有: 1. 设置一下程序的标题,通过构造方法的字符串参数 2. 设置群主名称 3. 设置分发策略:平均,还是随机? 红包分发的策略: 1. 普通红包(平均):totalMoney / totalCount,余数放在最后一个红包当中。 2. 手气红包(随机):最少1分钱,最多不超过平均数的2倍。应该越发越少。 */ public class Bootstrap { public static void

Spring Security 原理分析(一)

只愿长相守 提交于 2020-08-11 19:19:04
Spring Security 初始化 在普通的spring mvc 框架中,我们需要 @Configuration @EnableWebSecurity public class MyWebSecurityConfiguration extends WebSecurityConfigurerAdapter 手动添加 EnableWebSecurity 来启动 spring security,不过在Spring Boot中,我们不需要再写该注解。 因为,spring boot自动装配类 WebSecurityEnablerConfiguration 已经帮我们完成了该工作。 @Configuration( proxyBeanMethods = false ) @ConditionalOnBean({WebSecurityConfigurerAdapter.class}) @ConditionalOnMissingBean( name = {"springSecurityFilterChain"} ) @ConditionalOnWebApplication( type = Type.SERVLET ) @EnableWebSecurity public class WebSecurityEnablerConfiguration { public

Jetty 与 Tomcat的竞争

耗尽温柔 提交于 2020-08-11 19:04:59
Jetty 基本架构: Jetty目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个 可扩展性和非常灵活的应用服务器。它有一个基本数据模型,这个数据模型就 是 Handler(处理器),所有可以被扩展的组件都可以作为一个 Handler,添 加到 Server 中,Jetty 就是帮你管理这些 Handler。Jetty 中另外一个比不可少 的组件是 Connector,它负责接受客户端的连接请求,并将请求分配给一个处 理队列去执行。 下图是 Jetty 的基本架构图,整个 Jetty 的核心组件由 Server 和 Connector 两个 组件构成,整个 Server 组件是基于 Handler 容器工作的,它类似与 Tomcat 的 Container 容器。 Jetty 中还有一些可有可无的组件,我们可以在它上做扩展。如 JMX,我们可以定义一些 Mbean 把它加到 Server 中,当 Server 启动的时候,这些 Bean 就会一起工作。 从上图可以看出整个 Jetty 的核心是围绕着 Server 类来构建,Server 类继承了 Handler, 关联了 Connector 和 Container,Container 是管理 Mbean 的容器。 整个 Jetty 的所有组件的生命周期管理是基于观察者模板设计,它和 Tomcat

国际级大型分布式系统架构师纯手写spring“百科全书”,文档贼全

你说的曾经没有我的故事 提交于 2020-08-11 19:02:23
实用 本书除了 讲解Spring的理论知识外,还在每个知识点上辅以大量的实战案例,使理论可以联系实际,具备更强的可操作性。 简明 目录标注有“新功能” “实战”“难点”及“重点'等标识, 方便读者做好知识点的归纳和总结。 官方 以Spring官方文档和Spring框架源码为主要参考依据, 确保知识点的准确性。 自Spring诞生以来,以Spring技术栈为核心的企业级应用开发方式深入人心,已经成为Java EE开发的最佳实践。随着Spring 5版本的发布,Spring 自身也发生了巨大的变革。本书力求全面介绍Spring框架,涵盖了Spring 核心、测试、数据访问、Web开发、响应式编程、系统集成及微服务等方面在内的共26章的内容,可以说是Spring技术的“百科全书”。同时,本书基于Spring 5版本来编写,除了涉及Spring 5版本的新特性外,还介绍了REST服务、响应式Web开发、微服务设计、Spring Boot, Spring Cloud等方面的前瞻技术。而且除了讲解Spring的理论知识外,还在每个知识点上辅以大量的代码案例,使理论可以联系实际,具备更强的可操作性。 本书特色 本书具有以下特色。 (1)全面:本书全面介绍Spring框架,涵盖了Spring核心、测试、数据访问、系统集成、Web开发、响应式编程及微服务等方面在内的共26章的内容

第四篇:JMeter 性能测试基本过程及示例

人走茶凉 提交于 2020-08-11 18:45:04
jmeter 为性能测试提供了一下特色: jmeter 可以对测试静态资源(例如 js、html 等)以及动态资源(例如 php、jsp、ajax 等等)进行性能测试 jmeter 可以挖掘出系统最大能处理的并发用户数 jmeter 提供了一系列各种形式的性能分析报告 使用 jmeter 一般用于以下两种类型的性能测试 负载测试:通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。 压力测试:测试系统能承受的最大负载能力。目的在于发挖掘出目标服务系统可以处理的最大负载。 基本过程 下面我们看下使用 jmeter 进行性能测试的基本过程 对上图进行简要的说明 新增线程组 创建测试线程组,并设置线程数量及线程初始化启动方式。 新增 JMeter 元组 创建各种默认元组及测试元组,填入目标测试静态资源请求和动态资源请求参数及数据。 新增监听器 创建各种形式的结果搜集元组,以便在运行过程及运行结束后搜集监控指标数据。 运行&查看结果 调试运行,分析指标数据,挖掘性能瓶颈、评估系统性能状态; 示例 下面我们以打开百度演示上述过程。 新增线程组 在 jmeter 的 bin 目录下双击 jmeter.bat或ApacheJMeter.jar 启动 jmeter,如下图: 在左边操作栏中选择“测试计划”,右击新增一个线程组,如图所示: 初始化线程组相关信息 新增

Spring-boot01

淺唱寂寞╮ 提交于 2020-08-11 18:28:43
本文记录Spring-Boot学习途中的点点滴滴。 其实Spring-Boot出来好长时间了,但是一直没去关注过。之前在我的印象里Spring-Boot好就好在减去了很多XML配置,加入了很多自动配置,将注解运用到了极致。想想好像也没啥技术点可以去学习,不过最近打算用spring-Boot做个小网站啥的,才突然发现 Spring-Boot的强大。果真应了那句话:真香! 1.先来说下Spring-Boot入门大法: 按以往的项目经验,那没啥可说,MAVEN工程启动就完事儿了,但最近更新了下IDEA,发现项目启动项中多了一栏: 去Spring官网看了看,发现这玩意儿简直太好了,用这个Spring启动项,它会将SpringWEB开发中要用到的一切组件场景都一一给你罗列出来,这下方便了不用再去写POM了。直接勾选web服务IDEA就为你自动配置好了。还有什么Springdata,Nosql,SQL....这些场景你只需勾选IDEA会帮你自动配置。 这个插件实数良心。 项目部署完成后,我一脸懵逼,啥?没有WEB-INF目录,写个锤子的WEB呀。我JSP放哪儿? 果然太年轻,Spring-BOOT以JAR包的方式运行在内嵌的Tomcat下,根本不支持JSP。那用什么渲染前端? 答:HTML。 对就是这么简单,用最原始的HTML就行了,也不需要WEB-INF目录,Spring

编译-集成hadoop-eclipse-plugin到eclipse

馋奶兔 提交于 2020-08-11 18:13:46
0),软件准备 以下软件无特殊说明均为windows平台 hadoop2.7.5 jdk1.8 eclipse任意版本 windows平台 hadoop2x-eclipse-plugin包下载自github(如果太慢可以将项目克隆至码云再下载) ant-1.10.7 1),编译准备 修改hadoop2x-eclipse-plugin解压目录中src\contrib\eclipse-plugin\build.xml。 <path id="eclipse-sdk-jars"> <fileset dir="C:\Users\Administrator\.p2\pool\plugins"> 该目录为eclipseui资源目录可在eclipse\configuration中通过config.ini查看具体目录 <target name="compile" depends="ivy-init,ivy-resolve-common" unless="skip.contrib">将属性depends删除 然后在 javac 标签中加上 includeantruntime="on" 找到copy标签然后添加以下3行: <copy file="${hadoop.home}/share/hadoop/common/lib/servlet-api-${servlet-api.version}.jar"

JSP的简要概括和简单的使用

岁酱吖の 提交于 2020-08-11 17:46:00
JSP的简要概括和简单的使用 一、什么是jsp以及它的底层原理 JSP这三个字母是Java Server Pages的缩写,见名知意java的服务器页面 为什么会出现jsp呢?先看一段servlet的代码: @WebServlet ( "/aser" ) public class AServlet extends HttpServlet { @Override protected void doPost ( HttpServletRequest request , HttpServletResponse response ) throws ServletException , IOException { //设置编码格式 response . setContentType ( "text/html;charset=UTF-8" ) ; PrintWriter writer = response . getWriter ( ) ; writer . write ( "<html>\n" ) ; writer . write ( "<head>\n" ) ; writer . write ( "<title>ser</title>\n" ) ; writer . write ( "</head>\n" ) ; writer . write ( "<body>\n" ) ; writer

JVM类加载机制

爷,独闯天下 提交于 2020-08-11 17:41:26
Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最 终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制。与那些在编译时需 要进行连接的语言不同,在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成 的,这种策略让Java语言进行提前编译会面临额外的困难,也会让类加载时稍微增加一些性能开销, 但是却为Java应用提供了极高的扩展性和灵活性,Java天生可以动态扩展的语言特性就是依赖运行期动 态加载和动态连接这个特点实现的。例如,编写一个面向接口的应用程序,可以等到运行时再指定其 实际的实现类,用户可以通过Java预置的或自定义类加载器,让某个本地的应用程序在运行时从网络 或其他地方上加载一个二进制流作为其程序代码的一部分。这种动态组装应用的方式目前已广泛应用 于Java程序之中,从最基础的Applet、JSP到相对复杂的OSGi技术,都依赖着Java语言运行期类加载才 得以诞生。 v 类加载的时机 一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载 (Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化 (Initialization)、使用(Using)和卸载(Unloading)七个阶段,其中验证