Linux下jvm、tomcat、mysql、log4j优化配置笔记

IDEA集成Tomcat全攻略:从开发调试到生产部署实战 Servlet容器是Java Web应用运行的核心环境,负责处理HTTP请求、管理Servlet生命周期并生成响应。Tomcat作为最主流的开源Servlet容器实现,其轻量、高效和规范兼容的特性,使其成为企业级应用部署的基石。通过将Tomcat与IntelliJ IDEA这一智能IDE深度集成,开发者可以在编码、调试和部署环节获得无缝体验,极大提升开发效率与问题排查能力。这种组合尤其适用于需要精确控制部署环境、调试传统Servlet/JSP项目或解决复杂生产问题的场景。例如,在应对“tomcat fail 阅读详情

转自:http://www.cnblogs.com/iyangyuan/p/3330152.html

小菜一直对操作系统心存畏惧,以前也很少接触,这次创业购买了Linux云主机,由于木有人帮忙,只能自己动手优化服务器了。。。。

         小菜的云主机配置大致为:centeos6(32位),4核心cpu,4G内存,5M独享带宽。

        

一、jvm内存优化方案。

 

         要优化服务器,首先从jvm入手,分配好jvm内存,配置方案如下:

         declare -x JAVA_OPTS="-server -Xms1280M -Xmx1280M -Xmn512M -Xss1024k -XX:+AggressiveOpts -XX:+UseParallelGC  -XX:+UseBiasedLocking"

         其中,-server是让jvm在服务模式下运行,可以提高jvm运行效率,其他的就不用多操心了。

         -Xmx是最大内存,如果是32操作系统,2G内存以上,设置为1280G是最优的,设置太大了会造成jvm崩溃,这是32位jvm本身的限制造成的。

         -Xmn是最小内存,官方推荐为最大内存的3/8,这里取下整,就521M了

         -Xms为初始化内存,直接与最大内存一致,这样可以避免内存重复分配,降低效率,直接上来就是最大的,jvm也不用再扩展内存了,节省时间。

         -Xss是每个线程所占用的内存,也就是每个线程的堆栈大小,太小了容易溢出,太大了会导致创建的线程数量减少,因为最大容量是有限的。这里最大内存为1280M,理论上可以创建1000个左右线程,差不多支持500个并发访问(是并发访问哦,也就是500个用户同一时刻点击),已经相当可以了。

         -XX:+AggressiveOpts,加快编译。

         -XX:+UseParallelGC,优化垃圾回收。

         -XX:+UseBiasedLocking,优化锁机制。

        

         将上边这条配置,添加到tomcat安装目录下的\bin\catalina.sh文件中,放在哪个位置无所谓,只要在cygwin=false这句话之前就可以了。    

 

二、tomcat服务器优化方案

        

          搞定了jvm,接下来就要配置tomcat了,配置如下:

      

复制代码
1   <Connector port="80" protocol="HTTP/1.1" 
2 
3                maxHttpHeaderSize="8192" 
4 
5                maxThreads="1000" minSpareThreads="100" maxSpareThreads="300" 
6 
7                enableLookups="false" redirectPort="8443" acceptCount="200" 
8 
9                connectionTimeout="50000" disableUploadTimeout="true"/> 
复制代码

 

 

         这些配置中,我们关心的有:

         maxThreads最大线程数,设为1000可以创建1000个线程,也就是1000个并发事务,大约可以支持500个完全并发访问,这是一个相当恐怖的数字,可以试想一下,500个用户同时点击,是什么概率。

         minSpareThreads最小备用线程数,可以理解为,服务器一旦启动,马上创建这么多线程以备使用,因此设置太大了浪费资源,太小了会降低效率,这个就要根据读者的服务器配置和具体的访问量来衡量,不能一概而论,我这里的设置仅仅是个参考,本服务器访问量大约每天几十万pv,并且比较集中。

         maxSpareThreads最大备用线程数,创建的线程数量超过这个数量时,如果某些线程空闲,那么这些会被回收,直到线程总数量小于这个值。

         acceptCount当tomcat启动的线程数达到最大时,等待的线程数量(注意并没有新线程创建,只是预定了而已)。这个数值也需要根据实际情况设置,如果设置的偏小,会造成很多请求直接被拒绝;如果设置的偏大,会造成很多请求超时,读者理解一下吧!

         enableLookups关闭tomcat的dns查询,节省带宽,无需过多了解。

         disableUploadTimeout这个标志允许servlet container在一个servlet执行的时候,使用一个不同的,更长的连接超时。最终的结果是给servlet更长的时间以便完成其执行,或者在数据上载的时候更长的超时时间,总之,就是为了保证每次请求都能顺利完成。

         将这段话复制到tomcat安装目录下的\conf\server.xml文件中。

         注意,这个配置在server.xml中本来就存在,可能要和读者以前的配置融合一下,别直接盲目覆盖。。。

 

    三、MySQL优化方案

 

         Mysql优化,小菜了解到的就是修改最大连接数,因为mysql默认的最大连接数是100,对于稍微大点的项目,肯定是不够的。

      项目端配置

         最大连接数,首先要在程序里设定,如果您的项目采用的是JNDI方式配置的数据源,那么就要去tomcat安装目录下的\conf\server.xml文件或\conf\context.xml文件里找到如下配置(小菜只是举个例子,里边的配置都是随便写的,关键是找到Resource节点):

