![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
月影随風
这个作者很懒,什么都没留下…
展开
-
Java synchronized关键字用法
Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象(这里是指同一对象); 2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象;原创 2017-01-18 10:14:56 · 419 阅读 · 0 评论 -
Java static关键字的使用
今天在写代码的时候突然想到了static 方法的使用和new对象调用方法的使用的区别,于是就研究了一下java中static关键字的用法。java类的成员变量有俩种:一种是被static关键字修饰的变量,叫类变量或者静态变量;另一种是实例变量,通常有new 关键字初始化。 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。 在原创 2017-02-13 22:28:09 · 305 阅读 · 0 评论 -
Java字节码详解系列之一--class文件格式简介
什么是字节码? 首先,我们知道,Java语言是可以"write once,run anywhere",要做到这一点,就要在编写代码的时候让Java代码不能依赖计算机底层的机器指令,于是就出现了Java虚拟机来代替CPU执行Java编译后的代码,也就是"字节码"这种中间语言(IL)。Java编译后生成了class字节码,每一个Java类被编译后会生成一个对应的.class字节码文件,JVM...原创 2018-04-01 19:04:12 · 478 阅读 · 0 评论 -
Java字节码详解系列之二--解析字节码
1、javap查看字节码内容上文介绍了字节码的结构,本文主要通过一个简单的例子说明class字节码的每一个字段。package com.zcm.test;import java.io.Serializable;public class SourceTest implements Serializable{ public int a=3; static Integer b=6...原创 2018-04-03 16:41:01 · 4353 阅读 · 2 评论 -
Java中的线程和并发
线程简介 现代操作系统调度的最小单元是线程。在一个进程中可以创建多个线程,这些线程都可以有各自的计数器,堆栈和局部变量等属性,并且可以访问共享的内存变量。线程优先级 现代操作系统采用时间片的形式调度运行的线程,当线程的时间片用完了就会发生线程调度,并等待下次分配。而线程的优先级就是决定需要多或少分配一些处理器资源的线程属性。 在Java的Thread中,通过一个int变...原创 2018-04-19 19:19:22 · 218 阅读 · 0 评论 -
Java一些语法实现机制
近期在看阿里的Android热修复技术原理一书中,看到Java的某些语法实现机制时,感觉获益匪浅,故这里记录一下,也是对Java语言的一些理解。内部类的编译 我们都知道内部类会隐式持有外部类的引用,而静态内部类不是持有外部类的引用。其原理时Java编译器在编译时会把静态类编译成外部类一样的顶级类。非静态内部类,在编译完成后,在字节码文件中会生成一个外部类类型的this$0的...原创 2018-06-07 11:40:51 · 262 阅读 · 0 评论