如何打造一个吸引临海求职者的营销型招聘网站?

摘要:招聘类网站如何做,临海受欢迎营销型网站建设,设计师个人作品集网站,餐饮品牌设计项目一、Java为什么是一种跨平台的语言? 通常,我们编写的java源代码会被JDK的编译器编译成字节
招聘类网站如何做,临海受欢迎营销型网站建设,设计师个人作品集网站,餐饮品牌设计项目一、Java为什么是一种跨平台的语言#xff1f; 通常#xff0c;我们编写的java源代码会被JDK的编译器编译成字节码文件#xff0c;再由JVM将字节码文件翻译成计算机读的懂得机器码进行执行#xff1b;因为不同平台使用的JVM不一样#xff0c;所以不同的JVM会把相同的字节码…一、Java为什么是一种跨平台的语言 通常我们编写的java源代码会被JDK的编译器编译成字节码文件再由JVM将字节码文件翻译成计算机读的懂得机器码进行执行因为不同平台使用的JVM不一样所以不同的JVM会把相同的字节码文件翻译成不同操作系统认识的机器码这样就实现了跨平台 二、Java代码的执行流程 解释执行为主编译执行为辅 JIT编译器当虚拟机发现某个方法或代码块运行特别频繁时就会把这些代码认定为(Hot Spot Code 热点代码为了提高热点代码的执行效率在运行时虚拟机将会把这些代码编译成与本地平台相关的机器码并保存到虚拟机内存中 三、类加载的过程 3.1、加载 通过类的完全限定名称获取定义该类的二进制字节流。将该字节流表示的静态存储结构转换为Metaspace元空间区的运行时存储结构。在内存中生成一个代表该类的 Class 对象作为元空间区中该类各种数据的访问入口。 类加载器就是加载类的分为 3.1.1、启动类加载器Bootstrap ClassLoader 加载java核心类库不继承ClassLoader只加载包名为java,javax,sun开头的类 3.1.2、扩展类加载器Extension ClassLoader 加载javax开头的扩展类库继承自ClassLoader父类加载器为启动类加载器从java.ext.dirs指定的路径下加载类库或者从JDK安装目录的jre/lib/ext目录下加载类库如果用户自定义的jar包放在jre/lib/ext下也会自动由扩展类加载器加载 3.1.3、应用程序类加载器Application ClassLoader 加载用户自定义或者第三方jar包继承自ClassLoader父类加载器为扩展类加载器负责加载环境变量classpath或系统属性java.class.path指定的类库java中自己写的类都是由应用程序类加载器加载的可以通过ClassLoader.getSystemClassLoader()方法获取该类加载器 双亲委派模型 一个类加载器首先将类加载请求转发到父类加载器只有当父类加载器无法完成时才尝试自己加载。如果有人想替换系统级别的类String.java。篡改它的实现在这种机制下这些系统的类已经被Bootstrap classLoader加载过了所以其他类加载器并没有机会再去加载从一定程度上防止了危险代码的植入。  3.2、验证 这一阶段的主要目的是为了确保 Class 文件的字节流中包含的信息是否符合当前虚拟机的要求并且不会危害虚拟机自身的安全。 3.3、准备 类变量是被 static 修饰的变量准备阶段为类变量分配内存并设置初始值使用的是元空间区的内存。初始值一般为 0 值。如果类变量是常量那么它将初始化为表达式所定义的值而不是 0。 3.4、解析 将常量池的符号引用替换为直接引用的过程。其中解析过程在某些情况下可以在初始化阶段之后再开始这是为了支持 Java 的动态绑定。 3.5、初始化 初始化阶段才真正开始执行类中定义的 Java 程序代码。初始化阶段是虚拟机执行类构造器 clinit()方法的过程。在准备阶段类变量已经赋过一次系统要求的初始值而在初始化阶段根据程序员通过程序制定的主观计划去初始化类变量和其它资源。 四、 主动引用 4.1、字节码指令 当 jvm 执行 new指令时会加载类。即当程序创建一个类的实例对象。 当 jvm 执行 getstatic指令时会加载类。即程序访问类的静态变量(不是静态常量常量会被加载到运行时常量池)。 当 jvm 执行 putstatic指令时会加载类。即程序给类的静态变量赋值。 当 jvm 执行 invokestatic指令时会加载类。即程序调用类的静态方法。 4.2、反射 使用 java.lang.reflect包的方法对类进行反射调用时如 Class.forname(...), 或newInstance() 等等。如果类没初始化需要触发类的加载。 4.3、父类加载 加载一个类如果其父类还未加载则先触发该父类的加载。 4.4、主类 当虚拟机启动时用户需要定义一个要执行的主类 (包含 main() 方法的类)虚拟机会先加载这个类。
阅读全文