page contents

通俗详解java并发工具类-CountDownLatch,CyclicBarrier

1. 倒计时器CountDownLatch 在多线程协作完成业务功能时,有时候需要等待其他多个线程完成任务之后,主线程才能继续往下执行业务功能,在这种的业务场景下,通常可以使用Thread类的join方法,让...

  • 0
  • 0
  • Pack
  • 发布于 2020-01-09 14:31
  • 阅读 ( 488 )

​Java 发送邮件

使用Java应用程序发送E-mail十分简单,但是首先你应该在你的机器上安装JavaMail API 和Java Activation Framework (JAF) 。 你可以在 JavaMail (http://www.oracle.com/technetwork/java/index...

  • 0
  • 0
  • Pack
  • 发布于 2020-01-07 14:49
  • 阅读 ( 561 )

带你掌握JVM类加载机制

本节主要内容: 类的生命周期类加载阶段描述数组类和非数组类在加载阶段的差别父子类初始化顺序接口的初始化JVM如何处理 多线程同时初始化一个类 的情况类加载器的分类什么是双亲委派模型,优...

  • 0
  • 0
  • Pack
  • 发布于 2020-01-07 14:21
  • 阅读 ( 719 )

Java原子变量类原理及实例解析

一、原子变量类简介 为何需要原子变量类 保证线程安全是 Java 并发编程必须要解决的重要问题。Java 从原子性、可见性、有序性这三大特性入手,确保多线程的数据一致性。 确保线程安全最常见...

  • 0
  • 0
  • Pack
  • 发布于 2020-01-06 14:47
  • 阅读 ( 588 )

精美图文带你掌握 JVM 内存布局

概览 内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM 内存布局规定了 Java 在运行过程中内存申请、分配、管理的策略 ,保证了 JVM 的高效...

  • 0
  • 0
  • Pack
  • 发布于 2020-01-06 14:19
  • 阅读 ( 718 )

Java发送电子邮件

Java 发送邮件 使用Java应用程序发送E-mail十分简单,但是首先你应该在你的机器上安装JavaMail API 和Java Activation Framework (JAF) 。 你可以在 JavaMail (http://www.oracle.com/technet...

  • 0
  • 0
  • Pack
  • 发布于 2020-01-04 14:39
  • 阅读 ( 640 )

Java 实现小球碰撞GUI

我们先来看一下效果演示图: 基本思路 1. 小球都有那些具体特征?  涉及动能定理就需要考虑质量了,除此之外常规的几个变量也不能忘:方向、球的尺寸,所在位置以及当前速度。 2. 谁能初...

  • 0
  • 0
  • Pack
  • 发布于 2020-01-03 11:25
  • 阅读 ( 506 )

java代码实现银行管理系统

本文实例为大家分享了java银行管理系统的具体代码,供大家参考。 一、系统要求 1、银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。 2、有三种对应类型...

  • 0
  • 0
  • Pack
  • 发布于 2020-01-02 11:58
  • 阅读 ( 702 )

盘点 JAVA 线上故障排查中会遇到的全部套路

线上故障主要会包括 CPU、磁盘、内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候尽量四个方面依次排查一遍。 同时例如 jstack、jmap 等工具也是不囿于一个方面...

  • 0
  • 0
  • Pack
  • 发布于 2019-12-31 11:44
  • 阅读 ( 646 )

程序员注意!别在Java代码里乱打日志了

使用slf4j 使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一实现方式统一使用: Logback框架 打日志的正确方式 什么时候应该打日志? 当你遇到问题的时候,只能通过debug功...

  • 0
  • 0
  • Pack
  • 发布于 2019-12-30 11:32
  • 阅读 ( 689 )

Java 内存模型 JMM 浅析

Java Memory Model简称JMM, 是一系列的Java虚拟机平台对开发者提供的多线程环境下的内存可见性、是否可以重排序等问题的无关具体平台的统一的保证。 可能在术语上与Java运行时内存分布有歧义,...

  • 0
  • 0
  • Pack
  • 发布于 2019-12-28 11:48
  • 阅读 ( 732 )

jvm是如何执行i = i++ + ++i的,你知道吗?

我们先来看下这个问题: public static void main(String[] args) { int i = 0; i = i++ + ++i; System.out.println(i);}//结果输出 2 为什么是2? 一个.java文件首先要被编译成.cl...

  • 0
  • 0
  • Pack
  • 发布于 2019-12-28 10:49
  • 阅读 ( 641 )

身为 Java 程序员必须掌握的 10 款开源工具

本文主要介绍Java程序员应该在2019年学习的一些基本和高级工具。 如果你是一位经验丰富的Java开发人员,你可能对这些工具很熟悉,但如果不是,现在就是是开始学习这些工具的好时机。 Java世界...

  • 0
  • 0
  • Pack
  • 发布于 2019-12-27 14:00
  • 阅读 ( 742 )

一文带你了解Java消息队列

在面试大型互联网公司的时候,很可能会被问到消息队列的问题: 在何种场景下使用了消息中间件?为什么要在系统里引入消息中间件?如何实现幂等? 链式调用是我们在写程序时候的一般流程,为了...

  • 0
  • 0
  • Pack
  • 发布于 2019-12-27 13:44
  • 阅读 ( 764 )

最强 Java Redis 客户端

为什么要在 Java 分布式应用程序中使用缓存? 在提高应用程序速度和性能上,每一毫秒都很重要。根据谷歌的一项研究,假如一个网站在3秒钟或更短时间内没有加载成功,会有 53% 的手机用户会离开...

  • 0
  • 0
  • Pack
  • 发布于 2019-12-26 14:23
  • 阅读 ( 821 )

想精通Java?你得先知道它的执行原理!

对于任何一门语言,要想达到精通的水平,研究它的执行原理(或者叫底层机制)不失为一种良好的方式。在本篇文章中,将重点研究java源代码的执行原理,即从程序员编写JAVA源代码,到最终形成产品,...

  • 0
  • 0
  • Pack
  • 发布于 2019-12-26 14:19
  • 阅读 ( 694 )

常见的Java错误及原因(3)

1. “Cannot Return a Value From Method Whose Result Type Is Void” 当一个void方法尝试返回值时,就会发生此Java错误,例如在以下示例中: public static void move(){ System.out.print...

  • 0
  • 0
  • Pack
  • 发布于 2019-12-25 14:24
  • 阅读 ( 661 )

常见的 Java 错误及原因(2)

在开发Java软件时可能会遇到许多类型的错误,但大多数是可以避免的。 为此我们罗列了最常见的Java编码错误,以帮助大家解决常见的编码问题。  当Java软件代码通过编译器运行时,会创建编译器...

  • 0
  • 0
  • Pack
  • 发布于 2019-12-25 14:23
  • 阅读 ( 936 )