复制代码
 1  <Resource name="demo"
 2    auth="Container"
 3    type="javax.sql.DataSource"
 4    maxActive="500"
 5    maxIdle="30"
 6    maxWait="5000"
 7    username="sa"
 8    password=""
 9    driverClassName="org.hsqldb.jdbcDriver"
10    url="jdbc:hsqldb:hsql://localhost/runqianDB" />
复制代码

         这里我们需要关注的有:

         maxActive是指最大激活连接数为500,也就是说同时最多只可以有500个数据库连接。这里也可以理解为并发,小菜觉得500已经不少啦,毕竟数据读完会自动释放连接,如果您的主机配置不够高,这里设置太多,比如什么3000,可能导致MySQL启动失败。

         maxIdle是最大空闲连接数,就算没有使用数据库,依然保持这么多连接,以便需要时直接用,提高效率。因为数据库连接的创建过程相当的耗费时间。参考了很多网站,一般都是30左右,仅供参考!

         maxWait是最大等待时间,如果数据库连接数不够用,那么等待这么长时间,超过这个时间了就超时,设为-1表示无限等待。

         如果您的项目采用的是JDBC配置,也就是项目中有一个properties文件,一般叫什么JDBC.properties、config.properties,具体叫什么小菜就不知道啦,然后里边会有类似如下配置:

         JDBC.DriverClass=com.mysql.jdbc.Driver

         JDBC.Url=jdbc\:mysql\://localhost\:3306/xxx?useUnicode\=true&amp;characterEncoding\=utf8

         JDBC.User=xxx

         JDBC.Password=xxx

         JDBC.MaxPoolSize=500

         JDBC.MinPoolSize=30

         JDBC.WaitTime=5000

        

         这里的MaxPoolSize、MinPoolSize、WaitTime分别和上边讲的maxActive、maxIdle、maxWait对应,但这是小菜的项目,您的项目需要具体分析。。。。

      服务器端配置

         项目配置好了之后,就要配置MySQL服务器了。

         如果您的MySQL是5.0之前的版本,包括5.0,那么可以尝试用如下方法修改MySQL最大连接数。

         在linux系统中找到/usr/bin/mysqld_safe编辑它,找到mysqld启动的那两行,在后面加上参数 :

         -O max_connections=1000

         用红字特别说明:

 

         if test -z "$args"

           then

             $NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking -O max_connections=1000 >> $err_log 2>&1

          else

             ev al "$NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-external-locking $args -O max_connections=1000 >> $err_log 2>&1"

 

        这段代码很不好找,在下也无法说清楚它具体在哪个位置。不过建议从最后往前找会比较快。

        重启mysql服务:# service mysql restart

        查看当前最大连接数: mysqladmin -uroot -p variables

        如果您的MySQL服务器是5.1之后的版本,包括5.1,或者您用上边的方法不行,那么可以尝试如下方法。

        在linux系统中找到/etc/my.cnf文件,在里边的[mysqld]节点下,添加:max_connections=500即可,500就是指最大连接数,可以随意改。例如:

        [mysqld]

        datadir=/home/mysql

        socket=/var/lib/mysql/mysql.sock

        user=mysql

        default-character-set = utf8

        default-collation = utf8_general_ci

        max_connections=500

        

         这样就搞了,重启MySQL即可。

 

