Java
最菜Java开发实习生
学无止境,从现在做起还不晚
展开
-
spring-data-jpa之Specification使用exists和not exists
写在前面spring-data-jpa是spring对hibernate框架的封装,如果你一开始熟悉的是mybatis,那么转到jpa可能会让你有些不适应。jpa的简单查询确实非常非常方便,但是对于复杂查询来说,jpa确实有点“复杂”。当然,你可以写原生sql,但是那样就违背了jpa操作对象、避免操作sql的出发点了。好,废话不多说,进入正题吧。遇到的问题原先是针对单表的列表查询操作,非常简单,所以就用了Specification来做:return (root, query, cri.原创 2020-05-27 10:09:27 · 6662 阅读 · 4 评论 -
LinkedHashMap源码分析(JDK 1.8)
写在前面今天给大家带来的是LinkedHashMap源码分析,说起这个心中满满的痛。记得当初毕业的时候去面试,面试官问HashMap、LinkedHashMap、TreeMap哪些是有序的,我回答了HashMap是有序的。然后就让我回去等消息了,今天我就来谈谈自己对LinkedHashMap的理解,也希望能对大家有所帮助。一、继承关系及主要字段可以看到LinkedHashMap继...原创 2019-12-20 00:02:35 · 188 阅读 · 0 评论 -
ArrayList源码分析(jdk 1.8)
写在前面ArrayList相信大家做开发的同学都不陌生,在开发过程中这应该是最常用的数据结构了吧。但是现在是“源码时代”,会用还不够,要知道他的实现原理,本文主要基于jdk1.8对ArrayList源码进行分析。一、从主要字段开始值得注意的是,ArrayList内部会有一个modCount字段,但是这个字段是在父类AbstractList中的,代表着修改次数,后面会讲/**...原创 2019-12-18 18:38:00 · 369 阅读 · 0 评论 -
HashMap源码解析(JDK 1.8)
写在前面本人是java初学者,仅以此篇文章作为自己在HashMap学习过程中的一点私人见解。如有不正确或不合适之处,欢迎大佬在下方评论进行指正。一、HashMap主要参数及其含义这部分内容网上博客有很多,但在此处还是列举一下: /** HashMap的初始容量,这边我们看到默认是16,可根据自身需求进行指定,如果是一个合适的值可避 免扩容操作带来...原创 2019-12-18 15:20:50 · 573 阅读 · 4 评论 -
Java多线程初步了解
1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源。2. 多线程编程的好处是什么?在多线程程序中,多个线程被并发的执行以提高程序的转载 2018-03-14 16:57:18 · 236 阅读 · 0 评论 -
windows下安装ElasticSearch的Head插件
es5以上版本安装head需要安装node和grunt(之前的直接用plugin命令即可安装)(一)从nodejs官网下载nodejs并按步骤安装。(二)安装完成用cmd进入安装目录执行 node -v可查看版本号(三)执行 npm install -g grunt-cli 安装grunt ,安装完成后执行grunt -version查看是否安装成功,会显示安装的版本号(四)开始安装head① 进...原创 2018-05-25 14:41:04 · 697 阅读 · 0 评论 -
jdk1.8文档
JDK1.8 中文开发帮助文档 英文版:Oracle 官网在线 JDK1.9 文档:https://docs.oracle.com/javase/9/docs/api/Oracle 官网在线 JDK1.8 文档:https://docs.oracle.com/javase/8/docs/api/ 中文版:中文-JDK1.8google版在线版: http...原创 2019-02-01 16:41:41 · 910 阅读 · 0 评论 -
java枚举究竟能不能动态代理?
1.什么是动态代理?动态代理的概念在这里不做赘述(本人也说不上来),大家都知道动态代理有两种实现方式,一种是jdk的动态代理,另一种就是我们常用的spring aop所采用的——cglib动态代理,两种方式都有各自的局限性....ok跑题了,我们接着往下看2.枚举能不能动态代理?枚举相信大家都比较熟悉,状态、类型等等我们都会使用枚举来代替我们自己的常量类,枚举的关键字是enum而不是c...原创 2019-03-15 17:43:51 · 862 阅读 · 0 评论