待兔 待兔
3年前
一篇文章通俗易懂的让你彻底理解 Java 注解
很多Java程序员,对Java的注解一知半解,更有甚者,有的人可能连注解是什么都不知道本文我们用最简单的demo,最通俗最短的语言,带你了解注解到底是什么?先来简单回顾一下基础,我们知道,Java的源文件编辑后,生成.class文件,1..Java源文件,这个是源文件时期2.源文件经过编译生成.class字节码文件,这个也是编译时期3
lucien-ma lucien-ma
3年前
Java里面的十万个为什么
Java里面的十万个为什么1.不是说JVM是运行Java程序的虚拟机吗?那JRE和JVM的关系是怎么样的呢?简单地说,JRE包含JVM。JVM是运行Java程序的核心虚拟机,而运行Java程序不仅需要核心虚拟机,还需要其他的类加载器,字节码校验器以及大量的基础类库。JRE除包含JVM之外,还包含运行Java程序的其
执键写春秋 执键写春秋
3年前
自由编程——读取文件字节
题目:老师让程序员小马统计英文演讲稿speech.txt文件中共有多少个字符,并显示所有内容以便在演讲开始前有个准备,假如你是小马,请完成老师教给你的任务。任务要求:1、实例化FileInputStream对象2、设置while循环读取speech.txt文件内容3、在循环中设置计数器count,每读取一个字节,count加1packageperson.
Easter79 Easter79
3年前
Spring的两种代理JDK和CGLIB的区别浅谈
一、原理区别:java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP 2、如果目标对象实现了接口,可以
Wesley13 Wesley13
3年前
PCM数据格式
1\.8Bit单声道:1\.8Bit单声道:采样1采样2数据1数据22\.8Bit双声道采样1采样2声道1数据1声道2数据1声道1数据2声道2数据21\.16Bit单声道:采样1采样2数据1低字节数据1高字节数据1低字节数据1高字节2\.16
Wesley13 Wesley13
3年前
API信息全掌控,方便你的日志管理——阿里云推出API网关打通日志服务
_摘要:_ 近日,阿里云API网关对接了日志服务,可以输出用户在API网关产生的API调用日志,目前支持将API接入API网关的用户查看日志明细、概况、报表分析、在线查询等。访问日志(AcccessLog)是由应用服务生成的日志,每一次API请求都对应一条访问记录,内容包括调用者IP、请求的URL、响应延迟、返回状态码、请求和响应字节数等重要信息
Wesley13 Wesley13
3年前
JVM内存逻辑结构
JVM(JavaVirtualMachine),即Java虚拟机。JVM是一种用于计算机设备的规范,它是虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能实现的。因此,能在JVM中执行的并不一定是Java语言的编译后字节码,也可以是其它语言,比如Jyphon、JRuby以及Groovy等。下图为Java程序员最为关注JVM的内存模
Easter79 Easter79
3年前
Spring的两种动态代理:Jdk和Cglib 的区别和实现
一、原理区别:java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP 2、如果目标对象实现了接口,可以
Stella981 Stella981
3年前
Gradle 自定义插件
!思维导图(https://oscimg.oschina.net/oscnet/4fa78e79a8c56f6d2fd708c029b68262e15.png)使用版本5.6.2插件被用来封装构建逻辑和一些通用配置。将可重复使用的构建逻辑和默认约定封装到插件里,以便于其他项目使用。你可以使用你喜欢的语言开发插件,但是最终是要编译成字节码
Stella981 Stella981
3年前
JVM学习第一天
程序计数器当前线程所执行的字节码的行号指示器每个线程都有自己私有的计数器native方法,计数器值为空该内存区域没有规定任何的OutOfMemoryError情况虚拟机栈Java方法执行的内存模型,用于存储局部变量标、操作数栈、动态链接、方法出口等信息虚拟机栈也是线程私有局部变量表所需的内存控件在