四、日志优化

 

         日志的重要性不必多说,项目开发时,日志一般是直接输出到控制台上,方便查看。

         但是项目实际发布时,就不能这样做了,影响效率不说,我们也无法查看这些日志。

         小菜的项目中用的是log4j,它有一个配置文件,叫log4j.properties,配置大致如下:

         log4j.rootLogger = INFO, R

         log4j.appender.R = org.apache.log4j.RollingFileAppender

         log4j.appender.R.File = /home/westjavatest/logs/ivlifelog4j.txt

         log4j.appender.R.MaxFileSize = 500KB

         log4j.appender.R.MaxBackupIndex = 1

         log4j.appender.R.layout = org.apache.log4j.PatternLayout

         log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] - %m%n

 

         这里我们需要的关注的有:

         log4j.rootLogger = INFO, R,这里的INFO指明了日志的级别,一般用INFO就可以了;R是输出配置,名字随便起,和下边log4j.appender.R对应就可以了。

         log4j.appender.R.File指明了日志输出路径,注意linux下目录的/和windows下目录的\相反哦。

         log4j.appender.R.MaxFileSize是指每个日志文件的大小,这里设成了不超过500kb,一旦超过,会重新创建一个.txt日志文件。

         其他参数就不那么重要了,有兴趣的读者可以自己去谷歌一下~

 

五、结束语

 

         这些服务器的优化配置,小菜也是第一次接触,花了很多时间从网上搜集而来的,因此整理一下,方便像小菜这样的菜鸟。

         这些配置,很多都是经验数据,具体的参数需要根据您服务器的实际情况,进行一定的综合分析、压力测试之后,才得到的,小菜列举的这些只是一般经验,仅供参考。

         最后祝愿大家优化顺利!


Java Web项目部署实战:从Tomcat到Docker的完整指南 在软件开发生命周期中,部署是将应用程序从开发环境迁移到生产环境的关键环节,它直接决定了服务的可用性与可访问性。其核心原理在于构建一个标准化的运行时环境,将源代码、依赖和配置组装成可对外提供网络服务的成品。这一过程的技术价值在于实现了开发与运维的衔接,保障了应用的稳定、安全运行。典型的应用场景包括企业级Web应用、微服务架构的后端服务等。本文聚焦于Java Web项目的部署实践,深入讲解了基于Servlet容器(如Tomcat)的传统部署方法,涵盖了环境准备、项目打包、配置分离等核心步骤。同时,也探讨了现代化 阅读详情

相关推荐

FineReport企业级报表工具部署与优化实战

企业级报表工具作为数据可视化与分析的核心平台,通过多数据源整合与动态参数控制实现业务数据价值挖掘。FineReport以其零编码设计器和集群部署能力,在零售、医疗等行业解决了海量数据实时展示的工程难题。本文以Windows/Linux环境部署为例,详解从安装包获取、版本选择到性能调优的全流程,特别针对高并发场景下的JVM参数优化、Nginx负载均衡配置等关键技术方案进行剖析,为大数据量报表系统的稳定运行提供最佳实践。

weixin_33895516的博客 384

JVM参数调优(linux)

1、在service.xml文件下修改端口三个参数 详情见: https://jingyan.baidu.com/article/adc815139b12def722bf7377.html 2、路径:tomcat=>bin=>catalina.sh在分配内存中进行参数设置 针对linux环境 JAVA_OPTS="-d64 -Xms4096m -Xmx10240m -XX:PermS...

PSW_18722821243的博客 491

VSCode配置JavaWeb开发环境:从零搭建到项目部署调试

Java Web开发通常依赖于集成开发环境(IDE)进行项目构建、调试和部署。其核心原理在于通过项目管理工具(如Maven)处理依赖,并借助Servlet容器(如Tomcat)运行Web应用。这种技术组合的价值在于实现了企业级应用的高效开发和标准化部署。在实际开发场景中,开发者需要配置JDK运行环境、构建工具和Web服务器,并集成代码编辑、智能提示和调试功能,以提升全链路开发效率。本文聚焦于使用轻量级编辑器VSCode,通过安装Extension Pack for Java和Tomcat for Java等

