-
JUnit & JMockit单元测试
文章目录 JUnit&JMockit单元测试总结 1.JUnit简介 2.JMockit简介 3.Maven集成单元测试工具 4.单元测试的使用 JUnit&JMockit单元测试总结 1.JUnit简介 Java单元测试框架业内应用较多的是JUnit,它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 …- 8
- 0
-
JAVA并发编程(三):同步的辅助类之闭锁(CountDownLatch)与循环屏障(CyclicBarrier)
jdk1.5的concurrent包为我们提供了很多有用的辅助类,今天我们来学习一下 一、闭锁CountDownLatch CountDownLatch是一个同步工具类,用来协调多个线程之间的同步。它的作用是,在完成某些运算时,只有其他所有线程的运算全部完成,当前线程的运算才继续执行。 CountDownLatch类只提供了一个构造器: 1public CountDownLatch(int cou…- 8
- 0
-
一步步优化JVM六:优化吞吐量[转]
原文:http://ganlv.iteye.com/blog/1571315 参考:http://www.myexception.cn/software-architecture-design/1455594.html 现代JVM是一个具有灵活适应各种应用能力的软件,尽管很多应用能够在JVM的默认配置下运行良好,但是有些应用还是需要优化JVM配置以达到其性能要求。由于各种各样的应用能够运行在现…- 15
- 0
-
JVM性能优化系列-(2) 垃圾收集器与内存分配策略
目前已经更新完《Java并发编程》,《Docker教程》和《JVM性能优化》,欢迎关注【后端精进之路】,轻松阅读全部文章。 Java并发编程: Java并发编程系列-(1) 并发编程基础 Java并发编程系列-(2) 线程的并发工具类 Java并发编程系列-(3) 原子操作与CAS Java并发编程系列-(4) 显式锁与AQS Java并发编程系列-(5) Java并发容器 Java并发编程系列-…- 5
- 0
-
JVM GC调优一则–增大Eden Space提高性能
缘起 线上有Tomcat升级到7.0.52版,然后有应用的JVM FullGC变频繁,在高峰期socket连接数,Cpu使用率都暴增。 思路 思路是Tomcat本身的代码应该是没有问题的,有问题的可能是应用代码升级,或者环境改变了,总之Tomcat的优先级排在最后。 先把应用的heap dump下来分析下: jmap -dump:format=b,file=path pid 用IBM的Heap A…- 8
- 0
-
从代码构建到性能分析,Java开发人员的首选工具
Java 由于其实用性、跨平台性、可移植性等众多优点一直备受开发者青睐,在各大编程语言排行榜中也一直居高不下,因此本文为 Java 开发者们总结了这八个工具,它们几乎涵盖了Java开发的全部范围,从代码构建到错误压缩。这些工具可以帮助您提高代码的质量,并成为更高效的Java开发人员。 集成开发环境 Eclipse Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开…- 6
- 0
-
提高Java性能的几个高效用法
1.循环 ■ 在重要的循环里,消除循环终止判断时的方法调用。。。 例如:将... 替换为… 通常,把与循环index不相关的移到循环的外面 应该该成: 2.字符串 ■ 消除字符串连接 ■ 创建长字符串时,总是使用StringBu…- 0
- 0
-
Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)—->第6节: 异线程回收对象…
Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)---->第6节: 异线程回收对象 Netty源码分析第八章: 高性能工具类FastThreadLocal和Recycler 第六节: 异线程回收对象 异线程回收对象, 就是创建对象和回收对象不在同一条线程的情况下, 对象回收的逻辑 我们之前小节简单介绍过, 异线程回收对象, 是不会放在当前线…- 2
- 0
-
详解JVM内存管理与垃圾回收机制1 – 内存管理
Java应用程序是运行在JVM上的,得益于JVM的内存管理和垃圾收集机制,开发人员的效率得到了显著提升,也不容易出现内存溢出和泄漏问题。但正是因为开发人员把内存的控制权交给了JVM,一旦出现内存方面的问题,如果不了解JVM的工作原理,将很难排查错误。本文将从理论角度介绍虚拟机的内存管理和垃圾回收机制,算是入门级的文章,希望对大家的日常开发有所助益。 一、内存管理 也许大家都有过这样的经历,在启动时…- 4
- 0
-
Java单元测试(Junit+Mock+代码覆盖率)
单元测试是编写测试代码,用来检测特定的、明确的、细颗粒的功能。单元测试并不一定保证程序功能是正确的,更不保证整体业务是准备的。 单元测试不仅仅用来保证当前代码的正确性,更重要的是用来保证代码修复、改进或重构之后的正确性。 一般来说,单元测试任务包括 接口功能测试:用来保证接口功能的正确性。 局部数据结构测试(不常用):用来保证接口中的数据结构是正确的 比如变量有无初始值 变量是否溢出 边界条件测试…- 3
- 0
-
Core Java (十八) 断言
在Java中,有三种处理错误的机制:抛出一个异常,日志,使用断言。 断言机制允许在测试期间向代码中插入一些检查语句。当代码发布时,这些插入的检测语句将会被自动地移走。 断言只应用在测试阶段确定程序内部的错误位置。 assert有两种形式: assert 条件; assert 条件:表达式; 这两种形式都会对条件进行检测,如果条件为false,就会抛出一个AssertionError异常。在第二种形…- 25
- 0
-
一步步优化JVM<四>:决定Java堆的大小以及内存占用
到目前为止,还没有做明确的优化工作。只是做了初始化选择工作,比如说:JVM部署模型、JVM运行环境、收集哪些垃圾回收器的信息以及需要遵守垃圾回收原则。这一步将介绍如何评估应用需要的内存大小以及Java堆大小。首先需要判断出应用存活的数据的大小,存活数据的大小是决定配置应用需要的Java堆大小的重要条件,也能够决定是否需要重新审视一下应用的内存需求或者修改应用程序以满足内存需求。 注意:…- 3
- 0
-
JVM性能优化系列-(1) Java内存区域
目前已经更新完《Java并发编程》,《Docker教程》和《JVM性能优化》,欢迎关注【后端精进之路】,轻松阅读全部文章。 Java并发编程: Java并发编程系列-(1) 并发编程基础 Java并发编程系列-(2) 线程的并发工具类 Java并发编程系列-(3) 原子操作与CAS Java并发编程系列-(4) 显式锁与AQS Java并发编程系列-(5) Java并发容器 Java并发编程系列-…- 52
- 0
-
【开发工具】JAVA性能分析:8、超详细的JProfiler线程分析(官方中文版)
Thread Profiling——线程分析 官方文档http://resources.ej-technologies.com/jprofiler/help/doc/index.html 错误地使用线程可能会产生许多不同类型的问题。太多活动线程可能导致线程不足,线程可能会相互阻塞并影响应用程序的活跃性或以错误的顺序获取锁定可能导致死锁。此外,有关线程的信息对于调试目的很重要。 在JProfiler…- 190
- 0
-
35 个 Java 代码性能优化总结(一)
前言 代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。代码优化也是一样,如果项目着眼于尽快无BUG上线,那么此时可以抓大放小,代码的细节可以不精打细磨;但是如果有足够的时间开发、维护代码,这时候就必须考虑每个可以…- 5
- 0
-
Java RESTful 框架的性能比较
在微服务流行的今天,我们会从纵向和横向分解代码的逻辑,将一些独立的无状态的代码单元实现为微服务,可以将它们发布到一些分布式计算单元或者Docker中,并在性能需要的时候及时地创建更多的服务单元。 微服务是一个概念,并没有规定的格式,但是很多厂商和框架都不约而同的采用RESTful的架构,尽管也有一些其它的性能很好的RPC框架。 如何在Java生态圈选择一个轻量级的RESTful框架?可以参考一些其…- 8
- 0
-
Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)—->第3节: recycler的使用和创建…
Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)---->第3节: recycler的使用和创建 Netty源码分析第八章: 高性能工具类FastThreadLocal和Recycler 第三节: recycler的使用和创建 ** ** 这一小节开始学习 recycler相关的知识 , recycler是 netty实现的一个轻量级对象回收站…- 0
- 0
-
JVM(java 虚拟机)内存设置
一、设置JVM内存设置 1. 设置JVM内存的参数有四个: -Xmx Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定; -Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值; -Xmn Java Heap Young区大小,不熟悉最好保留默认值; -Xs…- 1
- 0
-
JAVA并发编程(二)线程安全性
文章目录 线程安全性 基本概念 三个基本原则 原子性 Atomic * 锁 Lock (依赖特殊的cpu指令) * AQS 简介 * Synchronized (依赖于JVM实现) 1 * 原子性对比 2 3 * 可见性 4 synchronized * volatile 1 * 有序性 2 happens-before原则 线程安全性 基本概念 当多个线程访问某个类时,不管运行时环境采用何种调度…- 1
- 0
-
一步步优化JVM<一>:概述、方法及需求
现代JVM是一个具有灵活适应各种应用能力的软件,尽管很多应用能够在JVM的默认配置下运行良好,但是有些应用还是需要优化JVM配置以达到其性能要求。由于各种各样的应用能够运行在现在JVM上面,所以大量的JVM选项可以配置来提升应用的性能。不幸的是,对一个应用而言优化得很好的JVM配置,对应另外的应用不一定适合。所以,真正理解怎样优化JVM配置是非常有必要的。 优化现代JVM是一门很大的艺术,但…- 1
- 0
-
JVM性能优化 Part V:Java的伸缩性
JVM性能优化 Part V:Java的伸缩性 很多程序员在解决 JVM性能问题的时候,花开了很多时间去调优应用程序级别的性能瓶颈,当你读完这本系列文章之后你会发现我可能更加系统地看待这类的问题。我说过 JVM的自身技术限制了 Java企业级应用的伸缩性。首先我们先列举一些主导因素。 主流的硬件服务器提供了大量的内存 分布式系统有大量内存的需求,而…- 4
- 0
-
JVM-虚拟机性能监控与故障处理工具
注意:如果读者在工作中需要监控运行于JDK1.5的虚拟机之上的程序,在程序启动时请添加参数“-Dcom .sun .management .jmxremote”开启JMX管理功能,否则由于部分工具都是基于JMX(包括4.3节介绍的可视化工具),它们都将会无法使用,如果被监控程序运行于JDK1.6的虚拟机之上,那JMX管理默认是开启的,虚拟机启动时无须再添加任何参数。 jps:虚拟机进…- 8
- 0
-
Java性能优化(13):支持非可变性
一个非可变类是一个简单的类,它的实例不能被修改。每个实例中包含的所有信息都必须在该实例被创建的时候就提出来,并且在对象的整个生存期内固定不变。Java平台库包含许多非可变类,其中有String、原语类型的包装—BigInteger和BigDecimal。非可变类的存在有许多理由:非可变类比可变类更加易于设计、实现和使用。它们不容易出错,更加安全。 为了使一个类成为非可变类,要遵循下面五条规则: 1…- 0
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!