IntelliJ IDEA

mybatis 缓存的使用, 看这篇就够了

妖精的绣舞 提交于 2020-08-15 14:43:40
@ 目录 1 一级缓存 1.1 同一个 SqlSession 1.2 不同的 SqlSession 1.3 刷新缓存 1.4 总结 2 二级缓存 2.1 配置二级缓存 2.1.1 全局开关 2.1.2 分开关 2.1.3 entity 实现序列化接口 2.2 使用二级缓存 2.3 配置详解 2.3.1 type 2.3.2 eviction 2.3.3 flushInterval 2.3.4 size 2.3.5 readOnly 2.3.6 blocking 2.4 注意事项 缓存的重要性是不言而喻的。 使用缓存, 我们可以避免频繁的与数据库进行交互, 尤其是在查询越多、缓存命中率越高的情况下, 使用缓存对性能的提高更明显。 mybatis 也提供了对缓存的支持, 分为一级缓存和二级缓存。 但是在默认的情况下, 只开启一级缓存(一级缓存是对同一个 SqlSession 而言的)。 以下的项目是在 mybatis 初步使用(IDEA的Maven项目, 超详细) 的基础上进行。 对以下的代码, 你也可以从 我的GitHub 中获取相应的项目。 1 一级缓存 同一个 SqlSession 对象, 在参数和 SQL 完全一样的情况先, 只执行一次 SQL 语句(如果缓存没有过期) 也就是只有在参数和 SQL 完全一样的情况下, 才会有这种情况。 1.1 同一个 SqlSession

《Java虚拟机原理图解》1.5、 class文件中的方法表集合--method方法在class文件中是怎样组织的

流过昼夜 提交于 2020-08-15 14:42:34
参考网址: http://blog.csdn.net/luanlouis/article/details/41113695 0. 前言 了解JVM虚拟机原理是每一个 Java 程序员修炼的必经之路。但是由于JVM虚拟机中有很多的东西讲述的比较宽泛,在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描述,很难给人以形象化的认知,看完之后感觉还是稀里糊涂的。 感于以上的种种,我打算把我在学习JVM虚拟机的过程中学到的东西,结合自己的理解,总结成《Java虚拟机原理图解》 这个系列,以图解的形式,将抽象的JVM虚拟机的知识具体化,希望能够对想了解Java虚拟机原理的的Java程序员 提供点帮助。 读完本文,你将会学到: 1、类中定义的method方法是如何在class文件中组织的 2、method方法的表示-方法表集合在class文件的什么位置 3、 类中的method方法的实现代码---即机器码指令存放到哪了,并初步了解机器指令 4. 为什么没有在类中定义自己的构造函数,却可以使用new ClassName()构造函数创建对象 5. IDE代码提示功能的基本原理 1.概述 方法表集合 是指由若干个 方法表 (method_info) 组成的集合。对于在类中定义的若干个,经过 JVM 编译成 class 文件后,会将相应的 method 方法信息组织到一个叫做

IDEA常用插件

江枫思渺然 提交于 2020-08-15 12:31:26
lombok 自动生成getter,setter jclasslib 反编译源码 pom.xml文件中依赖 <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> <scope>provided</scope> </dependency> 来源: oschina 链接: https://my.oschina.net/u/589570/blog/4411264

最新idea激活方式,全套可用

限于喜欢 提交于 2020-08-15 12:30:40
教程 本项⽬在最新 2019.3.3 上测试通过。 IntelliJ IDEA 2019.3.3及以下 AppCode 2019.3.3及以下 CLion 2019.3.3及以下 DataGrip 2019.3.3及以下 GoLand 2019.3.3及以下 PhpStorm 2019.3.3及以下 PyCharm 2019.3.3及以下 Rider 2019.3.3及以下 RubyMine 2019.3.3及以下 WebStorm 2019.3.3及以下 第一步 : 启动IDEA,现在一启动需要立刻输入注册码,这里可以选择免费试用的方式进入IDEA,如下图所示。( 如果进不去可以执行第四步 直接打开 IDE的bin目录下的xxx.exe.vmoptions进行修改 ) 第二步 : 在 idea安装目录bin文件夹下 拖入jetbrains-agent.jar以及 important.txt 下载地址: https://www.lanzous.com/b00nbdv7g 密码:emrf 第三步: 如下图所 示( 支持所有软件 ) 第四步 : 如下图所示(指向你所引入的文件) ( 不要使⽤中⽂路径 ) 这一步很关键,地址要输对,支持 mac等系统,支持相对路径 示例 : mac: -javaagent:/Users/neo/jetbrains-agent.jar linux:

