2017年度总结

一年有一年 当我工作有着落了,好好的总结一下。。。。...
阅读(814) 评论(0)

java 8 Hashmap深入解析 —— put get 方法源码

每个java程序员都知道,HashMap是java中最重要的集合类之一,也是找工作面试中非常常见的考点,因为HashMap的实现本身确实蕴含了很多精妙的代码设计。   对于普通的程序员,可能仅仅能说出HashMap线程不安全,允许key、value为null,以及不要求线程安全时,效率上比HashTable要快一些。稍微好一些的,会对具体实现有过大概了解,能说出HashMap由数组+链表+RBT...
阅读(1138) 评论(6)

hibernate与mybatis的对比

我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加得心应手。 第一方面:开发速度的对比 就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些。Mybatis框架相对简单很容易上手,但也相对简陋些。个人觉...
阅读(1096) 评论(5)

[置顶] 线程池学习总结

引言    最近在看项目中的代码的时候,多次看到线程池的身影,于是小编就简单总结了一些关于线程池的知识。    什么是线程池?为什么要使用它?    线程池主要用来解决线程生命周期开销问题和资源不足问题。通过对多个任务重复使用线程,线程创建的开销就被分摊到了多个任务上了,而且由于在请求到达时线程已经存在,所以消除了线程创建所带来的延迟。这样,就可以立即为请求服务,使用应用程序响应更快。另外,...
阅读(1109) 评论(6)

Tomcat中JVM内存溢出及合理配置

Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机。Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识进行详细介绍。 一、Java JVM内存介绍 JVM管理两种类型的内存,堆和非堆。按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。...
阅读(1104) 评论(3)

java反射机制详解 及 Method.invoke解释

Java反射机制 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对...
阅读(987) 评论(6)

手动模拟IOC容器

引言    最近在看一些关于IOC原理的东西,比较理论,所以还是自己动手模拟一个IOC,这样会对原理理解的更加深一些。    首先我们把我们需要用的dao、service、entity定义出来:    Student.java    public class Student { private int id; private String name; private String a...
阅读(987) 评论(5)

多节点服务器定时任务重复处理的问题

项目中有使用Spring定时执行任务的需求,用户可以自定义时间(半小时或整点)去生成需要的报表并发送邮件到用户自己的邮箱。 项目里面提供的时间是半小时或整点去执行Spring定时任务,查询数据库中有哪些Schedule是满足要求的,然后去执行那些符合条件的任务。 一切功能表现正常,但是项目部署在服务器上后,用户反映在同一时间会收到两封相同的邮件。我们检查了代码和Spring Schedule本...
阅读(1181) 评论(4)

HashMap实现原理分析

1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。       数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难; 链表 链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难...
阅读(934) 评论(3)

mybatis的缓存总结

package com.atguigu.mybatis.test; import java.io.IOException; import java.io.InputStream; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis...
阅读(1071) 评论(4)

Maven简介(三)——profile介绍

4       profile介绍 4.1     profile简介 profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。比如说,我们可以通过profile定义在jdk1.5以上使用一套配置信息,在jdk1.5以下使用另外一套配置信息;或者有时候我们...
阅读(924) 评论(3)

【Quartz】——利用Quartz处理超时未付款的订单

引言      在电商项目中我们比较常见的问题就是那些未付款的订单,我们需要在一定的时间以后自动关闭交易,如果这个任务是通过人工来完成,工作量是相当可观的,所以我们采用一个定时任务,自动扫面那些订单,然后自动关闭!    有了前面我们对shpring 整合的基础以后,我们在实现这个功能的时候就非常的的简单了    编写job类代码   package com.taotao.stor...
阅读(1016) 评论(4)

【Quartz】——与spring整合

引言     像这样的比较常用的技术,肯定是被我们spring这个大神进行整合过的,因为这些东西一旦和sprig 整合之后,我们自己编写的代码就比较少了,提高了开发效率,下面看整合的过程。    引入依赖 org.springframework spring-context-support 4.0.6.RELEASE    这个包的作用是什么呢?这个jar ...
阅读(855) 评论(3)

【Quartz】——CronTrigger 表达式的编写

1.  CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表。 CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“每个工作日9:30时”,甚至“每5分钟一班9:00和10:00逢星期一上午,星期三星期五“。 即便如此,SimpleTrigg...
阅读(763) 评论(4)

【Quartz学习总结】——入门程序

Quartz是什么     Quartz是OpenSystemphony开源组织在Job scheduling领域哟一个开源项目,他可以域J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单活为运行十个、百个,甚至好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或EJBs.     Quartz是一个任务日程管理系统,一个预先确定(被纳入日程)的时...
阅读(748) 评论(5)
25条 共2页1 2 下一页 尾页
    个人资料
    • 访问:459432次
    • 积分:17534
    • 等级:
    • 排名:第603名
    • 原创:267篇
    • 转载:20篇
    • 译文:0篇
    • 评论:5593条
    和我交谈
    点击这里给我发消息 点击这里给我发消息
    时间你好?
    博客专栏