- cpu load飙高排查问题
qq_26519079
javalinux服务器
步骤一:查看cpu占用高进程top(Pcpu使用率排序),找到对应的进程的pid(205)步骤二:看进程205的线程,只看这一个进程的线程,定位到线程top-H-p205线程id为25000步骤三:转换线程IDprintf"%x\n"25000转化后的id为45d8步骤四:定位cpu占用线程,打印线程日志jstack205|grep45d8-A30步骤五:根据打印出来的线程日志定位具体的问题
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
web718
Java
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(LockContention)J
- jstack排查CPU标高
StaticKing
个人知识管理jvmjava
前言由于日常开发过程中一些线程池的不规范使用及不能正常评估CPU计算密集型资源耗费或不正确的处理方式或过度的I/O操作可能会导致线程忙碌地等待I/O完成,从而影响CPU使用率,以及错误的线程使用便会出现CPU标高的问题问题排查与定位top命令查看占用CPU资源最高的进程top执行结果top-10:05:08up297days,19:11,0users,loadaverage:15.55,18.55
- java jmap jstat_JVM性能调优监控工具jps、jstack、jstat、jmap、jinfo使用详解
小五咔咔咔
javajmapjstat
是什么jps查看所有的jvm进程,包括进程ID,进程启动的路径等等。我自己也用PS,即:ps-ef|grepjavajstack观察jvm中当前所有线程的运行情况和线程当前状态。系统崩溃了?如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的javastack和nativestack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。系统hung住了?
- jstack输出文件linux,Jvm dump jstack jmap jstat 介绍与使用
欢12
jstack输出文件linux
总结:(1)栈信息:jstack输出的信息。(2)堆信息:jmap-dump输出的文件,(3)jstat查看gc情况,jstat-gc间隔毫秒数比如jstat-gc123455000也就是每隔5秒打印进程12345的gc情况一、看一下jstackjstack-m>jvm_deadlocks.txtjstack-l>jvm_listlocks.txt参考资料jstack-StackTrace使用to
- 精通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
- jvm监控工具一览
Daniel 大东
jvm
下面是对BTrace、JAD、JMAP、JSTAT、JSTACK、JINFO以及MARK工具的比较表:工具/属性功能适用场景使用难度是否侵入式是否需要重启JVMBTrace动态跟踪和监控Java应用程序性能分析、故障排查、日志收集、安全监控中等无侵入式否JAD反编译Java字节码文件(.class)查看Java代码,尤其是源代码丢失时低无侵入式否JMAP导出堆内存快照、显示内存使用统计分析内存泄漏
- Java笔试面试题AI答之线程(11)
工程师老罗
Java笔试面试题AI答java开发语言
文章目录61.简述什么是原子操作?Java中有哪些原子操作?简述原子操作Java中的原子操作62.简述什么是Java竞态条件?你如何发现并解决竞态条件?Java竞态条件(RaceCondition)如何发现竞态条件?如何解决竞态条件?63.简述Java中你如何转储线程(threaddump)?1.使用`jstack`工具2.使用`jconsole`或`VisualVM`3.编程方式注意64.如果你
- JVM调优之jstack找出最耗cpu的线程并定位代码
机灵鬼鬼
jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多。第一步:top命令找出占用cpu最大的PID为9306第二步:使用top-Hp9306输出如下:找出占用资源的线程号10294TIME列就是各个Java线程耗费的CPU时间,CPU时间最长的是线程ID为10294的线程,用printf"%x\n"10294得到10294的十六进制值为54ee,
- Java 定位导致CPU飙升的代码过程
kikiki4
线上的一个日志实时输出的程序曾经出过这样一个问题,刚开始上线java程序占用的CPU的资源很少,但是到了整点的时候,CPU直线飙高,直接到达100%根本没有要下降的趋势,唯一的方法只能杀掉它了,后面在借助jstack与top排查到线程然后定位到某行代码出的问题。排查演示使用jps找到程序的pid[root@logsbin]#./jps-l-m|greplogdir222169galaxy-log-
- 使用jstack分析Java线程
java
YouusethejstackcommandtoprintJavastacktracesofJavathreadsforaspecifiedJavaprocess.Thiscommandisexperimentalandunsupported.官方文档中,jstack是用于打印指定Java进程的线程堆栈跟踪,我们通常用jstack来分析死锁和死循环等场景。使用方式及参数Usage:jstack[-
- java程序造成服务器cpu飙高如何定位代码
雨会停rain
linux运维服务器
1.使用top命令找出cpu占比最高的,并记录pid2.使用jps或者grep进一步定位jps-lps-ef|grepjava|grep-vgrep3.定位到具体的线程或者代码ps-mp进程-oTHREAD,tid,time4.将需要的线程TID转换为16进制格式(英文小写格式)5.jstack进程ID|greptid(16进制线程ID小写英文)-A60A60:表示打印前60行
- 每日五道java面试题之java基础篇(九)
中北萌新程序员
java面试题javajvm开发语言面试
目录:第一题你们项⽬如何排查JVM问题第二题⼀个对象从加载到JVM,再到被GC清除,都经历了什么过程?第三题怎么确定⼀个对象到底是不是垃圾?第四题JVM有哪些垃圾回收算法?第五题什么是STW?第一题你们项⽬如何排查JVM问题对于还在正常运⾏的系统:可以使⽤jmap来查看JVM中各个区域的使⽤情况可以通过jstack来查看线程的运⾏情况,⽐如哪些线程阻塞、是否出现了死锁可以通过jstat命令来查看垃
- Linux系统java进程CPU占用过高问题排查
千月落
Javalinux运维服务器
1.通过top命令查看,CPU占用高的进程top2.查看该进程下线程占用CPU情况12133-进程号top-Hp12133这里的PID是线程ID,可以看到,有几个线程CPU占用过高。3.将线程ID转成16进制printf'0x%x\n'54214.通过jstack命令查看线程堆栈12113-进程号0xc81-上面查到的16进制线程号jstack12113|grep0xc81-A20通过堆栈信息,找
- 排查Linux系统下java服务cpu占用率过高的流程
Rookie。
javalinuxjvm
1.通过top命令找到cpu使用率高的程序的进程号,其中进程号为PIDtop2.通过命令找到该java服务下cpu使用率高的线程,其中线程号为TIDtop-HpPID3.将线程ID转成16进制printf'0x%x\n'TID4.通过jstack命令查看线程堆栈jstackPID|grepTID的16进制-A20
- 解决jstack的报错:Unable to open socket file
java
原文网址:解决jstack的报错:Unabletoopensocketfile_IT利刃出鞘的博客-CSDN博客简介说明本文介绍解决jstack的报错的方法,报错信息为:Unabletoopensocketfile。分享Java技术星球:自学精灵-IT技术星球详细报错信息:进程号:Unabletoopensocketfile:targetprocessnotrespondingorHotSpotV
- Java 内存区域
头真的好重好重Y
JVMjava经验分享开发语言jvm面试
JVM介绍:1)JVM学习总结,全面介绍运行时数据区域、各类垃圾收集器的原理使用、内存分配回收策略2)JVM学习总结,虚拟机性能监控、故障处理工具:jps、jstat、jinfo、jmap、VisualVM、jstack等文章目录前言一、Java运行时数据区1.程序计数器(ProgramCounterRegister)2.虚拟机栈(VMStack)3.本地方法栈(NativeMethodStack
- 并发_查看运行时的线程信息
笑一个吧小傻瓜
打开终端输入命令jps,结果示例:35696KotlinCompileDaemon7812Launcher11880ThreadState1440821064Jps输入命令jstack#pid#,这里是jstack11880,结果示例:"BlockedThread-2"#12prio=5os_prio=0tid=0x151af800nid=0x50dcwaitingformonitorentry[
- Java死锁检测之JStack
touch_The_Sky
JStack是JDK自带的命令行工具,主要用于线程Dump分析。(Dump文件是进程的内存镜像。保存的是进程的执行状态信息),该工具可以在JAVA_HOME/bin目录下找到,但是并非是图形化界面,所以不能双击运行使用方式:1.打开CMD命令提示符界面,输入jps命令查看Java进程信息jstack2.jpg2.找到要调试的JVM进程号pid,这里是15964执行jsatck-lpid(-l参数可
- Linux环境下定位CPU飙高的原因
林犀居士
javaLinuxcpu消耗过高java进程jstack
前言实际开发与维护java项目的时候,经常会遇上cpu消耗过多的情况,导致接口响应迟缓。造成cpu过高的原因很多,比如线程互相等待,线程死锁,网络带宽跟不上等等。本文将通过jdk自带的工具jstack查询日志定位原因。操作步骤查找java进程通过top命令查询消耗cpu最高的java进程,然后shitf+p倒序,如图:user表示该进程的所属用户,在后续的jstack中需要用到。根据进程号查询cp
- Jvm dump介绍与使用(内存与线程)
Brave_Coder
很多情况下,都会出现dump这个字眼,java虚拟机jvm中也不例外,其中主要包括内存dump、线程dump。当发现应用内存溢出或长时间使用内存很高的情况下,通过内存dump进行分析可找到原因。当发现cpu使用率很高时,通过线程dump定位具体哪个线程在做哪个工作占用了过多的资源。首先,内存dump是指通过jmap-dump输出的文件,而线程dump是指通过jstack输出的信息。两个dump可以
- java工具之JVM监控
这一刻_776b
一、JVM监控工具JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、jconsole、jinfo、hprof使用详解-实例分析(1)jps:用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。命令格式:jps或jps远程服务ip地址(默认端口1099)(2)jstack:可以观察到jvm中当前所有线程的运行情况和线程当前状态。,如果现在运行
- 1次生产环境GC频繁导致接口出现超过问题的排查经过
java后端领域
机器负载分析通过top命令分析系统负载,发现loadaverage=1.5左右,但是机器是4核的,所以负载并不高找到对应服务进程中使用cpu最高的线程top-Hp进程号1563936535057.png发现3306这个线程使用cpu高达88.9%,于是需要分析改线程做了啥打印线程栈信息:jstack进程号>stack.txt1563936564770.png找到3306的线程栈信息将3306转换为
- 进程中线程使用率偏高问题排查
江山太美
javajvm开发语言
1.top命令查看CPU使用率高的进程2.top-H-p15931(进程PID)查看进程下的线程3.printf"%x\n"17503(线程PID)线程PID10进制转16进制0x445f4.jstack-l15931(JVM进程PID)导出java进程栈信息,里面包含线程nid=0x445f和所在的类,可结合grep命令搜索第二种:Arthas方式快捷明了thread列出所有线程信息thread
- solr的原理是什么
我但行好事莫问前程
log4j
1Java程序里如果有无限for循环的代码导致CPU负载超高,如何排查?排查Java程序中由于无限循环导致的CPU负载过高的问题,可以按照以下步骤进行:资源监控:使用系统命令行工具(如Linux上的top或htop,Windows上的TaskManager)实时查看进程ID和线程占用CPU的情况。对于Java进程,可以使用jps命令找到Java应用的进程ID,然后用jstack命令获取线程堆栈信息
- jstack的使用
黄二的NPE
jstack简介通过jstack,我们可以轻松得知jvm中各个线程的工作情况.工作情况jstack-lpid(查出某个进程中运行的所有线程)利用ps-aux找出我们的java线程41,然后再用jstack-l41,就可以查看jvm此刻运行的所有线程.下面是截取的两个jvm运行的普通线程,一个是守护线程,另外一个是用户线程.守护线程守护线程是指给程序提供通用性支持的线程,他不属于程序,gc就是一个很
- Debezium Mysql BinLog同步引擎的内存爆满,频繁GC导致CPU爆高
多动手,勤思考
mysqljvmjava
现象,第一步同步任务的http接口查询任务列表接口突然变卡,很久才相应,进入服务器后执行top命令发现CPU已经爆满。top(查看进程占用资源)机器是4核,所以占用了400%top-H-p276965(查看进程ID下的子进程占用资源)4个子线程,每个各占了100%printf“%x\n”276970jstack276965|grep439ea-A100通过查看当前线程执行的详情,发现输出的是gc线
- 线上问题排查方法
zeki豪
实操java
文章目录查看栈信息查看堆信息排查cpu占用最高的线程从而定位代码位置查看栈信息先进入docker容器,dockerexec-it容器号bashtop查看进程列表查看线程占用排行top-Hp1(查看进程pid为1下面的线程列表情况)查看进程id为1的各线程情况jstack-l1可以将栈信息生成文件jstack-l1>2.log查看对应进程号的信息,比如要看线程id是28的,那么28的16进制是1C,
- jvm优化过程
虎神大帝
jvm
1.top命令执行查看,当前占比比较高的进程,可以看到21660这个进程的cpu占比已经100%了编辑2.可以定位到那个微服务的进程,可以看到是fs服务编辑3.执行top-p21660,然后按下大写的H,可以看到21772这个线程占比最高编辑4.然后将21772转为16进制是:550c编辑5.jstack21660>/data/aa.txt,将该进程的全部堆栈信息放入临时文件aa.txt里面编辑编
- Java性能分析中常用的命令和工具
A尘埃
java开发语言常用的命令和工具
命令功能jps用于查看正在运行的Java进程的状态信息jinfo用于查看和修改正在运行的Java进程的Java虚拟机(JVM)参数和系统属性。jstack用于生成Java进程的线程转储信息jmap用于生成Java进程的内存映射信息jconsole是Java自带的监控和管理控制台,它提供了一个图形化界面,允许您监视和管理正在运行的Java应用程序的性能和资源使用情况jvisualvm是一款功能强大的
- LeetCode[位运算] - #137 Single Number II
Cwind
javaAlgorithmLeetCode题解位运算
原题链接:#137 Single Number II
要求:
给定一个整型数组,其中除了一个元素之外,每个元素都出现三次。找出这个元素
注意:算法的时间复杂度应为O(n),最好不使用额外的内存空间
难度:中等
分析:
与#136类似,都是考察位运算。不过出现两次的可以使用异或运算的特性 n XOR n = 0, n XOR 0 = n,即某一
- 《JavaScript语言精粹》笔记
aijuans
JavaScript
0、JavaScript的简单数据类型包括数字、字符创、布尔值(true/false)、null和undefined值,其它值都是对象。
1、JavaScript只有一个数字类型,它在内部被表示为64位的浮点数。没有分离出整数,所以1和1.0的值相同。
2、NaN是一个数值,表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括它本身。可以用函数isNaN(number)检测NaN,但是
- 你应该更新的Java知识之常用程序库
Kai_Ge
java
在很多人眼中,Java 已经是一门垂垂老矣的语言,但并不妨碍 Java 世界依然在前进。如果你曾离开 Java,云游于其它世界,或是每日只在遗留代码中挣扎,或许是时候抬起头,看看老 Java 中的新东西。
Guava
Guava[gwɑ:və],一句话,只要你做Java项目,就应该用Guava(Github)。
guava 是 Google 出品的一套 Java 核心库,在我看来,它甚至应该
- HttpClient
120153216
httpclient
/**
* 可以传对象的请求转发,对象已流形式放入HTTP中
*/
public static Object doPost(Map<String,Object> parmMap,String url)
{
Object object = null;
HttpClient hc = new HttpClient();
String fullURL
- Django model字段类型清单
2002wmj
django
Django 通过 models 实现数据库的创建、修改、删除等操作,本文为模型中一般常用的类型的清单,便于查询和使用: AutoField:一个自动递增的整型字段,添加记录时它会自动增长。你通常不需要直接使用这个字段;如果你不指定主键的话,系统会自动添加一个主键字段到你的model。(参阅自动主键字段) BooleanField:布尔字段,管理工具里会自动将其描述为checkbox。 Cha
- 在SQLSERVER中查找消耗CPU最多的SQL
357029540
SQL Server
返回消耗CPU数目最多的10条语句
SELECT TOP 10
total_worker_time/execution_count AS avg_cpu_cost, plan_handle,
execution_count,
(SELECT SUBSTRING(text, statement_start_of
- Myeclipse项目无法部署,Undefined exploded archive location
7454103
eclipseMyEclipse
做个备忘!
错误信息为:
Undefined exploded archive location
原因:
在工程转移过程中,导致工程的配置文件出错;
解决方法:
 
- GMT时间格式转换
adminjun
GMT时间转换
普通的时间转换问题我这里就不再罗嗦了,我想大家应该都会那种低级的转换问题吧,现在我向大家总结一下如何转换GMT时间格式,这种格式的转换方法网上还不是很多,所以有必要总结一下,也算给有需要的朋友一个小小的帮助啦。
1、可以使用
SimpleDateFormat SimpleDateFormat
EEE-三位星期
d-天
MMM-月
yyyy-四位年
- Oracle数据库新装连接串问题
aijuans
oracle数据库
割接新装了数据库,客户端登陆无问题,apache/cgi-bin程序有问题,sqlnet.log日志如下:
Fatal NI connect error 12170.
VERSION INFORMATION: TNS for Linux: Version 10.2.0.4.0 - Product
- 回顾java数组复制
ayaoxinchao
java数组
在写这篇文章之前,也看了一些别人写的,基本上都是大同小异。文章是对java数组复制基础知识的回顾,算是作为学习笔记,供以后自己翻阅。首先,简单想一下这个问题:为什么要复制数组?我的个人理解:在我们在利用一个数组时,在每一次使用,我们都希望它的值是初始值。这时我们就要对数组进行复制,以达到原始数组值的安全性。java数组复制大致分为3种方式:①for循环方式 ②clone方式 ③arrayCopy方
- java web会话监听并使用spring注入
bewithme
Java Web
在java web应用中,当你想在建立会话或移除会话时,让系统做某些事情,比如说,统计在线用户,每当有用户登录时,或退出时,那么可以用下面这个监听器来监听。
import java.util.ArrayList;
import java.ut
- NoSQL数据库之Redis数据库管理(Redis的常用命令及高级应用)
bijian1013
redis数据库NoSQL
一 .Redis常用命令
Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以在Linux终端使用。
a.键值相关命令
b.服务器相关命令
1.键值相关命令
&
- java枚举序列化问题
bingyingao
java枚举序列化
对象在网络中传输离不开序列化和反序列化。而如果序列化的对象中有枚举值就要特别注意一些发布兼容问题:
1.加一个枚举值
新机器代码读分布式缓存中老对象,没有问题,不会抛异常。
老机器代码读分布式缓存中新对像,反序列化会中断,所以在所有机器发布完成之前要避免出现新对象,或者提前让老机器拥有新增枚举的jar。
2.删一个枚举值
新机器代码读分布式缓存中老对象,反序列
- 【Spark七十八】Spark Kyro序列化
bit1129
spark
当使用SparkContext的saveAsObjectFile方法将对象序列化到文件,以及通过objectFile方法将对象从文件反序列出来的时候,Spark默认使用Java的序列化以及反序列化机制,通常情况下,这种序列化机制是很低效的,Spark支持使用Kyro作为对象的序列化和反序列化机制,序列化的速度比java更快,但是使用Kyro时要注意,Kyro目前还是有些bug。
Spark
- Hybridizing OO and Functional Design
bookjovi
erlanghaskell
推荐博文:
Tell Above, and Ask Below - Hybridizing OO and Functional Design
文章中把OO和FP讲的深入透彻,里面把smalltalk和haskell作为典型的两种编程范式代表语言,此点本人极为同意,smalltalk可以说是最能体现OO设计的面向对象语言,smalltalk的作者Alan kay也是OO的最早先驱,
- Java-Collections Framework学习与总结-HashMap
BrokenDreams
Collections
开发中常常会用到这样一种数据结构,根据一个关键字,找到所需的信息。这个过程有点像查字典,拿到一个key,去字典表中查找对应的value。Java1.0版本提供了这样的类java.util.Dictionary(抽象类),基本上支持字典表的操作。后来引入了Map接口,更好的描述的这种数据结构。
&nb
- 读《研磨设计模式》-代码笔记-职责链模式-Chain Of Responsibility
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/**
* 业务逻辑:项目经理只能处理500以下的费用申请,部门经理是1000,总经理不设限。简单起见,只同意“Tom”的申请
* bylijinnan
*/
abstract class Handler {
/*
- Android中启动外部程序
cherishLC
android
1、启动外部程序
引用自:
http://blog.csdn.net/linxcool/article/details/7692374
//方法一
Intent intent=new Intent();
//包名 包名+类名(全路径)
intent.setClassName("com.linxcool", "com.linxcool.PlaneActi
- summary_keep_rate
coollyj
SUM
BEGIN
/*DECLARE minDate varchar(20) ;
DECLARE maxDate varchar(20) ;*/
DECLARE stkDate varchar(20) ;
DECLARE done int default -1;
/* 游标中 注册服务器地址 */
DE
- hadoop hdfs 添加数据目录出错
daizj
hadoophdfs扩容
由于原来配置的hadoop data目录快要用满了,故准备修改配置文件增加数据目录,以便扩容,但由于疏忽,把core-site.xml, hdfs-site.xml配置文件dfs.datanode.data.dir 配置项增加了配置目录,但未创建实际目录,重启datanode服务时,报如下错误:
2014-11-18 08:51:39,128 WARN org.apache.hadoop.h
- grep 目录级联查找
dongwei_6688
grep
在Mac或者Linux下使用grep进行文件内容查找时,如果给定的目标搜索路径是当前目录,那么它默认只搜索当前目录下的文件,而不会搜索其下面子目录中的文件内容,如果想级联搜索下级目录,需要使用一个“-r”参数:
grep -n -r "GET" .
上面的命令将会找出当前目录“.”及当前目录中所有下级目录
- yii 修改模块使用的布局文件
dcj3sjt126com
yiilayouts
方法一:yii模块默认使用系统当前的主题布局文件,如果在主配置文件中配置了主题比如: 'theme'=>'mythm', 那么yii的模块就使用 protected/themes/mythm/views/layouts 下的布局文件; 如果未配置主题,那么 yii的模块就使用 protected/views/layouts 下的布局文件, 总之默认不是使用自身目录 pr
- 设计模式之单例模式
come_for_dream
设计模式单例模式懒汉式饿汉式双重检验锁失败无序写入
今天该来的面试还没来,这个店估计不会来电话了,安静下来写写博客也不错,没事翻了翻小易哥的博客甚至与大牛们之间的差距,基础知识不扎实建起来的楼再高也只能是危楼罢了,陈下心回归基础把以前学过的东西总结一下。
*********************************
- 8、数组
豆豆咖啡
二维数组数组一维数组
一、概念
数组是同一种类型数据的集合。其实数组就是一个容器。
二、好处
可以自动给数组中的元素从0开始编号,方便操作这些元素
三、格式
//一维数组
1,元素类型[] 变量名 = new 元素类型[元素的个数]
int[] arr =
- Decode Ways
hcx2013
decode
A message containing letters from A-Z is being encoded to numbers using the following mapping:
'A' -> 1
'B' -> 2
...
'Z' -> 26
Given an encoded message containing digits, det
- Spring4.1新特性——异步调度和事件机制的异常处理
jinnianshilongnian
spring 4.1
目录
Spring4.1新特性——综述
Spring4.1新特性——Spring核心部分及其他
Spring4.1新特性——Spring缓存框架增强
Spring4.1新特性——异步调用和事件机制的异常处理
Spring4.1新特性——数据库集成测试脚本初始化
Spring4.1新特性——Spring MVC增强
Spring4.1新特性——页面自动化测试框架Spring MVC T
- squid3(高命中率)缓存服务器配置
liyonghui160com
系统:centos 5.x
需要的软件:squid-3.0.STABLE25.tar.gz
1.下载squid
wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE25.tar.gz
tar zxf squid-3.0.STABLE25.tar.gz &&
- 避免Java应用中NullPointerException的技巧和最佳实践
pda158
java
1) 从已知的String对象中调用equals()和equalsIgnoreCase()方法,而非未知对象。 总是从已知的非空String对象中调用equals()方法。因为equals()方法是对称的,调用a.equals(b)和调用b.equals(a)是完全相同的,这也是为什么程序员对于对象a和b这么不上心。如果调用者是空指针,这种调用可能导致一个空指针异常
Object unk
- 如何在Swift语言中创建http请求
shoothao
httpswift
概述:本文通过实例从同步和异步两种方式上回答了”如何在Swift语言中创建http请求“的问题。
如果你对Objective-C比较了解的话,对于如何创建http请求你一定驾轻就熟了,而新语言Swift与其相比只有语法上的区别。但是,对才接触到这个崭新平台的初学者来说,他们仍然想知道“如何在Swift语言中创建http请求?”。
在这里,我将作出一些建议来回答上述问题。常见的
- Spring事务的传播方式
uule
spring事务
传播方式:
新建事务
required
required_new - 挂起当前
非事务方式运行
supports
&nbs