Tomcat

Java秒杀系统方案优化 高性能高并发实战

三世轮回 提交于 2021-02-01 08:50:30
Java秒杀系统方案优化 高性能高并发实战 下载地址: 百度云盘 以“秒杀”这一Java高性能高并发的试金石场景为例,带你通过一系列系统级优化,学会应对高并发。 适合人群及技术储备要求 如果你有Java 项目开发经验,想了解并在实际工作中解决“秒杀”业务,尤其是想在高并发处理方面继续提高,那这门课程的内容 就是你要掌握的 技术储备要求 具备一定的SpringBoot框架基础,有至少一个完整项目经验 课程目錄: 第1章 课程引見(講師參與學習讨論) 本章將爲大家引見课程目的,课程技術栈,课程收獲,以及课程佈置,讓大家更好的理解這門课程詳細能協助大家學習到哪些内容,能有哪些進步,希望本课程能很好的協助大家學習學問,進步處理問題的才能。 1-1 课程導學試看 第2章 項目開發環境與框架搭建 本章將帶大家基於Maven的Spring-Boot工程框架停止項目框架搭建, 並集成Thymeleaf效勞端頁面模板,集成Mybatis和Druid衔接池訪問數據庫, 並在Linux下源码裝置Redis效勞器以及集成Redis客戶端Jedis等等,爲後續的内容做好準備工作 2-1 項目環境搭建(eclipse) 2-2 項目環境搭建(idea) 2-3 集成mybatis 2-4 linux下源码裝置redis 2-5 集成redis上 2-6 集成redis中 2-7 集成redis下 第3章

Postman+Newman+Git+Jenkins实现接口自动化测试持续集成

这一生的挚爱 提交于 2021-02-01 08:02:55
接口测试脚本一般的执行流程 做接口测试的话,首先要考虑的是如何选择一个合适的工具? 在忽略工具是否好用,是否能满足业务要求的前提下,需要考虑以下2点: 1、要考虑工具的学习成本 2、要考虑团队的协作  接口测试脚本的执行流程: 团队成员协作编写接口用例->用例归档到git/svn->脚本集成jenkins,在环境更新后自动触发执行或定时执行。 Postman工具常见的接口测试流程是怎样的? 使用Postman+Newman+Git+Jenkins+钉钉 /邮件提醒 Windows系统Newman安装 1、下载Node.js进行安装,然后配置node的环境变量 2、借助npm工具,安装Newman npm install -g newman 3、运行Newman 通过Newman来运行某个postman脚本: newman run mycollection.json 用newman执行postman脚本的效果如下: Centos系统Newman安装 1、先下载安装nodejs ( 必须安装10.0以上的版本 ) 从http://nodejs.cn/download/下载linux系统压缩包 ,,解压,配置环境变量 tar xvJf ***.tar.xz echo "export PATH=\"\$PATH:/root/tools/node-v14.8.0-linux-x64/bin\

ORA-12516 或 ORA-12519 问题分析和处理

◇◆丶佛笑我妖孽 提交于 2021-02-01 02:48:35
ORA-12516: TNS:listener could not find available handler with matching protocol stack ORA-12519, TNS:no appropriate service handler found show parameter processes; select count(*) from v$process; alter system set processes=1000 scope=spfile; alter system set sessions=1522 注意一下processes的值和sessions的值,Oracle官方文档中要求: sessions=processes * 1.1 + 5 (10g) sessions=processes * 1.5 + 22 (11g) 也就是说sessions的值是根据processes的值计算得到的,这里需要注意一下,最后重启一下Oracle服务即可,此时再分别开启应用服务器2的3个tomcat并依次访问主页后再看一下process和session的参数值和占用值情况: 如上图,可以看到process的值已经成功修改为1000,而此时开启了6个tomcat所占用的process值为378,session的占用值为375,都远远小于参数值

关于SpringBoot的详细配置

