Java
Java的一些基础知识和Java项目中遇到的问题积累
WinterCat~
保持善良,不忘初心
展开
-
【工具类】Excel导出那些事儿(五)
接上一篇博客,继续介绍双标题导出./** * 双标题excel导出 * @param response * @param fileName 文件名 * @param sheetName sheet页名 * @param firstTitle 第一行表头标题 * @param title 第二行标题 * @param content 每一列对应值 * @param list...原创 2020-04-01 18:15:59 · 385 阅读 · 0 评论 -
【工具类】Excel导出那些事儿(四)
Excel的导出需求层出不穷,,之前都是直接导出list<T>,或者导出List<map>,现在需要导出双标题Excel。使用poi实现.本篇先介绍基础的导出方法引用的jar包<dependency> <groupId>org.apache.poi</groupId> <artifactId&g...原创 2020-04-01 18:05:17 · 594 阅读 · 0 评论 -
最好的8个Java RESTful框架
过去的每一年,涌现出越来越多的Java框架。就像JavaScript,每个人都认为他们知道一个好的框架的功能应该是怎么样的。连我的老祖母现在也使用 一个我从来没有听说过而且可能永远不会使用的框架。玩笑归玩笑,可以做几乎任何事的臃肿的框架市场已经饱和,,但是如何评判呢?这篇文章旨在提供目前最好的 Java RESTfulful 框架。我只介绍轻量级的产品, 略过了那些臃肿的过度设计的框架。同时,我只转载 2016-02-23 21:39:26 · 867 阅读 · 21 评论 -
Java中的List和ArrayList
【问题引入】 要实例化一个集合类型的对象,有以前几种方式。 List alist; List blist=new List(); List clist = new ArrayList(); ArrayList dlist=new ArrayList();结果是:【知识分析】 在Java中,List是一个接口,而ArrayList原创 2016-06-05 10:33:56 · 946 阅读 · 19 评论 -
HashMap快速了解
【HashMap简介】 ①HashMap是java中最常用的集合类框架之一,是java语言中非常典型的数据结构,是一个散列表,它存储的内容是键值对(key-value)映射。 ②HashMap继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。 ③HashMap的实现不是同步的,即任一时刻可以原创 2016-06-26 21:21:57 · 653 阅读 · 29 评论 -
java环境常见错误
接触java版itoo一个月多点儿了,遇到不少问题,学到不少知识,积累了一些些经验,这里总结一下。第一类问题:环境问题1、servlet初始化问题2、jboss报错startException3、javalang.IllegalStateException异常4、缺少依赖关系5、无法找到工厂解决方案: 这类问题,不原创 2016-07-03 21:53:25 · 487 阅读 · 16 评论 -
常见的文本框验证
【前言】 最近修改前台UI的各种验证问题,真是大有收获,这里小编就做一下总结吧。项目的前台引用的是easy-ui。【具体验证实现】1、只输入数字<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,''原创 2016-07-15 11:14:39 · 4441 阅读 · 26 评论 -
Excel导入性能优化
需求:http://blog.csdn.net/u013036274/article/details/51848592继上次的导入Excel数据实现,但是导入的太慢。因为保存数据库之前需要查重,查询数据库的次数太多,有多少条数据就查询多少次数据库,导致导入数据越多,导入速度越慢,性能有待提高,于是乎,先从代码优化做起吧。思路:由于是学生信息的导入,学生的学号就是主键,而且学生的学号也是根据年份原创 2016-08-06 09:06:23 · 7396 阅读 · 11 评论 -
java.io.FileNotFoundException: (文件名、目录名或卷标语法不正确。)
在做学生导入时,需要将导入失败的数据重新返回Excel中保存在用户本地桌面,但是报错如下: 解决真是花费了一定的时间,记录下来,作为经验之谈吧。 错误原因竟然是:Excel的命名问题,不允许有15:05:04这样的格式。顺便也总结一下Windows命名吧。Windows中文件命名规则是: ①在文件或文件夹名中,可用1~256个字符西文字符或原创 2016-08-06 15:21:46 · 16263 阅读 · 15 评论 -
String类常用属性方法小结
1. 字符串替换replaceAll(String old,String new)//将字符串中的old字符,替换为new字符。例如:String a=”hello world”;String b=a.replaceAll(“o”,”a”);最后b的输出结果为“hella warld”2. 判断是否以指定的字符串开头或结尾 Str.start原创 2016-08-20 11:18:37 · 625 阅读 · 16 评论 -
时间那些事儿---Incorrect datetime value: '' for column 'CREATE_DATE' at row 1
【问题出现】向数据库中插入时间有误代码如下:// 获取时间pstmt.setTimestamp(6,new Timestamp(new Date().getTime()));System.out.println(newTimestamp(new Date().getTime())); pstmt.executeUpdate();报错如下:解决方案一:代码原创 2016-09-15 11:33:11 · 29186 阅读 · 19 评论 -
意料中的意外--异常处理
【是什么】 异常是超出程序正常正确执行流程的一些特殊情况。异常可以说是程序中的一些错误,但并不是所有的错误都是异常。例如用户登录,正常正确的流程是用户输入正确的用户名和密码进入系统,但是输入的密码不正确,不能登录系统,这就是一种异常,而不是错误。【为什么】 ①捕获异常,处理异常,给用户一个良好的错误提示,增加用户体验度。 ②处理异常,就是尽可能多的为各种可能出现的情况做相应的处原创 2016-09-22 11:43:59 · 614 阅读 · 29 评论 -
【验证】JS身份证号验证
看到一篇身份证号验证的博客,就也来分享和积累一下吧【方法一】原文链接:点击打开链接 最近的前台验证比较多,自然要求也比较高,毕竟是网站上需要的一些东西。 之前做验证身份证号好像一直是验证位数够不够,如果够,则ok,这种简单的验证已经不符合现在的合法性要求了。因为身份证号是根据规则定出来的,所以,必然有相应的规则去验证它,下边是代码的分享:[html] view pla原创 2016-11-28 11:47:04 · 836 阅读 · 29 评论 -
【Java】资源共享有冲突
开发过程中经常会遇到并发处理某共享数据时,产生不一致的情况,如何解决呢?方案是-----加锁。一、对线程加锁 对线程加锁,就是利用Java提供的synchronized关键字。【修饰一个代码块】import java.lang.*;/** * 线程同步Demo * @author 郑艳霞 * */public class Test implements Run原创 2017-01-06 20:41:37 · 851 阅读 · 17 评论 -
【Java】代理模式
代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 【分类】 代理模式分为静态代理、动态代理。 静态代理是由程序员创建或工具生成代理类的源码,再编译代理类。所谓静态也就是在程序运行前就已经存在代理类的字节码文件,代理类和委托原创 2017-02-06 08:13:37 · 488 阅读 · 6 评论 -
【Listener机制】ServletContextListener
ServletContextListener是对ServeltContext的一个监听,主要监听关于ServletContext的两个事件,即初始化和销毁。【原理】 ServletContextListener对应的是application范围。Servlet一旦被创建,ServletContext也同时被创建了,同时ServletContextListener也监听到了,随原创 2017-01-24 15:33:52 · 840 阅读 · 5 评论 -
【Listener机制】HttpSessionListener和HttpSessionAttributeListener
一、HttpSessionListener HttpSessionListener是对Session的一个监听,主要监听关于Session的两个事件,即初始化和销毁。【原理】 接口HttpSessionListener有两个方法,分别为: VoidsessionCreated(HttpSessionEvent se):当session创建时会收到通原创 2017-02-05 16:34:48 · 3357 阅读 · 7 评论 -
【缓存】http协议头
【简介】 缓存分很多种:服务器缓存,第三方缓存,浏览器缓存、代理缓存、网关缓存、数据库缓存等。其中浏览器缓存是代价最小的,因为浏览器缓存依赖的是客户端,而几乎不耗费服务器端的资源。今天总结介绍的也与浏览器缓存相关。浏览器缓存肯定都很熟悉,简单说就是浏览器在磁盘上对最近用户请求的数据进行存储,当我们再次请求这个页面时,浏览器就可以从本地磁盘读取并显示。浏览器缓存主要有两类:原创 2017-02-13 08:10:44 · 2018 阅读 · 13 评论 -
【Java】Java加载类机制
【Java类加载器】 JavaClassloader是Java运行时环境(Java Runtime Environment)的一部分,负责动态加载Java类到Java虚拟机的内存空间中。类通常是按需加载,即第一次使用该类时才加载。由于有了类加载器,Java运行时系统不需要知道文件与文件系统。JVM有三种类加载器: 1.启动类加载器(Bootstrap):是在jvm启动时原创 2017-02-18 16:19:32 · 1031 阅读 · 39 评论 -
【Java】JDBC数据库连接
【是什么】 JDBC全称JAVADataBaseConnectivity,即Java数据库连接,它是一种可执行SQL语句的Java API。程序员可以通过JDBCAPI连接到关系数据库,并使用结构化查询语句(即SQL)完成对数据库的查询、更新。【作用】 简单地说,JDBC可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。下列代码段给出了以上三步的基本原创 2017-03-03 16:48:16 · 2138 阅读 · 10 评论 -
【Java】数据库连接池
数据库连接是一种关键的、有限的、昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。因此提出了一种概念--数据库连接池。 数据库连接池的基本原理是在内部对象池中,维护一定数量的数据库连接,并对外暴露数据库连接获取和返回方法。当程序中需要建立数据库连接时,只需从内存中获取一个数据库连接来用,而不原创 2017-03-06 08:10:22 · 422 阅读 · 6 评论 -
【Java】MyEclipse打war包
Java中的包类型有三类:jar、war、ear。下面来实践MyEclipse打war包过程。例如:我要将项目drp进行打包,选择war包但是一点击就会报错如下,并且会自动关闭MyEclipse。: 解决方案: 将com.genuitec.eclipse.export.wizard_9.0.0.me201203160414.jar替换My原创 2017-03-08 07:59:32 · 2243 阅读 · 8 评论 -
【Java】I18N国际化
i18n(其来源是英文单词internationalization的首末字符i和n,18为中间的字符数)是“国际化”的简称。对程序来说,在不修改内部代码的情况下,能根据不同语言及地区显示相应的界面。 这就要求,仅仅是页面语言的翻译是不够的,即便在一个国家在不同地区都可能会存在不同习惯方言操作习惯等等(例如我们国家搜索结果习惯左对齐,但是有的国家就习惯右对齐),这就导致了“本地化”(原创 2017-03-13 08:25:56 · 4945 阅读 · 10 评论