tomcat启动注意事项-并发测试发现

Tomcat运行脚本及启动过程分析--catalina.sh 一、概述 作为一个成熟的中间件产品,tomcat有很多值得我们学习的地方。下面我将从tomcat的运行脚本catalina.sh入手,分析tomcat的启动过程,以及tomcat脚本是如何实现停止tomcat服务的。 注意:此处分析的是linux环境下的脚本文件 二、tomcat目录结构 tomcat目录结构如下: bin目录的内容如下: 可执行文件,包括startup.sh、sh... 阅读详情

tomcat作为运行平台,连接到服务器后,通常通过以下几种方式启动关闭tomcat服务;

1.切换到tomcat下的bin目录;

2.启动tomcat服务

(1)直接启动./startup.bat

(2)作为服务启动nohup ./startup.sh &

(3)控制台动态输出方式启动./catalina.sh run动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务。

分析:

通过方式一盒方式三启动的tomcat有个弊端,当客户端连接断开的时候,tomcat服务也会立即停止,通过方式二可以作为Linux服务一直运行。

通过方式一盒方式二启动的tomcat,其日志会写到相应的日志文件中,而不能动态地查看tomcat控制台的输出信息与错误情况,通过方式三可以控制台模式启动tomcat服务,直接看到程序运行后台的控制台信息,不必每次都要很麻烦地打开caalina.out日志文件进行查看,这样便于跟踪查阅后台输出信息。tomcat控制台信息包括log4j和System.out.println()等输出的信息。

3.关闭tomcat服务

./shutdown.sh


调试模式的命令是catalina.sh debug
脚本catalina.sh用于启动和关闭tomcat服务器,是最关键的脚本。另外的start.sh和shutdown.sh都是使用不同的参数调用了catalina.sh脚本。
catalina.sh脚本的使用方法:
echo "Usage: catalina.sh ( commands ... )"
  echo "commands:"
  echo "  debug             Start Catalina in a debugger"
  echo "  debug -security   Debug Catalina with a security manager"
  echo "  embedded          Start Catalina in embedded mode"
  echo "  jpda start        Start Catalina under JPDA debugger"
  echo "  run               Start Catalina in the current window"
  echo "  run -security     Start in the current window with security manager"
  echo "  start             Start Catalina in a separate window"
  echo "  start -security   Start in a separate window with security manager"
  echo "  stop              Stop Catalina"
详细分析见http://www.51testing.com/html/94/488194-845179.html
只不过catalina.sh里面有很多其他的东西,比如设置CLASSPATH,加载一些包。
而start.sh几乎没做什么,就判断了一下JDK的路径,和一下配置而已,shutdown.sh和start.sh一样只做了写路径的判断
PRGDIR=`dirname "$PRG"` 
EXECUTABLE=catalina.sh 
【总结】
Linux环境下的批处理文件扩展名是sh,Windows环境下的批处理文件扩展名是bat。
一般在Linux下,用startup.sh shutdown.sh
在Windows下,用startup.bat shutdown.bat
以下内容摘录,详情转 http://www.tuicool.com/articles/fuAnEn3

与catalina.sh相关的脚本

tomcat发布版本中附带了很多脚本,和catalina.sh相关有如下
  • version.sh,查看当前tomcat的版本号。
  • startup.sh,启动运行tomcat实例。
  • shutdown.sh,停止tomcat实例的运行。
  • configtest.sh,校验tomcat配置文件server.xml的格式、内容等是否合法、正确。
  • setclasspath.sh,catalina.sh依赖这个脚本来设置一些运行时变量。
脚本version.sh、startup.sh、shutdown.sh、configtest.sh都是对catalina.sh的包装,内容大同小异,差异在于功能介绍和调用catalina.sh时的参数不同。下面就重点分析下catalina.sh的实现。

catalina.sh的命令行选项

