Java基础
文章平均质量分 77
langzicanyue
这个作者很懒,什么都没留下…
展开
-
java自定义注解
注解的定义 java注解(Annotation)又称java标注,是JDK5.0引入的一种注释机制。Java语言中的类、方法、变量、参数和包等都可以被标注。 java提供了一种原程序中的元素关联任何信息和任何元数据的途径和方法。 常见的注解 jdk自带注解 @Override 检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误。 @Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) public原创 2021-02-08 14:10:05 · 104 阅读 · 1 评论 -
Java虚拟机是如何执行线程同步的
想介绍下synchronized的原理,但是又不知道从何下手,在网上看到一篇老外的文章,介绍了和线程同步相关的几个基础知识点。所以想把它翻译一下给大家看看。相信看过这些基础知识之后再看我后面要写的synchronized的原理就会好理解一点了。 原文地址:How the Java virtual machine performs thread synchronization 了解Java语言的人都知道,Java代码要想被JVM执行,需要被转换成由字节码组成的class文件。本文主要来分析下Java虚拟机是转载 2021-02-03 11:43:54 · 86 阅读 · 0 评论 -
Thread详解
线程概述 线程是现代操作系统调度的最小单元,一个进程可以创建多个线程来提高系统的吞吐量和执行效率。(进程是操作系统资源分配和调度的基本单位,它可以创建多个线程,进程可创建的线程数量和操作系统有关) 线程状态 如下图: Thread源码中定义了线程状态枚举 /** * 线程状态。线程可以处于以下状态之一 * NEW:尚未启动的线程处于此状态 * RUNNABLE:在java虚拟机中执行的线程处于此状态 * BLOCKED:被阻塞等待监视器锁定的线程处于此状态原创 2021-02-03 10:37:18 · 1480 阅读 · 0 评论 -
Java虚拟机(JVM)你只要看这一篇就够了!
本文是学习了《深入理解Java虚拟机》之后的总结,主要内容都来自于书中,也有作者的一些理解。一是为了梳理知识点,归纳总结,二是为了分享交流,如有错误之处还望指出。 用XMind画了一张导图(源文件对部分节点有详细备注和参考资料,需要的朋友可以关注我的微信公众号:Java团长,然后回复“JVM”获取): 1. Java 内存区域与内存溢出异常 1.1 运行时数据区域 根据《Java 虚拟机规范(Ja...转载 2021-02-02 10:58:08 · 117 阅读 · 0 评论 -
java反射
反射是什么?为什么需要反射? 反射如何使用 反射类 反射方法 反射变量 反射的注意事项以及优缺点 反射相关面试总结原创 2021-02-01 17:41:20 · 74 阅读 · 0 评论 -
Java泛型详解
概述 本质上是类型限定以及类型参数化。 泛型,即“参数化类型”,提到参数,最熟悉的就是定义方法的时候有形参,然后调用方法的时候需要传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数(可以称之为类型形参),然后在使用、调用时传入具体的类型(类型实参)。 泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来看控制形参具体限制的类型)。也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在原创 2021-02-01 11:37:13 · 123 阅读 · 0 评论 -
Java序列化与反序列化
序列化定义 Java提供了一种对象序列化的机制,即: 对象可被表示未一个字节序列,该字节序列包括该对象的数据,存储在对象中数据的类型。这些字节序列可以保存在磁盘或者通过网络传输,以达到之后反序列化成原来的对象的目的。 反序列化:通常我们可以从文件或者网络中读取序列化的对象,并将其反序列化成之前的对象,获取其中的数据类型,相关数据。 使用场景 所有在网络以及文件流形式传播的对象都必须是可序列化的,比如(remote method invoke,即远程方法调用),出入的参数以及返回的对象都是可序列化的,否则原创 2021-01-30 16:51:24 · 55 阅读 · 0 评论