只愿长相守 提交于 2021-02-01 01:49:03
SpringBoot 1. 基本概念 每次创建新的SSM项目,都需要:创建Maven项目,添加依赖,配置web.xml,添加spring的配置文件,进行springmvc的相关配置,添加数据库的配置文件,配置mybatis等……准备工作相当的多,而且,随着项目的深入,可能还需要在开发过程中添加新的依赖或新的配置。 事实上,每个不同的项目,经历以上的过程是极为相似的! 使用SpringBoot可以快速的创建项目,却不用关心以上各种配置,在SpringBoot中,有一项开发理念就是“约定大于配置”,即:大多数人共同遵守的配置习惯,将在SpringBoot中成为默认配置,开发者就不必再关心这些配置了! 当然,SpringBoot还有更多特性,后续再补充! 2. 基本使用 访问默认的界面:Strat.springio 点击绿色按钮偏上方的 Switch to the full version. 链接可以展开完整界面,例如: 然后,确定当前需要创建的项目的参数,主要是: 顶部的项目类型、开发语言、SpringBoot版本; Group,例如填写为com.springboot; Artifact,例如填写为sample; Name,表示项目名称,自动为Artifact的值,可以不更改; Description:项目描述; Package Name:项目的根包,在SpringBoot中

2021年最强软件测试工程师Linux面试题及答案

丶灬走出姿态 提交于 2021-01-31 09:11:58
前言: 大家好,我是一菲,前段时间有很多朋友给我私信留言:在面试软件测试工作时,部分的liunx的问题答不上来,于是一菲快马加鞭,连夜给大家整理了一份关于linux的面试题,请看好了。 正文: 1.三种查看server.log的文件内容 linux查看日志文件内容命令tail、cat、tac、head、echo 详情: https://www.cnblogs.com/themost/p/7890154.html 2.编辑start.sh文件,查看文件前10行内容和后10行内容 vi start.sh head -n 10 start.sh 前10行 tail -n 10 start.sh 后10行 3.删除temp.conf文件 rm -f temp.conf 4.查看后台所有java进程 ps -ef |grep java 或者 jps -m 5.结束后台java进程 不是所有进程都可以用“kill+进程编号”结束掉,对于结束不掉的进程可以使用“kill -s 9 进程编号”来进行强制结束; 但一般情况下,只需要“kill 进程编号”就可结束。 6.编译maven项目 mvn compile 7.将start.sh文件改为可执行权限 chmod u + x filename.sh chmod的语法格式如下:chmod [who] [opt] [mode] 文件/目录名

2021年最强软件测试工程师Linux面试题及答案

雨燕双飞 提交于 2021-01-31 00:25:36
前言: 大家好,我是一菲,前段时间有很多朋友给我私信留言:在面试软件测试工作时,部分的liunx的问题答不上来,于是一菲快马加鞭,连夜给大家整理了一份关于linux的面试题,请看好了。 正文: 1.三种查看server.log的文件内容 linux查看日志文件内容命令tail、cat、tac、head、echo 详情:https://www.cnblogs.com/themost/p/7890154.html 2.编辑start.sh文件,查看文件前10行内容和后10行内容 vi start.sh head -n 10 start.sh 前10行 tail -n 10 start.sh 后10行 3.删除temp.conf文件 rm -f temp.conf 4.查看后台所有java进程 ps -ef |grep java 或者 jps -m 5.结束后台java进程 不是所有进程都可以用“kill+进程编号”结束掉,对于结束不掉的进程可以使用“kill -s 9 进程编号”来进行强制结束; 但一般情况下,只需要“kill 进程编号”就可结束。 6.编译maven项目 mvn compile 7.将start.sh文件改为可执行权限 chmod u + x filename.sh chmod的语法格式如下:chmod [who] [opt] [mode] 文件/目录名

面试阿里被质问:ConcurrentHashMap线程安全吗