在shell下不带任何参数来执行catalina.sh,可以看到类似如下的输出信息。
Usage: catalina ( commands ... )
commands:
debug Start Catalina in a debugger
debug -security Debug Catalina with a security manager
jpda start Start Catalina under JPDA debugger
run Start Catalina in the current window
run -security Start in the current window with security manager
start Start Catalina in a separate window
start -security Start in a separate window with security manager
stop Stop Catalina
configtest Run a basic syntax check on server.xml
version What version of tomcat are you running?
帮助信息给出了各选项的意义,但tomcat提供的封装脚本中只用到了其中的一部分,比如:
  • version,在version.sh中使用。
  • start,在startup.sh中使用。
  • stop,在shutdown.sh中使用。
  • configtest,在configtest.sh中使用。
如果需要使用其它命令行选项,最简单的方法即是复制startup.sh脚本并重命名为新的脚本,使用文本编辑器调整传给catalina.sh的参数,如此操作之后,满足自定义需求的脚本即创建好了。

catalina.sh中使用的变量

catalina.sh提供了哪些变量?

用文本编辑器打开catalina.sh,首先可以看到一些环境变量的说明,基于功能可以做如下分类:
  • 指定tomcat和应用的启动路径
  • CATALINA_HOME,指向tomcat的安装路径,或者脚本catalina.sh所在位置的父目录。
  • CATALINA_BASE,可选项,如无定义,则与CATALINA_HOME取值相同。用于指向用户自定义的tomcat路径,tomcat启动时将以CATALINA_BASE变量值来计算配置文件、日志文件等的路径。
  • Java运行时路径,tomcat运行依赖系统已安装好的Java运行时软件,因此如下两个变量中至少定义一个,并且变量值指向合法路径。
  • JAVA_HOME,指定JDK的安装路径。
  • JRE_HOME,指定JRE的安装路径。取值原则,如用户未指定JRE_HOME,则取JAVA_HOME的值;如JRE_HOME和JAVA_HOME都有定义,则优先取JRE_HOME的定义。
  • Java运行时参数
  • JAVA_OPTS,顾名思义,用来定义传递Java运行时的参数,对全部命令行选项都会生效,因此不建议在本变量中定义堆大小、GC参数、JMX参数等。
  • CATALINA_OPTS,用来定义传递给Java运行时的参数,仅在命令行选项为run/start/debug时有效,可以用来传递堆大小、GC参数、JMX参数等。
  • CATALINA_TMPDIR,用来定义java.io.tmpdir变量的值,默认值为$CATALINA_BASE/temp。
  • JAVA_ENDORSED_DIRS,以分号相隔的目录列表,用来替换非JCP提供的jar实现,默认值为$CATALINA_HOME/endorsed。
  • 远程调试参数。当开发环境与应用运行环境不一致,或者开发环境下出于各种原因不适合调试应用时,这时即可借助远程调试来解决问题。JPDA的介绍可参考阅读资料。
  • JPDA_TRANSPORT,默认值dt_socket。
  • JPDA_ADDRESS,默认值localhost:8000。
  • JPDA_SUSPEND,默认值n
  • JPDA_OPTS,默认值为-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND
  • 其它
  • CATALINA_OUT,使用全路径方式指定stdout和stderr重定向之后的文件名,默认值为$CATALINA_BASE/logs/catalina.out。
  • CATALINA_PID,本选项在*nix下有效,指定pid文件的存储路径,默认值为空,如用户指定,则启动、停止时都会从变量指定的文件中提取进程ID。
  • LOGGING_CONFIG,定义tomcat使用的日志配置文件的路径,默认值为$CATALINA_BASE/conf/logging.properties。
  • LOGGING_MANAGER,定义tomcat使用的日志管理器。
看过变量的定义之后,是否有定制变量取值的冲动了?

如何定义catalina.sh提供的变量?

  • 方法一,修改catalina.sh,在脚本的开始位置为前述变量赋值。
  • 方法二,提供自定义的启动、停止脚本,在自定义的脚本中为前述变量赋值。
  • 方法三,使用tomcat开发人员预留的扩展方法,在$CATALINA_BASE/bin/setenv.sh中为前述变量赋值。
个人推荐方法二,升级tomcat版本时非常简单,不需要从原tomcat安装路径下复制文件到升级后的tomcat的安装路径下。

catalina.sh的实现

