jvm原理

35 个 Java 代码性能优化总结

优化代码能够减少代码的体积,提升代码运行的效率。

java

从 JVM 内存模型谈线程安全

小白哥带你打通任督二脉

程序员

Java使用读写锁替代同步锁

应用情景 前一阵有个作反抄袭检测的小伙伴问了我一个问题。 --- 在多线程里就是有个变量,我须要读取它来判断是否给它写入一些信息。 打算加锁,可是若是读取时候加入readlock,写入时候加入writelock, 这样作可能读写不一样步。可是若是一块儿加lock效果就跟synchr…

面试

Java 线程内存模型, 线程、工做内存、主内存

Java 线程内存模型, 线程、工做内存、主内存

算法

一个事半功倍的 Java 反射库

本文想要介绍的,jOOR(Java Object Oriented Reflection),它是一个对 java.lang.reflect 包的简单封装,使得咱们使用起来更加直接和方便。

数据库

思惟导图学 Java 虚拟机

这篇文章是做者读完深刻了解 java 虚拟机的读书笔记,能够做为学习 java 虚拟机的路线。

编程

关于 Java 面试,你应该准备这些知识点

做者的大厂面试经验分享以及面试时应该准备的哪些知识点。

后端

高级java工程师面试必备:jvm知识体系总揽

要面试的赶忙看吧

安全

【Java 高手之路】JVM 源码分析之堆外内存彻底解读

概述 广义的堆外内存 说到堆外内存,那你们确定想到堆内内存,这也是咱们你们接触最多的,咱们在 jvm 参数里一般设置 - Xmx 来指定咱们的堆的最大值,不过这还不是咱们理解的 Java 堆,-Xmx 的值是新生代和老生代的和的最大值,咱们在 jvm 参数里一般还会加一个参数 - XX:MaxPermSize 来指定持久

性能优化

详细深刻分析 Java ClassLoader 工做机制

申明:本文首发于 详细深刻分析 ClassLoader 工做机制 ,若有转载,请务必注明原出处便可,谢谢配合。 详细深刻分析 Java ClassLoader 工做机制 什么是 ClassLoader ? 你们都知道,当咱们写好一个 Java 程序以后,不是管是 C/S 仍是 …

微信

数据库中间件 MyCAT 源码解析 —— 分片结果合并(一)

???关注微信公众号:【芋艿的后端小屋】有福利: RocketMQ / MyCAT / Sharding-JDBC 全部源码分析文章列表 RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址 您对于源码的疑问每条留言都将获得认…

JDK8 并发包一览

《java并发编程系统与模型》已出版,真心但愿你们能支持这本书,您的支持就是我最大的动力! AbstractExecutorService: 抽象的执行器。ArrayBlockingQueue: 一个有边界的先进先出的阻塞队列BlockingDeque: 接口描述,阻塞双端队列…

深度解析 Java 8:JDK1.8 AbstractQueuedSynchronizer 的实现分析

Java 中的 FutureTask 做为可异步执行任务并可获取执行结果而被你们所熟知。一般可使用 future.get() 来获取线程的执行结果,在线程执行结束以前,get 方法会一直阻塞状态,直到 call() 返回,其优势是使用线程异步执行任务的状况下还能够获取到线程的执行结果,可是 FutureTask 的以上功能倒是依靠经过一个叫 AbstractQueuedSynchronizer 的类来实现,至少在 JDK 1.五、JDK1.6 版本是这样的(从 1.7 开始 FutureTask 已经被其做者 Doug Lea 修改成再也不依赖 AbstractQueuedSynchronizer 实现了,这是 JDK1.7 的变化之一)。

程序员必备利器——Java程序性能分析工具Java VisualVM(Visual GC)

程序员必备利器——Java程序性能分析工具Java VisualVM(Visual GC) VisualVM 是一款免费的集成了多个JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序作性能分析和调优。这些功能包括生成和分析海量数据、跟踪内存泄漏…

浅析JVM(二)运行时数据区

JVM 是 Java Virtual Machine(Java虚拟机)的缩写,它是一种规范,HotSpot VM是其最主流的实现(其余实现),一般咱们讨论JVM若是没有特地说明是何种实现,便指的是HotSpot VM。JVM也并不是仅支持Java语言,任何可编译为字节码的编程语言能能够运行在JVM上,例如前不久谷歌在 I/O 2017宣布将做为 Android 开发 First-Class 语言的 Kotlin。JVM定义了一些运行时数据区以便执行程序时候所用,一部分数据区在虚拟机启动时建立,在虚拟机退出时销毁,另一些数据区是针对每一个线程的,这些数据区是和线程的生命周期相同,即随着线程的建立而建立销毁而销毁。理解这些区域对于进一步理解JVM和编写并发程序是很是重要的,本文将结合做者本身的理解对各区域作一粗浅的解析,不对之处,望指出,共勉。

Java 线程池的理论与实践

Doug Lea 前段时间公司里有个项目须要进行重构,目标是提升吞吐量和可用性,在这个过程当中对原有的线程模型和处理逻辑进行了修改,须要 发现有不少基础的多线程的知识已经模糊不清,如底层线程的运行状况、现有的线程池的策略和逻辑、池中线程的健康情况的监控等,此次从新回顾了一下,其中涉…

计算机程序的思惟逻辑 (81) - 并发同步协做工具

咱们在 67 节和 68 节实现了线程的一些基本协做机制,那是利用基本的 wait/notify 实现的,咱们提到,Java 并发包中有一些专门的同步工具类,本节,咱们就来探讨它们。 咱们要探讨的工具类包括: 读写锁 ReentrantReadWriteLock 信号量 Semaphore 倒计…

java 性能优化注意的几个细节规则

一些有关代码优化的小细节,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提高的。

计算机程序的思惟逻辑 (80) - 定时任务的那些坑

本节探讨定时任务,定时任务的应用场景是很是多的,好比: 闹钟程序或任务提醒,指定时间叫床或在指定日期提醒还信用卡 监控系统,每隔一段时间采集下系统数据,对异常事件报警 统计系统,通常凌晨必定时间统计昨日的各类数据指标 在 Java 中,有两种方式实现定时任务: 使用 java.uti…

译-Java内存管理白皮书

说明 有关java并发能够看这里:https://yuedu.baidu.com/ebook... 要学习Java或者任意一门技术,我以为最好的是从官网的资料开始学习。官网所给出的资料老是最权威最知道来…

Java多线程干货系列—(四)volatile关键字| 掘金技术征文

本来地址:Java多线程干货系列—(四)volatile关键字博客地址:http://tengj.top/ 前言 今天介绍下volatile关键字,volatile这个关键字可能不少朋友都据说过,或许也都用过。在Java 5以前,它是一个备受争议的关键字,由于在程序中使用它每每…

Garbage First G1 收集器 理解和原理分析

Garbage First Collector, 简称 G1 Collector,是 HotspotJDK1.7 后提供的面向大内存 (Heap 区数 G 到数 10G)、多核系统的收集器,可以实现软停顿目标收集而且具备高吞吐量, 具备更可预测的停顿时间。一些基本的垃圾收集的概念和术语能够参考我以前的一篇理解 GC(垃圾回收算法和原理)。

相关文章
相关标签/搜索