自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 PostgreSQL Linux下安装与配置

Linux版本这里使用的是7.x版本,最好是7.6或者7.8。下载地址:https://www.postgresql.org/download/选择好PGSQL的版本,Linux的发行版本postgres,切换到postgres切换到postgres用户之后,输入psql。

2024-08-09 17:43:08 493

原创 PostgreSQL介绍

PostgreSQL是一个基于C实现的开源关系数据库,允许用户对PostgreSQL进行封装,然后商业化付费。PostgreSQL允许跨版本升级,并且不会出现什么大的问题。PostgreSQL社区活跃度比较高,日常遇见的问题都能得到解决方案。PostgreSQL由于开源,有许多数据迁移的工具。PLSQL的官方地址:https://www.postgresql.org/PLSQL的国内社区:http://www.postgres.cn/v2/home。

2024-08-09 16:49:49 627

原创 Oracle触发器

Oracle触发器就是特定事件发生时自动执行的存储过程。

2024-08-08 13:14:09 309

原创 Oracle子程序

Oracle子程序就是存储在数据库中的PL/SQL块。

2024-08-08 10:50:07 582

原创 Oracle游标

游标主要用于处理多行数据。

2024-08-07 17:48:55 275

原创 Oracle的PLSQL编程

PL/SQL就是过程语言(Procedural Language)与结构化语言查询语言(SQL)的结合,让我们能够通过增加变量和控制语句的方式编写更加复杂的SQL。:=;

2024-08-07 16:29:33 656

原创 Oracle中SQL操作与查询

Oracle中不区分大小写,并且Oracle中创建表时不能直接添加字段注释,添加字段注释需要单独执行。表,dual表在系统重只有一行一列,该表在输出单行函数时是为了。内置函数获取当前系统的系统日期和时间,返回的是date类型,使用。的完整语法,当查询单行函数时,from后面使用。应用场景:主键,插入时要保证其唯一性。函数可以返回当前日期、时间和时区。Oracle中必须使用。对于日期类型,可以使用。的完整语法而使用的。聚合函数常用于统计。

2024-08-04 22:08:18 1014

原创 Oracle用户与权限

当创建完用户,还不能正常登录Oracle数据库,因为创建的用户还没有权限,Oracle中权限分为系统权限和数据库对象权限,系统权限代表允许拥有相应的系统操作,而数据库对象权限,例如对数据表的增删改查等操作,只有拥有数据库对象权限的用户可以对所拥有的对象进行操作。当新创建的用户授权之后,就能正常登录数据库了。锁定状态,锁定的用户无法正常的登录进行操作数据库。代表创建用户时是否锁定,默认是。

2024-08-04 20:38:03 256

原创 JVM参数与命令

标准参数不会随着JDK版本升级而改变。

2024-06-28 22:52:53 1545

原创 JVM中的记忆集与卡表

当老年代的对象都有指针指向新生代对象,那么再使用记忆集去记录就不可取了,因此引入了卡表,卡表就是记忆集这种思想的具体实现。(1)卡表是使用一个字节数组实现的,每个元素对应着一块特定大小的内存块,也称之为“卡页”;(2)一个卡页中可以包含多个对象,只要其中有一个对象存在跨代指针,其对应卡表的元素标识就变为1,表示该卡页变脏,否则为0,当GC时,只需要筛选出卡表中变脏的对象加入GC Roots中。

2024-06-28 21:58:11 170

原创 如何确定一个对象是垃圾?

垃圾回收算法主要有两种,分别是引用计数法和可达性分析算法。

2024-06-27 23:26:09 222

原创 JVM垃圾收集器与STW

ParNew垃圾收集器就是Serial的多线程版本,多CPU情况下,效率比Serial垃圾收集器效率高,单CPU情况下比Serial垃圾收集器差,采用“标记-复制”算法,是运行在Server模式下的虚拟机首选的新生代垃圾收集器。由于存在并发标记和并发清除,收集器线程和用户线程是一起工作的,所以CMS垃圾收集器回收过程是与用户线程一起并发执行的,由于是并发收集,所以停顿时间短,但是会产生大量的空间碎片,并且并发阶段会降低系统吞吐量。(3)G1可以设置垃圾收集的时间,保证G1垃圾收集不会超过设置的时间。

2024-06-27 23:14:23 850

原创 JVM垃圾收集算法

