2 niuhao307523005

尚未进行身份认证

暂无相关描述

等级
TA的排名 11w+

JMeter 5.1.1性能测试,完整入门篇

ApacheJMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工具之一。本文为JMeter性能测试完整入门篇,从Jmeter下载安装到编写一个完整性能测试脚本、最终执行性能测试并分析性能测试结果。运行环境为Windows10系统,JDK版本为1.8,JM...

2019-08-13 14:26:54

Java 应用性能调优实践

Java应用性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢、接口超时,服务器负载高、并发数低,数据库频繁死锁等。尤其是在“糙快猛”的互联网开发模式大行其道的今天,随着系统访问量的日益增加和代码的臃肿,各种性能问题开始纷至沓来。Java应用性能的瓶颈点非常多,比如磁盘、内存、网络I/O等系统因素,Java应用代码,JVMGC,数据库,缓存等。笔者根据个人经验,将Java性能...

2019-07-12 15:01:42

Lock和synchronized的区别和使用

今天看了并发实践这本书的ReentantLock这章,感觉对ReentantLock还是不够熟悉,有许多疑问,所有在网上找了很多文章看了一下,总体说的不够详细,重点和焦点问题没有谈到,但这篇文章相当不错,说的很全面,主要的重点都说到了,所有在这里转载了这篇文章。  在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从Java5之后,在j...

2019-07-12 10:08:46

Java 定时器(Timer)

在开发中,我们经常需要一些周期性的操作,例如每隔几分钟就进行某一项操作。这时候我们就要去设置个定时器,Java中最方便、最高效的实现方式是用java.util.Timer工具类,再通过调度java.util.TimerTask任务。1、简介Timer是一种工具,线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。实际上是个线程,定时调度所...

2019-07-08 14:23:30

JVM的内存区域划分

