![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
文章平均质量分 92
色诺芬0x7C8
Java开发初心者,望早日完成新手村任务
展开
-
Java8新特性之Lambda表达式初探
目录 ●为什么要用Lambda表达式?●Lambda表达式拆解●Lambda表达式中引用的变量●Java8内置的函数式接口●小结●为什么要用Lambda表达式?在本文写作时,Java8其实已经推出4年有余,Lambda表达式已经不算是一个“新”东西了,很多语言,诸如C#、Python都支持了这个特性。笔者在工作中发现很多非互联网公司的传统项目,还是在用Java7进行...原创 2018-09-04 12:24:57 · 739 阅读 · 0 评论 -
finally的一个妙用
目录 ●传统用法●特殊妙用●传统用法try-catch-finally大家都会用:try包裹可能抛出异常的代码;catch捕获异常并对其处理;finally做一些资源关闭等回收工作。简单明了一句话就能说清。稍微进阶一些的,大家可能在笔试/面试/工作中遇到,如果try、catch中有了return,那finally的执行时在return之前还是return之后呢?我们查看ja...原创 2019-01-23 11:46:36 · 522 阅读 · 0 评论 -
Lombok——让你的JavaBean变漂亮
目录 ●什么是JavaBean●什么是Lombok●使用前的准备●使用Lombok装点你的JavaBean●Lombok的其他常用特性●小结●什么是JavaBean对于JavaBean,最简单的理解就是一个具备下面三个条件的Java类:1、拥有一个或多个private修饰的成员变量;2、该类具有无参构造函数;3、每个成员变量都有get和set方法。...原创 2018-12-27 10:10:38 · 395 阅读 · 0 评论 -
基于PostgreSQL的时区问题解决
目录 ●实际业务场景中遇到的问题●时间戳(timestamp)定义●PostgreSQL时间日期类型●PostgreSQL时间戳使用的问题●解决方案一:变更字段类型●解决方案二:SQL层面●解决方案三:Java层面●附.Java timezone时区列表●附.PostgreSQL时区列表●实际业务场景中遇到的问题最近在工作中遇到这么一个需求,用户要求...原创 2018-12-14 21:40:32 · 22429 阅读 · 3 评论 -
函数式编程的思想来源与具体表现
目录●知识的互通●从范畴论说起●函子●MapReduce●小结●知识的互通笔者最近在学习的过程中,接触到了MapReduce、JavaScript的高阶函数、范畴论等相关知识。突然想到几个月前写过JAVA8函数式编程的相关博文,发现其实知识是互通,其思想都是相同的,只不过具体表现形式不一样。今天抽空回顾加总结一下这方面的内容,作为函数式编程学习的心得体会。●从范畴论...原创 2018-11-26 23:02:35 · 653 阅读 · 0 评论 -
线程池ThreadPoolExecutor通俗理解(无代码版)
目录 ●目的●说个故事●正经解释●继承关系●目的学习JAVA并发编程肯定是要用到线程池的知识,笔者也是花了一些时间,才算有点参悟。本文将通过例子和通俗的解释为各位读者讲解JAVA线程池的基本原理,不涉及源码和使用代码,让大家直观、大局的理解一下线程池。可以将本文作为JAVA线程池的启蒙科普文章查看,详细的使用和源码后续文章可能会发出。本文写作过程中参考了《Java并...原创 2018-11-21 15:03:40 · 317 阅读 · 2 评论 -
好物安利:Swagger2
目录 ●What & Why●引入依赖●正常开发●Swagger2配置●编辑API接口●Swagger-UI查看文档●彩蛋:swagger-ui-layer●小结●What & Why大家加入一个项目团队,接手一个全新的项目时有没有遇到这种情况:项目参与人数众多,开发周期长,没有很好的API文档,甚至代码中注释也寥寥无几,有时候一个方法,...原创 2018-11-05 13:51:49 · 400 阅读 · 0 评论 -
关于跨域请求的另一种解决思路
目录 ●问题产生●问题解决●问题反思●问题产生最近笔者遇到一个项目,描述如下:对方给我们提供了一个Url,可以通过get请求返回一串字符串作为token,我们拿到这个token后,将作为其中一个参数,和其他参数一起组装成数据,在我们自己页面上点击按钮,通过ajax的post请求提交给我们自己的后台进行业务逻辑处理。笔者首先通过浏览器直接访问这个Url,验证了确实可以拿到...原创 2018-10-16 11:47:33 · 234 阅读 · 0 评论 -
好物安利:Spring Data JPA
目录 ●什么是Spring Data JPA?●“神奇”接口JpaRepository●如何变出这般魔法?●自定义SQL●小结●什么是Spring Data JPA?笔者最近在自学Springboot,对比以前的SSH框架构建的项目,确实很切身体会其好处。今天先和大家分享下Spring Data JPA。要问什么是Spring Data JPA,我们得从最原始的...原创 2018-10-19 10:47:20 · 331 阅读 · 0 评论 -
Java中基于静态变量与单例模式对缓存的简单实现
目录 ●What & Why●静态变量实现缓存●单例模式实现缓存●小结●What & Why缓存是什么?他有什么好处?相信不用说大家都知道。目前笔者在做一个Java开发的Web项目,项目启动的时候需要将大量不变的平台数据放入缓存中,方便快速读取。一开始笔者很疑惑,Java是不能直接操作内存的,但是我们缓存却是要把数据放入内存中,那这是怎么实现的呢?抛...原创 2018-09-26 18:39:32 · 2283 阅读 · 0 评论 -
RPC中Callback Function与CountDownLatch的用法
目录 ●What & Why●回调函数Callback Function与倒数计数器CountDownLatch●What & WhyRPC(Remote Procedure Call),通俗地说,就是在一台计算机上调用另一台计算机提供的服务。这里的服务对应RPC中的P(Procedure),表现形式通常是API接口,或者说好比一个本地代码工程中的一个函数。那为...原创 2018-10-09 15:59:56 · 801 阅读 · 1 评论 -
Java8新特性之Optional类进阶知识
目录●再说Optional类●实战演练代码重构●小结●再说Optional类上一篇文章概述性地介绍了一下Optional类,可能许多读者还是无法很好的掌握。笔者一开始接触这个类的时候也没有发现其有什么特别的好处,特别是对于“可以有效地避免空指针异常”这个特点理解得不够深刻,为什么这么说呢?结合一段代码,说说笔者当初的疑惑,以及是如何一步一步解决这个疑惑的://原始业务代码...原创 2018-09-13 19:16:51 · 8345 阅读 · 4 评论 -
Java8新特性之Stream初探
目录 ●为什么要用Stream?●Stream流程拆解1.构建Stream2.惰性求值3.及早求值●方法引用(Method References)●可选类(Optional)●小结●为什么要用Stream?上一篇博文Java8新特性之Lambda表达式初探简单介绍了一下Lambda表达式,也许读者会觉得其应用环境比较局限,而且虽说减少了代码量,但也增加了...原创 2018-09-10 09:27:51 · 566 阅读 · 0 评论 -
Java编码经验和技巧汇总(一)
入职半年多了,实际工作开发过程中踩了不少坑,也学了不少招,积累了一些Java编码方面的经验和技巧,现总结于下,与大家一同分享:通过一个函数生成/返回/获取一个对象,在使用这个对象的时候一定要做非空判断。即使这个函数是你自己写的,内部已经做了非空判断或者一定不会产生NPE,作为良好的习惯,也需要这么做。因为别人维护代码的时候不知道你写的这个函数内部是什么情况。关于避免使用大量非空判断解决NPE的...原创 2019-02-16 10:20:52 · 1006 阅读 · 0 评论