目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk工具之jstack(Java Stack Trace) 四.jdk工具之jstat命令(Java Virtual Machine Statistics Monitoring Tool) 四.jdk工具之jstat命令2(Java Virtual Machine Statistics Monitori…
VisualVM 是一款免费的\集成了多个JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃圾回收器.执行内存和 CPU 分析,同时它还支持在 MBeans 上进行浏览和操作. 在内存分析上,Java VisualVM的最大好处是可通过安装Visual GC插件来分析GC(Gabage Collection)趋势.内存消耗详细状况. 一  Visual GC(监控垃圾回收器) Java Visu…
ANR  (Application Not Response )  bundle 捆, entire 整个的,完整的 lifetime 生命周期 entire lifetime 完整生命周期 visible lifetime 可见生命周期 foreground lifetime 前沿生命周期 initiate 开始,创建,初始化 vt Serializable 序列化, 可串行化的adj. serialize 连载,使连续 vt schedule 安排,计划vt    时间表n backstac…
15款Java程序员必备的开发工具 如果你是一名Web开发人员,那么用膝盖想也知道你的职业生涯大部分将使用Java而度过.这是一款商业级的编程语言,我们没有办法不接触它. 对于Java,有两种截然不同的观点:一种认为Java是最简单功能最强大的编程语言之一,另一种则表示这种编程语言既难用又复杂. 下面这些工具或许功能和作用不同,但是有着一个共同的主旨,那就是——它们都是为了给Java编码和开发提供卓越的支持. 1. JDK(Java开发工具包) 如果你打算用Java开发一些小程序和应用程序,那么…
Java程序员必备的一些流程图 转自https://juejin.im/post/5d214639e51d4550bf1ae8df 前言: 整理了一些Java基础流程图/架构图,做一下笔记,大家一起学习. 1.spring的生命周期 Spring作为当前Java最流行.最强大的轻量级容器框架,了解熟悉spring的生命周期非常有必要: 首先容器启动后,对bean进行初始化 按照bean的定义,注入属性 检测该对象是否实现了xxxAware接口,并将相关的xxxAware实例注入给bean,如Be…
Java 程序员方向太多,且不说移动开发.大数据.区块链.人工智能这些,大部分 Java 程序员都是 Java Web/后端开发.那作为一名 Java Web 开发程序员必须需要熟悉哪些框架呢? 今天,栈长我给大家列举了一些通用的.必须掌握的框架,学会这些,20K+ 不是问题. 1.Spring 毫无疑问,Spring 框架现在是 Java 后端框架家族里面最强大的一个,其拥有 IOC 和 AOP 两大利器,大大简化了软件开发复杂性.并且,Spring 现在能与所有主流开发框架集成,可谓是一个万…
Android java程序员必备技能,集合与数组中遍历元素, 增强for循环的使用详解及代码 作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 For-Each 循环是 J2SE 5 中引入的,它是 for 循环的一种缩略形式,通过它可以简化复杂的 for 循环结构.For-Each 循环主要用在集合(如数组)中,按照严格的方式,从开始到结束循环,它的使用是非常方便的. 首先说一下他的语法结构: for(数据类型 变量 :集合){ //这里写要遍…
代码自动生成工具MyGeneration之一(程序员必备工具) 转 分类: C#2008-08-06 18:12 16064人阅读 评论(12) 收藏 举报 工具数据库相关数据库stringbrowser存储    前段时间用C#做网站,用到了大量数据库相关的东西.网站采用3层结构,即数据访问层(Data Access Layer),业务逻辑层(Business Logic Layer),页面表现层().做了一段时间,发现向数据访问层和业务逻辑层加入新的类,数据库的表结构改了,还要对应的修改数据…
十大PHP程序员必备工具 1.Notepad++ 总结来说就是小而精,7.4版本的软件包只有2.9M,比一般的IDE小数十倍,但是Notepad++的功能确是很全面的,代码高亮,语法折叠,宏功能,内置支持27种编程语言,基本上常见的C.C#.C++.Java.PHP.ASP.Python.JSP.CSS.Js,它都能够很好的提供支持,具有很好的扩展性,可添加多种插件,如Insertion.XML Tools.TextFX.Doc Updater等.比较适合新手和大神级使用. 2.sublime…
记录了一些感觉比较用得到的tips用于随时查看.要想看完整的的内容还是阅读<Visual Studio 程序员箴言>,不过有些内容我在新版本的VS里没能实现,或者有替代方案了. 避免意外复制一个空白行:工具→选项→文本编辑器→所有语言→常规,取消勾选“没有选定内容时对空行应用剪切或复制命令”: 通过剪切板栈循环粘贴不同内容:Ctrl+Shift+V: 在上方插入一行<Ctrl+Enter>,在下方插入一行<Ctrl+Shift+Enter>: 选择当前单词<Ctr…
Visual Studio 2010是我经常使用的程序开发工具,也知道VS中有大量的快捷键可以帮助提高效率,可惜就是不愿意记忆,最近在学vim的时候快速把<Visual Studio程序员箴言>这本书看了一遍,发现有些技巧对于提高编程效率还是非常有帮助的. 我在学习vim的时候把现在的Visual Studio 2010安装了viemu,vim非常强大,自带的命令就可以完成许多强大的功能,所以我挑选的技巧一定要与viemu兼容的,并且是使用频率较高的. 技巧1.2 循环粘贴 Ctrl-Shif…
还记得刚工作时看到某前辈用快捷键操作Visual Studio,赞叹不已,才发觉原来快捷键熟练了效率可以如此之高.后来,我在为一个经常使用的命令添加快捷键的时候又发现Visual Studio的快捷键实在是太多了,因为我能想到的便捷的键位组合都已经分配给已有的命令了. 这段时间不忙,就读了一遍<Visual Studio程序员箴言>,一边读一边记下了几十条小技巧,其中有些技巧确实解决了我长久以来的困扰,太赞了. 禁用空白行的复制和剪切:[工具][选项][文本编辑器][所有语言][常规],取消勾…
第3本:Visual Studio程序员箴言 Visual Studio 2010是我经常使用的程序开发工具,也知道VS中有大量的快捷键可以帮助提高效率,可惜就是不愿意记忆,最近在学vim的时候快速把<Visual Studio程序员箴言>这本书看了一遍,发现有些技巧对于提高编程效率还是非常有帮助的. 我在学习vim的时候把现在的Visual Studio 2010安装了viemu,vim非常强大,自带的命令就可以完成许多强大的功能,所以我挑选的技巧一定要与viemu兼容的,并且是使用频率较高…
1.性能分析本质 寻找系统的性能瓶颈(木桶理论/短板效应),并处理系统的性能瓶颈 2.性能分析主要指标负载.响应和服务器CPU\MEM等的使用率 3.性能分析主要工具 LoadRunner VisualVM和MySql客户端工具(或类似工具) 4.性能分析及处理思路 4.1. 代码 避免代码里面的循环数据库查询(梳理业务,基本都可以实现为非循环方式) 避免代码里面的循环数据库更新处理(插入.更新等),尽量采用批量方式 避免生产新的,耗时的对象,即消耗内存,又消耗CPU 使用private.fin…
转自:http://blog.csdn.net/xuelinmei_happy/article/details/51090115 Visual GC是一个Java 内存使用分析与GC收集的可视化工具插件 一:整个区域分为三部分:spaces.graphs.histogram 1,spaces区域:代表虚拟机内存分布情况.从图中可以看出,虚拟机被分为Perm.Old.Eden.S0.S1 注意:如果对每个区域基本概念不是很熟悉的可以先了解下java虚拟机运行时数据区这篇文字. 1.1)perm:英…
工欲善其事,必先利其器.每一个Java程序员都有其惯用的工具组件.对于Java程序员,各种有用的软件和工具泛滥成灾.初级开发人员要么找不到合适的工具,要么在寻找过程中浪费了大量的时间.下面,我将为大家介绍6款Java开发必备工具. 1.Notepad++ Notepad++是编辑XML.脚本,甚至做简单笔记的最佳工具.关于这个工具最棒的一点是,你在Notepad++打开过的每个文件,即使你关 闭之后,它仍然存在.所以它能减少因意外删除重要内容而造成的麻烦.它还可以当作比较插件用于比较代码.Not…
Java Decompiler是一种非常实用的JAVA反编译工具,可以对整个jar包进行反编译,也可以将其集成到eclipse上,非常方便的根据class文件的源码.,官网地址http://jd.benow.ca/,里面有非常详细的介绍. JD-GUI 一种图形界面化的工具,可以直接打开反编译jar文件,效果如下图所示 . JD-Eclipse Java Decompiler的一种eclipse插件,可以按照官网上的方式一步一步安装集成到eclipse上.在这里,给大家介绍一种简单的方式.我这里…
静态检查: 静态测试包括代码检查.静态结构分析.代码质量度量等.它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行.代码检查代码检查包括代码走查.桌面检查.代码审查等,主要检查代码和设计的一致性, 代码对标准的遵循.可读性,代码的逻辑表达的正确性,代码结构的合理性等方面:可以发现违背程序编写标准的问题,程序中不安全.不明确和模糊的部分,找出程序中不可移植部分.违背程序编程风格的问题,包括变量检查.命名和类型审查.程序逻辑审查.程序语法检查和程序结构检查等内容.”.看了一系列的…
阅读本文大概需要 6 分钟. 转载自:https://juejin.im/post/5d214639e51d4550bf1ae8df 1.Spring 的生命周期 Spring 作为当前 Java 最流行.最强大的轻量级容器框架,了解熟悉 spring 的生命周期非常有必要: 首先容器启动后,对 bean 进行初始化 按照 bean 的定义,注入属性 检测该对象是否实现了 xxxAware 接口,并将相关的 xxxAware 实例注入给 bean,如 BeanNameAware 等 以上步骤,b…
1.spring的生命周期 2.TCP三次握手,四次挥手 3.线程池执行流程图 4.JVM内存结构 5.Java内存模型 6.springMVC执行流程图 7.JDBC执行流程 8.spring cloud组件架构 9.dubbo 调用 整理了一些Java基础流程图/架构图,做一下笔记,大家一起学习. 1.spring的生命周期 Spring作为当前Java最流行.最强大的轻量级容器框架,了解熟悉spring的生命周期非常有必要: 首先容器启动后,对bean进行初始化 按照bean的定义,注入属…
前言 JDK 15发布啦~ 我们一起回顾JDK 5-15 的新特性吧,大家一起学习哈~ 本文已经收录到github ❝ https://github.com/whx123/JavaHome ❞ 「公众号:捡田螺的小男孩」 Java 5 新特性 1. 泛型 泛型本质是参数化类型,解决不确定具体对象类型的问题.  List<String> strList=new ArrayList<String>(); 2. 增强循环(for-each) for-each循环简化了集合的遍历. Str…
Java帝国的崛起 前言: 分享技术之前先请允许我分享一下黄永玉老先生说过的话:“明确的爱,直接的厌恶,真诚的喜欢.站在太阳下的坦荡,大声无愧地称赞自己.” <编程常识知多少> <走进编程的殿堂> <高级语言大锅烩> 前面写的三篇博客如果有朋友认真的看了,现在对编程和编程语言应该有了一些了解,下面我针对之前介绍过的编程语言来讲一个故事<Java帝国的崛起> C语言 C国的统治 Long long ago(1972年),在古老的东方有一个国家叫C国(C语言),…
作者:java妞妞 blog.csdn.net/javaniuniu/article/details/71250316 当今IT开发人员面对的最大挑战就是复杂性,硬件越来越复杂,OS越来越复杂,编程语言和API越来越复杂,我们构建的应用也越来越复杂.根据外媒的一项调查报告,列出了Java程序员在过去12个月内一直使用的一些工具或框架,或许会对你有意义. 先来看看大数据的概念.根据维基百科,大数据是庞大或复杂的数据集的广义术语,因此传统的数据处理程序不足以支持如此庞大的体量. 在许多情况下,使用S…
与一年前一样,Java仍然是最流行的编程语言.据TIOBE的数据显示,几十年来,Java比其他语言更常名列榜首,Java因为它拥有可移植性.可扩展性和庞大的用户社区,所以许多知名互联网公司使用Java来开发软件和应用程序,导致互联网企业对Java程序员的需求急剧增加. 那2019年,企业究竟喜欢招聘懂哪些技术的Java程序员呢?为了培养能满足企业需求的Java程序员,2018年底传智播客对企业一线开发程序员进行了一次在线问卷调查,本调研统计分析的有效数据量共1194份,盘点出2019年互联网企业…
前言 最近看了深入理解Java虚拟机第三版,整理了一些基础结构图,算是比较全的了,做一下笔记,大家一起学习. 1.Java虚拟机运行时数据区图 JVM内存结构是Java程序员必须掌握的基础. 程序计数器 程序计数器,可以看作当前线程所执行的字节码的行号指示器 它是线程私有的. Java虚拟机栈 线程私有的,生命周期与线程相同. 每个方法被执行的时候都会创建一个"栈帧",用于存储局部变量表(包括参数).操作数栈.动态链接.方法出口等信息. 局部变量表存放各种基本数据类型boolean.b…
layui入门使用及图标的使用 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] [编程工具:IDEA] 下载Layui与文件分析 下载直接去官网下载即可 文件分析 下载完成后,解压会得到一个文件夹,内部有一些文件是可以直接删除的,比如文档与示例,更新日志之类的,我们仅仅只要上面那个layui文件夹.…
1. 拥有扎实的基础和深刻理解 OO 原则 对于 Java 程序员,深刻理解 ObjectOriented Programming(面向对象编程)这一概念是必须的.没有 OOPS 的坚实基础,就领会不了像 Java 这些面向对象编程语言的美.光学习 OO 原则的定义用处不大,关键是要学会如何应用这些原则用一种 OO 的方式去设计解决方案.因此,我们应该对对象建模.继承.多态.设计模式有一个很好的认识. 2. 掌握核心 API 如果你不知道语言结构和核心 API,那么即使你在理论知识上再怎么彪悍也…
前言 总结了Java异常十个关键知识点,面试或者工作中都有用哦,加油. 一. 异常是什么 异常是指阻止当前方法或作用域继续执行的问题.比如你读取的文件不存在,数组越界,进行除法时,除数为0等都会导致异常. 一个文件找不到的异常: public class TestException { public static void main(String[] args) throws IOException { InputStream is = new FileInputStream("jaywei.t…
前言 整理了一下内部类的相关知识,算是比较全,比较基础的,希望大家一起学习进步. 一.什么是内部类? 在Java中,可以将一个类的定义放在另外一个类的定义内部,这就是内部类.内部类本身就是类的一个属性,与其他属性 定义方式一致. 一个内部类的例子: public class Outer { private int radius = 1; public static int count = 2; public Outer() { } class inner{ public void visitOu…
前言 相信大家日常开发中,经常看到Java对象"implements Serializable".那么,它到底有什么用呢?本文从以下几个角度来解析序列这一块知识点~ 什么是Java序列化? 为什么需要序列化? 序列化用途 Java序列化常用API 序列化的使用 序列化底层 日常开发序列化的注意点 序列化常见面试题 一.什么是Java序列化? 序列化:把Java对象转换为字节序列的过程 反序列:把字节序列恢复为Java对象的过程 二.为什么需要序列化? Java对象是运行在JVM的堆内存…