![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
华绪1024
我喜欢程序员,他们单纯、固执、容易体会到成就感;
面对压力,能够挑灯夜战不眠不休;
面对困难,能够迎难而上挑战自我。
他们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。
我想说的是,其实我是一个程序员
展开
-
《23种设计模式》四:单例模式
单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。如在Window...转载 2018-01-08 10:13:44 · 194 阅读 · 0 评论 -
使用序列化实现对象的拷贝
引言 我们知道在Java中存在这个接口Cloneable,实现该接口的类都会具备被拷贝的能力,同时拷贝是在内存中进行,在性能方面比我们直接通过new生成对象来的快,特别是在大对象的生成上,使得性能的提升非常明显。然而我们知道拷贝分为深拷贝和浅拷贝之分,但是浅拷贝存在对象属性拷贝不彻底问题。浅拷贝问题package util.clone;/** * 职员 * @project T...原创 2018-04-23 15:13:09 · 186 阅读 · 0 评论 -
《23种设计模式》一:策略模式
项目背景 由于学校现在推行信息化管理,响应党的号召,于是我校体育部要求建立系统来管理日常的工作,于是交给了校内的一个创业团队,项目经理小王同学就开始分析、调研系统的模型。经过一段时间的规划,他构建出了两个对象,一个是篮球队,一个是足球队。为了保证代码的复用性,它抽象出了队伍这个父类,其中包含两个事件,一个训练,一个比赛。代码实现/** * 抽象父类 * @project...原创 2018-04-24 13:56:32 · 237 阅读 · 0 评论 -
《23种设计模式》二:观察者模式
项目背景 学校为了丰富学生的业余生活,加强素质教育和价值观的养成,准备了大约30期的公开课,但是具体时间和教室要根据报名的人数和大家时间来定,目前开放的学院的有两个,一个是人文学院一个是计算机学院。要求就是教务处把课程上传之后,系统可以自动通知这两个学院,然后由学院具体统计人数。项目经理小王整理思路之后。。。。代码实现/** * 公开课 * 一切从简(只为举栗子!) */publ...原创 2018-04-25 11:22:56 · 160 阅读 · 0 评论 -
RedisTemplate API
Spring-data-redis为spring-data模块中对redis的支持部分,简称为“SDR”,提供了基于jedis客户端API的高度封装以及与spring容器的整合,事实上jedis客户端已经足够简单和轻量级,而spring-data-redis反而具有“过度设计”的嫌疑。一. jedis客户端在编程实施方面存在如下不足: 1) connection管理缺乏自动化,connect...转载 2018-05-17 10:19:35 · 2476 阅读 · 0 评论 -
《23种设计模式》三:装饰者模式
项目背景 最近项目经理小王因为手里没有合适的项目,但是他个人还是一个非常上进的人。于是就自己租了一个小推车,晚上没事的时候出来摊煎饼赚点外快。但是他发现出入账,统计物料,流水计算是个挺麻烦的东西。毕竟资深程序员,只好写一个系统来干这些事情了。需求分析 小王同学煎饼分为两大类,一种细粮煎饼,一种粗粮煎饼。配料有鸡蛋,烤肠,馃子,脆皮。用户在点了主体煎饼之后,随意的添加后面的配...原创 2018-04-26 16:00:55 · 290 阅读 · 0 评论 -
synchronized实现原理
记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着我们学习的进行我们知道synchronized是一个重量级锁,相对于Lock,它会显得那么笨重,以至于我们认为它不是那么的高效而慢慢摒弃它。诚然,随着Javs SE ...转载 2018-04-28 15:49:04 · 150 阅读 · 0 评论 -
《23种设计模式》五:模板模式
项目背景项目经理小王同学接手了一个新的项目,关于校内的一个饮品店,里面卖的有各种咖啡,茶等等。由于这个相比比较的简单,它就将这个分配给了小李同学,于是小李同学设计了一下项目的架构。代码展示public class Coffee { public void prepareRecipe(){ boilWater(); brew(); pourInCup(); addCondim...原创 2018-05-07 11:10:45 · 190 阅读 · 0 评论 -
关于HTTP状态码详细解析
状态码100客户端继续其请求。状态码101切换协议,服务器根据客户端的请求切换协议,只能切换到更高级的协议。状态码200 请求成功,一般用于GET和POST请求方式。状态码201成功求情并创建了新的资源。状态码202 已接受请求,但是未处理完成。状态码203 非授权信息,请求成功,但是返回的meta信息不再原始的服务器,而是一个副本。状态码204 无内容,服务器处理成功,但是未返回内容,再未更新新...原创 2018-05-07 14:07:18 · 235 阅读 · 0 评论 -
amazonS3文件管理工具类
/** * @author huaxu * @create 2018/12/10 * @since 1.0.0 */public class AmazonS3Manager { public static final Logger logger = LoggerFactory.getLogger(AmazonS3Manager.class); private static St...原创 2018-12-26 11:09:44 · 1852 阅读 · 1 评论 -
RabbitMQ 延迟队列实现订单支付结果异步阶梯性通知
场景在第三方支付中,例如支付宝、或者微信,对于订单请求,第三方支付系统采用的是消息同步返回、异步通知+主动补偿查询的补偿机制1.商户请求交易接口成功。2.接受银行的异步通知。3.处理业务,将通知URL和通知的数据放到队列中。通知队列是常驻的。4.如果通知商户成功/失败更新通知状态。如果通知失败,根据通知间隔重新把通知数据放到通知队列里。5*(2^n-1)秒后再次通知,n指回调次...转载 2019-08-08 09:59:23 · 640 阅读 · 0 评论 -
并发编程中关于锁的思考
Table of Contents一 Lock接口二 AQS队列同步器2.1 锁是面向使用者的2.2 同步器面向的是锁的实现者2.3同步队列三 ReentrantLock重入锁3.1实现重进入3.2公平与非公平获取锁的区别四ReentrantReadWriteLock读写锁4.1 读写确定状态4.2写锁的获取与释放4.3 读锁的获取与释放...原创 2019-09-30 17:51:00 · 288 阅读 · 0 评论 -
Java位运算在程序设计中的使用:位掩码(BitMask)
在Java中,位运算符有很多,例如与(&)、非(~)、或(|)、异或(^)、移位(<<和>>)等。这些运算符在日常编码中很少会用到。在下面的一个例子中,会用到位掩码(BitMask),其中包含大量的位运算。不只是在Java中,其他编写语言中也是可以使用的。例如,在一个系统中,用户一般有查询(Select)、新增(Insert)、修改(Update)、删除(Delet...转载 2018-04-23 10:24:41 · 150 阅读 · 0 评论 -
错误记录--The import XXX cannot be resolved
错误:The import XXX cannot be resolved题主工程是maven工程,什么clean,install,updata,删除然后Alt+/重新导入全部不管用。后来我吧报错的类文件删除了,重新拷贝一份! 完美解决。管用一定记得点赞噢...原创 2018-04-13 08:37:34 · 749 阅读 · 0 评论 -
java反射扫描包,获取枚举属性
引言由于现在正在接触的项目是前后端分离,我们自己定义了一些实体类的状态码(意思就是前后台传输成功、失败、或者别的信息,都是用具体的数字代表,有点像HTTP状态码),由于这些东西前台写一份后台写一份会导致后期维护起来麻烦,所以就设置页面登录的时候发一个cookie,里面包含响应码的信息。正文想多写文字解释这个程序,想来想去还是放到代码里面吧。我个人平时也不是很喜欢看文字,看代码更高效一点原创 2018-01-23 16:52:14 · 2505 阅读 · 0 评论 -
Java开发岗位面试题归类
一、Java基础1. String类为什么是final的。2. HashMap的源码,实现原理,底层结构。3. 说说你知道的几个Java集合类:list、set、queue、map实现类咯。。。4. 描述一下ArrayList和LinkedList各自实现和区别5. Java中的队列都有哪些,有什么区别。6. 反射中,Class.forName和cl转载 2018-02-01 18:05:11 · 243 阅读 · 0 评论 -
java对集合进行排序
在java开发中有时候我们需要对List集合中的元素按照一定的规则进行排序,比如说有个Person的集合,我们要根据Person的age属性进行排序输出,这就需要用到Java中提供的对集合进行操作的工具类Collections,其中的sort方法,例子如下:1.Person类:1234567891011121314151617181920212223242526272829303132packag...转载 2018-02-09 17:39:36 · 198 阅读 · 0 评论 -
HashTable和HashMap有什么不同?
JDK每一版本都在改进。本文讨论的HashMap和HashTable基于JDK 1.7.0_67。1. 时间HashTable产生于JDK 1.1,而HashMap产生于JDK 1.2。从时间的维度上来看,HashMap要比HashTable出现得晚一些。2. 作者以下是HashTable的作者:以下代原创 2018-02-05 14:59:20 · 217 阅读 · 0 评论 -
详解equals()方法和hashCode()方法
引言Java的基类Object提供了一些方法,其中equals()方法用于判断两个对象是否相等,hashCode()方法用于计算对象的哈希码。equals()和hashCode()都不是final方法,都可以被重写(overwrite)。本文介绍了2种方法在使用和重写时,一些需要注意的问题。一、equal()方法Object类中equals()方法实现如下:public boolean equal...转载 2018-02-26 10:58:26 · 164 阅读 · 0 评论 -
org.apache.maven.archiver.MavenArchiver.getManifest错误
eclipse导入新的maven项目时,pom.xml第一行报错:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)解决办法:1、Help——>Install...转载 2018-03-08 09:58:21 · 3476 阅读 · 0 评论 -
joda-time使用方法
Joda-Time Home:http://joda-time.sourceforge.net/ JavaDoc:http://joda-time.sourceforge.net/apidocs/index.html 直接看代码,这是在网上和根据API整理的一些例子,使用时看例子就可以了 Java代码 package com.yan.joda; import java.util.Calen...转载 2018-02-28 16:27:54 · 295 阅读 · 0 评论 -
springmvc中操作json,配置FastJson
目前网络上传递数据大部分都是json和xml,但是xml使用的很少了,这里主要介绍json,一般来说json常用的场景是提供外部接口,请求内使用request域就足够了springmvc对于json的支持,上图1.请求json方式分析如果请求的json串,要求客户端进行http请求前需要将请求的内容格式化为json格式数据。 此方法没有直接post提交key/value格式数据简单。 如果响应的是...转载 2018-03-16 10:14:43 · 401 阅读 · 0 评论 -
java synchronized详解
Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的一个synchronized(...转载 2018-02-24 17:16:25 · 183 阅读 · 0 评论 -
2016年统计用区划代码和城乡划分代码(截止2016年07月31日) 省市县镇+url
引言因为涉及到一个省市县三级联动的模块,但是由于在2016年7月国家统计局重新发布了统计用区划代码。对一些县区进行了调整,但是这次又添加了关于镇和村一级。想了一下就把到他们的数据全部爬出来,但是水平有限。爬到村的总是有数据丢失。我使用的jsoup连接超时导致。也做了调整获取速率的方法。废话不多说,直接上代码还有一点需要注意的就是:中国的这5个地级市,既不设市辖区,又不管辖县、自治县、旗、自治旗,亦...原创 2018-03-21 08:42:02 · 2936 阅读 · 0 评论 -
Tomcat启动时卡在“INFO: Deploying web application directory ......”的解决方法
第一次遇到Tomcat在Linux服务器启动卡住的情况,情况很简单,tomcat启动以后卡在INFO: Deploying web application directory ......这句话,具体会卡多久就没测试了。google、baidu都没找到解决方法。幸亏UCloud的技术支持人员给出了解决方案。找到jdk1.x.x_xx/jre/lib/security/java.security文件...转载 2018-04-04 15:35:33 · 231 阅读 · 0 评论 -
关于java中浮点数中Infinity和NaN的解释
引言我们都知道计算机是用二进制表示数据,那浮点数计算机是怎么表示的那?1.0/0的结果是什么?为什么?0/0的结果是什么?为什么?0.0/0.0的结果是什么?为什么?先说结论:1)1.0/0的结果是什么?为什么? 1.1 结果:Infinity 1.2 原因:①1/0.1=10 ②1/0.01=100 ③1/0.001=1000,所以分子确定时,分母越小商越...原创 2019-10-08 18:08:25 · 3196 阅读 · 0 评论