
java
文章平均质量分 81
cws1214
这个作者很懒,什么都没留下…
展开
-
CORS解决ajax跨域访问问题
Spring MVC 4.2 增加 CORS 支持跨站 HTTP 请求(Cross-site HTTP request)是指发起请求的资源所在域不同于该请求所指向资源所在的域的 HTTP 请求。比如说,域名A(http://domaina.example)的某 Web 应用程序中通过标签引入了域名B(http://domainb.foo)站点的某图片资源(http://domainb.fo转载 2016-08-12 12:06:30 · 9412 阅读 · 0 评论 -
Apache Commons IO简介
原文参考 http://www.javacodegeeks.com/2014/10/apache-commons-io-tutorial.html Apache Commons IO 包绝对是好东西,地址在http://commons.apache.org/proper/commons-io/,下面用例子分别介绍: 1) 工具类 2) 输入 3) 输出转载 2016-08-24 15:43:21 · 679 阅读 · 0 评论 -
Java 类的热替换
Java 类的热替换 —— 概念、设计与实现https://www.ibm.com/developerworks/cn/java/j-lo-hotswapcls/构建基于 Java 的在线升级系统对于许多关键性业务或者庞大的 Java 系统来说,如果必须暂停系统服务才能进行系统升级,既会大大影响到系统的可用性,同时也增加了系统的管理和维护成本。因此,转载 2016-08-24 14:44:14 · 697 阅读 · 0 评论 -
深入探讨 Java 类加载器
类加载器(class loader)是 Java™中的一个很重要的概念。类加载器负责加载 Java 类的字节代码到 Java 虚拟机中。本文首先详细介绍了 Java 类加载器的基本概念,包括代理模式、加载类的具体过程和线程上下文类加载器等,接着介绍如何开发自己的类加载器,最后介绍了类加载器在 Web 容器和 OSGi™中的应用。类加载器是转载 2016-08-05 09:22:11 · 300 阅读 · 0 评论 -
FindBugs、PMD和CheckStyle对比
1. 概要工具目的检查项FindBugs检查.class基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug主要检查bytecode中的bug patterns,如NullPoint空指针检查、没有合理关闭资源、字符串相同判断错转载 2016-08-11 19:11:33 · 1048 阅读 · 0 评论 -
过滤器 拦截器 service 执行顺序
由于最近做的项目中有一部分是接口远程调用,用到了接入权限和业务权限的鉴定,需要采用SpringMVC的拦截器,以前用Struts2的时候用过拦截器,而SpringMVC的拦截器功能之前没研究过,所以这次来稍微研究一下,得出的结论是SpringMVC的拦截器和Struts2的拦截器原理几乎是一模一样的,都是利用反射功能实现动态代理。因为过滤器和拦截器有很多相似甚至相同的地方,因为很多时候二者都能转载 2016-08-08 14:25:56 · 3243 阅读 · 0 评论 -
java反射常用方法
JAVA反射使用手记 本篇文章为在工作中使用JAVA反射的经验总结,也可以说是一些小技巧,以后学会新的小技巧,会不断更新。本文不准备讨论JAVA反射的机制,网上有很多,大家随便google一下就可以了。 在开始之前,我先定义一个测试类Student,代码如下:[Java] view plain copy转载 2016-08-23 17:12:28 · 2514 阅读 · 0 评论 -
使用Jenkins配置自动化构建
持续集成是个简单重复劳动,人来操作费时费力,使用自动化构建工具完成是最好不过的了。为了实现这个要求,我选择了Jenkins。从http://mirrors.jenkins-ci.org/windows/latest下载windows下的最新安装版jenkins。(如果不能安装,从http://mirrors.jenkins-ci.org/war/latest/jenkins.war下载wa转载 2016-08-11 18:26:02 · 442 阅读 · 0 评论 -
简单REST框架
摘要本文首先描述 MVC 模式是什么,然后针对 MVC 的不足发表了作者的个人观点,随后引出了基于 REST 架构实现前后端分离的方案,最后使用了 Java 的 Spring 框架搭建了一个简单的 REST 框架。全文从原理到实战,希望对于想了解如何实现前后端分离架构的朋友有所帮助。由于篇幅有限,且个人水平不足,难免会出现一些遗漏或不足之处,恳请大家提出宝贵意见或建议,谢谢!从转载 2016-08-12 12:37:22 · 5813 阅读 · 2 评论 -
maven资料合集
看了不少maven的文章,很多比较杂而且乱,整理了下比较靠谱的资料:1.关于maven的基本介绍:http://www.cnblogs.com/Brake/p/maven_install_and_config.htmlhttp://blog.csdn.net/bjyfb/article/details/8623801主要包括maven的作用、搭建、私服/远程原创 2016-08-24 18:58:02 · 798 阅读 · 0 评论 -
多态在 Java 和 C++ 编程语言中的实现比较
多态在 Java 和 C++ 编程语言中的实现比较面向对象编程语言的一个重要特性就是多态,它使得可以用基类的指针或引用指向派生类的对象,而在具体访问时实现方法动态绑定。本文主要探讨多态在当前最流行的两种编程语言 C++ 和 Java 中的实现,并对其中的异同进行了比较,使读者对其有全面的理解,以便更好的在编程中正确使用这种特性。3 评论刘 冠群, 软转载 2016-10-28 14:50:28 · 1381 阅读 · 0 评论 -
JVM垃圾收集器与内存分配
概述程序计数器、虚拟机栈、本地方法栈这些区域不需要过多考虑回收的问题,因为方法结束或者线程结束时,内存自然就跟着回收了。垃圾收集器关注的是堆和方法区中的垃圾。对象已死吗引用计数器给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。这种计数法无法解决循环引用的问题转载 2016-09-22 15:37:43 · 1220 阅读 · 0 评论 -
java反射
个人理解:java反射是一种能力,本质是机器在运行时,不知道对象类型的情况下,可以智能的(非像c++强制转换父类到子类)根据一个字符串(类名,c++不允许用变量强制转换对象)就能知道该类的所有信息,并且可以newInstance一个对象,知道该对象的所有方法,属性并操作(包括私有的),于是:1. 可以进行插件式扩展,声明一个接口对象,只要第三方插件提供了实现,就可以生成该实现的对象,在架子原创 2016-09-08 14:01:48 · 823 阅读 · 0 评论 -
乐观锁 悲观锁实例
引言为什么需要锁(并发控制)? 在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有:丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看到的转载 2016-09-07 10:33:29 · 7468 阅读 · 3 评论 -
SOA演进到微服务
引言:“微服务”是当前软件架构领域非常热门的词汇,能找到很多关于微服务的定义、准则,以及如何从微服务中获益的文章,在企业的实践中去应用“微服务”的资源却很少。本篇文章中,会介绍微服务架构(Microservices Architecture)的基础概念,以及如何在实践中具体应用。单体架构(Monolithic Architecture )企业级的应用一般都会面临各种各样的业务需转载 2016-08-25 14:52:36 · 2685 阅读 · 0 评论 -
clone方法 --深拷贝与浅拷贝
Java中对象的创建clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢?1 使用new操作符创建一个对象2 使用clone方法复制一个对象那么这两种方式有什么相同和不同呢? new操作符的转载 2016-08-12 16:58:36 · 7857 阅读 · 0 评论 -
web.xml中context-param,listener等作用及加载过程
的作用:web.xml的配置中配置作用(可在listener和servlet中使用,而ContextLoaderListener及contextConfigLocation则由spring mvc来实现,可读取application.xml等springbean配置)1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: 和转载 2016-08-11 17:17:44 · 3215 阅读 · 0 评论 -
JUnit + Mockito 单元测试
JUnit 是单元测试框架。Mockito 与 JUnit 不同,并不是单元测试框架(这方面 JUnit 已经足够好了),它是用于生成模拟对象或者直接点说,就是”假对象“的工具。两者定位不同,所以一般通常的做法就是联合 JUnit + Mockito 来进行测试。ps:Mockito 用于对方法进行打桩,模拟class,不需要autowire对象,可避免一个对象具有多层bean初始化的情形?转载 2016-09-01 09:50:30 · 1282 阅读 · 0 评论 -
静态内部类解决静态变量注入问题
1.静态变量不可直接注入,可通过setter的方式注入,且setter方法不能为static,实际上是在静态变量被加载并默认初始化过后,初始化bean时被注入的2.静态内部类可在bean被初始化之后再加载,从而实现利用外部类静态变量的目的3.变量的注入,需要注意变量名的统一public class OssClient { //log private Logger logg原创 2016-08-10 16:26:10 · 3571 阅读 · 0 评论 -
Java运行时异常和非运行时异常
1.Java异常机制Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。Java中的异常分为两大类:错误Error和异常Exception,Java异常体系结构如下图所示:图片来源:http://blog.csdn.net/wuwenxiang91322/article/details/10346337转载 2016-07-26 14:19:13 · 2454 阅读 · 0 评论 -
Ant简易教程
所需文件ant打包apk需要三个目录: build.xml,local.properties,proguard-project.txt生成方式,在项目根目录下执行指令:android update project —path .其中,build.xml文件是进行ant build的主要文件,它引用了其它文件。这些被引用的文件有local.properti转载 2016-07-13 15:24:59 · 1191 阅读 · 0 评论 -
生成代理方法(generate delegate methods)
先看代码: AbstractSubject类: public interface AbstractSubject { void sayHello(); } RealSubject类: public class RealSubject implements AbstractSubject { public void sayHello() {转载 2016-07-25 18:59:43 · 2461 阅读 · 0 评论 -
spring bean与线程安全
在使用Spring框架时,很多时候不知道或者忽视了多线程的问题。因为写程序时,或做单元测试时,很难有机会碰到多线程的问题,因为没有那么容易模拟多线程测试的环境。但如果不去考虑潜在的漏洞,它就会变成程序的隐形杀手,在你不知道的时候爆发。而且,通常是程序交付使用时,在生产环境下触发,会是很麻烦的事。在使用Spring框架时,很多时候不知道或者忽视了多线程的问题。因为写程序时,或做单元测转载 2016-07-13 20:08:57 · 4990 阅读 · 0 评论 -
java序列化和json序列化效率对比
一、背景有项目需要传输Map结构的数据,有人倾向用Java序列化来做,有人倾向用JSON的序列化来做。所以我们还是比比吧。Java观点:Object2Object,使用时简单快速。JSON观点:JSON格式与语言无关,扩展性强,速度也应该不慢。大家可能对Java序列化都有一个错误的认识,认为Java序列化比JSON的序列化效率高并且序列化的数据小,其实实际上并不一定转载 2016-02-23 18:05:30 · 24103 阅读 · 2 评论 -
java 抽象类和接口区别
对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲: 一.抽象类 二.接口 三.抽象类和接口的区别 若有不正之处,请多多谅解转载 2016-02-22 12:50:44 · 357 阅读 · 0 评论 -
java静态块 非静态块 构造方法顺序
java中经常有一些静态块,这是用来在生成类之前进行的初始化,无论java还C++语言中的static,都是最先初始化好的。结构如下: static { 静态语句代码块 } { 非静态语句代码块 } 异同点 相同点:都是在JVM加载类时且在构造方法执行之前执行,在类中都可以定义多个,一般在代码块中对一些static变量进行赋 值。 不同点:静态代码块转载 2015-11-16 15:54:34 · 448 阅读 · 0 评论 -
java中try catch与if else区别
有人说了try ...catch...不就是抛出异常以文本形式显示出来么?if...else...也可以阿.else里面写showmessage不就可以么??? 首先try提捕获异常的,即异常并不是我们能预先知道的,所以不能用if什么条件来判断的。异常是需要在程序的运行中进行捕获的。 举个例子来看看吧: int a=200,b=0; int c; tr转载 2015-11-16 11:26:28 · 4419 阅读 · 3 评论 -
为什么要有SerialVersionUID?
为什么要有SerialVersionUID?应该说为什么要手动声明一个ServialVersionUID。因为只要你做了序列化了,JAVA就会自动给你加上一个SerialVersionUID。Java强烈建议我们显式的声明一个SerialVersionUID,因为SerialVersionUID默认值的计算是根据类的各个方面得来的(属性,方法。。。)。详情:http://docs.转载 2016-07-26 18:30:16 · 3288 阅读 · 0 评论 -
spring mvc路径匹配原则
Ant path 匹配原则在Spring MVC中经常要用到拦截器,在配置需要要拦截的路径时经常用到子标签,其有一个path属性,它就是用来指定需要拦截的路径的。例如:根据以上配置,此拦截器会拦截所有的请求。Spring MVC中的路径匹配要比标准的web.xml要灵活的多。默认的策略实现了 org.springframe转载 2016-07-28 16:14:13 · 1117 阅读 · 0 评论 -
java单例全解析
总结了两个经典的懒加载单例模式先上代码:[java] view plain copypublic class ImageLoader { private volatile static ImageLoader instance; // Returns singleton class inst原创 2016-08-31 19:36:17 · 550 阅读 · 0 评论 -
静态资源访问与拦截
静态资源访问映射:先调整web.xml中的DispatcherServlet的配置,使其可以捕获所有的请求:123456789 springMVC class>org.springframework.web.servlet.Disp原创 2016-09-11 10:07:36 · 10344 阅读 · 0 评论 -
new和newInstance() Constructor.newInstance()区别
1、类的加载方式不同 在执行Class.forName("a.class.Name")时,JVM会在classapth中去找对应的类并加载,这时JVM会执行该类的静态代码段。在使用newInstance()方法的时候,必须保证这个类已经加载并且已经连接了,而这可以通过Class的静态方法forName()来完成的。 使用关键字new创建一个类的时候,这个类可以没有被加载,一般也转载 2016-08-05 16:50:59 · 8402 阅读 · 0 评论 -
java.lang.Object总结
从本篇开始,将对Java中各知识点进行一次具体总结,以便对以往的Java知识进行一次回顾,同时在总结的过程中加深对Java的理解。Java作为一个庞大的知识体系,涉及到的知识点繁多,本文将从Java中最基本的类java.lang.Object开始谈起。Object类是Java中其他所有类的祖先,没有Object类Java面向对象无从谈起。作为其他所有类的基类,Object具有哪些属转载 2016-08-05 14:47:26 · 982 阅读 · 0 评论 -
Elasticsearch简介入门
你是否为了讨女朋友的欢心而偷偷搜索过她最想要的礼物?是否在女朋友生病的时候心急地搜过医院和药物?是否在吵架过后默默地搜过和好方法?让我告诉你如何用正确地姿势进行搜索。接下来,本文就简要介绍搜索利器 Elastic Search,让你在 5 分钟内学会使用它。安装如果你有 linux,并且恰好也有 docker, 那么请运行如下命令: sudo docker run -d转载 2016-08-04 16:20:26 · 559 阅读 · 0 评论 -
Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液、跳动)显然,此处不能单方面用属性或者方法表示一个心脏,而需要一个类而心脏又在人体当中,正如同是内部类在外部内当中 实例1:内部类的基本结构1转载 2016-07-28 15:44:53 · 6063 阅读 · 1 评论 -
IOC和DI本质理解
IoC IoC: Inversion of Control,控制反转, 控制权从应用程序转移到框架(如IoC容器),是框架共有特性 1、为什么需要IoC容器1.1、应用程序主动控制对象的实例化及依赖装配 Java代码 A a = new AImpl(); B b = new BImpl(); a.setB(b);转载 2016-08-04 13:29:50 · 7252 阅读 · 3 评论 -
springfox集成教程
swagger用于定义API文档。1. 好处:前后端分离开发API文档非常明确测试的时候不需要再使用URL输入浏览器的方式来访问Controller传统的输入URL的测试方式对于post请求的传参比较麻烦(当然,可以使用postman这样的浏览器插件)springfox基于swagger2,兼容老版本2. maven引入:dependency> gro原创 2016-07-20 16:08:45 · 6115 阅读 · 1 评论 -
java的异常处理机制
前言:java 中的异常处理机制你真的理解了吗?掌握了吗?catch 体里遇到 return 是怎么处理? finally 体遇到 return 怎么办?finally 体里有 System.exit() 方法怎么处理?当 catch 和 finally 体里同时遇上 return 怎么办?相信你在处理异常的时候不是每次都把它 throws 掉就完事了,很多时候异常是需要我们自己来转载 2015-11-16 10:20:59 · 384 阅读 · 0 评论