余生颓废 提交于 2021-01-31 00:24:05
没啥深入实践的理论系同学,在使用并发工具时,总是认为把 HashMap 改为 ConcurrentHashMap ,就完美解决并发了呀。或者使用写时复制的 CopyOnWriteArrayList ,性能更佳呀!技术言论虽然自由,但面对魔鬼面试官时,我们更在乎的是这些真的正确吗? 2021Java面试宝典 1 线程重用导致用户信息错乱 生产环境中,有时获取到的用户信息是别人的。查看代码后,发现是使用了 ThreadLocal 缓存获取到的用户信息。 ThreadLocal 适用于变量在线程间隔离,而在方法或类间共享的场景。 若用户信息的获取比较昂贵(比如从DB查询),则在 ThreadLocal 中缓存比较合适。 问题来了,为什么有时会出现用户信息错乱? 1.1 案例 使用ThreadLocal存放一个Integer值,代表需要在线程中保存的用户信息,初始null。 先从ThreadLocal获取一次值,然后把外部传入的参数设置到ThreadLocal中,模拟从当前上下文获取用户信息,随后再获取一次值,最后输出两次获得的值和线程名称。 ​ 固定思维认为,在设置用户信息前第一次获取的值始终是null,但要清楚程序运行在Tomcat,执行程序的线程是Tomcat的工作线程,其基于线程池。 而线程池会重用固定线程,一旦线程重用

2021最新 SpringMVC面试题精选(附刷题小程序)

一笑奈何 提交于 2021-01-30 19:13:04
推荐使用小程序阅读 为了能让您更加方便的阅读 本文所有的面试题目均已整理至小程序《 面试手册 》 可以通过微信扫描(或长按)下图的二维码享受更好的阅读体验! [toc] 1. Spring MVC基础 1.1 什么是Spring MVC? Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把模型-视图-控制器分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。 1.2 Spring MVC的优点有那些? 可以支持各种视图技术,而不仅仅局限于JSP; 与Spring框架集成(如IoC容器、AOP等); 清晰的角色分配: 前端控制器(dispatcherServlet) ; 请求到处理器映射(handlerMapping); 处理器适配器(HandlerAdapter); 视图解析器(ViewResolver)。 支持各种请求资源的映射策略。 1.3 Spring MVC的主要组件? DispatcherServlet: 中央控制器,把请求给转发到具体的控制类 Controller: 具体处理请求的控制器 HandlerMapping: 映射处理器,负责映射中央处理器转发给controller时的映射策略 ModelAndView: 服务层返回的数据和视图层的封装类

微信小程序开发(后端Java)

梦想与她 提交于 2021-01-30 10:54:54
微信使用的开发语言和文件很「特殊」。 小程序 所使用的程序文件类型大致分为以下几种: ①WXML(WeiXin Mark Language,微信标记语言) ②WXSS(WeiXin Style Sheet,微信样式表) ③JS(Java,小程序的主体) 在语言方面,小程序看似重新定义了一套标准。但实际上, 它们与「前端三件套」——HTML、CSS 和 Java——差不太多。 下面,我们就来对比一下小程序开发语言和「前端三件套」有什么异同点: HTML 与 WXML: 两者差异比较大,如果之前没有接触过 Android 开发,可能会觉得有些头疼。事实上,WXML 更像是 Android 开发中的界面 XML 描述文件,适合于程序界面的构建;而 HTML 则倾向于文章的展示(这与 HTML 的历史有关),以及互联网页面的构建。 WXSS 与 CSS: 两者在语言上几乎没有差别,可以直接通用。 JS 文件: 小 程序的 JS 文件与前端开发使用的 JS 几乎没有区别,只是小程序的 JS 新增了微信的一些 API 接口,并去除了一些不必要的功能(如 DOM)。 在语言上,小程序完全向学习成本最低的前端开发看齐,但这不代表所有前端开发者都能无缝迁移。 如果你是从前端开发转向小程序,就需要注意这两个点: HTML 与 WXML 两种文件的构建思想差异较大,如果之前只接触过前端开发

metrosightpro win版本简易更新脚本

China☆狼群 提交于 2021-01-30 08:34:10
(1) 制作版本后,会在版本文件夹出现个war (2) 将update.bat 与 war 包,update.sql 放入产品安装目录 更改第一行,第二行变量名。 (3)点击运行update.bat 当然,要先关掉tomcat程序; update.bat运行完后, 再启动tomcat程序。 来源: oschina 链接: https://my.oschina.net/u/4278787/blog/4938117