面试题(Java面试) 常遇面试题 不同的面试官问的问题不一样,侧重点不一样。并不是下面的都会问,可能还会问其他的,仅供参考。这些问题一般会结合一些场景来问,不过下面是大致问过比较多的一些。 Java基础: 面向对象的特点 面向对象主要有四大特征 抽象:将一些多个对象的共同特点进行找出来,然后抽象出来一个类或者方法。例如人类和狗都是动物,那么他们都有移动的功能,只不过移动的方式不同而已。在项目中一般抽象出来最多
Hibernate框架二之ManyToOne 1、在开发过程中,经常会遇到:一个班级对应多个学生这种一对多的关系,hibernate作为一个持久层框架,是怎么实现这个对象的关联呢?这就是我们这章讨论的重点 2、实例代码在上面有,感兴趣的同学可以到下下来看看,这里我们主要讲解一些配置信息,代码我是配置了Group与User之间的一对多的关系,我主要讲解这个怎么配置 首先应该知道一对多的关联,关联属性应该配置在多的一方,所以这里应该讲关联属性配
hibernate框架一之基本知识及编写一个基本的项目 session/actionQueue/insertions/elementData是保存对象在session管理器的状态:如果一个对象存在则该对象在这个elementData对象中有值,如果不在session管理器中,则该对象在该elementData对象中没有值session/persistenceContext/entityEntries/map/table是保存程序中关于数据库中的对象的值,
spring框架一之属性值的初始化 今天我们来了解spring框架,首先我们来了解spring的注入功能。值得注意的是spring采用的是java本身的代理,所以在配置spring框架的项目时候,最后采用面向接口编程。这样就可以通过配置文件来降低耦合性 我们先从配置文件讲解怎么实现属性的注入<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springfra
Struts1框架九之声明式异常 这是关于Struts1框架的最后一篇笔记,在这里我们来讲讲Struts1异常的处理,而这里主要讲的就是国际化的异常处理机制。首先我们来看看配置文件里面关于异常信息的配置,这里其他的信息在前面关于struts1框架里面都有讲解,这里我们主要关注于 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC
Struts1框架八之国际化 网站如果需要跨国使用的话,最大的问题莫过于语言的交流。那么怎么建立一个较好网站满足多个国家的需求呢?在Struts1框架就定义一个比较完整的国际化实现。首先struts1支持静态的国际化(即:根据你使用的浏览器的默认语言或者系统语言)和自动切换的国际化(根据你的选择语言的不同) 我们先来了解下怎么实现一个静态的国际化,首先我们来看看struts-config.xml配置信息,这个配置信息里面其他的
Struts1框架七之DispatchAction的说明 只要看过我之前的项目的同学一定会发现,哪些项目的配置相当复杂、繁琐!并且一个类对应一个请求,一个请求对应一个ActionForm,这对于真正的项目开发来说是一个巨大的BUG般的存在,不合理、非常不合理、完全不合理!这些不合理在Struts1当然不能存在。所以我们今天就讲讲怎么让一个类可以对应多个请求,多个请求怎么对应一个ActionForm。这样开发效率、配置量都会大大的减少. 首先,我们从配置文
Struts1框架五之怎么自定义一个FormBean的类型转化器 在用struts1框架编写程序的时候,在收集表单数据的时候,可能会遇到收集缺失,原因可能是格式不匹配,例如jsp页面的表单数据都是String类型,但是真正的ActionFrom可能是java.util.date类型!在这种情况下,Struts1是不能够完成从String类型到java.util.date类型的转换的!也就不能实现表单数据的收集 这就需要我们自己定义一个转换器,然后注册到strut
Struts1框架四之文件上传 整理笔记四,利用struts1实现文件上传,我在这里做一个简短的讲解 首先,我们需要配置一个jsp页面,让用户可以选择上传的文件 这里需要注意几点 1、请求为post请求,否则会报Element tyep unmatch异常。个人觉得原因可能为get请求时将请求信息封装在http请求头,但是请求头是有长度限制的,所以你需要将文件放在请求体里面。当然如果你上传的文件小于2K,也可以用ge
Struts1框架三之里面的DynActionForm讲解 我们来看看struts-config.xml的配置信息<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.ap
Struts1框架二之项目执行流程(源代码分析1) 整理笔记二:上文我将了一个struts1项目的执行流程,但是具体里面的代码调用,我们并没有了解。今天我就从源代码分析下整个项目的执行流程,首先我们先来看看执行流程图 从上面我们我可以简单的了解到,一个Struts1的执行流程,但是大家会有一些问题 1、ActionServlet类里面有什么属性、都有什么方法 2、struts1框架是怎么通过请求得到一个具体的action请求的 3、strut
Struts1框架一之项目的配置及执行流程 首先,一个web项目,web.xml里面封装了所有的servlet、filter等信息,Struts1作为web框架,也需要通过xml的配置才能够运行 然后,struts1的servlet控制器是ActionServlet,所有的.do请求(也可以用其他的格式)信息都会通过该控制器转发到具体的Action里面 最后,我们来看看怎么在web.xml配置struts1的servlet中央控制器Act
springMVC框架二之拦截器 主要是这里配置拦截器信息,第一个UnicodeIntercept拦截器是对所有的.do请求进行拦截。第二个LoginIntercept拦截器是对login.do请求进行拦截。我们来看看他们分别是怎么实现拦截的 package com.xingyao.action.intercept;import javax.servlet.http.HttpServletRequest; import java
springMVC框架一之的登录功能的介绍 今天讲解的是springMVC框架的登入功能的实现,首先我们应该知道springMVC框架是怎么进行业务转发的 这里的DispatchServlet是springmvc的Servlet,所有的.do请求都交给这个Servlet(类似于struts1里面的action)
虚拟机类加载器 上篇博客我大概讲了下《java虚拟机分析以及GC 》,讲的不好之处请指出《java虚拟机分析以及GC 》今天看《深入理解Java虚拟机》有点小体会,特写这篇博客 首先话不多说,看图 从图中我们很容易看出:一个类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(verification)、准备(Preparation)、解析(Resolutio
java虚拟机分析以及GC 今天看《深入理解java虚拟机》有点小体会,特写这篇博客 首先话不多说,看图 由图可以知道,java内存分为:方法区、虚拟机栈一、本地方法栈、堆、程序计数器这几个大块 我将从这几部分介绍内存模块:1、功能;2、异常;3、线程独立程序计数器:是一块较小的内存空间 —–作用:当前线程所执行的字节码文件行号的指示器,字节码解释器工作就是通过改变这个计数器的值来选
随笔jar 今天无事,看了下动态代理模式,就自己写了个通过配置文件添加日志的功能首先: 1、要使用代理模式,需要一个类实现InvocationHandler接口,并且实现invoke()方法package com.xingyao.aop;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import org.
Spring的aop介绍 AOP(Aspect Oriented Programming):主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或者阶段,以获取逻辑过程中各部分之间的低耦合的隔离效果。常用于对日志记录。 ———-如:老师添加一个学生信息到数据库中,我们为了数据的安全性需要将谁添加的那个同学的信息记录到日志文件中,方便我们程序人员查看信息是否安全。 这样就产生一个功能:添加日志
阿里云 开篇讲课: —-用户应该只关心核心问题:业务、逻辑、数据,而不应该关心资源 ——-这里的资源应该是指有多少台服务器、多少台数据库、多少台session数据库、多少台文件数据库、多少台应用服务器等网络资源 ——-数据指的是软件、网站所需要的信息 就告诉我们:在将来我们网站、软件。只需要提供功能,然后数据可以从资源数据库中提取很多大公司都有相同的观点:当你的业务需求或者数据需求变大时,你的资源必