摘要:
1 前言 从基础讲起,IO底层原理是隐藏在Java编程知识 之下的基础知识,是开发人员必须掌握的基本原理,可以说是基础的 基础,更是大公司面试通关的必备知识。本节从操作系统的底层原理入手,通过图文并茂的方式为大家深入剖析高并发IO的底层原理,并介绍如何通过设置来让操作系统支持高并发。 2 IO读写的 阅读全文
摘要:
1 前言 本节我们来看另一个Java基础知识,内部类相关的东西。 2 内部类 2.1 分类 Java 类中不仅可以定义变量和方法,还可以定义类,这样定义在类内部的类就被称为内部类。根 据定义的方式不同,内部类分为静态内部类,成员内部类,局部内部类,匿名内部类四种。 2.2 静态内部类 定义在类内部的 阅读全文
摘要:
1 前言 本节我们来看另一个Java基础知识,就是注解哈。 2 注解 2.1 概念 Annotation(注解)是 Java 提供的一种对元程序中元素关联信息和元数据(metadata)的途径 和方法。Annatation(注解)是一个接口,程序可以通过反射来获取指定程序中元素的 Annotatio 阅读全文
摘要:
1 前言 本节我们来看一个Java利器就是反射,反射很重要是开发框架的基础核心,主要就是从类元数据信息中解析各种信息,我们就来看看。 2 反射简介 2.1 动态语言 动态语言,是指程序在运行时可以改变其结构:新的函数可以引进,已有的函数可以被删除等结 构上的变化。比如常见的 JavaScript 就 阅读全文
摘要:
1 前言 首先说下为什么会产生这样的疑惑哈,最近在看Spring-retry的时候,发现: 其次我们再来看个现象,@Component 声明了一个Bean,内部有个单例AService,当我们调用两次 aService() 发现得到的对象不一样: @Component public class De 阅读全文
摘要:
1 前言 今天看科技类的文章发现一个新的包,还是Spring提供的,用于失败重试的,我们这节来简单看看哈。 2 spring-retry 使用 2.1 依赖引入 <dependency> <groupId>org.springframework.retry</groupId> <artifactId 阅读全文
摘要:
1 前言 最近看阿里云的RDS数据库的数据分析,发现人家统计信息很快,于是很好奇人家怎么收集的,其实就是调的PGSQL的语句来收集的,我们这节就来看看这些数据怎么来的哈。如下图RDS的收集信息: 2 数据收集 函数表 函数名返回类型描述 pg_size_pretty(bigint|numeric) 阅读全文
摘要:
1 前言 我们平时创建线程出来,可能会因为某种情况不想让线程继续运行了,放弃掉任务,那么这节我们就来看看如何停止一个线程。 Java中线程的stop()、suspend()、resume()三个方法都已经被弃用,所以不再使用这些方法停止线程。 2 终止方法 (1)我们只能调用线程的interrupt 阅读全文
摘要:
1 前言 本节我们讲下Thread.yield()方法的作用,并对比下sleep()方法、wait()方法,看看三者有何区别。 2 yield 方法 作用是:提出释放CPU时间片的请求,不会释放锁,主要知道它不会阻塞线程即可哈,平时我是没怎么用过哈。特点就是:(1)yield()方法只是提出申请释放 阅读全文
摘要:
1 前言 上节我们看了线程是如何创建启动的,那么启动以后线程怎么管理呢,这就要看我们线程的状态管理了,这节我们就来看看线程都有哪些状态以及什么操作下会驱使状态的变化流转。 2 状态定义 Java线程有6种状态定义在Thread的子类State,分别是NEW、RUNNABLE、BLOCKED、WAIT 阅读全文