JVM基础

一、Java 运行时区域《Java 虚拟机规范(Java SE 7 版)》1.类装载子系统通过类的全限定名加载 class 文件2.进而与运行时数据区交互方法区、Java堆区、Java栈区、程序计数器、本地方法栈3.通过执行引擎调用本地库接口,进而操作本地方法库[list][*]Java 运行时数据区:方法区、堆、虚拟机栈、程序计数器、本地方法栈[*]线程共享数据区:方法区、堆[*]线程隔离数据区:虚拟机栈、本地方法栈、程序计数器[…

第一节:Java SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行

      我是通过圣思园的视频教程来学习的。笔记呢,主要是讲解的内容概要,其中的测试用的源码只copy了一部分上来。主要为了复习时方便。不然仅仅看这些文字性的东西比较难理解。 1.Java 分为: Java SE:Java Standard Edition Java ME: Java Mobile Edition Java EE:Java Enterprise Edition   Java是由Sun公司推出的(今年初被Oracle公司收购)。   收购价格:74亿美金   J2SE、J2ME、J2EE   2. …

探讨Java的类加载机制

未分类 , , , , 发表评论
Java 语言是一种具有动态性的解释型编程语言,当指定程序运行的时候, Java 虚拟机就将编译生成的 . class 文件按照需求和一定的规则加载进内存,并组织成为一个完整的 Java 应用程序。 Java 语言把每个单独的类 Class 和接口 Implements 编译成单独的一个 . class 文件,这些文件对于 Java 运行环境来说就是一个个可以动态加载的单元。正是因为 Java 的这种特性,我们可以在不重新编译其它代码的情况…

深入理解JVM内幕:从基本结构到Java 7新特性

Java , 发表评论
本文作者: ImportNew - 朱伟杰 未经许可,禁止转载!每个Java开发者都知道Java字节码是执行在JRE((Java Runtime Environment Java运行时环境)上的。JRE中最重要的部分是Java虚拟机(JVM),JVM负责分析和执行Java字节码。Java开发人员并不需要去关心JVM是如何运行的。在没有深入理解JVM的情况下,许多开发者已经开发出了非常多的优秀的应用以及Java类库。不过,如果你了解JVM的话,你会更加了解Jav…

JVM加载class文件的原理机制

Java 语言是一种具有动态性的解释型编程语言,当指定程序运行的时候, Java 虚拟机就将编译生成的 . class 文件按照需求和一定的规则加载进内存,并组织成为一个完整的 Java 应用程序。 Java 语言把每个单独的类 Class 和接口 Implements 编译成单独的一个 . class 文件,这些文件对于 Java 运行环境来说就是一个个可以动态加载的单元。正是因为 Java 的这种特性,我们可以在不重新编译其它代码的情况…

深入理解-栈

JVM , 发表评论
概念 Each Java Virtual Machine thread has a private Java Virtual Machine stack, created at the same time as the thread. A Java Virtual Machine stack stores frames (§2.6). A Java Virtual Machine stack is analogous to the stack of a conventional language such as C: it holds local variables and partial results, and plays a part in method invocation and return. Because the…

Java JNI深度分析与实践

未分类 , , , , , 发表评论
Java JNI是Java Native Interface的缩写,中文可译为Java本地调用。Java Native Interface (JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。本文向您详细介绍Java JNI。   Java 环境和语言对于应用程序开发来说是非常安全和高效的。但是,一些应用程序却需要执行纯 Java 程序无法完成的一些任务,比如: 与旧有代码集成,避免重新编写。 实现可用类库中所缺少的功能。举…

【转】jvm虚拟机参数详解之-jar参数运行时报ClassNotFound

原文链接:java -jar参数运行应用时classpath的设置方法(转载) 问题:当用java -jar yourJarExe.jar来运行一个经过打包的应用程序的时候,你会发现如何设置-classpath参数应用程序都找不到相应的第三方类,报ClassNotFound错误。 原因:当使用-jar参数运行的时候,java VM会屏蔽所有的外部classpath,而只以本身yourJarExe.jar的内部class作为类的寻找范围。 解决方案:  1.【推荐】 (分隔符与class…

打包jar方法

未分类 , , , , , 发表评论
运行jar包解决方案 2006年08月18日 星期五 下午 07:01 当用java -jar yourJarExe.jar来运行一个经过打包的应用程序的时候,你会发现如何设置-classpath参数应用程序都找不到相应的第三方类,报 ClassNotFound错误。实际上这是由于当使用-jar参数运行的时候,java VM会屏蔽所有的外部classpath,而只以本身yourJarExe.jar的内部class作为类的寻找范围。 **解决方案** 一 BootStrap class扩展方案 Java …

Java Jar 命令

未分类 , , , , 发表评论
你是否在使用java -jar参数运行打包好的jar应用程序的时候发现应用程序无法找到classpath下设置好的第三方类库的内容?无论怎么设置classpath参数都无济于事,总是会报ClassNotFound的错误?那么本篇帖子可以帮助你摆脱烦恼 :)当用java -jar yourJarExe.jar来运行一个经过打包的应用程序的时候,你会发现如何设置-classpath参数应用程序都找不到相应的第三方类,报ClassNotFound错误。实际上这是由于…

java -jar命令

你是否在使用java -jar参数运行打包好的jar应用程序的时候发现应用程序无法找到classpath下设置好的第三方类库的内容?无论怎么设置classpath参数都无济于事,总是会报ClassNotFound的错误?那么本篇帖子可以帮助你摆脱烦恼 :)当用java -jar yourJarExe.jar来运行一个经过打包的应用程序的时候,你会发现如何设置-classpath参数应用程序都找不到相应的第三方类,报ClassNotFound错误。实际上这是由于…

怎么样运行jar

未分类 , , , , 发表评论
一、制作jar文件 在制作.jar 文件之前你必须先编译好你的.java文件。假设我们的文件目录是c:javamyJavahelloHello.java 现在假设Hello.java的文件内容为: /* * * Hello.java * */ public class Hello { public static void mian(String[] args){ System.out.println("Hello, World !"); } } 在进行.jar 制作的时候你必须把路径切换到Hello.java 所在的文件目录的外一层文件夹(.jar文件要在Dos才能创…

java -jar命令

未分类 , , , , 发表评论
你是否在使用java -jar参数运行打包好的jar应用程序的时候发现应用程序无法找到classpath下设置好的第三方类库的内容?无论怎么设置classpath参数都无济于事,总是会报ClassNotFound的错误?那么本篇帖子可以帮助你摆脱烦恼 :) 当用java -jar yourJarExe.jar来运行一个经过打包的应用程序的时候,你会发现如何设置-classpath参数应用程序都找不到相应的第三方类,报ClassNotFound错误。实际上这是由…

SpringBoot自动配置

未分类 , , , , 发表评论
本篇介绍下,如何通过springboot的自动配置,将公司项目内的依赖jar,不需要扫描路径,依赖jar的情况下,就能将jar内配置了@configuration注解的类,创建到IOC里面 介绍下开发环境 JDK版本1.8 springboot版本是1.5.2 开发工具为 intellij idea(2018.2) 开发环境为 15款MacBook Pro 前言 很多时候,我们在公司用springboot作为基础框架开发项目的时候,会遇见依赖jar的时候,别的jar里面需要创建一些bean,往往…