![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 64
tanyunlong_nice
这个作者很懒,什么都没留下…
展开
-
JAVA中锁的介绍及使用建议
锁是解决并发冲突的重要工具。在开发中我们会用到很多类型的锁,每种锁都有其自身的特点和适用范围。需要深刻理解锁的理念和区别,才能正确、合理地使用锁。常用锁类型乐观锁与悲观锁悲观锁对并发冲突持悲观态度,先取锁后访问数据,能够较大程度确保数据安全性。而乐观锁认为数据冲突的概率比较低,可以尽可能多地访问数据,只有在最终提交数据进行持久化时才获取锁。悲观锁总是先获取锁,会增加很多额外的开销,也增加了死锁的几...转载 2018-05-28 18:20:06 · 765 阅读 · 0 评论 -
LIST集合转换成MAP
最近工作中一个需求需要从数据库中取出数据存入List集合中转换成Map,通过Map的Key值获取content,写了好久都空指针,记录下,思路通过遍历list中的元素放入Map中。 String sql = "select * from GE_PD_SPECIALCONVENTION"; List specialConventionList = getSession(原创 2016-01-27 17:10:06 · 3026 阅读 · 0 评论 -
Maven 手动添加 JAR 包到本地仓库
Maven 确确实实是个好东西,用来管理项目显得很方便,但是如果是通过 Maven 来远程下载 JAR 包的话,我宿舍的带宽是4兆的,4个人共用,有时候用 Maven 来远程下载 JAR 包会显得很慢,一般我发现下载速度不明显的时候,我就 Ctrl + C 来终止它的下载。然后改用手动来下载,因为用迅雷一类的工具来下载会快很多。我机子上 Maven 的本地仓库的很多 JAR 包我都是手动下转载 2016-01-18 20:55:16 · 460 阅读 · 0 评论 -
常见异常解释及解决办法
在编写应用的时候,为了调试程序方便,可以在异常处理代码中把异常信息显示出来,这样可以根据错误提示调试代码。异常处理代码通常可以写成这样:try{ … }catch(Exception e){ System.out.println(e.toString()); } 下面是一些常见的错误信息: (1)驱动程序不存在 提示的错误信息如下: java.lang.Cl转载 2015-11-19 17:40:52 · 886 阅读 · 0 评论 -
增强for循环的使用
最近在工作中发现增强for循环对集合的操作很方便下面是增强for循环的用法:1.增强for循环和iterator遍历的效果是一样的,也就说增强for循环的内部也就是调用iteratoer实现的(可以查看编译后的文件),但是增强for循环 有些缺点,例如不能在增强循环里动态的删除集合内容。不能获取下标等。2.ArrayList由于使用数组实现,因此下标明确,最好使用普通循环。原创 2015-12-08 23:06:52 · 1758 阅读 · 0 评论 -
触发器的学习
一、触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGG原创 2015-08-15 20:46:52 · 821 阅读 · 0 评论 -
Cookie与Session的区别与联系及生命周期
前几天面试问了一个问题,当时记不太清了,上网查了下发现这个问题还真的很有讲究而且很重要,自己总结下做下记录。一、Session与Cookie介绍这些都是基础知识,不过有必要做深入了解。先简单介绍一下。二者的定义:当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择,都纪录下来。当下次原创 2015-08-01 18:01:50 · 40322 阅读 · 9 评论 -
JAXB的用法及介绍
一、jaxb是什么 JAXB是Java Architecture for XML Binding的缩写。可以将一个Java对象转变成为XML格式,反之亦然。 我们把对象与关系数据库之间的映射称为ORM,其实也可以把对象与XML之间的映射称为OXM(Object XML Mapping)。原来JAXB是Java EE的一部分,在JDK1.6中,SUN将其放到了Java SE中转载 2015-07-18 23:01:32 · 3258 阅读 · 0 评论 -
Tomcat与WebLogic的区别
(一)先简单介绍一下这两种服务器。 WebLogic是美国bea公司出品的一个application server,确切的说是一个基于Javaee架构的中间件,纯java开发的,最新版本WebLogic Server 9.0是迄今为止发布的最卓越的BEA应用服务器。BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器转载 2015-07-18 23:19:19 · 714 阅读 · 0 评论 -
Junit4 单元测试的断言
JUnit为我们提供了一些辅助函数,他们用来帮助我们确定被测试的方法是否按照预期的效果正常工作,通常,把这些辅助函数称为断言。下面我们来介绍一下JUnit的各种断言。 1、assertEquals 函数原型1:assertEquals([String message],expected,actual) 参数说明: message是个可选的消息,假如提供,将原创 2015-07-26 17:30:47 · 745 阅读 · 0 评论 -
Struts2学习笔记
一、struts2入门1. Struts2的由来:Struts 1是全世界第一个发布的MVC框架,它由Craig McClanahan在2001年6月发布,该框架一经推出,就得到了世界上Java Web开发者的拥护,经过长达6年时间的锤炼,Struts 1框架更加成熟、稳定,性能也有了很好的保证。因此,到目前为止,Struts 1依然是世界上使用最广泛的MVC框架。目前,基原创 2015-05-09 19:41:05 · 511 阅读 · 0 评论 -
Eclipse Debug不为人知的秘密
Debug视图认识debug视图,红色部分框为线程堆栈视图,黄色部分框为表达式、断点、变量视图,蓝色部分为代码视图。 线程堆栈视图分别介绍一下这几个按钮的含义:1.表示当前实现继续运行直到下一个断点,快捷键为F8。2.表示打断整个进程3.表示进入当前方法,快捷键为F5。4.表示运行下一行代码,快捷键为F6。5.表示退出当前方法,返回到调用层,快捷键为F7。6转载 2016-05-29 16:13:23 · 377 阅读 · 0 评论 -
Hbibernate 基础学习
Hibernate 是一个是一个对象/关系映射的解决方案,简单地说就是将Java中对象与对象之间的关系映射至关系数据库中的表与表之间的关系。 1.1 概述: 1.1.1、ORM简介: 对象/关系映射ORM(Object-Relation Mapping) 是用于将对象与对象之间的关系映射至数据库中的表与表之间的关系的一种模式。 ORM 可以理解成一种规范,它概述了这类框架转载 2016-06-29 19:14:53 · 441 阅读 · 0 评论 -
BigDecimal使用总结
过去的工作开发中,有时候会使用到BigDecimal去定义一些变量,一直不了解具体的使用场景,这里学习记录一下。一、使用背景 借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要原创 2017-08-31 14:30:50 · 1236 阅读 · 0 评论 -
Java8 stream使用体验
最近在工作中发现了对于集合操作转换的神器,java8新特性 stream,学习了下发现有很多值得整理的用法,这里记录下。一、什么是streamStream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazon Kinesis 对大数据原创 2017-09-25 15:33:08 · 2252 阅读 · 0 评论 -
LIST、MAP、SET总结
List、Set 和 Map 都是实现了 Collection 接口的接口。本文将讨论 Java 语言中这三者之间的区别。List Vs Set Vs Map1) 重复性List 允许有重复元素。任何数量的重复元素都可以在不影响现有重复元素的值及其索引的情况下插入到 List。Set 不允许重复。Set 以及所有实现了 Set 接口的类都不允许重复值的插入。Map 以键值对的形转载 2017-08-09 17:24:28 · 316 阅读 · 0 评论 -
StopWatch任务执行时间监控
在最近代码codereview中,发现代码中大量使用了StopWatch 这个类去监视执行的时间。这里总结一下大概的介绍。StopWatch 在spring中和apache中均提供了类似的功能,这里分别介绍一下。一、Apache下的StopWatch StopWath是apache commons lang包下的一个任务执行时间监视器,具体位置是org.apache.co原创 2017-07-18 14:54:09 · 2224 阅读 · 1 评论 -
java_try,catch,finally return之间的执行顺序
掌握下面几条原则就可以完全解决“当try、catch、finally遭遇return”的问题。原则:1、finally语句块中的代码是一定会执行的,而catch块中的代码只有发生异常时才会执行。 2、 函数执行完try块中的return语句后不会终止,还会继续执行catch(仅在抛出异常时执行)、finally语句块。 3、函数必须确转载 2017-06-22 11:49:59 · 371 阅读 · 0 评论 -
Spring整合Quartz框架定时任务
最近项目中经常用到队列和定时任务及线程的整合应用,涉及的场景是当多人访问系统时需要回调客户系统处理结果时,如何减少服务器压力并能处理业务需求,这里用到了队列减少服务器压力加入定时任务发送机制,使用的是Spring框架整合 Quartz框架实现的定时任务,因此学习了一下Quartz的前因后果 在此记录学习一下。一、引入 你曾经需要应用执行一个任务吗?这个任务每天或每周星期二晚上11原创 2016-11-29 15:44:01 · 10694 阅读 · 0 评论 -
JAVA-POI 导入导出EXCEL(含JSON)
最近做了几个很有意思的功能,女朋友公司需要收集北京互联网的信息,第一反应就是爬虫,但是又不太擅长,因此想到了用正则解析转换为JSON格式导出为EXCEL。恰好工作内容也要做一个把数据库中的数据导入导出并发送邮件的定时任务,因此这里详细学习了一下操作excel的一些内容。现在主流的操作Excel文件的开源工具有很多,用得比较多的就是Apache的POI及JExcelAPI。这里我们用Apache原创 2017-04-24 15:59:16 · 7360 阅读 · 1 评论 -
JAVA枚举小结
最近在项目中看见了一种新的定义常量形式,了解了下JAVA的枚举类。一、什么是枚举 枚举(enum)类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。二、为什么不用静态变量代替枚举类 public static final int SEASON_SPRING = 1; public static原创 2017-03-16 15:21:37 · 368 阅读 · 0 评论 -
JAVA自定义注解的使用和定义
最近有所了解到自定义注解的应用,因此学习了一下,在项目后台接口开发中,数据的传输经常有对数据内容格式及一些信息规则的校验,应用注解在数据进入后台的开始使用自定义注解是一种比较可靠的方案。一、注解的概念及分类 1.首先我们来看一下什么是注解: 注解就是某种注解类型的一个实例,我们可以用它在某个类上进行标注,这样编译器在编译我们的文件时,会根据我们自己设定的方法来编原创 2016-12-10 20:06:23 · 7124 阅读 · 0 评论 -
Struts2实现文件下载功能
最近项目中需要做一个开发平台,第一个功能就是实现文档对外提供下载功能,项目中用到的是Struts2框架,因此写了一个简单的ACTION在此记录学习。首先需要新建一个ACTION:import ins.framework.web.Struts2Action;import org.apache.commons.codec.binary.Base64;import java.io.File原创 2016-10-27 23:29:30 · 1892 阅读 · 1 评论 -
Struts2工作原理
Struts2工作原理Struts2请求响应流程: 在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller、ActionProxy、ActionMapping、Configuration Manager、ActionInvocation、Inerceptor、Action、Result等。下面我们来具体看看这些组件有什么转载 2015-05-08 00:41:51 · 395 阅读 · 0 评论 -
Struts2类型转换
1. Struts2中的类型转换 我们知道通过HTTP提交到后台的数据,都是字符串的形式,而我们需要的数据类型当然不只字符串类型一种。所以,我们需要类型转换!在Struts2中,类型转换的概念除了用于将界面传递过来的字符串转换为特定的类型(convertFromString)之外,还可以用于将特定的类型转换为字符串(即当我们在JSP中要把某种类型的对象呈现的时候,要将它转换为字转载 2015-05-12 23:06:08 · 378 阅读 · 0 评论 -
The word 'uesrname' is not correctly spelled 解决办法
在IDE或MyEclipse菜单栏中:Window→Preferences→General→Editors→Text Editors→Spelling。在右边显示框里有它的字典词库,你慢慢看吧。在上面有个“Enable spell checking”,前面的框里如果打上钩,IDE 就会在你输入后进行拼写检查,把钩去掉,就不会进行检查,但是你程序输入时要小心,如果把关键字写错了它也不会提示出错。所原创 2015-04-27 12:46:48 · 4989 阅读 · 0 评论 -
JAVA知识点总结(三)成员变量和局部变量的区别
在JAVA中,变量可分为成员变量和局部变量两种1、局部变量局部变量一般是指在方法体内部定义的变量,其作用域是在方法块内部有效。局部变量在使用时,必须先初始化然后才能使用,否则程序则不能通过编译,错误示例代码如下:public class Test{public void f1(){int i; // 变量i未初始化,编译将产生错误// int i = 0; 正确的使用方原创 2014-12-21 23:02:14 · 653 阅读 · 0 评论 -
JAVA知识点总结(二)集合框架
集合Collection接口 --Collection 是任何对象组,元素各自独立,通常拥有相同的套用规则。Set List由它派生。基本操作 增加元素add(Object obj); addAll(Collection c); 删除元素 remove(Object obj); removeAll(Collection c); 求交集 retainAll(原创 2015-01-10 22:35:09 · 484 阅读 · 0 评论 -
增加MyEclipse分配内存的方法
在进行开发大项目时,常常会遇见开发工具卡顿的情况 大多数都是因为内存不够的原因造成的今天学习了为MyEclipse分配更大内存的方法是通过修改配置文件实现的首先找到MyEclipse的安装目录原创 2014-12-05 16:09:39 · 3447 阅读 · 0 评论 -
javac不是内部或者外部命令,java、java -version好使的可能原因
最近总是换工作地点。。经常遇见重新配置开发环境的问题第一步就是安装JDK并配置环境变量今天配置后,CMD进入DOS JAVA命令可以运行,JAVA -VERSION也可以但是JAVAC命令 显示不是内部或外部命令好奇我们在输入指令时究竟是调用什么发现JAVAC命令 调用的是JDK安装目录下 bin文件夹下的javac.exe因此再出现这种情况很有可能是PATH地原创 2014-12-04 23:38:45 · 1038 阅读 · 0 评论 -
Servlet 生命周期、工作原理
Servlet 生命周期、工作原理Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁。init():在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行ini转载 2015-01-08 23:14:14 · 3432 阅读 · 0 评论 -
org.gjt.mm.mysql.Driver和com.mysql.jdbc.Driver的区别
org.gjt.mm.mysql.Driver是早期的驱动名称,后来就改名为com.mysql.jdbc.Driver,现在一般都推荐使用 com.mysql.jdbc.Driver。在最新版本的mysql jdbc驱动中,为了保持对老版本的兼容,仍然保留了org.gjt.mm.mysql.Driver,但是实际上 org.gjt.mm.mysql.Driver中调用了com.mysql.jdbc转载 2014-12-02 17:00:09 · 632 阅读 · 0 评论 -
常见编写JAVA报错总结
学习JAVA在使用Eclipse或MyEclipse过程中 总会在运行后或编写的时候遇见各种错误提示英文的错误提示 并不是很好理解需要长时间的积累下面作为学习笔记,逐渐更新遇见的错误的含义和常见原因1:cannot be resolved to a type其字面意义是无法识别的类型,也就是说你的代码中有可能有1.未导入的包.2.写错的Class Name.3.未创建却原创 2014-12-02 00:08:21 · 982 阅读 · 0 评论 -
MyEclipse中WEB项目加载mysql驱动方法
最近在学习JSP中 用到创建WEB项目 利用JDBC技术连接数据库需要加载驱动,加载不成功的问题具体报错为:ClassNotFoundException,org.gjt.mm.Driver***这里以mysql为例,其驱动包下载地址:http://pan.baidu.com/s/1hqADPYW第一步:把mysql驱动程序mysql-connector-java-5.0.8-b原创 2014-12-01 18:38:49 · 5622 阅读 · 0 评论 -
JDBC连接数据库的原理和步骤
JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术。一、JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建转载 2014-11-03 17:15:33 · 40864 阅读 · 4 评论 -
JAVA编写HTTP代码并发布在网上
最近在学习HTTP是个大协议,完整功能的HTTP服务器必须响应资源请求,将URL转换为本地系统的资源名。响应各种形式的HTTP请求(GET、POST等)。处理不存在的文件请求,返回各种形式的状态码,解析MIME类型等。但许多特定功能的HTTP服务器并不需要所有这些功能。例如,很多网站只是想显示“建设中“的消息。很显然,Apache对于这样的网站是大材小用了。这样的网站完全可以使用只做一件事情的定制原创 2014-11-03 14:14:53 · 1062 阅读 · 1 评论 -
JAVA知识点总结(一)异常
一、 异常的概念和Java异常体系结构 异常是程序运行过程中出现的错误。本文主要讲授的是Java语言的异常处理。Java语言的异常处理框架, 是Java语言健壮性的一个重要体现。 Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。 在Java API中已经定义了许多异常类,这些异原创 2015-01-14 16:40:26 · 668 阅读 · 0 评论 -
JAVA知识点总结(四)继承,多态,重载与重写
一、继承、接口与多态的相关问题:1、 继承的作用?好处?坏处?继承:通过继承实现代码复用。Java中所有的类都是通过直接或间接地继程java.lang.Object类得到的。继承而得到的类称为子类,被继承的类称为父类。子类不能继承父类中访问权限为private的成员变量和方法。子类可以重写父类的方法,及命名与父类同名的成员变量。但Java不支持多重继承,即一个类从多个超类派生的能力原创 2015-01-14 23:01:51 · 779 阅读 · 0 评论 -
JSP/SERVLET入门教程--Servlet 使用入门
现在的JSP书籍有的是直接讲述JSP的使用,然后再讲解SERVERLET的使用;也有书籍是先讲述SERVERLET的使用,然后讲解JSP使用.个人认为第二种相对好一些,至于原因大家可以在学习体会到!所以今天我们接着学习SERVERLET的使用!好,废话少说,现在开始!什么是Servlet?① Servlet就是JAVA 类② Servlet是一个继承HttpServlet类转载 2015-04-05 18:05:08 · 459 阅读 · 0 评论 -
MyEclipse常见快捷键总结
实习过程中学会不少快捷键增加开发效率持续更新总结1:删除整行代码:CTRL+D2:web项目预览关闭:CTRL+shift+F123.返回上一个文件 CTRL+Q4.保存: CTRL+S5.撤销和前进 CTRL+Z/+Y原创 2015-03-04 17:27:07 · 415 阅读 · 0 评论