weixin_34310369的博客 403

Tomcat学习--tomcat配置使用log4j

tomcat自身提供了日志收集及打印功能,但对日志文件的大小及日志文件生成个数没法控制,因此tomcat提供了一个扩展日志的功能。1、首先去tomcat官网下载两个jar:tomcat-juli-adapters.jar和tomcat-juli.jar2、下载log4j的jar包:log4j-1.2.17.jar 及配置log4j的配置文件log4j.properties#log4j.rootLo

井底之蛙 8551

Windows服务器Java Web项目部署全流程实战:从环境配置到故障排查

Java Web项目部署是软件开发中从开发环境走向生产环境的关键环节,其核心在于构建稳定、可复现的运行环境。部署的本质是将应用程序、依赖库及配置文件在目标服务器上进行正确安装与集成,确保应用能够持续对外提供服务。在技术实现上,这通常涉及操作系统环境配置、Java运行环境(JRE/JDK)搭建、Web服务器(如Tomcat)部署以及数据库(如MySQL)的安装与连接。其技术价值在于实现应用的标准化交付、资源隔离与高效运维,是保障系统可用性与可维护性的基础。典型的应用场景包括企业级应用上线、测试环境搭建及服务迁

weixin_34293911的博客 441

Linux服务器部署帆软FineReport实战:从环境准备到生产级调优

在企业级应用部署中,Linux因其高稳定性、低资源占用和强大的命令行管理能力,常被选为生产环境的操作系统。其原理在于精简的内核设计与高效的进程调度机制,能更好地支撑Java等中间件应用的长时间稳定运行。从技术价值看,Linux部署不仅提升了服务的可靠性,还通过脚本化与自动化大幅提高了运维效率。在商业智能与报表系统领域,帆软FineReport作为广泛使用的Java Web应用,其生产环境部署是典型场景。本文聚焦于在CentOS、Ubuntu等主流Linux发行版上部署帆软服务器的完整流程,涵盖环境准备、JV

weixin_34198762的博客 417

linux使用log4j,Java中Log4j的使用

当我们的代码存在有疑问的地方且不想去处理时,我们就需要把程序的日志信息输出,这时我们会用到一个类--Log4j,想用这个类,我们需要下载Log4j的引用包,下载地址如下:http://logging.apache.org/log4j/2.x/download.html在我们编写测试代码之前,第一步,我们需要把下载的包引用到我们的程序中,右键点击项目选中BuildPath之后选择你的包所在的路径即可...

weixin_29091837的博客 205

phpStudy集成环境部署指南:JDK+Tomcat+Apache+MySQL一体化配置与排错

在Web开发中,本地开发环境的搭建是项目启动的基础环节,它直接影响到开发效率和代码调试。其核心原理在于将操作系统、运行时环境、服务器软件和数据库等组件进行协同配置,形成一个可独立运行的沙箱。这项技术的价值在于屏蔽了底层环境的复杂性,让开发者能聚焦于业务逻辑实现,尤其适合快速原型验证、教学演示和功能测试等场景。通过预配置的集成环境包,可以一站式解决JDK、Tomcat、Apache和MySQL的安装与联调问题,避免了手动配置中常见的端口冲突、路径错误和环境变量设置等难题。本文以phpStudy集成包为例,详细

weixin_30247781的博客 432

log4j没有生成日志文件_log4j<=1.2.17反序列化漏洞(CVE201917571)分析

PS: 文章仅用于研究漏洞原理,促进更好的防御,禁止用于非法用途,否则后果自负!!!log4j是Apache开发的一个日志工具。可以将Web项目中的日志输出到控制台,文件,GUI组件,甚至是套接口服务器。本次出现漏洞就是因为log4j在启动套接口服务器后,对监听端口传入的反序列化数据没有进行过滤而造成的。下面我们以log4j-1.2.17.jar的源码来进行分析。0x01 漏洞分析当...

weixin_39664746的博客 6610

