Java
强强强子
正在奋斗学习的程序猿
展开
-
蚂蚁金服 Java开发专家 一面在线编程题
//1、用java代码实现LinkedList的add()和remove()方法。要求自行设计LinkedList数据结构,不要外部类库和辅助函数来处理。2、有三个线程ID分别是A、B、C,请用多线编程实现,在屏幕上循环打印10次ABCABC,请补充以下代码:public class Test { public static void main(String[] args) {...原创 2019-04-11 20:59:34 · 2351 阅读 · 1 评论 -
使用监听器实现Java Web的定时任务
定时器MemberMonthsListener类:package com.yyt.interceptor.member;import java.util.Timer;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;/** * 会员月龄更新监听器 每隔一个原创 2016-04-17 19:09:14 · 1923 阅读 · 0 评论 -
字符串转日期
原创 2016-03-02 12:58:19 · 1391 阅读 · 0 评论 -
Java日期加减操作
Date date = new Date();//起始时间 SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd HHmmss");//按照指定格式 格式化日期 String str=sdf.format(date);//格式化起始日期 Date dt=sdf.parse(str);//解析字符串的文原创 2016-01-07 08:50:55 · 617 阅读 · 0 评论 -
反射获取泛型真实类型
public class Animal {}import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;public class Cat extends Animal {public static void main(String[] args) {Cat st=new Cat();Class原创 2016-01-06 08:43:31 · 1840 阅读 · 0 评论 -
Spring4+SpringMVC4+MyBatis3.2整合
1、基本概念1.1、Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的J原创 2015-11-25 21:27:07 · 7162 阅读 · 1 评论 -
使用POI把数据导出excel表
在web开发中,有一个经典的功能,就是数据的导入导出。特别是数据的导出,在生产管理或者财务系统中用的非常普遍,因为这些系统经常要做一些报表打印的工作。而数据导出的格式一般是EXCEL。 现在主流的操作Excel文件的开源工具有很多,用得比较多的就是Apache的POI及JExcelAPI。这里我们用Apache POI!我们先去Apache的大本营下载POI的jar包:htt原创 2015-11-12 17:58:15 · 2881 阅读 · 0 评论 -
String、StringBuffer与StringBuilder之间区别
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常转载 2015-11-26 19:11:14 · 634 阅读 · 0 评论 -
Java Classloader机制解析
做Java开发,对于ClassLoader的机制是必须要熟悉的基础知识,本文针对Java ClassLoader的机制做一个简要的总结。因为不同的JVM的实现不同,本文所描述的内容均只限于Hotspot Jvm.本文将会从JDK默认的提供的ClassLoader,双亲委托模型,如何自定义ClassLoader以及Java中打破双亲委托机制的场景四个方面入手去讨论和总结一下。JD转载 2015-11-26 19:24:06 · 1035 阅读 · 0 评论 -
EJB 会话Bean的生命周期
@Stateful@Remote(HelloEJBRemote.class)public class HelloEJB implements HelloEJBRemote { public HelloEJB() { } public String sayHello() { return "hello EJB!"; } /** * 这个注释原创 2015-09-24 14:49:50 · 3909 阅读 · 2 评论 -
struts2<s:iterator>遍历map小结
1.MapAction.java import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.opensymphony.xwork2.ActionSupport import com.model转载 2015-09-23 16:39:51 · 8209 阅读 · 0 评论 -
Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结
Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结java.lang.OutOfMemoryError这个错误我相信大部分开发人员都有遇到过,产生该错误的原因大都出于以下原因:JVM内存过小、程序不严密,产生了过多的垃圾。导致OutOfMemoryError异常的常见原因有以下几种:内存中加载的数据量过于庞大,如一次从数据库取转载 2016-06-10 11:01:34 · 11381 阅读 · 1 评论 -
获取今天凌晨和今天最后时刻
/** * * @param date 当前时间 * @flag 0 返回yyyy-MM-dd 00:00:00日期 * 1 返回yyyy-MM-dd 23:59:59日期 * @return */ public static Date weeHours(Date date, int flag) {原创 2016-07-01 14:50:55 · 4011 阅读 · 1 评论 -
SKU排列算法
java版 public static void main(String[] args) { Object sku [] = new Object[3]; String s1[]={"黑","白"}; String s2[]={"x","xl","xxxl"}; String s3[]={"长","短"}; sku[...原创 2019-03-28 17:39:45 · 3274 阅读 · 0 评论 -
Integer缓冲池[-128,127]
Integer 是 int的封装类。有时候不得不用引用类型。比如集合里面的泛型。 如果在项目中你使用了Integer那么你可能就会陷入一个巨大的坑中。 Integer i=1290; Integer ii=1290; System.out.println(i==ii);//1 false System.out.println(原创 2018-01-10 11:57:40 · 742 阅读 · 0 评论 -
脚本自动化部署
使用Bat脚本自动化部署JavaWeb程序本篇文章是个人经验所为,并非行业标准操作。服务器系统环境:Server windows 2008部署环境:Tomcat8自动化方式:bat脚本。工具:SVN,idea我的问题: 使用IDEA开发JavaWeb应用,放到生产环境上。需要打war包,上传到服务器,然后运行服务器上的Tomcat,之后会自动解压war包,原创 2018-01-25 13:24:27 · 2073 阅读 · 1 评论 -
实际问题:水印平铺,以二维规则小图形对大图形进行填充问题解决
实际问题: 在功能开发中,我们会遇到有关水印的需求,eg:实名认证,在身份证上打上水印等等。 解决思路: 利用文章 二维规则小图形对大图形进行填充,求出最左上坐标 来解决实际问题。 水印图片可以看做是小图形,加水印的图片为大图 解决方案 利用Java Graphics2D类来进行图片叠加。附上各种水印位置的工具类/** * 添加图片原创 2017-12-18 14:23:05 · 794 阅读 · 0 评论 -
二维规则小图形对大图形进行填充,求出最左上坐标
小图对大图形进行填充,忽略最右侧是否溢出,忽略最下侧是否溢出,求出小图形左上侧的坐标,从(0,0)开始,如下图: 分析: 从图上看,可以看成一个水平坐标系。坐标(0,0)在最左上侧。 不考虑左侧和下侧是否溢出,我们就看成最好的情况,正好填充整个大图形。 X轴按照长方形的宽进行递增 Y轴按照长方形的高进行递增 利用双层for来解决 第一层循环看做为x轴 跳原创 2017-12-16 16:15:04 · 669 阅读 · 0 评论 -
ehcache常用配置
name:缓存名称 maxElementsInMemory:内存中最大缓存对象数 maxElementsOnDisk:硬盘中最大缓存对象数,若是0表示无穷大 eternal:true表示对象永不过期,此时会忽略timeToIdleSeconds和timeToLiveSeconds属性,默认为false overflowToDi原创 2017-07-18 19:07:20 · 513 阅读 · 0 评论 -
EhCache初体验
EhCaChe介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。 主要的特性有: 1. 快速 2. 简单 3. 多种缓存策略 4. 缓存数据有两级:内存和磁盘,因此无需担心容量问题 5. 缓存数据会在虚拟机重启的过程中写入磁盘 6. 可以通过RMI、可插入API等方式原创 2017-07-18 17:54:44 · 747 阅读 · 0 评论 -
项目迁移报错Unsupported major.minor version 51.0的问题及解决方法
项目从另外一台电脑上换到另外一台电脑上,tomcat部署启动时报错 *Unsupported major.minor version 51.0 百度谷歌搜索解决方案如下解决unsupported major.minor version 51.0错误*最近新安装使用了jdk7,编译了一些类替换到原来正常运行的项目中,替换之后发生了unsupported major.minor version 51原创 2016-07-06 11:21:53 · 2452 阅读 · 0 评论 -
Hibernate查询部分字段并封装到指定类中(HQL)
Hibernate查询部分字段并封装到指定类中(HQL)在实际项目开发中,我们使用Hibernate框架很容易的来关联实体与实体之间的关系,但是缺点就是关联关系太紧密导致查询不太灵活,如果使用sql来查询。我们倒不如使用mybatis框架。Hibernate的HQL语句查询出来的结果可以直接映射到实体类中,查询的结果也比较好操作。但是如果只查询部分字段怎么来进行封装呢?QBC效率较原创 2016-07-16 14:43:28 · 11730 阅读 · 1 评论 -
JAVASE总结笔记
day11:面向对象(理解) (1)面向对象是相对应面向过程而言的一种编程思想,是基于面向过程的。 (2)思想特点: A:是一种更符合我们思考习惯的思想。 B:把复杂的事情简单化。 C:让我们从执行着变成了指挥者。 (3)案例: A:买电脑 B:吃饭,洗衣服 C:原创 2016-07-05 10:34:51 · 6143 阅读 · 2 评论 -
Mybatis简单入门<学习随笔>
在实际项目中,我一直在用Hibernate持久层的开发,但是由于Hibernate的紧密封装,虽然ORM使得对数据库的操作非常简单和方便,但是有时候碰到的各种关联关系,又显得比较呆板不灵活。MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解原创 2015-09-22 15:42:57 · 1692 阅读 · 0 评论 -
Mybatis利用log4j输出sql
用过Hibernate的知道,在我们开发过程中能看到sql语句对我们调试程序带来很便携的体验,而且操作简单直接配置文件中 showsql 就解决了这个问题。那么Mybatis作为自定义sql语句,又写在xml文件中,我们怎么看到SQL语句是否正常呢?在查看Mybatis的源码中发现里面用的是log4j debug日志方式来打印信息。在项目根目录下放置log4j.properties文原创 2015-09-22 16:32:57 · 2308 阅读 · 1 评论 -
Hibernate多对多双向关联
以Student和Course为例,一个学生可以选多门课程,一门课程也可以被多个学生选取;持久化类Student:[java] view plaincopypackage bean; import java.util.Set; public class Student { private lo原创 2015-09-17 22:02:13 · 4899 阅读 · 0 评论 -
Jquery_Ajax 注册验证(Struts2)<学习随笔>
actionpublic String ajaxYanZheng() throws Exception{ String name=ServletActionContext.getRequest().getParameter("name"); //查询是否存在 要查询的账号 如果不存在 返回 true 否则 false Boolean b= us.byFin原创 2015-08-28 11:01:10 · 3825 阅读 · 1 评论 -
&和&&的区别
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。if(expression1 & expression2){}中expression1 和expression2 无论expression1返回true还是false,都会继续判断expression2的返回值if(expression1 && expression2){}中如果expression1 返回fal原创 2015-08-31 09:16:43 · 4103 阅读 · 2 评论 -
Java 语言中 List、Set 和 Map 的区别
List、Set 和 Map 都是实现了 Collection 接口的接口。本文将讨论 Java 语言中这三者之间的区别。List Vs Set Vs Map1) 重复性List 允许有重复元素。任何数量的重复元素都可以在不影响现有重复元素的值及其索引的情况下插入到 List。Set 不允许重复。Set 以及所有实现了 Set 接口的类都不允许重复值的插入。Map 以键值对的形式对转载 2015-08-30 11:46:25 · 901 阅读 · 0 评论 -
jsp的application session page作用域
application:全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。session:会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期:会话超时,或者服务器端强制使会话失效,浏览器关闭。request:请求作用域,就是客户端的一次请求。page:一个JSP页面。因为原创 2015-08-30 10:59:58 · 1806 阅读 · 0 评论 -
java字符串常见问题
下面我为大家总结了10条Java开发者经常会提的关于Java字符串的问题,如果你也是Java初学者,仔细看看吧:1、如何比较字符串,应该用”==”还是equals()?总的来说,”==”是用来比较字符串的引用地址,而equals()才是比较字符串的值。两个值相同的字符串用”==”比较结果有可能是false,而用equals()则一定为true。除非两个字符串是同一个new出来的对象原创 2015-08-30 11:21:51 · 1639 阅读 · 0 评论 -
java常用集合类详解
java常用集合类详解(有例子,经典呐!!!集合类糊涂的来看啊!!)Collections Framework集合框架是一个统一的架构,用来表示和操作集合.集合框架主要是由接口,抽象类和实现类构成.接口:蓝色;实现类:红色Collection|_____Set(HashSet)| |_____SortedSet(TreeSet)|_____Lis转载 2015-08-30 11:18:02 · 1851 阅读 · 0 评论 -
JSP页面的五种跳转方法
1. RequestDispatcher.forward() 是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在 b.jsp都可以获得,参数转载 2015-08-30 11:24:12 · 5011 阅读 · 0 评论 -
BaseServlet<学习随笔>
import java.io.IOException;import java.lang.reflect.Method;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import原创 2015-08-28 11:03:04 · 999 阅读 · 0 评论 -
反射(DAO层的设计)<学习随笔>
DAOpublic interface BaseDao { void save(T entity); void delete(Integer id); void update(T entity); T getById(Integer id); List getByIds(Integer[] ids); List findAll(); PageBean getPage原创 2015-08-28 10:55:03 · 1251 阅读 · 0 评论 -
DWR框架快速入门<学习随笔>
DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样1写简单java类主要类public class HelloDwr { public String hello(原创 2015-08-28 10:58:30 · 2237 阅读 · 0 评论 -
SpringMVC简单入门(注解)<学习随笔>
经过一个小时的简单学习 已经基本掌握SpringMVC的实现原理 就随手做了一个 HelloWorld入门教程SpringMVC的核心就是一个 org.springframework.web.servlet.DispatcherServlet核心控制器 DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派原创 2015-09-02 21:04:25 · 4242 阅读 · 0 评论 -
hibernate入门实例
hibernate是一个采用ORM(Object/Relation Mapping对象关系映射)机制持久层的开源框架 其主要核心思想是面向对象,而非面向过程,而这个面向对象则主要通过ORM实现。 ORM是将表与表之间的操作,映射成对象和对象之间的操作,就是通过操作实体类来达到操作表的目的。从数据库提取的数据会自动按你设置的映射要求封装成特定的对象。之后你就可以通过对对象原创 2015-09-04 20:41:04 · 2617 阅读 · 0 评论 -
jsp语法总结
4.1 JSP语法概述在JSP页面中,可分为JSP程序代码和其他程序代码两部分。JSP程序代码全部写在之间,其他代码部分如JavaScript和HTML代码按常规方式写入。换句话说,在常规页面中插入JSP元素,即构成了JSP页面。4.1.1 JSP工作原理当客户端请求浏览JSP页面时,JSP服务器在把页面传递给客户端之前,先将JSP页面编译成Servlet(纯Java代码)翻译 2015-09-16 12:45:48 · 2688 阅读 · 0 评论 -
对 Jsp及Servlet 的简单剖析
Servlet其实就是JAVA代码。从本质上可以将它理解为基于HTTP协议的一个服务器,它针对客户发来的数据(HTTP请求),回发对应的HTML文本给客户端。客户端通过浏览器通HTML进行解析,呈现最终的网页。 最简单的当然是回发静态页面。这种页面不需要服务器的任何处理,直接在服务器文件系统找到文件发送即可。甚至可以在服务器程序中构建字符串发送给客户端。如果客户发来的原创 2015-09-16 12:38:22 · 5708 阅读 · 0 评论