- JVM学习指南(40)-Java调优工具介绍
俞兆鹏
JVM学习指南JVM
文章目录引言JVM调优工具概览工具详细解析JConsoleVisualVMMATJProfiler调优工具的选择与使用最佳实践与技巧总结引言在Java开发中,JVM(Java虚拟机)调优是一个至关重要的环节。它不仅关系到应用的性能,还直接影响到系统的稳定性和资源利用率。随着应用规模的扩大和业务需求的增加,合理地对JVM进行调优变得尤为重要。调优工具作为辅助我们进行性能优化的利器,能够帮助我们更直观
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
web718
Java
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(LockContention)J
- 精通JVM监控与调优:工具使用与命令指南
道长不会写代码
jvm
精通JVM监控与调优:工具使用与命令指南1.JVM监控工具概览1.1监控工具列表2.jconsole使用指南2.1操作步骤2.2常用命令3.VisualVM使用指南3.1操作步骤3.2常用命令4.jstack使用指南4.1操作步骤4.2常用命令5.jmap使用指南5.1操作步骤5.2常用命令6.jstat使用指南6.1操作步骤6.2常用命令7.MAT使用指南7.1操作步骤7.2常用命令8.GCVi
- Java笔试面试题AI答之线程(11)
工程师老罗
Java笔试面试题AI答java开发语言
文章目录61.简述什么是原子操作?Java中有哪些原子操作?简述原子操作Java中的原子操作62.简述什么是Java竞态条件?你如何发现并解决竞态条件?Java竞态条件(RaceCondition)如何发现竞态条件?如何解决竞态条件?63.简述Java中你如何转储线程(threaddump)?1.使用`jstack`工具2.使用`jconsole`或`VisualVM`3.编程方式注意64.如果你
- Java技术专题-Java Agent探针的技术介绍(1)
洛神灬殇
前提概要Java调式、热部署、JVM背后的支持者JavaAgent:各个JavaIDE的调试功能,例如eclipse、IntelliJ;热部署功能,例如JRebel、XRebel、spring-loaded;各种线上诊断工具,例如Btrace、Greys,还有阿里的Arthas;各种性能分析工具,例如VisualVM、JConsole等;Agent的介绍JavaAgent直译过来叫做Java代理,
- Web容器、Servlet容器、Spring容器、SpringMVC容器之间的关系
weixin_30270889
javaweb.xml
以下内容为个人理解,如有误还请留言指出,不胜感激!Web容器web容器(web服务器)主要有:Apache、IIS、Tomcat、Jetty、JBoss、webLogic等,而Tomcat、Jetty、JBoss、webLogic同时也是servlet容器,或者说他们还包含了servlet容器。没有servlet容器,你也可以用web容器直接访问静态页面,比如安装一个apache等,但是如果要显示
- JavaEE____多线程1
漫天 星辰
JavaEEjava-ee
文章目录一.线程使用1.线程休眠演示打印电影字幕2.多线程性能VS单线程性能2.1单线程执行时间2.2多线程执行时间3.线程3种创建方式3.1创建方式1:继承Threada)使用jconsole观察线程b)启动线程——start方法3.2创建方式2:实现Runnable接口(4种写法)3.2.1写法13.2.2写法23.2.3写法33.2.4写法43.3创建方式3:实现Callable接口进行实现
- [Java] 多线程初识
Prectie.RTE
java开发语言
多线程前言内核相关线程一、线程概念及简单操作多线程编程第一个多线程程序真正体现多线程程序一些问题jconsole工具创建线程的方式方法一:继承Thread类方法二:实现`Runnable`接口方法三:继承Thread,但是使用匿名内部类方法四:实现`Runnable`接口,但是使用匿名内部类方法五:\[常用/推荐]使用lambda表达式二、Thread类及常见方法1)Thread常见构造方法2)T
- Netty简单入门
程序员小潘
笔者最近在看Netty相关的东西,想把过程中所学到的和感悟记录下来,于是决定单独开一个专栏,专门记录Netty相关的文章。第一篇就从「简单入门」开始吧!!!Netty简介Netty是由JBOSS提供的一个java开源框架,现为Github上的独立项目。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。提取句子主干,首先,Netty是一个网
- JBOSS漏洞
唐小风7
Java反序列化RCE漏洞CVE-2015-7501漏洞由于JBoss中invoker/JMXInvokerServlet路径对外开放,JBoss的jmx组件支持Java反序列化invoker/JMXInvokerServlet修复:使用Winzip打开jar文件,在org/apache/commons/collections/functors/InvokerTransformer.class删除
- java工具之JVM监控
这一刻_776b
一、JVM监控工具JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、jconsole、jinfo、hprof使用详解-实例分析(1)jps:用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。命令格式:jps或jps远程服务ip地址(默认端口1099)(2)jstack:可以观察到jvm中当前所有线程的运行情况和线程当前状态。,如果现在运行
- JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)
二潘
RedHatJBossApplicationServer是一款基于JavaEE的开源应用服务器。JBossAS4.x及之前版本中,JbossMQ实现过程的JMSoverHTTPInvocationLayer的HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。参考:https://github.com/joaomatosf/
- Undertow使用详解
有梦想的攻城狮
架构设计undertow应用服务器tomcat
简介Undertow是一个开源的、灵活的、高性能的非阻塞性应用服务器,由JBoss提供。它可以用作嵌入式服务器,也可以用作大型项目的全功能应用服务器。Undertow的设计以提供最高的性能和最大的灵活性为主要目标,支持非阻塞性和阻塞性处理方式,可以处理十万级的并发连接。Undertow的历史可以追溯到2013年,当时RedHat发布了JBossAS7,这是一个基于Java7的轻量级应用服务器。Un
- 像SpringMVC一样在Android上做Web开发
Java黎先生
一部分Android开发者看到这个标题时可能有点疑惑,SpringMVC不是用来做JavaWeb开发的吗?难道被移植到Android上来了?答案是否定的,因为SpringMVC是基于Servlet的,在Android上开发一个支持Servlet的容器(Tomcat、JBoss)可不简单,所以我们是在Android上开发了一套全新的WebServer+WebFramework。AndServer2.
- Druid介绍
ihaveadream丶
androidadb
Druid介绍Druid首先是一个数据库连接池,并且是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBossDataSource。但它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQLParser。Druid支持所有JDBC兼容的数据库,包括Oracle、MySQL
- 互联网架构模板:“开发层”和“服务层”技术
woshishui1243
开发层技术开发框架优选成熟的框架,避免盲目追逐新技术!2.Web服务器挑选一个流行的开源服务器(Java的有Tomcat、JBoss、Resin等,PHP/Python的用Nginx,当然最保险的就是用Apache了,什么语言都支持),业务复杂的情况下,可以在开源服务器的基础上,结合自己的业务特点做二次开发。容器服务层技术服务层的主要目标其实就是为了降低系统间相互关联的复杂度。配置中心集中管理各个
- jconsole连接docker内Java服务
代码人生520
dockerjava
jconsole连接docker内Java服务为了简化jconsole的配置,我们使用无密码无认证,通过ip+port直接连接的方式。1.在dockerfile中配置指定参数java-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=8080-Dcom.sun.management.jmxremote.authenti
- 性能测试常见问题经验汇总
Coding测试
JVM分析神器:visualVM一、内存泄漏1、堆内存溢出现象:(1)压测执行一段时间后,系统处理能力下降。这时用JConsole、JVisualVM等工具连上服务器查看GC情况,每次GC回收都不彻底并且可用堆内存越来越少。(2)压测持续下去,最终在日志中有报错信息:java.lang.OutOfMemoryError.Javaheapspace。排查手段:(1)使用jmap-histopid>t
- Jetty 的工作原理以及与 Tomcat 的比较
家常凉菜
散文
Jetty应该是目前最活跃也是很有前景的一个Servlet引擎。本文将介绍Jetty基本架构与基本的工作原理:您将了解到Jetty的基本体系结构;Jetty的启动过程;Jetty如何接受和处理用户的请求。你还将了解到AJP的一些细节:Jetty如何基于AJP工作;以及Jetty如何集成到Jboss;最后我们将比较一下两个Servlet引擎:Tomcat和Jetty的优缺点。Jetty的基本架构Je
- Oralce ORA-00018超出最大会话数处理记录
=PNZ=BeijingL
数据存储sql数据库oracle
项目场景:线上系统JBOSS异常报错,信息如下018-07-1810:55:12,851WARN[org.jboss.resource.connectionmanager.JBossManagedConnectionPool]Throwablewhileattemptingtogetanewconnection:nullorg.jboss.resource.JBossResourceExcepti
- 【Java基础】JPA详解(part1)
sylar哇咔咔
数据库JavaHibernatejavajpa数据库
1.JPA简介:Java持久化规范,是从EJB2.x以前的实体Bean(Entitybean)分离出来的,EJB3以后不再有实体bean,而是将实体bean放到JPA中实现。JPA是sun提出的一个对象持久化规范,各JavaEE应用服务器自主选择具体实现,JPA的设计者是Hibernate框架的作者,因此Hibernate作为Jboss服务器中JPA的默认实现,Oracle的Weblogic使用E
- Java性能分析中常用的命令和工具
A尘埃
java开发语言常用的命令和工具
命令功能jps用于查看正在运行的Java进程的状态信息jinfo用于查看和修改正在运行的Java进程的Java虚拟机(JVM)参数和系统属性。jstack用于生成Java进程的线程转储信息jmap用于生成Java进程的内存映射信息jconsole是Java自带的监控和管理控制台,它提供了一个图形化界面,允许您监视和管理正在运行的Java应用程序的性能和资源使用情况jvisualvm是一款功能强大的
- SpringBoot之Logback日志配置文件——日志高亮(logback.xml)
秦时明月之君临天下
SpringBootJavaWebspringbootlogbackxml
一、日志框架①日志门面日志门面是个接口,是日志的规范,使用门面不能直接实现日志功能,它需要被实现后才能使用。slf4jjboss-loggingJCL(commons-logging)②日志实现logbacklog4jJUL(javautillogging)log4j2二、日志选择:SLF4J+LogbackSpringBoot的底层框架Spring的默认日志框架使用的是JCL,而SpringBo
- 备战面试日记(2.6) - (JVM.JVM调优)
舍其小伙伴
面试准备JVM虚拟机相关面试java职场和发展
本人本科毕业,21届毕业生,一年工作经验,简历专业技能如下,现根据简历,并根据所学知识复习准备面试。记录日期:2022.1.3大部分知识点只做大致介绍,具体内容根据推荐博文链接进行详细复习。文章目录JVM-JVM调优JVM参数JVM参数设置方法JVM调优工具JPS、JMAP、JSTACKjconsolejvisualvm使用方式JVM调优方案调优原则调优目的从应用层面来说从虚拟机层面来说调优方案调
- springboot+日志系统日志
指尖‖舞者
springboot后端java
LogResponseBodyAdvicepackagecom.wpmt.framework.aspectj;importjavax.servlet.http.HttpServletRequest;importorg.jboss.logging.MDC;importorg.springframework.context.annotation.Profile;importorg.springfram
- 【并发编程】锁死的问题——如何解决?以及如何避免?
王果冻ddd
java开发语言面试
目录1.如何解决一、死锁的定义和原因1.1定义1.2原因二、常见的死锁场景2.1线程间相互等待资源2.2嵌套锁的循环等待2.3对资源的有序请求三、死锁排查的方法3.1使用jstack命令3.2使用jconsole3.3使用VisualVM四、常见的解决方案4.1避免嵌套锁的循环等待4.2使用带超时的锁4.3使用资源分配图2.如何避免1.如何解决一、死锁的定义和原因1.1定义死锁是指两个或多个线程在
- Jvm-GC日志分析工具
盼旺
jdk自带的工具1.jconsoleJconsole(JavaMonitoringandManagementConsole)是从java5开始,在JDK中自带的java监控和管理控制台,用于对JVM中内存,线程和类等的监控,是一个基于JMX(javamanagementextensions)的GUI性能监测工具。jconsole使用jvm的扩展机制获取并展示虚拟机中运行的应用程序的性能和资源消耗等
- JavaScript 删除对象属性
lenjstlp
jsonreact.jsnode.js
1.解构赋值constobj={a:1,b:2,c:3}const{a,...s}=objconsole.log(s)//{b:2,c:3}2.delete关键字constobj={a:1,b:2,c:3}deleteobj.adeleteobj.bconsole.log(obj)//{c:3}
- JVM篇--JVM调优高频面试题
ayu_programer
面试JVMjvm
1说一下JVM调优的工具?JDK自带了很多监控工具,都位于JDK的bin目录下,其中最常用的是jconsole和jvisualvm这两款视图监控工具。jconsole:用于对JVM中的内存、线程和类等进行监控;jvisualvm:JDK自带的全能分析工具,可以分析:内存快照、线程快照、程序死锁、监控内存的变化、gc变化等2常用的JVM调优的参数都有哪些?-Xms2g:初始化推大小为2g;-Xmx2
- 1、java内存管理-方法区(元空间的简介)
田美河边的钓鱼人
我这里使用的版本为:javaversion"1.8.0_31",64位的机器首先,这里会先用一个工具查看内存的信息:jconsole相关的介绍:https://docs.oracle.com/javase/1.5.0/docs/guide/management/jconsole.html装了jdk,并且配置了环境变量,可以直接在控制台中输入jconsole,就会弹出对应的界面。这里我首先写一段代码
- JAVA基础
灵静志远
位运算加载Date字符串池覆盖
一、类的初始化顺序
1 (静态变量,静态代码块)-->(变量,初始化块)--> 构造器
同一括号里的,根据它们在程序中的顺序来决定。上面所述是同一类中。如果是继承的情况,那就在父类到子类交替初始化。
二、String
1 String a = "abc";
JAVA虚拟机首先在字符串池中查找是否已经存在了值为"abc"的对象,根
- keepalived实现redis主从高可用
bylijinnan
redis
方案说明
两台机器(称为A和B),以统一的VIP对外提供服务
1.正常情况下,A和B都启动,B会把A的数据同步过来(B is slave of A)
2.当A挂了后,VIP漂移到B;B的keepalived 通知redis 执行:slaveof no one,由B提供服务
3.当A起来后,VIP不切换,仍在B上面;而A的keepalived 通知redis 执行slaveof B,开始
- java文件操作大全
0624chenhong
java
最近在博客园看到一篇比较全面的文件操作文章,转过来留着。
http://www.cnblogs.com/zhuocheng/archive/2011/12/12/2285290.html
转自http://blog.sina.com.cn/s/blog_4a9f789a0100ik3p.html
一.获得控制台用户输入的信息
&nbs
- android学习任务
不懂事的小屁孩
工作
任务
完成情况 搞清楚带箭头的pupupwindows和不带的使用 已完成 熟练使用pupupwindows和alertdialog,并搞清楚两者的区别 已完成 熟练使用android的线程handler,并敲示例代码 进行中 了解游戏2048的流程,并完成其代码工作 进行中-差几个actionbar 研究一下android的动画效果,写一个实例 已完成 复习fragem
- zoom.js
换个号韩国红果果
oom
它的基于bootstrap 的
https://raw.github.com/twbs/bootstrap/master/js/transition.js transition.js模块引用顺序
<link rel="stylesheet" href="style/zoom.css">
<script src=&q
- 详解Oracle云操作系统Solaris 11.2
蓝儿唯美
Solaris
当Oracle发布Solaris 11时,它将自己的操作系统称为第一个面向云的操作系统。Oracle在发布Solaris 11.2时继续它以云为中心的基调。但是,这些说法没有告诉我们为什么Solaris是配得上云的。幸好,我们不需要等太久。Solaris11.2有4个重要的技术可以在一个有效的云实现中发挥重要作用:OpenStack、内核域、统一存档(UA)和弹性虚拟交换(EVS)。
- spring学习——springmvc(一)
a-john
springMVC
Spring MVC基于模型-视图-控制器(Model-View-Controller,MVC)实现,能够帮助我们构建像Spring框架那样灵活和松耦合的Web应用程序。
1,跟踪Spring MVC的请求
请求的第一站是Spring的DispatcherServlet。与大多数基于Java的Web框架一样,Spring MVC所有的请求都会通过一个前端控制器Servlet。前
- hdu4342 History repeat itself-------多校联合五
aijuans
数论
水题就不多说什么了。
#include<iostream>#include<cstdlib>#include<stdio.h>#define ll __int64using namespace std;int main(){ int t; ll n; scanf("%d",&t); while(t--)
- EJB和javabean的区别
asia007
beanejb
EJB不是一般的JavaBean,EJB是企业级JavaBean,EJB一共分为3种,实体Bean,消息Bean,会话Bean,书写EJB是需要遵循一定的规范的,具体规范你可以参考相关的资料.另外,要运行EJB,你需要相应的EJB容器,比如Weblogic,Jboss等,而JavaBean不需要,只需要安装Tomcat就可以了
1.EJB用于服务端应用开发, 而JavaBeans
- Struts的action和Result总结
百合不是茶
strutsAction配置Result配置
一:Action的配置详解:
下面是一个Struts中一个空的Struts.xml的配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
&quo
- 如何带好自已的团队
bijian1013
项目管理团队管理团队
在网上看到博客"
怎么才能让团队成员好好干活"的评论,觉得写的比较好。 原文如下: 我做团队管理有几年了吧,我和你分享一下我认为带好团队的几点:
1.诚信
对团队内成员,无论是技术研究、交流、问题探讨,要尽可能的保持一种诚信的态度,用心去做好,你的团队会感觉得到。 2.努力提
- Java代码混淆工具
sunjing
ProGuard
Open Source Obfuscators
ProGuard
http://java-source.net/open-source/obfuscators/proguardProGuard is a free Java class file shrinker and obfuscator. It can detect and remove unused classes, fields, m
- 【Redis三】基于Redis sentinel的自动failover主从复制
bit1129
redis
在第二篇中使用2.8.17搭建了主从复制,但是它存在Master单点问题,为了解决这个问题,Redis从2.6开始引入sentinel,用于监控和管理Redis的主从复制环境,进行自动failover,即Master挂了后,sentinel自动从从服务器选出一个Master使主从复制集群仍然可以工作,如果Master醒来再次加入集群,只能以从服务器的形式工作。
什么是Sentine
- 使用代理实现Hibernate Dao层自动事务
白糖_
DAOspringAOP框架Hibernate
都说spring利用AOP实现自动事务处理机制非常好,但在只有hibernate这个框架情况下,我们开启session、管理事务就往往很麻烦。
public void save(Object obj){
Session session = this.getSession();
Transaction tran = session.beginTransaction();
try
- maven3实战读书笔记
braveCS
maven3
Maven简介
是什么?
Is a software project management and comprehension tool.项目管理工具
是基于POM概念(工程对象模型)
[设计重复、编码重复、文档重复、构建重复,maven最大化消除了构建的重复]
[与XP:简单、交流与反馈;测试驱动开发、十分钟构建、持续集成、富有信息的工作区]
功能:
- 编程之美-子数组的最大乘积
bylijinnan
编程之美
public class MaxProduct {
/**
* 编程之美 子数组的最大乘积
* 题目: 给定一个长度为N的整数数组,只允许使用乘法,不能用除法,计算任意N-1个数的组合中乘积中最大的一组,并写出算法的时间复杂度。
* 以下程序对应书上两种方法,求得“乘积中最大的一组”的乘积——都是有溢出的可能的。
* 但按题目的意思,是要求得这个子数组,而不
- 读书笔记-2
chengxuyuancsdn
读书笔记
1、反射
2、oracle年-月-日 时-分-秒
3、oracle创建有参、无参函数
4、oracle行转列
5、Struts2拦截器
6、Filter过滤器(web.xml)
1、反射
(1)检查类的结构
在java.lang.reflect包里有3个类Field,Method,Constructor分别用于描述类的域、方法和构造器。
2、oracle年月日时分秒
s
- [求学与房地产]慎重选择IT培训学校
comsci
it
关于培训学校的教学和教师的问题,我们就不讨论了,我主要关心的是这个问题
培训学校的教学楼和宿舍的环境和稳定性问题
我们大家都知道,房子是一个比较昂贵的东西,特别是那种能够当教室的房子...
&nb
- RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系
daizj
oraclermanfilespersetPARALLELISM
RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系 转
PARALLELISM ---
我们还可以通过parallelism参数来指定同时"自动"创建多少个通道:
RMAN > configure device type disk parallelism 3 ;
表示启动三个通道,可以加快备份恢复的速度。
- 简单排序:冒泡排序
dieslrae
冒泡排序
public void bubbleSort(int[] array){
for(int i=1;i<array.length;i++){
for(int k=0;k<array.length-i;k++){
if(array[k] > array[k+1]){
- 初二上学期难记单词三
dcj3sjt126com
sciet
concert 音乐会
tonight 今晚
famous 有名的;著名的
song 歌曲
thousand 千
accident 事故;灾难
careless 粗心的,大意的
break 折断;断裂;破碎
heart 心(脏)
happen 偶尔发生,碰巧
tourist 旅游者;观光者
science (自然)科学
marry 结婚
subject 题目;
- I.安装Memcahce 1. 安装依赖包libevent Memcache需要安装libevent,所以安装前可能需要执行 Shell代码 收藏代码
dcj3sjt126com
redis
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
前面3步应该没有问题,主要的问题是执行make的时候,出现了异常。
异常一:
make[2]: cc: Command not found
异常原因:没有安装g
- 并发容器
shuizhaosi888
并发容器
通过并发容器来改善同步容器的性能,同步容器将所有对容器状态的访问都串行化,来实现线程安全,这种方式严重降低并发性,当多个线程访问时,吞吐量严重降低。
并发容器ConcurrentHashMap
替代同步基于散列的Map,通过Lock控制。
&nb
- Spring Security(12)——Remember-Me功能
234390216
Spring SecurityRemember Me记住我
Remember-Me功能
目录
1.1 概述
1.2 基于简单加密token的方法
1.3 基于持久化token的方法
1.4 Remember-Me相关接口和实现
- 位运算
焦志广
位运算
一、位运算符C语言提供了六种位运算符:
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
>> 右移
1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。
例如:9&am
- nodejs 数据库连接 mongodb mysql
liguangsong
mongodbmysqlnode数据库连接
1.mysql 连接
package.json中dependencies加入
"mysql":"~2.7.0"
执行 npm install
在config 下创建文件 database.js
- java动态编译
olive6615
javaHotSpotjvm动态编译
在HotSpot虚拟机中,有两个技术是至关重要的,即动态编译(Dynamic compilation)和Profiling。
HotSpot是如何动态编译Javad的bytecode呢?Java bytecode是以解释方式被load到虚拟机的。HotSpot里有一个运行监视器,即Profile Monitor,专门监视
- Storm0.9.5的集群部署配置优化
roadrunners
优化storm.yaml
nimbus结点配置(storm.yaml)信息:
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional inf
- 101个MySQL 的调节和优化的提示
tomcat_oracle
mysql
1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。 2. 不惜一切代价避免使用Swap交换分区 – 交换时是从硬盘读取的,它的速度很慢。 3. 使用电池供电的RAM(注:RAM即随机存储器)。 4. 使用高级的RAID(注:Redundant Arrays of Inexpensive Disks,即磁盘阵列
- zoj 3829 Known Notation(贪心)
阿尔萨斯
ZOJ
题目链接:zoj 3829 Known Notation
题目大意:给定一个不完整的后缀表达式,要求有2种不同操作,用尽量少的操作使得表达式完整。
解题思路:贪心,数字的个数要要保证比∗的个数多1,不够的话优先补在开头是最优的。然后遍历一遍字符串,碰到数字+1,碰到∗-1,保证数字的个数大于等1,如果不够减的话,可以和最后面的一个数字交换位置(用栈维护十分方便),因为添加和交换代价都是1