• Java面试


    第5章 Java程序设计基本概念
    5.1 JVM
    ClassLoader
    1.基本概念
    与C、C++程序不同,Java程序并不是一个可执行文件;
    独立类文件组成;
    这些类文件并非全部装入内存,而是根据程序需要逐渐载入;


    ClassLoader包括bootstrap classloader(启动类加载器);
    ClassLoader就是在JVM运行时加载Java核心的API,以满足Java程序最基本的需求;
    其中包括用户定义的ClassLoader;


    两个ClassLoader:
    一个是ExtClassLoader,来加载Java的扩展API;/lib/ext中的类;
    AppClassLoader,它是用来加载用户机器上的CLASSPATH设置目录中的Class;


    没有指定ClassLoader的情况下,自定义的类就由ClassLoader进行加载;


    2.加载流程
    run--JVM start--run bootstrap classloader;
    该ClassLoader加载Java核心API;
    最后,AppClassLoader加载CLASSPATH目录下定义的Class;


    3.Method
    1)loadClass(String name,boolean resolve);


    2)defineClass()


    3)findSystemClass()


    4)resolveClass()


    5)findLoadedClass()


    6)findClass()


    7)getSystemClassLoader()


    8)forName()


    5.2 i++


    5.3 类型转换


    5.4 程序结构


    5.5 运算符


    5.6 异常
    throw--Throwable
    Error/Exception


    分析产生异常的代码,不把大量代码块丢进try


    设置多个异常抛出点;


    成员
    变量
    全局变量 
    局部变量
    final、finally、finalize
    1.final
    修饰符
    成员   值/引用
    方法



    2.finally
    异常处理模型的补充


    3.finalize()
    在垃圾收集器将对象从内存中清除出去之前必要的清理工作;


    5.7 反射(Reflection)
    反射是一种能力;
    指程序访问、检测和修改它本身的状态或行为的一种能力;
    操作本身的能力;


    计算机中的反射;
    光学中的反射;


    自描述与自控制;


    第6章 传递与引用
    Java不用关心如何操作这个“指针”;


    传递的一定是值或引用的副本;


    第8章 Java内存管理
    Java不要求程序员显示的分配内存和释放内存;
    垃圾收集器的技术;
    gc();


    Java内存管理就是对象的分配和释放问题;
    new申请内存;
    对象在堆(Heap)


    第9章 面向对象
    如果说传统的过程式编程语言是以过程为中心、以算法为驱动的话,面向对象的编程语言则是以对象为中心,以消息为驱动;
    过程式:程序=算法+数据;
    面向对象:程序=对象+消息;


    对象=属性+行为;


    类--模板;
    对象--实例;
    分类;


    第13章 设计模式
    Singleton模式的主要作用是保证在Java应用程序中,一个类Class只有一个实例存在;


    MVC模式
    Model是应用对象;
    View屏幕上的表示;
    Controller定义用户界面对用户输入的响应方式;


    13.3 软件工程
    先进行;
    开放性,依从主流技术标准;
    安全性;
    与现有系统的兼容性,异种系统之间的互连;
    技术的成长性;
    应用系统开发工具;


    三层次/多层
    二层


    第14章 操作系统
    多用户:容许在同一时间有很多人使用同一部机器,只要使用者都有自己的终端(terminal);


    多任务:为了使更多程序可以一同运行,这个特点叫做多任务;


    第15章 数据库和SQL语言
    第一范式:原子最小,不可再分;
    第二范式:非key属性依赖key;
    第三范式:非key属性不传递依赖key;


    transaction


    第16章 计算机网络及分布式系统


    第17章 J2EE技术
    Spring
    (Inverse of Control,IOC)控制反转
    (Dependency Injection,DI)依赖注入
    控制反转是对组件对象控制权的转移,从程序代码本身转移到了外部容器,通过容器来实现对象组件的装配和管理;
    注入类型:接口注入、设置注入、构造子注入;
    Sping是IOC的容器;


    依赖注入,在运行期由容器将依赖关系注入到组件中,就是在运行期间,由Spring根据配置文件,将其他对象的引用通过组件提供的setter方法进行设定;
    Sping是一个DI容器,其设计哲学是提供一种无侵入式的高扩展性框架;


    Spring大量引入了Java的Reflection机制,通过动态调用的方式避免硬编码方式的约束,并在此基础上建立了核心组件BeanFactory,以作为其依赖注入机制的实现基础;


    org.Springframework.beans包括了核心组件的实现类,
    核心中的核心为BeanWrapper和BeanFactory类;
    对于Spring而言,是关键所在;
    通过在配置文件中加以设定,就可以在运行期动态的创建对象并设定其属性;


    1)提供的是管理业务对象的方法;






    17.2 Hibernate
    理解为一个中间件;
    负责把Java的SQL语句接收并发送到数据库;
    数据库返回来的信息由Hibernate接收后直接生成一个对象传给Java;


    .cfg.xml文件
    .hbm.xml文件


    1.cfg.xml
    作用,连接数据库;
    驱动:driver
    数据库url
    username
    password


    <Hibernate-configuration>
    <session-factory>
    <property name="connection.driver_class">...</property>
    <property name="connection.url">...</property>
    <property name="connection.username">...</property>
    <property name="connection.password">...</property>
    <property name="dialect">...</property>


    <mapping resource=".hbm.xml">
    </session-factory>
    <Hibernate-configuration>


    2.hbm.xml
    <Hibernate-mapping>
    <class name="" table="">
    <id name="" column="">
    <generator class="increment"></generator>
    </id>
    <property name="name" column="name"></property>
    </Hibernate-mapping>


    Hibernate缓存机制


    1.DataSource
    2.Connection pooling
    3.transation
    4.result


    第18章 Java中的Web设计
    18.1 JSP
    1.forward和redirect


    18.2 Servlet
    init()
    service()
    destroy()


    XML

    DOM与SAX解析XML技术

    DedoChen (原创)仰望星空 砥砺前行; 如需转载,请注明出处,谢谢!
  • 相关阅读:
    Android基础之使用Fragment控制切换多个页面
    如何进行fragment中的来回切换?
    【Android】保存Fragment切换状态
    ViewPager+Fragment的结合使用,实现QQ界面的理解
    android 写文件权限
    Android文件操作
    [转]Android读写文件
    【275】◀▶ Python 控制语句说明
    【274】Python 相关问题
    【273】利用ArcPy建立处理数据的脚本
  • 原文地址:https://www.cnblogs.com/DedoChen/p/8591037.html
Copyright © 2020-2023  润新知