1,关于 . java文件
规定:第一行为 package name; 表示该.java文件属于哪一个包。
一个.java文件中可以有多个类,但是只能有一个public类,并且这个public类必须与.java文件名一样(区分大小写)。
 
2,package(包)
概念:package表示包,类似于文件夹。
··· 注意:如果一个.java文件声明了package,在使用javac编译时要使用带包编译即:javac -d . name.java,否则在执行.class文件时会报错(找不到或无法加载主类)。
··· package的命名规范为域名倒置,例如:com.company.department.group.project.module;逐步细化。
 
3,CLASSPATH和JAVA_HOME的作用
classpath是java编译后生成的.class文件的存放位置,默认为 . 即在当前目录下生成.class文件,java1.6后不用配置。
java_home是java安装目录的根目录。
 
4,类加载
··· 概念:
JVM首次使用某个类时,需要通过CLASSPATH查找该类的.class文件,并将.class文件中对类的描述加载到内存中,进行保存(如:包名,类名,父类名,属性,方法,构造方法等)。
··· 何时加载
    · 被动加载:创建对象,创建子类对象,访问静态属性,调用静态方法。
    · 主动加载:Class.forName("全限定名");  // 类似于反射。
··· 注意:
    · 类加载时使用“双亲委派机制”,首先通过启动器和标准扩展查看是不是就java.lang包下的类,如果不是,再用系统类加载器加载用户定义的类。这样可以防止黑客修改lang包下的类。
    · 可以通过类加载器隔离加载的类,比如一个Tomcat可以部署多个项目时,就是通过类加载器隔离不同项目中加载的类。
 
5,代码块
··· 静态代码块:类加载的时候执行(且只会执行一次),可以用来初始化静态属性。 // stataic{}
··· 动态代码块:对象创建的时候执行,类似于构造方法。
··· 方法中的代码块:用来隔离变量的作用域。
 
6,创建对象时的执行步骤
··· 类加载(如果类还没有加载):
    初始化静态属性;
    执行静态代码块;
··· 对象初始化(执行构造方法):
    初始化实例属性;
    执行动态代码块;
    执行构造方法中的内容;
 
注意事项
    · 构造方法不能递归调用。
    · idea中把jar添加到Modules,其实就是在执行java命令时,把jar包的路径添加到-classpath参数中。-classpath就是启动JVM时这个程序所有的 .class文件所在的目录,然后找到入口main方法开始执行。
    · Runtime.getRuntime().addShutdownHook(new Thread)可以添加一个钩子,当JVM退出时,会执行这个线程。

1,Java知识储备的更多相关文章

  1. 剑指Offer——中国银行面试知识储备

    剑指Offer--中国银行面试知识储备+面试内容 事件介绍 时间:2016.11.23 08:30 地点:北京市海淀区永丰路299号南门(中国银行软件中心) 事件:中国银行面试(中英文面试) 注意事项 ...

  2. shrio的知识储备

    博客讲解; shrio的知识储备 shrio的简单认识 笔记整理地址: Shrio.pdf 下载 Shrio理论.doc 下载 Shrio知识储备.doc  下载 Shrio的知识储备 (一)   S ...

  3. Java知识体系

    Java知识体系 java知识结构.jpg web框架.jpg 计算机课程体系.png 2016-08-19_090929.png 流行的哈希算法生存状况.jpg "JAVA之父" ...

  4. 一个php技术栈后端猿的知识储备大纲

    <h1 align="center">Easy Tips</h1><p align="center"><a href= ...

  5. Android开发学习必备的java知识

    Android开发学习必备的java知识本讲内容:对象.标识符.关键字.变量.常量.字面值.基本数据类型.整数.浮点数.布尔型.字符型.赋值.注释 Java作为一门语言,必然有他的语法规则.学习编程语 ...

  6. python网络爬虫,知识储备,简单爬虫的必知必会,【核心】

    知识储备,简单爬虫的必知必会,[核心] 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌 ...

  7. Java知识体系纲要

    最近一段时间,把Java主要涉及到的大概念都大致学习了一遍,为了让自己能够更好地形成对Java知识体系的整体把握,先把学过的知识点添加到自己画的思维导图上. 整个Java知识体系的划分,我自己主要将它 ...

  8. 想要开发自己的PHP框架需要那些知识储备?

    作者:安正超链接:https://www.zhihu.com/question/26635323/answer/33812516来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  9. 震惊!90%的程序员不知道的Java知识!

    震惊!90%的程序员不知道的Java知识! 初学Java的时候都会接触的代码 public static void main(String[] args){ ... } 当时就像背公式一样把这行代码给 ...

随机推荐

  1. sd卡分区步骤

    1.将sd卡通过优盘插在电脑上 2.fdisk  /dev/sdb 3.   m   //帮助 d    //删除分区 4.  n   //添加新的分区. p  //默认主分区 回车 +400M   ...

  2. curl查看请求你响应时间

    [root@localhost ~]# curl -o /dev/null -s -w time_namelookup:%{time_namelookup}"\n"time_con ...

  3. git基本操作-长期维护

    ###############    初识git    ############## """ git初识: 1,git是什么?git是一个帮助用户版本控制的软件, 2,g ...

  4. 正则表达式awk学习(三)

    awk:格式化文本输出 gawk - pattern scanning and processing language awk:gawk的符号链接 基本用法:gawk [options] 'progr ...

  5. Windows2012R2 设置NTP时间服务器

    一.服务端配置 (Ntp服务器,客户端将根据这台服务器的时间进行同步) 1.微软键+R键,进入“运行”,输入“regedit”,进入注册表 2. HKEY_LOCAL_MACHINE\SYSTEM\C ...

  6. iOS运营级B2B服务平台App、自定义图标库、个人中心页面、识别身份证Demo、瀑布流等源码

    iOS精选源码 简单的个人中心页面-自定义导航栏并予以渐变动画 一个近乎完整的可识别中国身份证信息的Demo 可自动快速... iOS可自定义图表库 - PNChart 开源一款曾是运营级的B2B服务 ...

  7. Python-scapy学习

    scapy-arpspoof from scapy.all import Ether,ARP,sendp,getmacbyip Ether:用来构建以太网数据包 ARP:构建ARP数据包的类 send ...

  8. ip获取到城市

    <?phpfunction GetIP() {    if ($_SERVER["HTTP_X_FORWARDED_FOR"])        $ip = $_SERVER[ ...

  9. sql 优化之8个尽量

    查询语句的优化是SQL效率优化的一个方式,可以通过优化sql语句来尽量使用已有的索引,避免全表扫描,从而提高查询效率.最近在对项目中的一些sql进行优化,总结整理了一些方法. 1.在表中建立索引,优先 ...

  10. LG_3459_[POI2007]MEG-Megalopolis

    题目描述 Byteotia has been eventually touched by globalisation, and so has Byteasar the Postman, who onc ...