您的位置:首页 > 编程语言 > Java开发

五、深入分析javaweb技术内幕(Java编码,编译及类加载器)

2018-03-14 10:20 351 查看

Java中的编码

编码问题一直在困扰着程序开发人员,尤其在Java中更加明显。因为Java是跨平台语言,在不同平台的编码之间的切换较多。

为什么要编码?





所谓编码,就是要把人类能理解的语言翻译成计算机能理解的语言

如何编码?



ASCII编码



ISO-8859-1



GB2312



GBK



GB18030



UTF-16





UTF-8



Java中需要编码的场景

一般有两种情况:在I/O操作中存在的编码在内存操作中存在的编码

[b]I/O操作中存在的编码[/b]









[b]内存操作中存在的编码[/b]





[b]对几种编码格式的比较[/b]





在Java Web中涉及的编解码

先说明两个问题,一:文本实际大小要看字节数而不是字符数。二:Java内存编码采用的是UTF-16,所以一个char是16bit的,所以两个汉字用char表示,在内存中会会占用4个字节

下面我们看一看一次HTTP请求的编码示例:



当然,细节问题,比如说URL的编码,HTTP Header的编码,POST表单的编码,HTTP BODY的编码,JS中的编码问题以及一些常见问题的分析,我就不细说了,请大家自己去看许老师的书吧。

编译

Javac是什么



Javac组件及编译流程



编译细节我就不赘述了。书中还讲解了class文件的相关知识。

类加载器



ClassLoader类结构分析



ClassLoader是个抽象类,我们想自己实现ClassLoader,一般会选择继承URLClassLoader

ClassLoader的等级加载机制











如何加载class文件









ClassLoader其它相关知识

ClassLoader做的事:





如何实现热部署:







Java应不应该动态加载类











</div>
</div>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java web java