深入探讨 VQ-VAE:理解变分量化自动编码器

VQ-VAE代表"Variational Quantized Variational Autoencoder",是一种生成模型,通常用于处理高维数据,如图像和音频。它的设计灵感来自于变分自动编码器(VAE)和量化方法,结合了它们的优点,使得 VQ-VAE 能够生成高质量的数据,并在数据表示上引入离散性。VQ-VAE 是一种强大的生成模型,结合了变分自动编码器和量化方法的优点。它在图像和音频生成、数据压缩和生成性对抗网络等领域具有广泛的应用。

DeepViewInsight的博客 7016

实战演练 | ABAQUS显式动力学分析在金属切削仿真中的应用

本文详细介绍了如何利用ABAQUS显式动力学分析进行金属切削过程的二维仿真。通过从零开始的完整流程,包括几何建模、材料本构与失效定义、网格划分、接触设置、边界条件施加,到结果后处理与切削力提取,为工程师和研究人员提供了实用的仿真方法,以优化刀具设计和加工工艺。

purple的博客 930

Linux下jvm、tomcat、mysql、log4j优化配置笔记[转]

 小菜一直对操作系统心存畏惧,以前也很少接触,这次创业购买了Linux云主机,由于木有人帮忙,只能自己动手优化服务器了。。。。          小菜的云主机配置大致为:centeos6(32位),4核心cpu,4G内存,5M独享带宽。          一、jvm内存优化方案。            要优化服务器,首先从jvm入手,分配好jvm内存,配置方案如下:          ...

weixin_33698823的博客 83

MuJoCo 相机图片怎么拿?视角调整获取物体图片及实时显示(附代码)

在Mujoco的仿真中,对于识别抓取场景来说,如何获得添加的body等物体的实时图像很重要,今天就分享下如何添加相机视角及可视化小方块(举例)的实时图片。复制一个scene.xml为scene_withcamera.xml,在xml中添加camera和小方块如下。设置xml文件中添加的相机body id。需要创建一个离屏渲染器。

darcsdn 2128

linux下jvm tomcat mysql log4j_linux下jvm优化、tomcat调优

系统环境:jdk1.8,apache-tomcat-8.5.35一、jvm优化进入 bin/catalina.sh,修改JAVA_OPTS配置:JAVA_OPTS="-server -Xms8192M -Xmx8192M -XX:NewRatio=4 -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:ParallelGCThreads=8 -XX:+H...

weixin_30670053的博客 151

成分数据的闭合效应对地球化学数据的影响及其解决方案

封闭效应 (Closure Effect),也称为常数和效应 (Constant Sum Effect),是地球化学数据分析中一个需要特别注意的统计现象。它的产生是由于我们通常使用成分数据 (Compositional Data)百分比 (%)百万分率 (ppm)由于这些数据表示的是各组分占总体的比例,它们的总和必然是一个常数 (例如 100% 或 1,000,000 ppm)。这意味着每个元素的含量不是独立的,而是与其他元素的含量相互制约。改变其中一个元素的含量必然会影响其他元素的相对比例。

qq_59349063的博客 1535

Oracle19c时区升级实战:从32到42版本的数据泵TSTZ报错解决方案

本文详细介绍了Oracle19c时区版本从32升级到42的实战步骤,重点解决数据泵TSTZ报错问题。通过检查时区版本、下载补丁包、应用补丁及执行升级脚本等关键操作,确保数据库时区数据更新,避免夏令时转换错误和历史时区规则不匹配等问题。文章还提供了常见问题排查和升级后的注意事项,帮助DBA高效完成时区升级任务。

n7o8p的博客 284

Linux下jvm、tomcat、mysql、log4j优化配置

小菜一直对操作系统心存畏惧,以前也很少接触,这次创业购买了Linux云主机,由于木有人帮忙,只能自己动手优化服务器了。。。。 小菜的云主机配置大致为:centeos6(32位),4核心cpu,4G内存,5M独享带宽。 一、jvm内存优化方案。 要优化服务器,首先从jvm入手,分配好jvm内存,配置方案如下: ...

weixin_30248399的博客 133

别再乱调NvM_WriteBlock了!手把手教你搞懂Autosar NVM状态机与读写时序

