java
终白头
苟利国家生死以,岂因祸福避趋之
展开
-
java POI excel文件导出下载
import com.alibaba.fastjson.JSONArray;import com.alibaba.fastjson.JSONObject;import org.apache.commons.lang.time.DateFormatUtils;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.a原创 2017-08-10 13:37:18 · 319 阅读 · 0 评论 -
java设计模式-策略模式
策略模式 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。适用性 1.许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法。 2.需要使用一个算法的不同变体。 3.算法使用客户不应该知道的数据。可使用策略模式以避免暴露复杂的、与算法相关的数据结构。...原创 2017-09-30 15:24:31 · 236 阅读 · 0 评论 -
java设计模式-代理模式
代理模式 为其他对象提供一种代理以控制对这个对象的访问。 适用性 1.远程代理(RemoteProxy)为一个对象在不同的地址空间提供局部代表。 2.虚拟代理(VirtualProxy)根据需要创建开销很大的对象。 3.保护代理(ProtectionProxy)控制对原始对象的访问。 4.智能指引(SmartReference)取代了简单原创 2017-09-30 14:50:07 · 182 阅读 · 0 评论 -
java的深拷贝与浅拷贝
java的深拷贝与浅拷贝转载 2016年07月22日 10:46:02转载:http://www.2cto.com/kf/201401/273852.htmlJava中对象的创建clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建转载 2017-09-21 15:36:46 · 164 阅读 · 0 评论 -
equals和==在java中的区别
首先要简单说明一下基本类型和引用类型在JVM中的存放(详细jvm网上有很多)基本类型:存放在jvm栈内存中引用类型:在类加载或者实例化(new对象是)时会在堆内存中分配空间,引用地址存放在栈内存回归正题"=="操作符的作用1、用于基本数据类型的比较2、判断引用是否指向堆内存的同一块地址。"equals"操作符的作用1、判断引用对象的内容是否一样直接看例子pu原创 2017-09-05 16:32:36 · 182 阅读 · 0 评论 -
《effective java》学习笔记(一)
以下内容绝大部分来自《effective java》这本书,其中会有本人的一些学习是的想法,本文属于伪原创强烈建议大家在读本文即后续文章时,先了解java的23中设计模式,可以看本人写的关于设计模式的博客或者买本《大话设计模式》看看第1条:考虑用静态工厂方法代替构造器 对于类而言,为了让客户端获取它自身的一个实例,最常用的方法就是提供一个共有的构造器(即类中的构造方法)。原创 2017-09-13 17:21:06 · 798 阅读 · 0 评论 -
java设计模式-桥接模式
将抽象部分与它的实现部分分离,使它们都可以独立地变化。适用性 1.你不希望在抽象和它的实现部分之间有一个固定的绑定关系。 例如这种情况可能是因为,在程序运行时刻实现部分应可以被选择或者切换。 2.类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。 这时Bridge模式使你可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充原创 2017-09-13 17:05:07 · 155 阅读 · 0 评论 -
spring boot + spring batch+ quartz实例
注:本文非基础教学类文章首先工程用到的主要jar包spring-batch-core-3.0.0.jarquartz-2.1.6.jar(一) quartz实现 实际开发过程中系统中肯定有任务管理模块,所以就按实际开发来写了import com.alibaba.fastjson.TypeReference;import org.apache.commons.l原创 2017-08-23 16:39:25 · 6485 阅读 · 0 评论 -
java程序员学习必读书籍及顺序
看了好多人写的java程序员必读的书籍,以及结合我自己的一些实际体会然后建议大家按照以下的读书顺序,循序渐进的走向大牛之路,当然只是建议最后祝大家在java的道路上越走越远1.Java编程思想》2.《大话设计模式》3.《effective java》4.《深入理解Java虚拟机》5.《Java并发编程实战》6.《数据结构与算法》原创 2017-08-16 09:25:15 · 3141 阅读 · 1 评论 -
java设计模式-适配器模式
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适用性 1.你想使用一个已经存在的类,而它的接口不符合你的需求。 2.你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。 3.(仅适用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每原创 2017-08-21 14:22:24 · 159 阅读 · 0 评论 -
正则表达式
正则表达式——古老而又强大的文本处理工具。仅用一段简短的表达式语句,就能快速地实现一个复杂的业务逻辑。掌握正则表达式,让你的开发效率有一个质的飞跃。正则表达式经常被用于字段或任意字符串的校验,比如下面这段校验基本日期格式的JavaScript代码:var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2})$/;转载 2017-08-18 17:36:51 · 168 阅读 · 0 评论 -
java设计模式-原型模式
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。适用性 1.当一个系统应该独立于它的产品创建、构成和表示时。 2.当要实例化的类是在运行时刻指定时,例如,通过动态装载。 3.为了避免创建一个与产品类层次平行的工厂级层次时。 4.当一个类的实例只能有几个不同状态组合中的一种时。 建立相应数目的原型并克隆它们可能比每次用合适原创 2017-08-18 16:45:23 · 159 阅读 · 0 评论 -
java设计模式-单例模式
单态模式 保证一个类仅有一个实例,且提供一个访问它的全局访问点。 适用性 1.当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。 2.当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。参与者 Singleton 定义一个Instance操作,允许客户访问它的唯一实例。Instance是一个类操原创 2017-08-18 16:17:15 · 165 阅读 · 0 评论 -
java设计模式-建造者模式
建造者模式 将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示。 适用性 1.当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 2.当构造过程必须允许被构造的对象有不同的表示时。参与者 1.Builder 为创建一个Product对象的各个部件指定抽象接口。 2.ConcreteBuilder原创 2017-08-18 15:21:26 · 311 阅读 · 0 评论 -
java设计模式-抽象工厂
抽象工厂 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 适用性 1.一个系统要独立于它的产品的创建、组合和表示时。 2.一个系统要由多个产品系列中的一个来配置时。 3.当你要强调一系列相关的产品对象的设计以便进行联合使用时。 4.当你提供一个产品类库,而只想显示它们的接口而不是实现时。原创 2017-08-18 10:31:18 · 180 阅读 · 0 评论 -
java六大设计原则
1.单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。2.开放封闭原则:软件实体(类,模块,函数)应该可以扩展,但是不可修改,即对扩展开发,对改变封闭。3.依赖倒转原则:抽象不应该依赖于细节,细节应该依赖原创 2017-10-27 10:55:42 · 321 阅读 · 0 评论