7 LupuX

尚未进行身份认证

我要认证

种一棵树最好的时间是10年前,其次是现在。

等级
TA的排名 5w+

MapStruct 入门使用

1. 概述MapStruct 可以将某几种类型的对象映射为另外一种类型,如将多个Domain 对象转换为 DTO,涉及到类似之间对象转换的都可以用它来完成。其主要作用就是:Java bean mappings详细信息可以参考最新版本的文档:MapStruct 1.3.0.Final Reference Guide本文的内容也是来源于官方文档,只是简单的做一个简单的说明,方便理解和快速的使用。...

2019-09-27 22:46:03

Swagger Codegen使用

一、Swagger Codegen简介Swagger Codegen是一个开源的代码生成器,根据Swagger定义的RESTful API可以自动建立服务端和客户端的连接。官方简介看这里:Swagger Codegen二、Swagger简单使用新建一个SpringBoot项目引入依赖 <dependency> <groupId&gt...

2019-12-29 12:40:11

MongoDB - Spring Data MongoTemplate使用

Spring Data MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate类,方便我们通过java代码对MongoDB进行CRUD的操作。一、增加:save、insert<T> T save(T var1);<T> T save(T var1, String var2);1. 传入对象,不传集...

2019-09-25 22:57:21

MongoDB - 入门使用

