Kanson's Blog

C'est la vie


  • 首页

  • 归档

  • 分类

  • 标签

  • 关于

  • 搜索

今日春分,现在是2022年3月20日星期天,凌晨5:30

发表于 2022-03-20 | 分类于 随笔
字数统计: 775 | 阅读时长 ≈ 2
至若春和景明,波澜不惊,上下天光,一碧万顷,沙鸥翔集,锦鳞游泳,岸芷汀兰,郁郁青青,而或长烟一空,皓月千里,浮光跃金,静影沉璧,渔歌互答,此乐何极!
阅读全文 »

进程、线程、协程的区别和通信方式

发表于 2020-10-02 | 分类于 技术
字数统计: 1.5k | 阅读时长 ≈ 5

进程

进程,是操作系统资源分配(CPU时间片、内存空间)的最小单位。

进程通信:
每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。

阅读全文 »

Java中接口和抽象类的分析

发表于 2020-10-01 | 分类于 技术
字数统计: 911 | 阅读时长 ≈ 3

接口

接口是抽象方法的集合,如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法

阅读全文 »

《深入理解Java虚拟机》之虚拟机类加载机制

发表于 2020-10-01 | 分类于 技术
字数统计: 2.2k | 阅读时长 ≈ 7

类加载过程

当程序主动使用某个类时,如果该类还未被加载到内存中,则JVM会通过加载、连接、初始化3个步骤来对该类进行初始化。如果没有意外,JVM将会连续完成3个步骤,所以有时也把这个3个步骤统称为类加载或类初始化。

JVM虚拟机执行class字节码的过程可以分为7个阶段:加载、验证、准备、解析、初始化、使用、卸载

(没事多看书,多总结,多动手。)

阅读全文 »

String类相关知识点

发表于 2020-08-14 | 分类于 技术
字数统计: 502 | 阅读时长 ≈ 1

Java语言中String类是否可以被继承?

在Java中String类的定义是

1
public final class String implements java.io.Serializable, Comparable<String>, CharSequence {...}

由此,可知String类是不可以被继承的,因为被final修饰的类是不可以被继承的

阅读全文 »

现在是北京时间2020年5月16日早上7:37,我在杭州的家里早早起床

发表于 2020-05-16 | 分类于 随笔
字数统计: 415 | 阅读时长 ≈ 1
开始写日记了,好好珍惜24岁后的生活!
阅读全文 »

《深入理解Java虚拟机》之内存划分与溢出异常

发表于 2019-12-05
字数统计: 1.7k | 阅读时长 ≈ 6

虚拟机内存管理

JVM所管理的内存包括以下几个运行时数据区域:

不同虚拟机实现可能略微有所不同,但都会遵从 Java 虚拟机规范,Java 8 虚拟机规范规定,Java 虚拟机所管理的内存将会包括以下几个区域:

  • 程序计数器(Program Counter Register)
  • Java 虚拟机栈(Java Virtual Machine Stacks)
  • 本地方法栈(Native Method Stack)
  • Java 堆(Java Heap)
  • 方法区(Methed Area)
阅读全文 »

《深入理解Java虚拟机》之GC

发表于 2019-12-05
字数统计: 3.7k | 阅读时长 ≈ 13

内存动态分配和垃圾收集技术

GC:哪些内存需要回收?什么时候回收?如何回收?

当需要排查各种内存溢出、内存泄露问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,就需要对内存动态分配和垃圾收集技术实施必要的监控和调节。

垃圾收集器关注的是Java堆和方法区中的动态分配和回收的内存。

判断对象存活与否?

1、引用计数算法:主流的Java虚拟机未采用,很难解决对象之间相互循环引用的问题

2、可达性分析算法:判定对象是否可回收

对象真正死亡:至少经历两次标记过程:finalize()最多执行一次


一、垃圾收集算法:

1.标记-清除算法 Mark and Sweep

分为标记和清除两个阶段,是最基础的收集算法,主要不足:1、效率问题;2、空间问题:标记清除之后会产生大量不连续的内存碎片,导致之后在程序运行过程中需要分配较大对象时,无法找到足够的连续内存而不得不提前触发另一次GC。

阅读全文 »

《深入理解Java虚拟机》之Java内存模型

发表于 2019-12-03
字数统计: 716 | 阅读时长 ≈ 2

一、内存模型

1.分为主内存和工作内存,分别对应虚拟机内存的堆内存、栈内存、方法区

2.8大基本操作:lock->unlock, read->load->use->assign->store->write

3.原子性、可见性、有序性

二、线程安全与高效并发:

线程调度:

1.内核线程(KLT)

2.用户线程(UT)

3.用户线程(UT)与轻量级进程(LWP)的混合模式

高效并发:

多线程环境下,线程资源的安全调用:

先行发生原则:happens before原则:

阅读全文 »

Spring事务传播机制

发表于 2019-10-24 | 分类于 技术
字数统计: 662 | 阅读时长 ≈ 2

Spring事务传播机制

1、事务抽象,特性:

①REQUIRED:如果当前没有事务就需要创建一个新事务,否则就加入该事务,最常用也是Spring默认设置

阅读全文 »
123
Kanson

Kanson

想到并做到

27 日志
2 分类
18 标签
GitHub E-Mail
Links
  • Kanson
© 2017 — 2023 Kanson
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4 |
| 博客全站共24.2k字
0%