- 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
- eclipse java 性能分析工具_性能分析工具VisualVM for eclipse安装过程总结
白鹡鸰
eclipsejava性能分析工具
JavaVisualVMJavaVisualVMisatoolthatprovidesavisualinterfaceforviewingdetailedinformationaboutJavaapplicationswhiletheyarerunningonaJavaVirtualMachine(JVM),andfortroubleshootingandprofilingtheseapplica
- Java中的性能分析工具(如JProfiler、VisualVM)
编程小弟
javajava开发语言
Java中的性能分析工具对于开发者来说是非常有价值的,它们可以帮助我们深入了解应用程序的运行情况,发现潜在的性能问题,并优化代码以提高应用程序的性能。以下是两个常用的Java性能分析工具——JProfiler和VisualVM的详细解释。1.JProfilerJProfiler是一个功能强大的Java性能分析工具,它提供了丰富的视图和工具,帮助开发者理解和优化Java应用程序的性能。以下是JPro
- 通过visualVM远程监控java进程
PursuitK
后端javavisualVM
1.VisualVM简介及功能介绍VisualVM是一个功能强大的工具,用于监视、分析、配置和调试Java应用程序的运行状态。它提供了丰富的功能来帮助开发者和运维人员理解和优化Java应用程序的性能。VisualVM集成了多种JDK工具,并通过直观的GUI界面提供对Java虚拟机(JVM)的深入分析,可以连接到本地和远程的JVM实例,并提供有关应用程序运行时状态、内存使用情况、线程活动等的详细信息
- Mac M1Pro 安装Java性能监控工具VisualVM 2.1.9
只年
工具使用macosjava开发语言
本地已经安装了java8,在终端输入jvisualvm提示没有安装zhinian@sara~%jvisualvmTheoperationcouldn’tbecompleted.UnabletolocateaJavaRuntimethatsupportsjvisualvm.Pleasevisithttp://www.java.comforinformationoninstallingJava.官网下
- Java笔试面试题AI答之线程(11)
工程师老罗
Java笔试面试题AI答java开发语言
文章目录61.简述什么是原子操作?Java中有哪些原子操作?简述原子操作Java中的原子操作62.简述什么是Java竞态条件?你如何发现并解决竞态条件?Java竞态条件(RaceCondition)如何发现竞态条件?如何解决竞态条件?63.简述Java中你如何转储线程(threaddump)?1.使用`jstack`工具2.使用`jconsole`或`VisualVM`3.编程方式注意64.如果你
- 浅谈Tomcat调优步骤和例子
xiongyi01
tomcatjavajvm
Tomcat调优分析Tomcat是JavaWeb应用程序中广泛使用的Web服务器和Servlet容器。为了获得更好的性能和稳定性,可以进行Tomcat调优。下面是Tomcat调优的步骤和例子:分析Tomcat性能瓶颈首先,需要使用工具进行Tomcat性能分析,找出Tomcat性能瓶颈所在。常用的工具包括JProfiler、VisualVM等。调整JVM参数Tomcat是基于Java语言开发的,因此
- Java技术专题-Java Agent探针的技术介绍(1)
洛神灬殇
前提概要Java调式、热部署、JVM背后的支持者JavaAgent:各个JavaIDE的调试功能,例如eclipse、IntelliJ;热部署功能,例如JRebel、XRebel、spring-loaded;各种线上诊断工具,例如Btrace、Greys,还有阿里的Arthas;各种性能分析工具,例如VisualVM、JConsole等;Agent的介绍JavaAgent直译过来叫做Java代理,
- jvisualvm安装Visual GC插件
码界调试侠
Java性能调优jvm
给jdk自带的jvisualvm安装VisualGC插件,遇到We’resorrythejava.netsitehasclosed(我们很抱歉java.net网站已经关闭)1、找到新的更新地址visualvm新访问地址:https://visualvm.github.io/index.html进入“Plugins”,找到对应自己JDK版本的更新地址2、进入jvisualvm的插件管理“工具”-“插
- 《Java 简易速速上手小册》第8章:Java 性能优化(2024 最新版)
江帅帅
《Java简易速速上手小册》java性能优化springspringboot算法数据结构大数据
文章目录8.1性能评估工具-你的性能探测仪8.1.1基础知识8.1.2重点案例:使用VisualVM监控应用性能8.1.3拓展案例1:使用JProfiler分析内存泄漏8.1.4拓展案例2:使用Gatling进行Web应用压力测试8.2JVM调优-魔法引擎的调校8.2.1基础知识8.2.2重点案例:优化Web应用的JVM设置8.2.3拓展案例1:使用ParallelGC优化批处理应用8.2.4拓展
- 【JVM篇】怎么解决内存泄漏问题
在下小吉.
JVMjvmjava
文章目录什么是内存泄漏解决内存泄漏⭐发现问题⭐诊断原因⭐修复问题什么是内存泄漏在Java中如果不再使用一个对象,但是这个对象仍然在GCRoot的引用链上,这个对象就不会被垃圾回收器回收,这种情况就是内存泄漏少量的内存泄漏可以容忍,但是如果发生了持续的内存泄漏,不管有多大的内存迟早都会被消耗完,最终导致内存溢出解决内存泄漏⭐发现问题这里我们需要使用VisualVMLaucher这个工具,大家可以自行
- Java 内存区域
头真的好重好重Y
JVMjava经验分享开发语言jvm面试
JVM介绍:1)JVM学习总结,全面介绍运行时数据区域、各类垃圾收集器的原理使用、内存分配回收策略2)JVM学习总结,虚拟机性能监控、故障处理工具:jps、jstat、jinfo、jmap、VisualVM、jstack等文章目录前言一、Java运行时数据区1.程序计数器(ProgramCounterRegister)2.虚拟机栈(VMStack)3.本地方法栈(NativeMethodStack
- GC调优工具
漫漫求
jvmjavalinux开发语言
1、jstat2、VisualVMGCtool插件插件下载地址:https://blog.csdn.net/jushisi/article/details/1096551753、Prometheus和Grafana监控
- Tomcat的JVM启动参数配置
过的很好谢谢
javajvmtomcatjavaspring缓存
一、windows环境下1、添加JVM参数到Tomcat的bin目录下,打开文件catalina.bat,添加如下参数,然后保存。set"JAVA_OPTS=-Xms512M-Xmx1024M"2、检验是否生效双击bin目录下的startup.bat启动tomcat,然后命令行窗口中输入命令jvisualvm(打开JDK自带的JVM工具JavaVisual),查看tomcat的JVM参数。jvis
- 性能测试之JVM的故障分析工具VisualVM
大道说说
VisualVM是随JDK一同发布的jvm诊断工具,通过插件可以扩展很多功能,插件扩展也是其精华所在。提供了一个可视界面,用于在Java应用程序在Java虚拟机上运行时查看有关Java应用程序的详细信息。此信息可用于对本地和远程应用程序进行故障排除以及对本地应用程序进行性能分析。使用JavaVisualVM,可以生成和分析堆转储,跟踪内存泄漏,执行和监视垃圾回收以及执行轻量级内存和CPU性能分析。
- Tomcat性能优化2大法宝
拥抱AI
tomcat性能优化java
在实际的互联网项目中,通常在用户访问数激增的情况下,导致并发访问量激增,导致系统响应速度下降,用户体验受到影响。下面将从JVM参数调优、线程池优化两个方面,讲述如何对Tomcat进行性能优化:1.JVM参数调优首先,通过JVisualVM或JMX等工具监控系统运行状态,发现频繁的FullGC是导致响应变慢的主要原因。进一步查看堆内存分配情况,发现老年代空间占用较大,新生代对象晋升较快。因此,我们可
- 记一次 JVM CPU 使用率飙高问题的排查过程
Ch97CKd
javalinux数据库cpuandroid
点击关注公众号,Java干货及时送达来源:guobinhit.blogp.csdn.net/article/details/70823903问题现象排查过程问题现象首先,我们一起看看通过VisualVM监控到的机器CPU使用率图:图片如上图所示,在下午3:45分之前,CPU的使用率明显飙高,最高飙到近100%,为什么会出现这样的现象呢?排查过程Step1:使用top命令,查询资源占用情况:图
- VisualVm安装及使用
倜傥村的少年
工具VisualVM
文章目录一、安装1.进入官网下载工具2.下载IDEA插件VisualVMLancher二、使用监控本地monitorHeapDump远程监控一、安装1.进入官网下载工具链接:https://visualvm.github.io/download.html2.下载IDEA插件VisualVMLancher可以用idea启动,也可以直接打开二、使用监控本地当前有本地java程序启动,就会在Local显
- 性能测试常见问题经验汇总
Coding测试
JVM分析神器:visualVM一、内存泄漏1、堆内存溢出现象:(1)压测执行一段时间后,系统处理能力下降。这时用JConsole、JVisualVM等工具连上服务器查看GC情况,每次GC回收都不彻底并且可用堆内存越来越少。(2)压测持续下去,最终在日志中有报错信息:java.lang.OutOfMemoryError.Javaheapspace。排查手段:(1)使用jmap-histopid>t
- CMS如何调优
ZyyIsPig
jvmjava
业务JVM频繁FullGC如何排查原则是先止损,再排查。FGC的原因是对象晋升失败或者并发模式失败,原因都是老年代放不下晋升的对象了。1.可能是大对象导致的内存泄漏。快速排查方法:观察数据库网络IO是否和FGC时间点吻合,找到对应的SQL和代码。分析内存dump。可以使用jvisualvm查看,TODO需要了解分析工具中指标的含义,这种方式定位的时间比较长。https://cloud.tencen
- windows环境如何杀掉Java进程?
ClareXi
笔记java
一、方法步骤:1、cmd2、输入:jvisualvm3、查看Java进程的pid4、然后使用:taskkill/p【pid号】/f强制杀掉pid二、问题:1、什么是pid?PID是各进程的代号,每个进程有唯一的PID编号。它是进程运行时系统分配的,并不代表专门的进程。在运行时PID是不会改变标识符的,但是进程终止后PID标识符就会被系统回收,就可能会被继续分配给新运行的程序。2、jvisualvm
- Java性能分析中常用的命令和工具
A尘埃
java开发语言常用的命令和工具
命令功能jps用于查看正在运行的Java进程的状态信息jinfo用于查看和修改正在运行的Java进程的Java虚拟机(JVM)参数和系统属性。jstack用于生成Java进程的线程转储信息jmap用于生成Java进程的内存映射信息jconsole是Java自带的监控和管理控制台,它提供了一个图形化界面,允许您监视和管理正在运行的Java应用程序的性能和资源使用情况jvisualvm是一款功能强大的
- JVM工作原理与实战(二十九):监控内存泄漏的工具
橘子-青衫
JVM工作原理与实战jvmjava后端架构
专栏导航JVM工作原理与实战RabbitMQ入门指南从零开始了解大数据目录专栏导航前言一、解决内存溢出的步骤二、发现问题1.Top命令2.VisualVM3.Arthas4.Prometheus+Grafana总结前言JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了解决内存溢出的步骤、Top命令、V
- 备战面试日记(2.6) - (JVM.JVM调优)
舍其小伙伴
面试准备JVM虚拟机相关面试java职场和发展
本人本科毕业,21届毕业生,一年工作经验,简历专业技能如下,现根据简历,并根据所学知识复习准备面试。记录日期:2022.1.3大部分知识点只做大致介绍,具体内容根据推荐博文链接进行详细复习。文章目录JVM-JVM调优JVM参数JVM参数设置方法JVM调优工具JPS、JMAP、JSTACKjconsolejvisualvm使用方式JVM调优方案调优原则调优目的从应用层面来说从虚拟机层面来说调优方案调
- JVM调优
程序员不是狗
jvm调优jvmjavalinux
JVM调优-VisualVmVisualVm/Jconsule远程连接第一种方式第二种方式:java11开启远程GC连接(jstatd配置开启)如果还连不上考虑防火墙拦截了端口,firewall-cmd--list-all,查看一下并暴露对应端口连接配置VisualVm界面简介采集GC信息的一些命令垃圾回收器切换一些垃圾回收器参数jvm不会把已经申请的内存还给OS,因为很可能马上又要分配给新的对象
- Java 自带的性能调优神器!!你还没用过吗?
就要学Java
javajvm开发语言性能优化数据库
VisualVM是Netbeans的profile子项目,已在JDK6.0update7中自带,能够监控线程,内存情况,查看方法的CPU时间和内存中的对象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的)。在JDK_HOME/bin(默认是C:\ProgramFiles\Java\jdk1.6.0_13\bin)目录下面,有一个jvisualvm.exe文
- VisualVM 连接到远程服务器
zhujyy110
服务器运维javajvm
使用VisualVM连接到远程服务器的步骤如下:在远程服务器上启动JMX服务:在你的Java应用程序启动脚本或命令行参数中添加JMX参数。示例命令如下:bash复制代码java-Dcom.sun.management.jmxremote\-Dcom.sun.management.jmxremote.port=port_number\-Dcom.sun.management.jmxremote.ss
- 【并发编程】锁死的问题——如何解决?以及如何避免?
王果冻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篇--JVM调优高频面试题
ayu_programer
面试JVMjvm
1说一下JVM调优的工具?JDK自带了很多监控工具,都位于JDK的bin目录下,其中最常用的是jconsole和jvisualvm这两款视图监控工具。jconsole:用于对JVM中的内存、线程和类等进行监控;jvisualvm:JDK自带的全能分析工具,可以分析:内存快照、线程快照、程序死锁、监控内存的变化、gc变化等2常用的JVM调优的参数都有哪些?-Xms2g:初始化推大小为2g;-Xmx2
- Java实现的简单双向Map,支持重复Value
superlxw1234
java双向map
关键字:Java双向Map、DualHashBidiMap
有个需求,需要根据即时修改Map结构中的Value值,比如,将Map中所有value=V1的记录改成value=V2,key保持不变。
数据量比较大,遍历Map性能太差,这就需要根据Value先找到Key,然后去修改。
即:既要根据Key找Value,又要根据Value
- PL/SQL触发器基础及例子
百合不是茶
oracle数据库触发器PL/SQL编程
触发器的简介;
触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。触发器和过程函数类似 过程函数必须要调用,
一个表中最多只能有12个触发器类型的,触发器和过程函数相似 触发器不需要调用直接执行,
触发时间:指明触发器何时执行,该值可取:
before:表示在数据库动作之前触发
- [时空与探索]穿越时空的一些问题
comsci
问题
我们还没有进行过任何数学形式上的证明,仅仅是一个猜想.....
这个猜想就是; 任何有质量的物体(哪怕只有一微克)都不可能穿越时空,该物体强行穿越时空的时候,物体的质量会与时空粒子产生反应,物体会变成暗物质,也就是说,任何物体穿越时空会变成暗物质..(暗物质就我的理
- easy ui datagrid上移下移一行
商人shang
js上移下移easyuidatagrid
/**
* 向上移动一行
*
* @param dg
* @param row
*/
function moveupRow(dg, row) {
var datagrid = $(dg);
var index = datagrid.datagrid("getRowIndex", row);
if (isFirstRow(dg, row)) {
- Java反射
oloz
反射
本人菜鸟,今天恰好有时间,写写博客,总结复习一下java反射方面的知识,欢迎大家探讨交流学习指教
首先看看java中的Class
package demo;
public class ClassTest {
/*先了解java中的Class*/
public static void main(String[] args) {
//任何一个类都
- springMVC 使用JSR-303 Validation验证
杨白白
springmvc
JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。
JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。
登录需要验证类
public class Login {
@NotEmpty
- log4j
香水浓
log4j
log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, HTML, DATABASE
#log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, ROLLINGFILE, HTML
#console
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4
- 使用ajax和history.pushState无刷新改变页面URL
agevs
jquery框架Ajaxhtml5chrome
表现
如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。
是什么有这么强大的功能呢?
HTML5里引用了新的API,history.pushState和history.replaceState,就是通过
- centos中文乱码
AILIKES
centosOSssh
一、CentOS系统访问 g.cn ,发现中文乱码。
于是用以前的方式:yum -y install fonts-chinese
CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。
后来,终于找到以下方法可以解决,需要两个中文支持的包:
fonts-chinese-3.02-12.
- 触发器
baalwolf
触发器
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)
语法:
create trigger triggerName
after/before 
- JS正则表达式的i m g
bijian1013
JavaScript正则表达式
g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。 i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写。 m:表示
- HTML5模式和Hashbang模式
bijian1013
JavaScriptAngularJSHashbang模式HTML5模式
我们可以用$locationProvider来配置$location服务(可以采用注入的方式,就像AngularJS中其他所有东西一样)。这里provider的两个参数很有意思,介绍如下。
html5Mode
一个布尔值,标识$location服务是否运行在HTML5模式下。
ha
- [Maven学习笔记六]Maven生命周期
bit1129
maven
从mvn test的输出开始说起
当我们在user-core中执行mvn test时,执行的输出如下:
/software/devsoftware/jdk1.7.0_55/bin/java -Dmaven.home=/software/devsoftware/apache-maven-3.2.1 -Dclassworlds.conf=/software/devs
- 【Hadoop七】基于Yarn的Hadoop Map Reduce容错
bit1129
hadoop
运行于Yarn的Map Reduce作业,可能发生失败的点包括
Task Failure
Application Master Failure
Node Manager Failure
Resource Manager Failure
1. Task Failure
任务执行过程中产生的异常和JVM的意外终止会汇报给Application Master。僵死的任务也会被A
- 记一次数据推送的异常解决端口解决
ronin47
记一次数据推送的异常解决
需求:从db获取数据然后推送到B
程序开发完成,上jboss,刚开始报了很多错,逐一解决,可最后显示连接不到数据库。机房的同事说可以ping 通。
自已画了个图,逐一排除,把linux 防火墙 和 setenforce 设置最低。
service iptables stop
- 巧用视错觉-UI更有趣
brotherlamp
UIui视频ui教程ui自学ui资料
我们每个人在生活中都曾感受过视错觉(optical illusion)的魅力。
视错觉现象是双眼跟我们开的一个玩笑,而我们往往还心甘情愿地接受我们看到的假象。其实不止如此,视觉错现象的背后还有一个重要的科学原理——格式塔原理。
格式塔原理解释了人们如何以视觉方式感觉物体,以及图像的结构,视角,大小等要素是如何影响我们的视觉的。
在下面这篇文章中,我们首先会简单介绍一下格式塔原理中的基本概念,
- 线段树-poj1177-N个矩形求边长(离散化+扫描线)
bylijinnan
数据结构算法线段树
package com.ljn.base;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/**
* POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177
- HTTP协议详解
chicony
http协议
引言
- Scala设计模式
chenchao051
设计模式scala
Scala设计模式
我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于文章很nice,我利用今天的空闲时间将其翻译,希望大家能一起学习,讨论。翻译
- 安装mysql
daizj
mysql安装
安装mysql
(1)删除linux上已经安装的mysql相关库信息。rpm -e xxxxxxx --nodeps (强制删除)
执行命令rpm -qa |grep mysql 检查是否删除干净
(2)执行命令 rpm -i MySQL-server-5.5.31-2.el
- HTTP状态码大全
dcj3sjt126com
http状态码
完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request
- asihttprequest上传图片
dcj3sjt126com
ASIHTTPRequest
NSURL *url =@"yourURL";
ASIFormDataRequest*currentRequest =[ASIFormDataRequest requestWithURL:url];
[currentRequest setPostFormat:ASIMultipartFormDataPostFormat];[currentRequest se
- C语言中,关键字static的作用
e200702084
C++cC#
在C语言中,关键字static有三个明显的作用:
1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。
一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访
- win7/8使用curl
geeksun
win7
1. WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址:
http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包 2. 可以给Windows增加c
- Creating a Shared Repository; Users Sharing The Repository
hongtoushizi
git
转载自:
http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ Commands discussed in this section:
git init –bare
git clone
git remote
git pull
git p
- Java实现字符串反转的8种或9种方法
Josh_Persistence
异或反转递归反转二分交换反转java字符串反转栈反转
注:对于第7种使用异或的方式来实现字符串的反转,如果不太看得明白的,可以参照另一篇博客:
http://josh-persistence.iteye.com/blog/2205768
/**
*
*/
package com.wsheng.aggregator.algorithm.string;
import java.util.Stack;
/**
- 代码实现任意容量倒水问题
home198979
PHP算法倒水
形象化设计模式实战 HELLO!架构 redis命令源码解析
倒水问题:有两个杯子,一个A升,一个B升,水有无限多,现要求利用这两杯子装C
- Druid datasource
zhb8015
druid
推荐大家使用数据库连接池 DruidDataSource. http://code.alibabatech.com/wiki/display/Druid/DruidDataSource DruidDataSource经过阿里巴巴数百个应用一年多生产环境运行验证,稳定可靠。 它最重要的特点是:监控、扩展和性能。 下载和Maven配置看这里: http
- 两种启动监听器ApplicationListener和ServletContextListener
spjich
javaspring框架
引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器
ServletContextListener
特点: 依赖于sevlet容器,需要配置web.xml
使用方法:
public class StartListener implements
- JavaScript Rounding Methods of the Math object
何不笑
JavaScriptMath
The next group of methods has to do with rounding decimal values into integers. Three methods — Math.ceil(), Math.floor(), and Math.round() — handle rounding in differen