catalina.sh规格接近600行代码,这足以吓退很多人,但如果肯硬着头皮看几遍的话,其实可以了解到catalina.sh的代码并不复杂,可读性还是很高的。除去catalina.sh中对cygwin、os400的特殊处理,代码做了如下操作:
  • 加载类路径,通过加载、执行setclasspath.sh实现。
  • 加载用户自定义变量,通过加载setenv.sh实现。
  • 校验变量,包括前述介绍的变量,检查是否存在定义,如无定义则使用默认值,并依据用途做相应的校验。
  • 运行命令,依据脚本接收到的选项,将变量拼接为命令,并执行。



springboot整合PageHelper,本地内置tomcat测试正常,部署到服务器独立tomcat出现“多个分页插件”错误 这次经历是个很简单的事情,但是确实又影响了开发人员很久,今天抽时间一步步复现了当时的问题,记录一下。   目录 1、基本问题 2、错误信息 3、初步分析与验证 4、根源探究 5、从SpringBootServletInitializer源码看 6、从PageHelper插件源码看 7、另一个问题:为什么取消自动配置后又出现分页失效的问题呢? 8、关于PageHelper,还... 阅读详情

相关推荐

tomcat catalina.sh JAVA_OPTS参数说明与配置

JVM: http://blog.csdn.net/java2000_wl/article/category/1249100 http://blog.csdn.net/cutesource/article/details/5904501 有几个链接: http://www.cnblogs.com/fantiantian/p/3623740.html 查看tomcat启动文件都干点啥ca...

【优快云】 2829

(转)Tomcat启动脚本catalina.sh

1 - 概述 脚本catalina.sh用于启动和关闭tomcat服务器,是最关键的脚本 另外的脚本startup.sh和shutdown.sh都是使用不同的参数调用了该脚本 该脚本的使用方法如下(引自该脚本本身): echo "Usage: catalina.sh ( commands ... )" echo "commands:" echo " debug ...

bluestar 1450

class加密保护支持tomcat下web应用加密

Hello 为java .class文件 windows java -agentlib:c:\jvm\deClass Hello deClass就是deClass.dll,注意不需要加.dll tomcat 修改tomcat的bin目录下catalina.bat set JAVA_OPTS=-agentlib:c:\jvm\deClass linux下 拷贝libdeclass.so到/lib下 java -agentlib:declass Hello tomcat: 修改catalina.sh JAVA_OPTS =-agentlib:declass

tomcat 的启动文件 catalina.sh shell脚本详解

接上一篇文章:我们启动tomcat下的start.sh文件,shell脚本到底做了什么呢?在上一篇文章最后,start.sh 最终调用了 catalina.sh 脚本(调用命令为:exec /usr/local/apache-tomcat-9.0.21/bin/catalina.sh start "$@");那么catalina.sh 具体干了什么呢? 代码块: # OS specific sup...

ck3207的博客 1万+

解决VMWare ESXi PCIe直通显卡导致的DevicePowerOn启动故障

本文详细解析了VMWare ESXi中PCIe直通显卡导致的DevicePowerOn启动故障,重点分析了MMIO空间不足的根本原因,并提供了完整的解决方案。通过修改.vmx文件中的关键参数,如pciPassthru.64bitMMIOSizeGB,可以有效解决显存分配问题。文章还涵盖了硬件兼容性检查、性能调优技巧及大规模部署的实战案例,帮助用户彻底解决显卡直通难题。

weixin_42537919的博客 575

01 Aras Innovator二次开发实战:从IOM到AML的完整交互指南

本文详细介绍了Aras Innovator二次开发实战,从IOM到AML的完整交互指南。通过JavaScript和C#代码示例,展示了如何在客户端和服务端使用IOM进行开发,并深入解析AML语言的基础语法和调试技巧。文章还提供了文档管理和BOM管理等典型场景的实战案例,帮助开发者快速掌握Aras Innovator二次开发的核心技术。

wind6的博客 651

Spring Boot:内置tomcat启动和外部tomcat部署总结

