摘要:
前言 虚拟机给每个对象定义了一个对象年龄(Age)计数器。如果对象在Eden区出生并经过第一次Minor GC后仍然存活,并且能被Survivor容纳的话,将被移动到Survivor空间中,并将对象年龄设为1.对象在Survivor中每熬过一次Minor GC,年龄就将增加1岁,当他的年龄增加到一定 阅读全文
![JVM&GC-对象提升规则](https://img2023.cnblogs.com/blog/1901531/202212/1901531-20221209145010970-1685675730.png)
摘要:
前言 Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。 在 Java 中,堆被划分成两个不同的区域:年轻代 ( Young )、老年代 ( Tenured)。年轻代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Surviv 阅读全文
![垃圾回收算法(7)-分代回收算法](https://img2023.cnblogs.com/blog/1901531/202212/1901531-20221209145425053-433233110.png)
摘要:
前言 在默认情况下,System.gc()会显示直接触发Full GC,同时对老年代和新生代进行回收。而一般情况下,垃圾回收应该是自动进行的,无需手工触发,否则就太麻烦了。 示例 public class TestGC { public static void main(String[] args) 阅读全文
![JVM&GC-System.gc()方法](https://img2023.cnblogs.com/blog/1901531/202212/1901531-20221209145051052-1962074965.png)
摘要:
G1(Garbage First) G1是一个并行回收器,他把内存分割为很多不相关的区间(Region),每个区间可以属于老年代或者年轻代,并且每个年代区间可以是物理上不连续的。垃圾回收时都是需要停下应用程序,不然没有办法防止应用程序的干扰,然后G1 GC可以集中精力在垃圾最多的区间上,并且只费一点 阅读全文
![JVM&GC-通用术语](https://img2023.cnblogs.com/blog/1901531/202212/1901531-20221209145111611-2047669052.png)
摘要:
官方最低要求配置 内存:1G(官方最低要求1G) 硬盘:40G(企业版安装所需4.29G和1.7G数据文件) 准备工作 安装环境介绍 系统:CentOS 7 64位 Oracle版本:Oracle 11gR2 下载Oracle安装文件官网下载地址 下载出来是这样两个压缩包: linux.x64_11 阅读全文
![Linux安装Oracle](https://img2023.cnblogs.com/blog/1901531/202212/1901531-20221209145029200-448435632.png)
摘要:
IOC简介 在Spring IoC容器的设计中,作者设计了两个接口来表示容器 BeanFactory BeanFactory简单粗暴,可以理解为HashMap,key是BeanName,value是Bean实例,通常只提供put和get。这系列容器只实现了容器的最基本功能,可看做为简单容器。 App 阅读全文
![SpringIOC容器设计](https://img2023.cnblogs.com/blog/1901531/202212/1901531-20221209145151682-1081424079.png)
摘要:
阿里巴巴Java规范:方法【edit】需要在Transactional注解指定rollbackFor或者在方法中显示的rollback。 异常的分类 Throwable:有两个重要的子类:Exception(异常)和Error(错误),二者都是Java异常处理的重要子类,各自都包含大量子类。 Err 阅读全文
![为什么阿里规定需要在事务注解@Transactional中指定rollbackFor?](https://img2023.cnblogs.com/blog/1901531/202212/1901531-20221209145213092-2014145341.png)
摘要:
背景 本文主要测试MySQL执行update语句时,针对与原数据(即未修改)相同的update语句会在MySQL内部重新执行吗? 环境 MySQL5.7.25 Centos 7.4 binlog_format为ROW 参数 root@localhost : (none) 04:53:15> show 阅读全文
![MySQL中update修改数据与原数据相同会再次执行吗](https://img2023.cnblogs.com/blog/1901531/202212/1901531-20221209145235089-873140321.png)
摘要:
首先会使用 hash 函数来计算 key,然后执行真正的插入方法 final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] tab; Node<K,V> p; int n, 阅读全文
![HashMap put的过程](https://img2023.cnblogs.com/blog/1901531/202212/1901531-20221209145255468-1246818755.png)
摘要:
1.将表中时间类型的字段更改类型,比如CREATE_TIME,UPDATE_TIME ALTER TABLE ZFTJ_HALF MODIFY CREATE_TIME TIMESTAMP WITH LOCAL TIME ZONE; 2.在需要转换的数据库页面点击左上方的工具按钮,选择数据传输,选择好 阅读全文
![Oracle转Mysql](https://img2023.cnblogs.com/blog/1901531/202212/1901531-20221209145312358-917382810.png)
摘要:
其实SchedulingConfigurer实现方法很简单,只需要实现SchedulingConfigurer并重写configureTasks方法,在启动类必须加上@EnableScheduling注解即可。 @Configuration @EnableScheduling @Slf4j publ 阅读全文
![SpringBoot动态定时任务](https://img2023.cnblogs.com/blog/1901531/202212/1901531-20221209145330689-1984082719.png)
摘要:
Redis常用的数据类型 String Hash List Set zSet Sorted set String类型 判断是否有key所对应的值,有则返回true,没有则返回false redisTemplate.hasKey(key) 有则取出key值所对应的值 redisTemplate.ops 阅读全文
![RedisTemplate常用方法总结](https://img2023.cnblogs.com/blog/1901531/202212/1901531-20221209145356420-1506307864.png)
摘要:
引入html代码 1、首先,找到位置为/layout/_widget/category-cloud.ejs的文件,后面的html和css代码都放在此category-cloud.ejs文件即可。 2、然后,定位到href=”<%- url_for(category.path) %>”的a标签位置: 阅读全文
![关于给hexo文章分类页面按钮仿书本样式美化](https://img2023.cnblogs.com/blog/1901531/202212/1901531-20221209145449822-1760775065.png)
摘要:
一.第一个解答来源于《高性能Mysql》中的回答 很多高性能的应用都会对关联查询进行分解。简单地,可以对每个表进行一次单表查询,然后将结果在应用程序中进行关联。 例如,下面这个查询: select * from tag join tag_post on tag_post.tag_id=tag.id 阅读全文
![单表查询和多表连接查询哪个效率更快](https://img2023.cnblogs.com/blog/1901531/202212/1901531-20221209145508992-795606522.png)
摘要:
在企业级应用开发中,报表生成、报表打印下载是其重要的一个环节。除了 Excel 报表之外,PDF 报表也有广泛的应用场景。 目前世面上比较流行的制作 PDF 报表的工具如下: iText PDF :iText 是著名的开放项目,是用于生成 PDF 文档的一个 java 类库。通过 iText 不仅可 阅读全文
![JarsperReport之简单使用](https://img2023.cnblogs.com/blog/1901531/202212/1901531-20221209150051041-1064551168.png)