找出内存中需要回收的对象,并进行标记,此时需要将堆中所有对象都扫描以便,才能确定哪些是需要被回收的对象,比较耗时。

2024-06-26 23:31:56 246

原创 JVM中对象的创建以及分配过程

当新对象申请内存空间时,先判断Eden区是否有充足的内存空间,如果有则申请成功,如果没有则判断Survivor区是否有充足的内存空间,如果有则将Eden区部分活跃对象放到Survivor区,然后将新对象放在Eden区,如果Survivor区也没有则去判断Old区有没有足够的内存空间,如果Old区有则将Survivor区部分活跃对象放在Old区,然后将Eden区部分活跃对象放在Survivor区,然后再将新建对象放到Eden区,如果连Old区都没有足够的内存空间,则触发Full GC,Full GC后再判断O

2024-06-26 23:12:51 110

原创 JVM中堆的区域划分

最大的原因就是为了解决GC后内存地址不连续的问题,也就是为了防止出现过多的空间碎片。因为在GC之前,会基于不可达算法对JVM中不可达的对象进行标记,然后GC时回收这些标记对象的内存空间,由于这些标记对象在内存中不是连续存在的,所以GC后会出现很多不连续的未被分配的内存空间。

2024-06-26 23:05:09 137

原创 JVM对象的内存布局

内存中连续存放着一个boolean、一个int、一个char、一个long类型,如果我们要读取long类型数据,那么至少要访问两次内存。主要是为了解决实例对象数据跨内存地址区域存储的情况,从而优化CPU访问数据的效率。这样我们只需读取一次内存即可。

2024-06-26 22:40:48 220

原创 对象的生命周期&访问对象的方式

所以父类、子类都包含静态代码块、普通代码块、构造函数时执行顺序如下:父类静态代码块 -> 子类静态代码块 -> 父类普通代码块 -> 父类构造函数 -> 子类普通代码块 -> 子类构造函数由于static修饰的成员是随类加载而加载的,而其他成员则是随着对象实例的创建而创建,所有static优先于普通。

2024-06-26 22:17:30 321

原创 JVM中的运行时数据区

运行时行数据区主要包含5个部分,分别是方法区、堆、程序计数器、Java虚拟机栈、本地方法栈,其中方法区和堆都是线程共享的,而程序计数器、Java虚拟机栈和本地方法栈都是线程独享的。

2024-06-26 21:24:46 285

原创 Java中的类加载器

(4)Costom ClassLoader 自定义类加载器是通过 java.lang.Class 的子类去自定义加载 class,属于应用程序根据自身需要去自定义的 ClassLoader。在装载(Load)阶段,通过类的全限定名称获取其定义类的二进制字节流,就需要借助类加载器完成,类加载器,顾名思义就是用来装载Class文件的。(2)EXtClassLoader 扩展类加载器负责加载 JAVA_HOME 下。参数指定目录下的所有 jar 包。参数指定目录下的类和 jar 包。指定的 jar 包以及。

2024-06-25 21:11:58 315

原创 JVM类加载机制

所谓类加载机制就是:JVM 虚拟机将 Class 文件加载至内存,并对数据进行校验、解析和初始化,最后形成可以被虚拟机直接使用的 Java 类型,也就是 java.lang.Class。

2024-06-24 23:07:23 231

原创 JVM中的强引用、软引用、弱引用、虚引用

JVM从GC Roots(根引用集合)出发遍历堆中所有可到达的对象,那么对这个对象的引用就称为强引用。一般 Java 中我们刚 new 出来的对象都是强引用,当将这个对象置为 null 后,那么从 GC Roots 出发在堆中就无法找到这个对象。

2024-06-24 22:29:16 222

原创 JVM中堆与栈的区别

中对象的物理地址分配是不连续的,因此性能较慢于栈,并且在 GC(Garbage Collection)时也需要考虑这些不连续的内存,因此才会需要各种算法,例如:标记-清除、标记-复制、标记-整理等算法。就是使用的数据结构中的栈结构,遵循先进后出的原则,栈的物理地址分配是连续的,所以性能较快。

2024-06-24 21:43:14 131

原创 JVM主要组成部分以及其作用

以下以JDK1.8为例:JVM主要包含两个子系统和两个组件,两个子系统是,两个组件是。

2024-06-24 21:28:43 309

原创 Linux下JDK安装

【代码】Linux下JDK安装。

2024-06-21 17:12:46 502

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除