springboot的web项目的启动主要分为: 一.使用内置tomcat启动 启动方式: 1、IDEA中main函数启动 2、mvn springboot-run 命令 3、java -jar XXX.jar 配置内置tomcat属性: 关于Tomcat的属性都在org.springframework.boot.autoconfigure.web.ServerProperties配...

u011820505的博客 887

Altium Designer差分走线实战:从规则设置到阻抗匹配的完整流程

本文详细讲解了在Altium Designer中进行差分走线的完整实战流程,涵盖从原理图定义差分对、PCB布局管理、关键设计规则设置,到利用阻抗计算工具确定线宽与间距,以及布线技巧与等长处理等核心步骤。文章旨在帮助工程师掌握高速PCB设计中差分信号传输的关键技术,确保信号完整性并实现精确的阻抗匹配。

weixin_29163857的博客 257

tomcat在linux下自启动

tomcat自启动设置方法一 1、修改/etc/rc.d/rc.local, 使用vi /etc/rc.d/rc.local 命令 2、在/etc/rc.d/rc.local文件最后添加下面两行脚本export JAVA_HOME=/usr/local/jdk1.7.0_03 /usr/local/apache-tomcat-7.0.32/bin/startup.sh star...

94

Python实战:3步搞定DICOM转JPG/PNG(附批量处理脚本)

本文详细介绍了如何使用Python在3步内将DICOM医学影像转换为JPG/PNG格式,并提供了批量处理脚本。通过Pydicom、Pillow和NumPy库的组合,解决了像素值处理、批量转换效率和医学图像特性保留等关键问题,适合医疗AI开发者和放射科医生快速集成到工作流中。

numpy6sculptor的博客 592

APM水下机器人实战:从零搭建高精度自主航行系统

本文详细介绍了如何基于开源APM飞控及其水下分支ArduSub,从零搭建高精度自主水下航行器。核心在于集成双天线RTK模块实现厘米级定位与精确航向,并配合MAVROS与ROS构建自主控制系统。文章涵盖了硬件选型、软件配置、自主逻辑开发及水池调试的全流程实战经验,为水下机器人爱好者与研究者提供了一套完整的自主航行系统解决方案。

app77的博客 512

Tomcat设置开机启动 - CentOS(结尾附视频)

本文关键字:CenOS、开机启动、Tomcat、开机脚本、系统服务。之前有粉丝私信说想要学习一下如何在CentOS中配置Tomcat自动启动,如今排期已到,安排~

微光点亮星辰 2589

30、航空公司调度问题的数学模型解析

本文详细解析了航空公司调度问题中的核心数学模型,包括航班时刻表生成、机组人员排班和飞机调度的建模方法与求解技术。通过定义变量、约束条件及目标函数,结合线性规划、整数规划等方法,帮助航空公司实现高效调度。文章还探讨了模型的优化策略、简化方法以及实际应用案例,为提升航空运营效率提供了理论支持和实践指导。

beer8的博客 259

Tomcat服务如何配置自启动

一丶设置自启动的以下几点原因: 1丶服务器被重启后,tomcat服务需要手动启动(贼麻烦) 2丶start.bat启动后,会出现个控制台,只要把控制台关掉,tomcat服务就中断了 (就怕自己手贱) 3丶可以减少维护成本 二丶设置自启动->移除步骤 *1丶找到Tomcat的bin目录下, 直接cmd打开终端, 如下图: * *2丶输入命令行: service.bat install tomcatServer (服务名自定义), 这样tomcat服务就创建成功了, 如下图: * 3丶输入命

spring_is_coming的博客 3473

基于matlab实现的水果识别系统设计

本项目针对多种常见水果混合的图像,利用 Matlab 软件,对水果的识别进行研究。根据水果和背景的差别选取阈值,对去噪增强对比度后的图像进行二值化处理。再对图像进行边缘检测,选定连通区域,标记后再对不同种水果的颜色,形状,大小等特征进行快速识别水果,从而实现对水果的正确分拣。:水果识别、MATLAB、数字图像处理。

热情、奔放、快乐编程! 4854

YOLOv13必学核心:SKAttention选择性核注意力机制原理 + 实战全拆解

