IntelliJ IDEA

IntelliJ IDEA 常用插件

谁说我不能喝 提交于 2020-08-05 13:42:03
工欲善其事,必先利其器。本文收集 IntelliJ IDEA 常用插件,持续更新中...... Alibaba Java Coding Guidelines 阿里巴巴《Java 开发手册》配套插件,可以实时检测代码中不符合手册规约的地方,助你码出高效,码出质量。 使用: 当我们违反手册规约时,该插件会自动检测并进行提示。 同时提供了一键检测所有代码规约情况和切换语言的功能。 如果你想修改某条规约的检测规则的话,可以通过设置的 Editor -> Inspections 进行修改。 Easy Code EasyCode 用于 代码自动生成 ,支持模板自定义、导入、导出,方便团队之间共享。 介绍: 基于 IntelliJ IDEA 开发的代码生成插件,支持自定义任意模板(Java,html,js,xml)。 只要是与数据库相关的代码都可以通过自定义模板来生成。支持数据库类型与 java 类型映射关系配置。 支持同时生成生成多张表的代码。每张表有独立的配置信息。完全的个性化定义,规则由你设置。 具体使用见: IntelliJ IDEA 插件 EasyCode(代码自动生成) Lombok Lombok 为 Java 项目提供了非常有趣的附加功能,使用它的注解可以有效的地解决那些繁琐又重复的代码,例如 Setter、Getter、toString、equals、hashCode

Spring Cloud认知学习(一):Spring Cloud介绍与Eureka使用

筅森魡賤 提交于 2020-08-05 13:41:31
目录 Spring Cloud的介绍 微服务的介绍 Spring Cloud出现的原因: 常见场景: 微服务的优劣势: Spring Cloud版本问题 版本介绍 与Spring Boot版本对应关系 ---分割线---学习的前提---分割线--- 基础项目搭建 1.创建一个Maven父工程: 2.创建一个共有依赖包: 3.创建一个服务提供者: 4.创建一个服务消费者 小节总结 Eureka服务注册与发现 介绍 简单使用步骤 1.父工程导入依赖: 2.新建spring-cloud-eureka-server-7001模块: 3.修改服务提供者 4.修改服务消费者 Eureka集群 搭建步骤 1.新建三个eureka-server模块, 2.都导入依赖包: 3.都对应修改主启动类: 4.修改host 5.修改application.yml: 6.启动三个server,查看效果: 7.对消费者和生产者的处理 知识补充: 补充: 这是一个Spring Cloud系列文章,它并不会讲解所有的知识点,它只是基于微服务的场景来 逐步介绍 常见组件的作用和意义,以及场景组件的整合。对于每个组件的知识并不会讲解太多,只讲常见的,目的是尽可能快速的对Spring Cloud的常用组件有一个基础的认知,有了认知之后,你就可以基于你面对的场景来单独学习某个组件,逐步丰满自己Spring Cloud的知识

【源码Mybatis系列】——Mybatis源码本地打包编译

╄→гoц情女王★ 提交于 2020-08-05 13:33:22
本文主要记录在本机启动调试Mybatis源码中,本机基于Mybatis master 分支本地打包遇到问题整理。 https://github.com/mybatis/mybatis-3 https://github.com/mybatis/parent (依赖) Mybatis源码依赖于parent工程。需要先编译parent工程在编译mybatis,具体如下 解决parent依赖问题 : 在构建的过程中会出现找不到pom.xml中依赖的父模块mybatis-parent 我们需要将paren工程克隆到本地目录中:git clone https://github.com/mybatis/parent.git ,然后先进入parent工程下进行mvn clean install 将parent工程依赖的包下载下来、并保证parent工程编译通过,这步不会出现问题,在编译的输出信息中我们会看到parent工程的 版本号 ,如图所示: pom.xml文件parent依赖的version标签处,如下文。 接下来修改mybatis工程的pom.xml文件中标识parent依赖的地方: <parent> <groupId>org.mybatis</groupId> <artifactId>mybatis-parent</artifactId> <version>31</version>

Java Agent入门