本文深入解析Autosar NVM状态机与读写时序,帮助开发者避免常见错误。通过详细的状态机解读、最佳实践代码示例和异常处理策略,提升嵌入式系统中数据存储的可靠性。特别针对NvM_WriteBlock的调用逻辑和状态机机制进行实战讲解,解决工程师在实际开发中遇到的异步写入问题。

weixin_33701617的博客 344

Windows服务器Java Web项目部署实战:从JDK、Tomcat到MySQL全流程详解

项目部署是连接开发与生产环境的关键环节,其核心在于构建稳定、一致的运行时环境。在Java Web领域,部署通常围绕JDK(Java开发工具包)、Tomcat(Servlet容器)和MySQL(关系型数据库)三大核心组件展开。理解环境变量配置、版本兼容性以及服务端口管理等基础原理,是确保应用顺利运行的技术基石。这些实践不仅保障了应用的可访问性与数据持久化能力,也直接影响到系统的稳定性和安全性。在Windows服务器环境下进行部署,尤其需要关注图形界面与命令行操作的结合、防火墙策略以及服务自启动配置等平台特性。

weixin_34221775的博客 389

uniapp [全端兼容] - 实现省市区选择器三四级联动组件,uniapp选择地址自定义省市区三级联动插件,弹框式多级联动选择器区域选择(全平台兼容苹果安卓App、支付宝微信小程序、移动端H5网页)

uni-app省市区选择器,省市区街道三级四级联动选择器,uniapp自定义多列选择器省市两级联动,uniapp picker组件实现多级联动,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,uniApp选择器省市区县街道乡镇,uniapp实现省市区选择联动,uniapp城市三级联动(自定义组件)_uniapp三级联动,picker插件省市区联动,uniapp小程序省市区选择器,uni-app 省市区街道的四级联动选择,uniapp怎样实现省市区地址三级联动uni

🏆 前端领域优质创作者 1万+

128、点云配准与ICP:经典配准算法与深度学习配准

上周调试一台双臂协作机器人,左手持结构光相机扫描桌面上的随机堆叠工件,右手准备执行抓取。问题出在“对齐”这一步——相机扫描得到的点云和CAD模型点云之间差了大约15度的旋转,导致抓取姿态计算出来直接怼到桌面上。我第一反应是“ICP跑一下不就行了”,结果跑了三分钟,误差纹丝不动,甚至越迭代越发散。后来查了日志才发现,初始位姿给得太离谱,ICP直接掉进了局部最优。这个场景太典型了——很多人以为点云配准就是调个ICP库函数,实际工程里坑比想象中多得多。今天这篇笔记,咱们把点云配准这件事从头捋一遍。

sundong_81的博客 42

Java:104-JVM优化

我们可以选择在idea中查看对应的class文件: 但是要注意:随着idea或者说jdk版本的不同,可能并不会出现这些东西或者少些或者有些不同,所以这里以上面的说明为主即可(我修改并整理的) 比如我这里就是这样: Java 虚拟机采用基于栈的架构,其指令由操作码和操作数组成,这些 字节码指令 ,就叫作 opcode,其中,getstatic、ldc、invokevirtual、return 等,就是 opcode,可以看到是比较容易理解的,因为根据后面的说明就是一个完整的System.out.print

qq_59609098的博客 1135

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Tomcat Web应用开发避坑指南:从部署到性能调优的实战经验

在Java Web开发中,Servlet容器是承载应用运行的核心环境,其工作原理直接决定了应用的稳定性和性能表现。理解容器的类加载机制、请求处理模型和内存管理原理,对于构建健壮的企业级应用至关重要。这些底层机制的技术价值在于,它们为应用提供了隔离性、并发处理能力和资源管理的基础。在实际应用场景中,从简单的单体应用到高并发的分布式系统,都需要基于这些原理进行合理的配置与优化。本文将围绕Tomcat这一广泛使用的Servlet容器,结合线程池配置和内存泄漏等常见热词,深入剖析在部署、配置、编码和运维环节中容易遇

weixin_34185512的博客 402

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: debian GUN/linux 中文乱码解决办法,secureCRT中文乱码
下一篇: 数据库设计三大范式
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值