优化代码能够减少代码的体积,提升代码运行的效率。
java
小白哥带你打通任督二脉
程序员
应用情景 前一阵有个作反抄袭检测的小伙伴问了我一个问题。 --- 在多线程里就是有个变量,我须要读取它来判断是否给它写入一些信息。 打算加锁,可是若是读取时候加入readlock,写入时候加入writelock, 这样作可能读写不一样步。可是若是一块儿加lock效果就跟synchr…
面试
Java 线程内存模型, 线程、工做内存、主内存
算法
本文想要介绍的,jOOR(Java Object Oriented Reflection),它是一个对 java.lang.reflect 包的简单封装,使得咱们使用起来更加直接和方便。
数据库
这篇文章是做者读完深刻了解 java 虚拟机的读书笔记,能够做为学习 java 虚拟机的路线。
编程
做者的大厂面试经验分享以及面试时应该准备的哪些知识点。
后端
要面试的赶忙看吧
安全
概述 广义的堆外内存 说到堆外内存,那你们确定想到堆内内存,这也是咱们你们接触最多的,咱们在 jvm 参数里一般设置 - Xmx 来指定咱们的堆的最大值,不过这还不是咱们理解的 Java 堆,-Xmx 的值是新生代和老生代的和的最大值,咱们在 jvm 参数里一般还会加一个参数 - XX:MaxPermSize 来指定持久
性能优化
申明:本文首发于 详细深刻分析 ClassLoader 工做机制 ,若有转载,请务必注明原出处便可,谢谢配合。 详细深刻分析 Java ClassLoader 工做机制 什么是 ClassLoader ? 你们都知道,当咱们写好一个 Java 程序以后,不是管是 C/S 仍是 …
微信
???关注微信公众号:【芋艿的后端小屋】有福利: RocketMQ / MyCAT / Sharding-JDBC 全部源码分析文章列表 RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址 您对于源码的疑问每条留言都将获得认…
《java并发编程系统与模型》已出版,真心但愿你们能支持这本书,您的支持就是我最大的动力! AbstractExecutorService: 抽象的执行器。ArrayBlockingQueue: 一个有边界的先进先出的阻塞队列BlockingDeque: 接口描述,阻塞双端队列…
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) VisualVM 是一款免费的集成了多个JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序作性能分析和调优。这些功能包括生成和分析海量数据、跟踪内存泄漏…
JVM 是 Java Virtual Machine(Java虚拟机)的缩写,它是一种规范,HotSpot VM是其最主流的实现(其余实现),一般咱们讨论JVM若是没有特地说明是何种实现,便指的是HotSpot VM。JVM也并不是仅支持Java语言,任何可编译为字节码的编程语言能能够运行在JVM上,例如前不久谷歌在 I/O 2017宣布将做为 Android 开发 First-Class 语言的 Kotlin。JVM定义了一些运行时数据区以便执行程序时候所用,一部分数据区在虚拟机启动时建立,在虚拟机退出时销毁,另一些数据区是针对每一个线程的,这些数据区是和线程的生命周期相同,即随着线程的建立而建立销毁而销毁。理解这些区域对于进一步理解JVM和编写并发程序是很是重要的,本文将结合做者本身的理解对各区域作一粗浅的解析,不对之处,望指出,共勉。
Doug Lea 前段时间公司里有个项目须要进行重构,目标是提升吞吐量和可用性,在这个过程当中对原有的线程模型和处理逻辑进行了修改,须要 发现有不少基础的多线程的知识已经模糊不清,如底层线程的运行状况、现有的线程池的策略和逻辑、池中线程的健康情况的监控等,此次从新回顾了一下,其中涉…
咱们在 67 节和 68 节实现了线程的一些基本协做机制,那是利用基本的 wait/notify 实现的,咱们提到,Java 并发包中有一些专门的同步工具类,本节,咱们就来探讨它们。 咱们要探讨的工具类包括: 读写锁 ReentrantReadWriteLock 信号量 Semaphore 倒计…
一些有关代码优化的小细节,一个一个细小的优化点累积起来,对于代码的运行效率绝对是有提高的。
本节探讨定时任务,定时任务的应用场景是很是多的,好比: 闹钟程序或任务提醒,指定时间叫床或在指定日期提醒还信用卡 监控系统,每隔一段时间采集下系统数据,对异常事件报警 统计系统,通常凌晨必定时间统计昨日的各类数据指标 在 Java 中,有两种方式实现定时任务: 使用 java.uti…
说明 有关java并发能够看这里:https://yuedu.baidu.com/ebook... 要学习Java或者任意一门技术,我以为最好的是从官网的资料开始学习。官网所给出的资料老是最权威最知道来…
本来地址:Java多线程干货系列—(四)volatile关键字博客地址:http://tengj.top/ 前言 今天介绍下volatile关键字,volatile这个关键字可能不少朋友都据说过,或许也都用过。在Java 5以前,它是一个备受争议的关键字,由于在程序中使用它每每…
Garbage First Collector, 简称 G1 Collector,是 HotspotJDK1.7 后提供的面向大内存 (Heap 区数 G 到数 10G)、多核系统的收集器,可以实现软停顿目标收集而且具备高吞吐量, 具备更可预测的停顿时间。一些基本的垃圾收集的概念和术语能够参考我以前的一篇理解 GC(垃圾回收算法和原理)。