大数据基础-求锤得锤,你要的一致性hash来了(下)[附代码]

做~自己de王妃 提交于 2020-08-15 12:21:57
从实践中检验“真理” ​通过上一篇《 大数据基础-求锤得锤,你要的一致性hash来了(上)[附代码] 》的讲解,我们已经掌握了一致性hash的基本原理,其路由分片策略在类p2p模型架构中是非常典型的(之前提到的redis cluster也是p2p协议的一种实现),在节点宕机时的影响很小,只影响到一个分片。只看原理的话确实也就这么多了,那么其实际效果究竟是否和原理中完全一致?是否还存在一些问题呢?我们来逐一验证下。 写这个系列文章以后,从后台看到收藏次数很多,我本身也是很开心,说明很多小伙伴还是有所收获的,也希望能在收藏之余,来个 三连哈 !!! 节点扩容测试 集群4个节点[192.168.1.1~192.168.1.4],扩容第5个节点[192.168.1.5]时的key迁移信息,查看待迁移key的信息。 print '上线一个节点,需要迁移节点个数:{}'.format(len(list(set(addNodeMap).difference(set(oldMap))))) print '需要迁移的key-node信息:',list(set(addNodeMap).difference(set(oldMap))) 扩容结果:需要迁移部分key 到新扩容的节点192.168.1.5上,这里总计有3个key 上线一个节点,需要迁移节点个数:3 需要迁移的key-node信息: [

SpringSecurity使用json登陆

让人想犯罪 __ 提交于 2020-08-15 10:07:41
一、创建项目并导入依赖 < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-security </ artifactId > </ dependency > < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-web </ artifactId > </ dependency > 二、相关配置和代码 2.1)application .properties 配置密码 注:我这里从简,可以先去看 https://www.cnblogs.com/fernfei/p/12185186.html 如何配置密码 spring.security.user.name = admin spring.security.user.password = 123 2.2)创建自定义的身份过滤类 2.3)写json登陆之前先看一下源码,了解一下它是如何表单登录的 2.3.1)在Idea中连按连下shift键,搜索UsernamePasswordAuthenticationFilter类 2.3.2)进入后再按Ctrl

程序员都在用的 IDEA 插件(不断更新)

你离开我真会死。 提交于 2020-08-15 09:24:56
IDEA一些不错的插件分享 目录 IDEA一些不错的插件分享 插件集合 CamelCase Translation LiveEdit MarkDown Navigator Jrebel CheckStyle-IDEA Alibaba Java Coding Guidelines Ideavim Maven Helper FindBugs-IDEA GsonFormat Key promoter X .ignore JVM Debuger Memory View CMD Support Batch Scripts Support BashSupport Docker integration JMH plugin ANSI Highlighter Ideolog RestfulToolkit CodeGlance Lombok plugin activate-power-mode Background Image Plus Iedis Mongo Plugin VisualVM Launcher GenerateAllSetter MyBatisCodeHelperPro Easy Code IDEA Mind Map SequenceDiagram Material Theme UI String Manipulation JUnit Generator V2.0 设置方法 插件集合

spring-boot的三种启动方式

假装没事ソ 提交于 2020-08-15 07:52:39
有段时间没有写博客了,也在努力的从传统单机开发向分布式系统过度,所以再次做一些笔记,以方便日后查看。 直接进入正题吧,今天记录spring-boot项目的三种启动方式。 spring-boot的启动方式主要有三种: 1. 运行带有main方法类 2. 通过命令行 java -jar 的方式 3. 通过spring-boot-plugin的方式 一、执行带有main方法类 这种方式很简单,我主要是通过idea的方式,进行执行。这种方式在启动的时候,会去自动加载classpath下的配置文件 (这里只是单独的强调了classpath下,其实spring-boot有自己的加载路径和优先级的,日后在发布). @RestController @EnableAutoConfiguration public class Example { @RequestMapping("/") public String home() { return "Hello World"; } public static void main(String[] args) { /** * SpringApplication会自动加载application.properties文件,具体的加载路径包含以下: * <p> * 1. A <b>/config</b> subdirectory of the current