![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 53
「已注销」
这个作者很懒,什么都没留下…
展开
-
Action层, Service层 和 Dao层的功能区分
Action/Service/DAO简介: Action是管理业务(Service)调度和管理跳转的。 Service是管理具体的功能的。 Action只负责管理,而Service负责实施。 DAO只完成增删改查,虽然可以1-n,n-n,1-1关联,模糊、动态、子查询都可以。但是无论多么复杂的查询,dao只是封装增删改查。至于增删查改如何去实现一个功能,dao是不管的。 总结这转载 2017-05-12 02:03:37 · 275 阅读 · 0 评论 -
Java 8的新特性总结
前言: Java 8 已经发布很久了,很多报道表明java 8 是一次重大的版本升级。在Java Code Geeks上已经有很多介绍Java 8新特性的文章,例如Playing with Java 8 – Lambdas and Concurrency、Java 8 Date Time API Tutorial : LocalDateTime和Abstract Class Versu转载 2017-09-04 10:23:08 · 268 阅读 · 0 评论 -
String、StringBuffer、与StringBuilder的区别
相信大家都知道StringBuffer、StringBuilder,但是这两个的用法都差不多,到底有什么区别呢,这也是面试的时候问的比较多的一道题,这里我就来说说,这两个的区别结合String来说~ String:查看源码得知,String类的声明是:public final,所以可以很清楚的知道,fianl的话是改变不了的,所以,如果我们用String来操作字符串的时候,一旦我们字符串转载 2017-09-04 14:54:56 · 153 阅读 · 0 评论 -
mvc模式中关于DTO层的简单使用
1、概念:DTO:Data Transfer Object,数据传输对象,起到数据封装与隔离的作用2、应用介绍:在实际项目中,DTO的分在两层传输,一层是service层向controller层,这一层的DTO封装service执行结果,给controller,简化业务数据,只提取部分业务相关字段或补充处理相关字段,不同业务可能有不同的此类dto,具有业务相关性;另转载 2017-09-13 10:20:10 · 2721 阅读 · 0 评论 -
浅析VO、DTO、DO、PO的概念、区别和用处
概念: VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。 DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。转载 2017-09-13 17:37:44 · 194 阅读 · 0 评论 -
Java面试题全集(上)
1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 - 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的转载 2017-09-13 17:40:58 · 1282 阅读 · 0 评论 -
Java 空字符串“”和null区别
空字符串“”1、类型:“”是一个空字符串(String),长度为0,占内存,在内存中分配一个空间,可以使用Object对象中的方法。(例如:“”.toString()等)2、内存分配:表示声明一个字符串类型的引用,其值为“”空字符串,这个引用指向str1的内存空间。null1、类型:null是空引用,表示一个对象的值,没有分配内存,调用null的字符串的方法会抛出空转载 2017-09-11 13:15:03 · 1015 阅读 · 0 评论 -
java instanceof用法
instanceof运算符用法 运算符是双目运算符,左面的操作元是一个对象实例,右面是一个类.当 左面的对象是右面的类创建的对象时,该运算符运算的结果是true,否则是false原创 2017-09-11 17:41:35 · 172 阅读 · 0 评论 -
osi七层模型
从下往上依次是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层原创 2017-09-30 03:50:05 · 182 阅读 · 0 评论 -
StringUtils类
StringUtils 方法的操作对象是 java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果输入为 null 则返回也是 null 等,具体可以查看源代码)。 除了构造器,StringUt原创 2017-11-17 10:32:27 · 190 阅读 · 0 评论 -
Java并发编程:volatile关键字解析
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来原创 2017-12-08 12:55:15 · 135 阅读 · 0 评论 -
volatile与synchronized的区别
1、锁提供了两种主要特性:互斥(mutual exclusion) 和可见性(visibility)。 互斥即一次只允许一个线程持有某个特定的锁,因此可使用该特性实现对共享数据的协调访问协议,这样,一次就只有一个线程能够使用该共享数据。 可见性要更加复杂一些,它必须确保释放锁之前对共享数据做出的更改对于随后获得该锁的另一个线程是可见的 —— 如果没有同步机制提供的这种可见性保证原创 2017-12-08 13:05:38 · 224 阅读 · 0 评论 -
java线程池大小为何会大多被设置成CPU核心数+1
线程池究竟设成多大是要看你给线程池处理什么样的任务,任务类型不同,线程池大小的设置方式也是不同的。任务一般可分为:CPU密集型、IO密集型、混合型,对于不同类型的任务需要分配不同大小的线程池。CPU密集型任务 尽量使用较小的线程池,一般为CPU核心数+1。 因为CPU密集型任务使得CPU使用率很高,若开过多的线程数,只能增加上下文切换的次数,因此会带来额外的开销。IO密集型任务原创 2017-12-08 13:18:00 · 9132 阅读 · 0 评论 -
JSP里的basePath
Eclipse 新建 jsp页面里自动生成以下代码:String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>作用相当生成了以下路径: p转载 2017-08-07 14:56:34 · 269 阅读 · 0 评论 -
${sessionScope.user}的使用方法
EL 全名为Expression LanguageEL 语法很简单,它最大的特点就是使用上很方便。接下来介绍EL主要的语法结构:${sessionScope.user.sex}所有EL都是以${为起始、以}为结尾的。上述EL范例的意思是:从Session的范围中,取得用户的性别。假若依照之前JSP Scriptlet的写法如下:User user = (Us转载 2017-08-07 14:55:21 · 547 阅读 · 0 评论 -
用jspf文件做jsp页面的通用页面头
写jsp页面时,是不是:%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>12css和js引用特别多,而且有些页面头部信息包括css、js引用都一样,这时候聪明的程序猿肯定会想转载 2017-08-07 14:42:40 · 558 阅读 · 0 评论 -
taglib指令作用以及属性
作用:声明用户使用自定义的标签,将标签库描述符文件导入到jsp页面。 用法: 属性:uri属性:定位标签库描述符的位置。唯一标识和前缀相关的标签库描述符,可以使用绝对或相对URL。 tagDir属性:指示前缀将被用于标识在WEV-INF/tags目录下的标签文件。 prefix属性:标签的前缀,区分多个自定义标签。不可以使用保留前缀和空前缀,原创 2017-06-20 13:35:41 · 13070 阅读 · 0 评论 -
子类是否可以继承父类的私有属性和方法?
举例:public class Employee {private String name;private double salary = 15000.00;private Date birthDate;public Employee(String n, Date Dob) {name = n;birthDate = Dob;}public Employ原创 2017-06-17 15:38:08 · 14290 阅读 · 0 评论 -
java 中序列化的作用和好处
1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存Object States,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。2、什么情况下需要序列化 a)当你想把的内存中的对象保存到一个文件中或者数据库中时候;b)当你想用套接字在网络上传送对象的时候;c)当你想原创 2017-06-21 01:55:53 · 13779 阅读 · 2 评论 -
java 增强型的for循环 for each
For-Each循环也叫增强型的for循环,或者叫foreach循环。For-Each循环是JDK5.0的新特性(其他新特性比如泛型、自动装箱等)。For-Each循环的加入简化了集合的遍历。其语法如下: for(type element: array) { System.out.println(element);原创 2017-06-28 03:05:19 · 192 阅读 · 0 评论 -
使用单例模式设计JDBC连接数据库
设计模式之单例模式一般应用在在数据库操作里,数据库操作就要经常创建实例,然后进行数据库操作,所有就可以将数据库操作的方法,进行封装,然后采用单例模式进行设计,然后采用单例模式之后,就可以节约系统资源,对于一些需要频繁创建和销毁的对象单例模式无疑可以提高系统的性能。先编写数据库配置文件sql.propertiesDRIVER=com.m原创 2017-07-26 10:04:22 · 5772 阅读 · 0 评论 -
JDBC连接数据库代码和步骤
声明:来自Hongten(博客园)JDBC连接数据库创建一个以JDBC连接数据库的程序,包含7个步骤: 1、加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String className)实现。 例如:try{ //加载MySql的驱动类转载 2017-07-26 02:15:28 · 740 阅读 · 0 评论 -
JSTL标签库
JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的。使用JSLT标签的目的就是不希望在jsp页面中出现Java逻辑代码。原创 2017-06-28 03:24:13 · 230 阅读 · 0 评论 -
jstl标签的作用
Web程序员能够利用JSTL和EL来开发Web程序,取代传统直接在页面上嵌入Java程序的做法,以提高程序的阅读性、维护性和方便性。原创 2017-06-28 03:22:24 · 4441 阅读 · 2 评论 -
getParameter获取整数值
String ids = req.getParameter("userId").trim();Integer id = (Integer) 0; if (ids != null) { id = Integer.parseInteger(ids); }原创 2017-07-26 12:07:17 · 1700 阅读 · 0 评论 -
单例模式(Singleton)的同步锁synchronized
单例模式,有“懒汉式”和“饿汉式”两种。懒汉式单例类的实例在第一次被引用时候才被初始化。public class Singleton { private static Singleton instance=null; private Singleton() { } public static S转载 2017-07-26 13:16:24 · 403 阅读 · 0 评论 -
Mybatis中#{}和${}传参的区别及#和$的区别小结
最近在用mybatis,之前用过ibatis,总体来说差不多,不过还是遇到了不少问题,再次记录下,比如说用#{},和 ${}传参的区别,使用#传入参数是,sql语句解析是会加上"",比如 select * from table where name = #{name} ,传入的name为小李,那么最后打印出来的就是select * from table where name原创 2017-08-07 09:35:53 · 917 阅读 · 0 评论 -
SSM框架运行原理以及流程
ssm框架:包括,springMVC -- spring -- mybatisspringMVC 是基于MVC的框架属于MVC框架的还有:Struts1 Struts2SpringMVC获取值得方式:Struts1 actionForm(javabean中继承)Struts2 通过 set get 方法Spr转载 2017-08-07 10:09:22 · 14031 阅读 · 2 评论 -
Java垃圾回收(GC)机制详解
一、为什么需要垃圾回收 如果不进行垃圾回收,内存迟早都会被消耗空,因为我们在不断的分配内存空间而不进行回收。除非内存无限大,我们可以任性的分配而不回收,但是事实并非如此。所以,垃圾回收是必须的。二、哪些内存需要回收?哪些内存需要回收是垃圾回收机制第一个要考虑的问题,所谓“要回收的垃圾”无非就是那些不可能再被任何途径使用的对象。那么如何找到这些对象?1、引用计数法这个算法的实现...原创 2018-10-22 10:34:26 · 218 阅读 · 0 评论