
Java
文章平均质量分 66
易灬小侠
不积跬步无以至千里
展开
-
分布式事务解决方案总结
分布式事务在分布式架构的项目中是不可避免的一个问题。这个知识点在面试中也是经常会被问到。下面是我的学习总结。没有很详细,但是可以作为总结性的笔记。典型方案关于分布式事务,工程领域讨论的是强一致性和最终一致性的解决方案。典型方案包括:两段式提交(2PC)方案eBay事件队列方案TCC补偿模式缓存数据最终一致性理论支撑分布式事务的目的是保障分库数据一致性,而跨库事务会遇到各种不可的问题。所以需要分布式事务解决方案来保证数据一致性。而著名的CAP理论决定了,在解决一致性问题时,其实和系统可用性,分原创 2021-07-06 11:04:34 · 215 阅读 · 0 评论 -
真正学透AQS
在java的并发中,我们会接触到很多工具类,比如说ReentranLock,CountDownLatch,Semaphore,Condition。而这些工具类都是同门师兄弟来的,它们共同的师父就是我们这次文章讲的AQS,全名:AbstractQueuedSynchronizer。这个AQS几乎是java里面所有同步器和锁实现所依赖的框架。在面试中,也会有不少面试官会问到这个AQS。假如说你可以很明白的讲解出来AQS,那可是加分项。在学习一个新框架或者新技术的时候,我们其实可以围绕3个点来去了解。原创 2021-05-14 10:45:31 · 681 阅读 · 0 评论 -
java8的新特性-新的日期API-LocalDate的用法笔记
在java8的新特性中,新的日期API是挺容易被忽略的一个,因为原来的Date类用的太久了,很多人都懒得改习惯了。而且很多项目中对应数据库的实体类也是Date。所以要用localDate的话,真的不是一件想用就用的事情。但是新的日期API在我了解后发现有很多官方的方法挺有用的,而且还是线程安全的。嗯,看来推出来还是比较有诚意的。先学习学习。大不了为了用这些方法,先把Date转换为localDate...原创 2019-08-16 20:15:51 · 552 阅读 · 0 评论 -
java内存分配看书笔记分享
作为一个java开发人员,懂不懂java内存分配成为你是否为高级java工程师的标准。为什么这么说呢?因为java虚拟机(也就是jvm)有着自己的自动内存管理机制,在我们写代码的过程中不会去管理内存的分配和回收,所以如果想进行性能调优或者内存问题的排查就必须了解内存的分配了,而内存的回收要和垃圾收集器一起学。自己是看了《深入理解Java虚拟机》周志明 著 第2版 来了解的。这本书真的不负盛名。...原创 2019-12-08 17:28:25 · 336 阅读 · 0 评论 -
java外观模式--程序员都明白的模式
好了。上一篇我们讲完了代理模式,这篇文章,我们来认识一下外观模式。外观模式其实很简单,因为这个模式我们大多数程序员都会经常用到,只是我们不知道这就叫外观模式。比如说,领导让你完成一个excel表格导入日志数据的功能。那你需要写一个读取excel表格数据的工具类。然后再写一个从读取到的数据筛选出符合格式的日志数据的方法,然后再写一个日志入库的方法。这几个方法都是不同的作用,只为了完成导入的功能...原创 2018-07-27 10:26:39 · 720 阅读 · 0 评论 -
java代理模式--和装饰器模式有点像的模式
大家好,上一篇博客讲到了装饰器模式,而这一篇,我们要讲到代理模式。这篇代理模式酝酿了好久。为什么呢?因为我在写这些模式系列的博客中,都会先阅读网上的介绍这些模式的博客,看看别人是怎么写的,有什么问题别人是还没有解释清楚的,有什么我是可以补充并且增加的,或者换一种介绍的方式。从而写出具有自己特色的,有价值的博客。 有一些代理模式的文章举的例子很像装饰器模式,所以很多人会在评论下面留言...原创 2018-07-24 16:51:30 · 1049 阅读 · 1 评论 -
java装饰器模式--一个厨师也懂的模式,你懂了吗?
这篇博客我们来继续讲结构型模式,上一篇的适配器模式,如果读者有看过的话,应该会知道结构型模式关键还是在于类的继承,接口的实现。互相组合来实现我们想要的代码结构。那这一次的装饰模式该从何讲起呢?...原创 2018-06-10 19:53:49 · 1766 阅读 · 0 评论 -
java适配器模式--可能是你经常用的模式
在本博客之前的设计模式中,已经把创建型模式的讲完了。这篇文章,我们来开始接触结构型模式,结构型模式有7种之多,不过博主我会陪你一个一个来探讨,逐个击破。来吧,我们先来看看适配者模式。...原创 2018-06-05 15:57:07 · 724 阅读 · 0 评论 -
java原型模式--来聊聊代码里面的克隆
上一篇设计模式介绍的是建造者模式,这次我们就来讲解一下最后一个创建型模式-原型模式。 原型模式其实主要就是理解2个概念。一个是浅复制,一个是深复制。这里的复制就是...原创 2018-05-20 15:32:21 · 716 阅读 · 0 评论 -
JAVA比较2个Timestamp类型的时间大小-由此引发的思考
今天忽然要对2个Timestamp变量的类型进行比较。没怎么用过,百度发现居然很多都是转换类型的。后面发现Timestamp自己都有方法进行比较。但是百度一堆都是那些要转换类型的。我就想简单的知道2个Timestamp的时间哪个早哪个晚嘛。 来吧。public class MyTest { public static void main(String[] args) throws ...原创 2018-05-19 18:59:07 · 49066 阅读 · 1 评论 -
java建造者模式--给一个你一看就懂的建造者模式
在开始写这个建造者模式的文章前,我也确实看了挺多次其他介绍这个模式的文章。感觉看了很多次才有一点对建造者模式明白透彻的感觉。细心想来,可能是接口的理解不好,平时工作比较少用到过建造者模式,所以理解的比较慢。所以看通了建造者模式,就可以加深自己对接口的理解。 好了,接下来让我们进入正题,建造者模式呢,很多其他介绍这个文章的内容中都提到了4个角色。什么builder,director的一时让...原创 2018-05-06 18:55:59 · 33418 阅读 · 62 评论 -
java单例模式
好了,上一篇我们把工厂模式都讲了一遍,我们这篇就讲到单例模式。单例模式,这里的单例就是说的单个对象。在这篇文章中,那我们先来看看单例模式是什么吧。先写一个简单的单例模式。 public class SingleCar { //私有化构造函数,不让外部类调用 private SingleCar(){ } //定义私有的静态对象变量并赋值为null pri...原创 2018-04-24 10:05:01 · 379 阅读 · 0 评论 -
java工厂方法模式
想了很久,还是决定写设计模式这一个系列的文章。为什么呢?因为自己的现阶段对代码有了一定的功底,需要更上一层楼,这需要总结和提炼。所以想借编写设计模式这个系列的文章来让自己的编程水平有所沉淀。其实网上也有不少这方面的文章了,但正所谓“纸上得来终觉浅,绝知此事要躬行”。看着别人造轮子,自己也要动手才可以提高。希望自己可以完成这个系列的编写。给自己加油! java的设计模式有三大类:创建型模式,共...原创 2018-04-03 21:05:43 · 1178 阅读 · 0 评论 -
java类型转换,例如String转double保留N位小数
类型转换是平时写代码中经常遇到的,所以特此记录。方便自己使用和温习。首先是string类型转换成double类型,并保留小数点后的N位数字。public static void main(String[] args) throws Exception{ double aa = stringToDouble("12.23"); System.out.println("...原创 2018-02-27 15:35:47 · 15641 阅读 · 1 评论 -
使用httpclient实现get请求(4.X版本的)
前阵子需要做新浪微博模拟登录的例子。最后终于使用httpclient模拟请求做出来了。现在先简单总结下下怎么使用httpclient的4.x版本来模拟get请求。 如果你之前用过httpclient,那你可能会知道httpclient3.x和httpclient4.x版本的改动可是非常大的。连定义httpclient的方式都变了。我还真的是比较吃惊。因为这样改变的例子还真少见。原创 2017-04-10 15:01:03 · 3246 阅读 · 0 评论 -
java中堆和栈的概念解析
作为一个java程序员,面试的时候有些公司的面试官也许会问到java中堆和栈的概念。当然了,这个中高级java程序员才需要掌握的吧。初级java程序员如果可以弄明白这方面的知识,肯定也会加分。最近在面试的我就遇到了一个面试官给我出了这个问题。没有了解过的我很尴尬。回来一看才发现,也就是那么回事吧。 本人看的概念来自于《深入理解Java虚拟机》这本书,这本书可谓是讲解JVM原理的一本原创 2017-04-10 09:45:02 · 8481 阅读 · 0 评论 -
Java读取excel表格的信息
public static Map>> readXls(String srcDir) throws FileNotFoundException,IOException,BiffException{//Map>>Map>> map = new HashMap>>();File xlsFile = new File(srcDir);if(!xlsFile.exists())thro原创 2016-10-27 16:59:11 · 530 阅读 · 0 评论 -
如何在jsp页面调用的java类中获取当前线程的request和session
当在jsp页面中调用的java类进行数据的处理,查库操作,然后需要操作session的时候可以这样获取到当前线程的session。HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();HttpSession sess原创 2016-10-12 17:26:23 · 3354 阅读 · 0 评论 -
好好温习下java容器类
容器类是什么?如果你真的用java做过项目,那list和map你肯定用过很多了。我也是,但是我当我拿起书本才发现原来还有其他容器自己一直没用到。首先来了解下容器的概念吧。容器可以管理对象的生命周期、对象与对象之间的依赖关系,您可以使用一个配置文件(通常是XML),在上面定义好对象的名称、如何产生(Prototype 方式或Singleton 方式)、哪个对象产生之后必须设定成为某个原创 2016-06-25 18:34:26 · 353 阅读 · 0 评论