官方文档1. 查询 - find 操作1.1. finddb.getCollection("core-user").find({'account':'admin'},{'account':1,'password':1}) ;第一个{} 放where条件 第二个{} 指定那些列显示和不显示 (0表示不显示 1表示显示)where条件(第一个大括号中)等于:{‘name’ : ‘hurr...

2019-09-01 14:20:10

Java并发工具类 - ThreadLocal

1. ThreadLocal概念ThreadLocal用于线程间的数据隔离。应用场合,最适合的是按线程多实例(每个线程对应一个实例)的对象的访问,并且这个对象很多地方都要用到。ThreadLocal是一个本地线程副本变量工具类。当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对...

2019-08-04 14:04:58

Java并发基础 - CAS之AtomicStampedReference、AtomicMarkableReference

在前一篇文章Java并发基础 - CAS里提到了CAS的缺点中有一条是存在ABA问题,JUC中有类解决了此问题。如AtomicStampedReference、AtomicMarkableReference。此处重点看一下AtomicStampedReference的实现方式。1. ABA问题测试代码public class ABATest { private static Atomi...

2019-08-01 11:24:09

IDEA中Thread.activeCount()的问题记录

之前在测试多线程程序时,使用了Thread.activeCount() > 1来判断当前线程组中的活跃线程,但是发现永远都是>1的,导致程序进入了死循环。于是猜测应该不止一个main线程。编写如下程序进行验证:public class ActiveCountTest { public static void main(String[] args) { Thr...

2019-07-31 19:12:11

Java并发基础 - CAS(Compare and swap)

1. Java中的原子操作在java中,下列操作是原子操作:all assignments of primitive types except for long and double,除long和double的原始类型赋值all assignments of references,应用类型赋值all operations of java.concurrent.Atomic* classe...

2019-07-31 19:01:47

Java并发基础 - AbstractQueuedSynchronizer

AbstractQueuedSynchronizer1. 什么是AQS?抽象的队列式的同步器,AQS定义了一套多线程访问 共享资源的同步器框架,许多同步类实现都依赖于它,如常用的 ReentrantLock/Semaphore/CountDownLatch。2. 此类的重要信息static final class Node Wait queue node class,即等待队列的节点类。...

2019-07-30 19:35:09

Java并发工具类 - CountDownLatch、CyclicBarrier、Semaphore

1. CountDownLatch实现类似计数器的功能,将一个任务分为多个任务进行执行。public class MyCountDownLatch { //要处理的任务 -倒计时门栓,任务是独立的 class MyTask implements Callable<String> { @Setter private String na...

2019-07-30 18:51:41

JDK和CGLIB动态代理

JDK动态代理定义接口:public interface HelloWorld { void sayHelloWorld();}实现代理类,继承自InvocationHandler:public class JdkProxyDemo implements InvocationHandler { //真实对象 private Object target = nul...

2019-07-22 22:34:12

Dell XPS15 9570 拆机&升级内存

1.购买理由:电子垃圾,小米笔记本Pro15.6,毁我青春、颓我精神、败我钱财…2.新机如下:2.1外形:金属外壳,颜值尚可,Dell的logo是银色的,并非图中拍下的黑色。2.2重量实测,裸机重2259g,加上充电器重2794g。重量不算很轻,但也不重。2.3乞丐版配置参数2.4硬盘速度东芝的这块硬盘速度还算可以。3.拆机加内存综合了网上的信息之后...

2019-07-20 21:05:38

JVM - 常量池理解

1. 字符串常量池Heap中,在编译阶段就把所有的字符串文字放进去是一个StringTable类,它是一个哈希表,里面存的是字面值(也就是我们常说的用双引号括起来的)的引用(而不是字面值实例本身)字符串常量池的位置在JDK6.0及之前版本,字符串常量池是放在Perm Gen区(也就是方法区)中在JDK7.0版本及之后,字符串常量池被移到了堆中1.1 String str = n...

2019-07-19 21:35:33

JVM - 垃圾回收

1. 对象已死吗?引用计数算法:给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时就减1。无法解决对象之间循环引用的问题。可达性分析算法:通过一系列的“GC Roots”的对象作为起始点,从这些起始点向下搜索,走过的路径称为引用链,当一个对象到GC Roots没有任何引用链时,则证明此对象是不可用的。可作为GC Roots的对象包括以下几种:虚拟机栈(栈...

2019-07-18 22:51:40

Java Collection - HashMap

一、 Map<String, String> map = new HashMap<>(16)调用构造函数时,并没有初始化,设置参数:load_factor、容量等//有初始容量的构造函数public HashMap(int initialCapacity) { this(initialCapacity, DEFAULT_LOAD_FACTOR); ...

2019-07-18 20:45:45

Mybatis与Spring集成:SqlSessionTemplate

Mybatis与Spring集成:SqlSessionTemplateSqlSessionTemplate构造方法 public SqlSessionTemplate(SqlSessionFactory sqlSessionFactory, ExecutorType executorType, PersistenceExceptionTranslator exceptionTra...

2019-07-17 19:41:04

Oracle开启远程访问

Oracle开启远程访问最近安装了Oracle11g以后,在另一台电脑上却无法连接上,一度造成了困扰,最后发现是设置错误导致的。在此记录一下。安装Oracle11g此处是直接安装的,没有做远程访问的配置,所以无法从另外的电脑连接。如果做了配置,可能是可以直接连接的,则不需要再做此配置。修改配置文件配置文件位于:安装目录\11.2.0\dbhome_1\NETWORK\ADMIN\...

2019-07-15 19:20:50

Java并发基础 - ReentrantLock

主要内容:ReentrantLock Demo示例公平锁和非公平锁的详细实现公平和非公平的定义ReentrantLock使用场景和synchronized的简单比较一、 ReentrantLock1. 先看Demo示例,再细细道来原理:@Slf4jpublic class LockDemo { //ReentrantLock无参构造方法,sync = new Nonf...

2019-07-10 21:44:51

Java Collection - ArrayList & LinkedList

ArrayList基础属性:transient Object[] elementData; 存储数据的数组private static final int DEFAULT_CAPACITY = 10; 默认长度private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {}; default sized ...

2019-07-09 21:42:21

Spring Boot - Bean的作用域

基础概念Spring提供了两种容器类型:BeanFactory和ApplicationContext。BeanFactory。基础类型IoC容器,提供完整的IoC服务支持。()Spring框架提倡使用POJO,那么把每个业务对象看作一个JavaBean对象,或许更容易理解为什么Spring的IoC基本容器会起这么一个名字。)ApplicationContext。ApplicationCon...

2019-07-08 22:05:30

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。