喜你入骨 提交于 2020-08-05 12:33:09
介绍 在JDK1.5以后,我们可以使用agent技术构建一个独立于应用程序的代理程序(即为Agent),用来协助监测、运行甚至替换其他JVM上的程序。使用它可以实现虚拟机级别的AOP功能。Agent分为两种,一种是在主程序之前运行的Agent,一种是在主程序之后运行的Agent(前者的升级版,1.6以后提供)。 使用 主程序运行之前的代理程序 创建代理类 public class MyPreMainAgent { //方法名和参数都是固定的 premain表示在主程序运行之前运行 public static void premain(String agentArgs, Instrumentation inst) { System.out.println("PreMain start"); System.out.println(agentArgs); System.out.println(inst); } } Instrumentation是java1.5新提供的类,它提供在运行时重新加载某个类的的class文件的api。 public interface Instrumentation { /** * 添加一个转换器Transformer,之后的所有的类加载都会被Transformer拦截。 * ClassFileTransformer类是一个接口,使用时需要实现它

Looking for suitable tools for querying and calculating large files

孤者浪人 提交于 2020-08-05 12:29:15
In data analysis, it is inevitable to encounter large data files that cannot be loaded in memory. How to query and calculate large files? This paper analyzes and compares the advantages and disadvantages of several common methods, esProc SPL is the most suitable script for data analysts to process large files.Go to Looking for suitable tools for querying and calculating large files for more infomation. What is a large file? A large file is a file that is too large to be read in at one time because of insufficient computer memory. In this case, direct use of desktop data tools (such as Excel)

Mac下安装配置Maven并在IDEA中配置

家住魔仙堡 提交于 2020-08-05 09:18:02
Mac下安装配置Maven并在IDEA中配置 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 下载Maven 下载地址 注意看自己系统,mac/linux下载tar.gz,windows下载zip 设置环境变量 首先解压到usr/local下 打开终端, vim ~/.zshrc ,在后面添加路径 export MAVEN_HOME=/usr/local/apache-maven-3.6.3 export PATH=$PATH:$MAVEN_HOME/bin 注意自己的版本和路径,应用配置 source ~/.zshrc 测试 mvn -v ,出现以下表示安装成功 配置阿里云源 打开 /usr/local/apache-maven-3.6.3/conf/settings.xml 配置文件 <!-- 阿里云仓库 --> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> 测试,在终端输入 mvn help:system

解决mybatis不加@Parm注解报错问题

安稳与你 提交于 2020-08-05 09:08:56
<build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>${maven.compiler.source}</source> <target>${maven.compiler.target}</target> <compilerVersion>${maven.compiler.source}</compilerVersion> <showDeprecation>true</showDeprecation> <showWarnings>true</showWarnings> ** <compilerArgument>-parameters</compilerArgument> ** </configuration> </plugin> </plugins> </build> 另外查看: 在8以前的jdk版本的时候,我们利用反射只能获取到参数类型,然后参数名字都是利用arg0,arg1,arg2......所以在使用一些反射编程方面上不是很方便,jdk8开始开辟了这项function,但是我们正常情况下使用jvm不会默认保留参数名字,因为这个可能导致class文件过大或其他问题

Java 14 祭出代码简化大器,Lombok 要被干掉了?

天大地大妈咪最大 提交于 2020-08-05 08:01:05
Java 14 3 月发布距现在已经发布 2 个多月,发布了很多新特性,详细的新特性介绍可以看这篇文章: http://www.javastack.cn/article/2020/java14-has-been-released/ 栈长之前也陆续分享过两篇 Java 14 的新特性: Java 14 之模式匹配,非常赞的一个新特性! Java 14 来势汹汹,这回让空指针无处遁形!! 感觉很好玩,今天再来分享一个新特性: JEP 359: Records (Preview) https://openjdk.java.net/jeps/359 Java 14 祭出大器啊!!! 背景介绍 我们经常听到一些对 Java 的抱怨,"Java 太冗长啰嗦了",Java 确实经常要写很多低级(low)的代码,比如: constructors, getters, equals(), hashCode(), toString() 方法等,是不是感同身受? 如果开发人员为了偷懒而省略其中的某些方法,甚至会带来问题。 基本介绍 Records 是一种新的类申明形式,和枚举类型一样,它是一种受限制的类(class)。 简单来说,Records 就是一种新的语法糖,目的还是为了简化代码,相当于 Lombok 的 @Data 注解,但又不能完全替代,现在还是个预览特性,在未来可能会有变更。

【IDEA】HTML通过servlet3.0注解名提交表单到servlet类找不到页面的问题

六月ゝ 毕业季﹏ 提交于 2020-08-05 07:05:27
IDEA一时爽,摸不着头的BUG火葬场 这个问题困扰我整整一天一夜,先是代码检查路径设置找不出问题,后面换tomcat版不行,抱着侥幸心理换IDEA版本意料之中还是没解决问题。 都快想秃了最后终于完美解决了。 场景描述:   IDEA中新建web项目   tomcat正常   HTML通过XML配置文件提交表单正常    当HTML通过Servlet注解名提交表单时404 问题分析:    通常404是路径出现问题,此时第一反应是form中action值和servlet注解值出错,检查后 属性值匹配。检查游览器访问路径最终找到问题出在启动虚拟路径上。    如图访问login.html时是通过 /test 这个虚拟路径访问的。但是提交表单后游览器中虚拟路径 消失而是直接通过servlet注解名提交表单数据,见图: 明白这里解决问题就简单了,想到的有两种解决方法:   方法一:给servlet注解加上虚拟路径(没啥意义)   方法二:配置Tomcat的Deployment把Application context后面的虚拟路径名删除(推荐) 方法二细节:   1.Run->Edit Configuration   2.点击Deployment        3.找到Application context删除虚拟路径名      重启服务器运行项目,至此问题解决    来源:

这 17 个 JVM 参数,高级 Java 必须掌握!

青春壹個敷衍的年華 提交于 2020-08-05 05:12:45
作者:SimpleSmile https://www.cnblogs.com/Simple-Object/p/10272326.html 前言 大家都知道,jvm在启动的时候,会执行默认的一些参数。一般情况下,这些设置的默认参数应对一些平常的项目也够用了。 但是如果项目特别大了,需要增加一下堆内存的大小、或者是系统老是莫明的挂掉,想查看下gc日志来排查一下错误的原因,都需要咱们手动设置这些参数。 各个参数介绍 1.verbose:gc 表示,启动jvm的时候,输出jvm里面的gc信息。格式如下: \[Full GC 178K->99K(1984K), 0.0253877 secs\] 解读 :Full GC 就表示执行了一次Full GC的操作,178K 和99K 就表示执行GC前内存容量和执行GC后的内存容量。1984K就表示内存总容量。后面那个是执行本次GC所消耗的时间,单位是秒。 2.-XX:+printGC 这个打印的GC信息跟上个一样,就不做介绍了。 3.-XX:+PrintGCDetails 打印GC的详细信息。格式如下: –Heap – def new generation total 13824K, used 11223K \[0x27e80000, 0x28d80000, 0x28d80000) – eden space 12288K, 91% used \