运行时数据区 java虚拟机定义了若干种程序运行时使用到的运行时数据区 1.有一些是 随虚拟机的启动而创建,随虚拟机的退出而销毁 2.第二种则是与线程一一对应,随线程的开始和结束而创建和销毁。 java虚拟机所管理的内存将会包括以下几个运行时数据区…
写在前面 每个java开发人员对java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是java技术体系中比较核心的部分,虽然平时没又怎么接触,虽然和大部…
一、JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 1、虚拟机栈: 每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了…
近几天在看java核心技术卷II,在1.6.6 迭代目录中文件一节中有如下代码: try(DirectoryStream<Path> entries=Files.newDirectoryStream(dir)) { for(Path en…
1 基本信息 每个开发人员对Java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。Java的类加载机制是技术体系中比较核心的部分,虽然和大部分开发人员直接打交道不多,但是对其…
最近在自学javaWeb,先复习一下java,把还给老师的东西再找回来(知识如果不用很快就会忘记啊)。。 今天看到了zip压缩,决定要整理一下。 java将有关zip压缩的内容都封装在java.util.zip宝中,用java实现zip压缩,不用考虑…
问题: com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions Class has two p…
1.类的加载过程 JVM将类加载过程分为三个步骤:装载(Load),链接(Link)和初始化(Initialize)链接又分为三个步骤,如下图所示: 1) 装载:查找并加载类的二进制数据; 2)链接: 验证:确保被加载类的正确性; 准备:为类的静…
Maven这个单词来自于意第绪语,意为知识的积累,最早在Jakata Turbine项目中它开始被用来试图简化构建过程。当时有很多项目,它们的Ant build文件仅有细微的差别,而JAR文件都由CVS来维护。于是Maven创始者开始了Maven这个…
@Component 单例 多例 @Component 默认单例 如果想声明成多例 用 @Component @Scope("prototype") 参考文章 <转载>spring 注解@Component,@Service,@Contr…
Netty4.x中文教程系列(六) 从头开始Bootstrap 其实自从中文教程系列(五)一直不知道自己到底想些什么。加上忙着工作上出现了一些问题。本来想就这么放弃维护了。没想到有朋友和我说百度搜索推荐了我的文章。瞬间有点小激动啊。决定自己要把这个教…
上一篇文章详细解释了ChannelHandler的相关构架设计,版本和设计逻辑变更等等。 这篇文章主要在于讲述Handler里面的Codec,也就是相关的编解码器。原本想把编解码器写在上一篇文章里面的。后来想想Netty里面的编解码器太多了。想要一次…
上一篇文章详细解释了Hello World示例的代码。里面涉及了一些Netty框架的基础。 这篇文章用以解释ChannelHandler。笔者本身在以前写过文章ChannelHandler改动及影响 和 ChannelInitializer 学习 对…
上一篇文章,笔者提供了一个Hello World 的Netty示例。 时间过去了这么久,准备解释一下示例代码。 1.HelloServer 详解 HelloServer首先定义了一个静态终态的变量---服务端绑定端口7878。至于为什么是这个7878…
在中国程序界。我们都是学着Hello World !慢慢成长起来的。逐渐从一无所知到熟悉精通的。 第二章就从Hello World 开始讲述Netty的中文教程。 首先创建一个Java项目。引入一个Netty 框架的包。这个步骤我在本系列教程的后面就…