- 博客(13)
- 资源 (1)
- 收藏
- 关注
转载 【Spring Boot】——集成lombok
还在编写无聊枯燥又难以维护的POJO吗?洁癖者的春天在哪里?请看Lombok!在过往的Java项目中,充斥着太多不友好的代码:POJO的getter/setter/toString;异常处理;I/O流的关闭操作等等,这些样板代码既没有技术含量,又影响着代码的美观,Lombok应运而生。首先说明一下:任何技术的出现都是为了解决某一类问题的,如果在此基础上再建立奇技淫巧...
2019-04-27 20:54:10 265
转载 【Spring Boot】——集成swagger
现代化的研发组织架构中,一个研发团队基本包括了产品组、后端组、前端组、APP端研发、测试组、UI组等,各个细分组织人员各司其职,共同完成产品的全周期工作。如何进行组织架构内的有效高效沟通就显得尤其重要。其中,如何构建一份合理高效的接口文档更显重要。接口文档横贯各个端的研发人员,但是由于接口众多,细节不一,有时候理解起来并不是那么容易,引起‘内战’也在所难免, 并且维护也是一大难题。类似RA...
2019-04-27 20:42:23 497
转载 con not set com.xxx field com.xxx to com.sun.proxy.$proxy23问题
一般出现这个问题要么是因为你在某个controller中用Autowired注解的是一个实现类而不是一个接口,因为JDK动态代理只能针对接口,所以你要么把AutoWired中的东西改成接口,要么在你的配置文件中,找到:<tx:annotation-driven transaction-manager="transactionManager"/>在它中间加入 proxy-targ...
2019-04-14 15:42:08 2043
转载 Spring配置事务的五种方式
Java事务的类型有三种:JDBC事务、可以将多个 SQL 语句结合到一个事务中。JDBC 事务的一个缺点是事务的范围局限于一个数据库连接。一个 JDBC 事务不能跨越多个数据库JTA(Java Transaction API)事务、事务可以跨越多个数据库或多个DAO,使用也比较复杂。容器事务。主要指的是J2EE应用服务器提供的事务管理,局限于EJB应用使用。spring事...
2019-04-14 11:07:31 58
转载 hibernate缓存机制详细分析
在本篇随笔里将会分析一下hibernate的缓存机制,包括一级缓存(session级别)、二级缓存(sessionFactory级别)以及查询缓存,当然还要讨论下我们的N+1的问题。随笔虽长,但我相信看完的朋友绝对能对hibernate的 N+1问题以及缓存有更深的了解。一、N+1问题首先我们来探讨一下N+1的问题,我们先通过一个例子来看一下,什么是N+1问题:list()获得对象...
2019-04-12 22:45:33 70
转载 【多线程】——AQS详解
一、概述 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...二、框架 它维...
2019-04-07 21:16:42 288
转载 【分布式】——锁实现方式
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项,具体可以看CAP原理。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场...
2019-04-05 23:30:07 90
转载 【分布式】——CAP原理
根据百度百科的定义,CAP定理又称CAP原则,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),最多只能同时三个特性中的两个,三者不可兼得。一、CAP的定义Consistency (一致性):“all nodes see the same data at the same time”,即更...
2019-04-05 23:29:16 214
转载 【JAVA语法糖】——泛型
在说泛型之前我们需要了解一下语法糖的概念语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言本身功能来说没有什么影响,只是为了方便程序员的开发,提高开发效率。说白了,语法糖就是对现有语法的一个封装。Java作为一种与平台无关的高级语言,当然也含有语法糖,这些语法糖并不被虚拟机所支持,在编译成字节码阶段就自动转换成简单常用语法。一般来说Jav...
2019-04-05 22:31:39 553
转载 ServiceLoader使用及原理分析
简介说这个原理之前首先需要了解一下SPI。SPI是串行外设接口(Serial Peripheral Interface)的缩写。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,如今越来越多的芯片集成了这种通信协议,比如AT91RM9200。试想,早先我们的app在图片加载...
2019-04-05 21:40:21 1092
转载 各种排序算法的总结、比较与Java实现
1 快速排序(QuickSort)快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。(1)如果不多于1个数据,直接返回。(2)一般选择序列最左边的值作为支点数据。(3)将序列分成2部分,一部分都大于支点数据,另外一部分都小于支点数据。(4)对两边利用递归排序数列。快速排序比大部分排序算法都要快。尽管我们可以在某...
2019-04-01 20:14:14 194
转载 ConcurrentHashMap源码解析
在多线程环境下,使用HashMap进行put操作时存在丢失数据的情况,为了避免这种bug的隐患,强烈建议使用ConcurrentHashMap代替HashMap,为了对ConcurrentHashMap有更深入的了解,本文将对ConcurrentHashMap1.7和1.8的不同实现进行分析。1.7实现数据结构jdk1.7中采用Segment+HashEntry的方式进行实现,结构...
2019-04-01 10:43:03 71
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人