SKAttention的核心思想来源于人类视觉系统的一个重要特性:根据不同的视觉刺激,人眼能够自适应地调整感受野大小。SKAttention将这一生物学原理转化为深度学习中的注意力机制,通过动态选择和融合不同大小的卷积核,实现了自适应的多尺度特征提取。在人类视觉皮层中,不同的神经元具有不同大小的感受野,而且这些感受野的大小会根据视觉刺激的类型动态调整。本文将深入解析SKAttention模块的设计原理、数学基础、实现细节,以及其在YOLOv13目标检测框架中的集成应用,为读者提供全面而深入的技术理解。

FJN110的博客 97

shell脚本 自启动tomcat,nginx

分为2步走 1. 脚本文件 : /usr/local 2. crontab -e : /5 * * * /bin/sh /usr/local/restart.sh 注意事项:可能用户权限会影响脚本的部署 脚本文件 !/bin/sh echo "脚本正在启动..." >> /home/restart.log TOMCAT_DIR=/usr/local/tomcat COUNT_TOMC...

weixin_30546933的博客 190

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Tomcat下载以及安装、eclipse工具配置tomcat9的具体步骤以及注意事项!!!

      (小白经验,大咖勿喷) 开始学javaweb的一些技术了,最让人头疼的就是环境的配置以及必要软件的安装,比如数据库mysql、服务器Tomcat、eclipse工具等等。  自己也度娘了很多大咖的经验,但看到的教程以及经验都很久了,我下载安装的又是最新版的工具(我也不知道什么样的用着方便就下载了最新版),所以和网上的教程多多少少都有点出入,所以自己琢磨了很久,也走了不少的弯路。所以想写...

三毛码代码 5万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Tomcat启动注册为Windows服务启动

此篇文章主要转自:http://blog.csdn.net/huiwenjie168/article/details/42267353在此也表示非常感谢链接的主人,给了我很大的帮助。之所以在写此篇文章是因为我担心链接的主人删掉它的文章,所以才想记下这篇笔记。一:配置Tomcat 我用的是tomcat7.0.62解压版,有的低版本tomcat是不支持注册windows服务的。这主要看bin目录下有没有

Java_gaosw1995的博客 2543

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

mac 中Tomcat的安装 以及注意事项

mac 中Tomcat的安装 以及注意事项

Rocky 4251

TOMCAT下短信平台部署步骤

1、准备一台windows服务器。 2、插上U口短信(GSM)猫。 3、安装 windows下的 USB -转-串口驱动。 4、从我的电脑---》管理---设备管理器里面找到USB转成串口后的标准串口号,假如COM口是1,则配置TOMCAT安装包下webapps\SMSservices\WEB-INF\classes下的SMSconfig.properties的 COM_NAME=COM1。

BoomJane的专栏 1764

tomcat9.0安装及配置教程_Apache Tomcat 安装与配置教程

序言:今天遇到一台服务器8088端口不通的问题,发现是apache-tomcat提供的服务,用\bin\startup.bat或者\bin\tomcat8.exe服务就是起不来,捣鼓了半天,后来发现是jre环境变量配置的问题,小编和大家分享下apache-tomcat服务搭建过程和注意事项。一、准备工作1、用我自己的win7 64位系统演示。2、下载apache-tomcat 8.0服务...

weixin_39760295的博客 4224

分析SpringBoot 底层机制【Tomcat 启动分析+Spring 容器初始化+Tomcat 如何关联Spring 容器之手动实现

因为我之前的博客有手写Tomato Spring SpringMVC MyBits 机制所以这里就手写了Spring-boot这么去启动tomato的代码过程和他的原理。看看是否进行Spring 容器的初始化工作, 可以看到ac.refresh() 会将WyxConfig.class 中配置Bean 实例化装入到容器中.严重: Servlet [jsp] in web application [/Wyxboot] threw load() exception。

业精于勤,荒于嬉 2020
上一篇: Java NIO复制文件功能
下一篇: JMeter结果分析介绍
LuckyJiang.2021
博客等级 码龄15年 217粉丝 199原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LuckyJiang.2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值