学过C语言的朋友都知道C编译器在划分内存区域的时候经常将管理的区域划分为数据段和代码段,数据段包括堆、栈以及静态数据区。那么在Java语言当中,内存又是如何划分的呢?由于Java程序是交由JVM执行的,所以我们在谈Java内存区域划分的时候事实上是指JVM内存区域划分。在讨论JVM内存区域划分之前,先来看一下Java程序具体执行的过程:如上图所示,首先Java源代码文件(.java后缀...

2019-07-05 15:11:55

必须掌握JVM 参数总结

前言大家都知道,jvm在启动的时候,会执行默认的一些参数。一般情况下,这些设置的默认参数应对一些平常的项目也够用了。但是如果项目特别大了,需要增加一下堆内存的大小、或者是系统老是莫明的挂掉,想查看下gc日志来排查一下错误的原因,都需要咱们手动设置这些参数。各个参数介绍1.verbose:gc表示,启动jvm的时候,输出jvm里面的gc信息。格式如下: 1 ...

2019-07-05 15:03:02

绝对 “牛X“ 的代码注释,喜欢就拿去用!

/***                                     *         瓦瓦            十             *        十齱龠己         亅瓦車己            *        乙龍龠毋日丶      丶乙己毋毋丶           *        十龠馬鬼車瓦      己十瓦毋毋        ...

2019-07-05 12:19:04

Linux 系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路

处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU100%,以及FullGC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本文主要针对系统运行缓慢这一问题,提供该问题的排查思路,从而定位出问题的代码点,进而提供解决该问题的思路。对于线上系统突然产生的运行缓慢问题,如果该问题导致线上系统不可用,那么首先需要做的就是,导出js...

2019-07-05 11:39:41

MySQL索引

索引是什么?索引是帮助MySQL高效获取数据的数据结构。索引能干什么?提高数据查询的效率。索引:排好序的快速查找数据结构!索引会影响where后面的查找,和orderby后面的排序。一、索引的分类1️⃣从存储结构上来划分:BTree索引(B-Tree或B+Tree索引),Hash索引,full-index全文索引,R-Tree索引。2️⃣从应用层次来分:普通索引,唯...

2019-07-05 11:36:33

如何在无序数组中查找第n小的值

如题:给定一个无序数组,如何查找第K小的值。例子如下:在一个无序数组,查找k=3小的数输入:arr[]={7,10,4,3,20,15}输出:7在一个无序数组,查找k=4小的数输入:arr[]={7,10,4,3,20,15}输出:10几种思路如下和复杂度分析如下:(1)最简单的思路直接使用快排,堆排或者归并排...

2019-07-04 11:01:21

Java 反射

前言Java的反射特性是一项非常强大和有用的功能,它使得我们可以轻松的在运行时观察到类实例的内部状态,并且可以动态的操作实例,从而为Java语言提供更多更灵活的想象空间。随便举几个例子:使用反射可以动态的映射Java对象属性到Json文件属性的操作,这一点无论在FastJson,还是GSON或者是jackson上都体现的淋漓尽致。此外使用反射可以轻松的用在JDBC中完成JavaBean...

2019-07-04 10:39:01

RPC框架是什么?原理?核心点?使用?

远程过程调用协议RPC(RemoteProcedureCallProtocol)首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用。即两台服务器A和B,一个应用部署在A上想要访问位于B上应用提供的函数、方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语意以及传达调用的数据。它是一种编程模式,把对服务器的调用抽象成过程调用,通常还伴随着框架代码自动生成等功能...

2019-07-01 16:29:40

程序员之间的十八层鄙视网络

有人的地方就有江湖。程序员,是一个知识、智商、都异于常规行业的群体。自傲,清高,闷骚,也属于这个群体鲜明标签。程序员有时候很自我,这样就给自己一个盲目的优越感。特别在与其他程序员对比的时候,他总能找到在一两个地方优于你的地方,所以,程序员之间的鄙视网络,在程序员这个职位诞生之日起,就慢慢的形成了。时至今日,这张鄙视网络已经相当的庞大。互联网的江湖中,有好事者开始归纳这张网,现在我们就来看看...

2019-07-01 14:58:31

优秀的程序员10分钟内能搞定下面5个编程问题,你能做到吗?

每次我发布软件工程师的岗位工作要求,各种求职申请就会纷至沓来,接踵而至。但每每让我困惑的是,似乎总有那么几位应聘者完全不明白所谓“编程”的意思。当然,他们另有想法。而我认为,如果你应聘的是“Web前端开发”岗位,那么你只懂jQuery也可以胜任,那么,“软件工程师”是不是就意味着会HTML、JavaScript和CSS这些必备技能就行了呢?(我觉得那些聊起XML、JSON、XSL...

2019-07-01 14:56:07

一位程序员工作10年总结了这些忠告

展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告。1、自己的户口档案、养老保险、医疗保险、住房公积金一定要保管好。由于程序员行业每年跳槽一次,我不隐瞒大家,我至少换过5个以上的单位,这期间跳来跳去,甚至是城市都换过3个。还好户口没丢掉,其他都已经是乱了,好几个城市里,都有交过三金,甚至是一个程序的2个区里交的都有,那些东西,10年后,会变得很重要。你买房子若...

2019-07-01 14:54:35

Java 源码分析(二)线程池

线程池源码也是面试经常被提问到的点,我会将全局源码做一分析,然后告诉你面试考啥,怎么答。为什么要用线程池?简洁的答两点就行。 降低系统资源消耗。 提高线程可控性。 如何创建使用线程池?JDK8提供了五种创建线程池的方法:1.创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。publicstaticExecutorServicen...

2019-07-01 11:32:04

MySQL常见SQL错误用法

前言越来越多的客户将自己的应用建立在MySQL数据库之上,甚至是从Oracle迁移到MySQL上来。但也存在部分客户在使用MySQL数据库的过程中遇到一些比如响应时间慢,CPU打满等情况。阿里云RDS专家服务团队帮助云上客户解决过很多紧急问题。现将《ApsaraDB专家诊断报告》中出现的部分常见SQL问题总结如下,供大家参考。常见SQL错误用法1.LIMIT语句分页查询是最常用...

2019-07-01 10:39:59

Java 源码分析(一)集合

Java集合包括list,map,set集合集合与数组数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。注:数组我在前面的博客讲了大家可以看下集合中接口和类的关系Collection接口是集合类的根接口,Java中没有提供这个接口的直接的...

2019-05-21 16:59:54

Java Web架构知识整理——记一次面试经历

“你学习一门技术的最佳时机是三年前,其次是现在。”这话从来很灵验。经过这次面试,觉得需要整理下JavaWeb相关的资料,以便自己提高或者更快适应可能面临的新的工作。首先谈谈JavaWeb需要掌握哪些东西。这里是一些知识点的搜集,暂不做详细说明,欢迎各位博友补充指正。1.底层 Java语言相关的就不说了,首先是JVM的结构和工作原理。比较重要的是Java内存模型,各种GC算法,Cl...

2019-05-21 16:32:56

IDEA 配置 管理 连接 MySQL 数据库 工具

1.打开idea界面右侧的database,打开后选择MySQL2.进入配置页面驱动配置好显示状态如下3.配置连接参数4.连接成功

2019-04-30 16:38:16

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。