java

java 性能优化:35 个小细节,让你提升 java 代码的运行效率

(给ImportNew加星标,提高Java技能) 转自:博客园,作者:萌小Q 链接:www.cnblogs.com/Qian123/p/6046096.html 前言 代码优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用

28   2019-05-17 13:41

java

高效 Java 人必须知道的十大框架

(给ImportNew加星标,提高Java技能) 作者:豆豆文章, 链接:www.jianshu.com/p/cf2fd11c2e8a 众所周知,Java 的生态环境相当庞大,包含了数量相当可观的官方及第三方库。利用这些库,可以解决在用 Java 开发时遇到的各类问题,让开发效率得到显著提升。 举些例子,最常用的官方库有 java.lang、java.util

22   2019-05-15 11:06

java

线程池中你不容错过的一些细节

本文转载自微信公众号:crossoverJie 背景 上周分享了一篇《一个线程罢工的诡异事件》,最近也在公司内部分享了这个案例。 无独有偶,在内部分享的时候也有小伙伴问了之前分享时所提出的一类问题,这其实是一类共性问题,我认为主要还是大家对线程池的理解不够深刻,比如今天要探讨的内容。 线程池的工作原理 首先还是来复习下线程池的基本原理。 我认为线程池它就是一个调度任务的工具。

14   2019-05-15 10:57

java

从 JVM heap dump 里查找没有关闭文件的引用

(点击上方公众号,可快速关注) 来源:Hengyunabc , hengyunabc.github.io/jvm-heap-dump-find-fd/ 背景 最近排查一个文件没有关闭的问题,记录一下。 哪些文件没有关闭是比较容易找到的,查看进程的fd(File Descriptor)就可以。但是确定fd是在哪里被打开,在哪里被引用的就复杂点,特别是在没有

30   2019-05-06 10:10

java

记录一次成都阿里一面的经历

上周在拉勾上收到一个蚂蚁金服的大哥要我的简历,当时很惊讶,居然有蚂蚁金服的找到我,然后想都没想就给了。 受宠若惊呀,我知道自己的水平跟阿里的差距有多远,以前一直没用勇气去投,连试试都不敢。这次居然主动找过来了,当时就再想,难道阿里这么缺人么?还是只是为了完成某些KPI,当然了,我这种想法比较幼稚。 没想到的是第二天居然收到了阿里巴巴的面试邀请邮件,里面说到会在10个工作日内进行第一次

34   2019-05-05 11:53

java

JVM启动命令参数详解

一、是标准参数(-) 所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 标准参数中比较有用的:verbose -verbose:class 输出jvm载入类的相关信息,当jvm报告说找不到类或者类冲突时可此进行诊断。 -verbose:gc 输出每次GC的相关情况。 -verbose:jni 输出native方法调用的相关情况,一般用于诊断jni调用错

32   2019-05-05 10:12

java

面试重点:Java虚拟机常见问题详解

作者:高效码农来源:头条科技 转自:http://news.51cto.com/art/201802/566081.htm 一、Java引用的四种状态: 强引用: 用的最广。我们平时写代码时,new一个Object存放在堆内存,然后用一个引用指向它,这就是强引用。 如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemo

24   2019-05-05 10:10

java

JVM运行原理详解

专注于编程、互联网动态。最终将总结的技术、心得、经验(数据结构与算法、源码分析等)享给大家,这里不只限于技术!还有职场心得、生活感悟、以及面经。点击上方 "程序员小乐" ,关注公众号,第一时间送达!

25   2019-05-05 10:03

java

JVM内存模型与调优

JVM 内存区域 一. 线程私有区域 线程私有数据区域生命周期与线程相同, 依赖用户线程的启动/结束而创建/销毁(在Hotspot VM内, 每个线程都与操作系统的本地线程直接映射, 因此这部分内存区域的存/否跟随本地线程的生/死). 1. Program Counter Register(程序计数器): 一块较小的内存空间, 作用是当前线程所执行字节码的行号指

29   2019-05-05 10:02

java

Java 必知必会的 20 种常用类库和 API

一个有经验的Java开发人员特征之一就是善于使用已有的轮子来造车。《Effective Java》的作者Joshua Bloch曾经说过:“建议使用现有的API来开发,而不是重复造轮子”。在本文中,我将分享一些Java开发人员应该熟悉的最有用的和必要的库和API。顺便说一句,这里不包括框架,如Spring和Hibernate因为他们非常有名,都有特定的功能。 本文总结了日志、JSON解

32   2019-05-05 09:56

java

JVM 运行时数据区详解

一、运行时数据区   Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同数据区域。   1.有一些是随虚拟机的启动而创建,随虚拟机的退出而销毁,所有的线程共享这些数据区。   2.第二种则是与线程一一对应,随线程的开始和结束而创建和销毁,线程之间相互隔离。 Java虚拟机所管理的内存将会包括以下几个运行时数据区域 二、数据区详解 1.程序计数器(Pr

159   2019-04-29 16:08

java

Java 进程中有哪些组件会占用内存?

(给ImportNew加星标,提高Java技能) 编译:唐尤华 本文来自 StackOverflow 的一个问答:Java using much more memory than heap size (or size correctly Docker memory limit) 题主发现 Java 进程占用内存远超过堆内存设置的大小,于是提出了下面的问题:

42   2019-04-29 15:59

java

Java 问题排查工具单

(给ImportNew加星标,提高Java技能) 作者:红魔七号, 链接:yq.aliyun.com/articles/69520 前言 平时的工作中经常碰到很多疑难问题的处理,在解决问题的同时,有一些工具起到了相当大的作用,在此书写下来,一是作为笔记,可以让自己后续忘记了可快速翻阅,二是分享,希望看到此文的同学们可以拿出自己日常觉得帮助很大的工具,大家一

37   2019-04-29 15:59

java

JVM的新生代、老年代、MinorGC、MajorGC

参考资料: http://blog.csdn.net/flamezyg/article/details/44673951 http://www.blogjava.net/ldwblog/archive

34   2019-04-19 11:18

java

OOM问题定位

一:堆内存溢出 Java创建的对象一般都是分配在堆中,如果是由于过期对象没能回收(内存泄漏)或者对象过多导致放不下(内存溢出),一般报错: 解决这部分的异常,重点是通过内存映像分析工具分析堆的转储快照

47   2019-04-19 11:18

java

JVM的结构

参考:http://blog.csdn.net/tonytfjing/article/details/44278233 JVM的结构 一般认为,JVM分为四大部分: 1.类加载器(ClassLoade

31   2019-04-19 11:18

java

Java内存区域与各区域OOM

转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6534990.html JVM的组成在上一篇博文已经介绍了,现在我们专门深入Java运行时数据区。 1:程序计数

43   2019-04-19 11:18

java

Java对象在虚拟机中的创建、内存分布、访问定位以及死亡判定

转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6535156.html 一:虚拟机中对象的创建 1:虚拟机遇到new指令时,在常量池检索是否有对应的符号引用,对

41   2019-04-19 11:18

java

GC算法

一:复制算法 将可用内存划分为大小相等的两块。每次只使用其中一块,当这块内存用完了就将仍然存活的对象复制到另一块上,然后把已使用完的这一块清理掉。这样可以保证空闲区域总是连续的。复制算法一般用于新生代

29   2019-04-19 11:18

java

垃圾收集器

转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6535455.html Hotspot中用过的垃圾收集器有以下7种: 适用于新生代的有: 1:Serial 串行

40   2019-04-19 11:18