摘要: 一、标题 标题文字前加 # 号,一个 # 是一级标题,两个 # 是二级标题,以此类推 注: 标准语法中,# 号后跟一个空格再写文字。 二、字体 斜体 文字左右用一个 * 号包起来 加粗 文字左右用两个 * 号包起来 斜体加粗 文字左右用三个 * 号包起来 删除线 文字左右用两个 ~~ 号包起来 三、 阅读全文
posted @ 2025-03-20 20:36 钱塘江畔 阅读(34) 评论(0) 推荐(0)
摘要: 支持的报告类型 目录支持的报告类型lintmarkdownrewriteasttiastfingerprintmd2htmlexplain-digestduplicate-key-checkerhtmljsontokenizecompressprettyremove-comment lint Des 阅读全文
posted @ 2025-03-20 20:35 钱塘江畔 阅读(19) 评论(0) 推荐(0)
摘要: ChatGLM】本地版ChatGPT?6G显存可用!ChatGLM-6B 清华开源模型一键包发布 可更新 # 十分钟部署清华ChatGLM-6B,实测效果还可以(Linux版) 阅读全文
posted @ 2025-03-20 20:31 钱塘江畔 阅读(11) 评论(0) 推荐(0)
摘要: # 查看死锁 jstack -F -l 21430 # 查看进程中占用资源多的线程 top -Hp 21430 # jstat监控GC情况,其中:- `<vmid>` 是Java虚拟机的ID,通常是进程ID。 - `[interval]` 是可选的,表示采样间隔时间,单位为毫秒。- `[count] 阅读全文
posted @ 2025-03-20 20:28 钱塘江畔 阅读(8) 评论(0) 推荐(0)
摘要: 1.测试入库 (1)从0开发insert语句,适配各种数据源 (2)借助seatunnel,实现数据集成功能 A. 使用DS,直接解决调度问题 B. 使用seatunnel-web,只能解决部分调度 (3)寻找其他开源方案 2.在现有项目里开发 3.Seatunnel测试 3.1excel2mysq 阅读全文
posted @ 2025-03-20 20:26 钱塘江畔 阅读(17) 评论(0) 推荐(0)
摘要: 1. 制作tomcat镜像 下载tomcat包,Index of /dist/tomcat/tomcat-9/v9.0.8/bin (apache.org) # 编写Dockerfile FROM java:8 COPY apache-tomcat-9.0.8.tar.gz /usr/local/ 阅读全文
posted @ 2025-03-20 20:24 钱塘江畔 阅读(19) 评论(0) 推荐(0)
摘要: nginx高可用配置 服务器时间同步 # Nacos高可用集群搭建与使用 数据库初始化 CREATE DATABASE nacos_cluster2 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci ; use nacos_cluste 阅读全文
posted @ 2025-03-20 20:21 钱塘江畔 阅读(32) 评论(0) 推荐(0)
摘要: 1.各阶段工作量占比 阶段 工作量占比 备注 需求分析 23% 设计 26% (其中概要设计11%,详细设计15%) 编码 20% 测试 31% 2.各个阶段的工作 2.1启动阶段 2.1.1需求收集 2.1.2项目定义 2.1.3项目章程制定 2.1.4项目团队组建* 2.2采购阶段 2.2.1方 阅读全文
posted @ 2025-03-20 20:19 钱塘江畔 阅读(131) 评论(0) 推荐(0)
摘要: 问题 问题1 # 执行 sudo echo 'mysql:x:1001:1001::/home/mysql:/bin/bash' >> /etc/passwd 失败 vi test.sh sudo sh test.sh 问题2 [ERROR] [MY-013276] [Server] Failed 阅读全文
posted @ 2025-03-20 20:17 钱塘江畔 阅读(46) 评论(0) 推荐(0)
摘要: 1. 离线安装docker ## 下载docker.tar.gz,解压安装 tar -zxvf docker.tar.gz ## 配置为系统服务 ## 默认配置文件/etc/docker/daemon.json不可编辑时,指定配置文件启动 dockerd --config-file /data/ap 阅读全文
posted @ 2025-03-20 20:15 钱塘江畔 阅读(19) 评论(0) 推荐(0)
摘要: 数据库服务器TPC-C 9.1.1 方法一:数据库服务器TPC-C估算法 适用范围:适用于对数据库服务器(应用服务器、Web服务器可参考)所需服务器的CPU能力进行估算。根据估算出的TPC-C值选择合适的服务器和服务器配置。 原理介绍:该估算法是通过计算应用系统峰值每分钟需要处理的业务交易数,再综合 阅读全文
posted @ 2025-03-20 20:12 钱塘江畔 阅读(182) 评论(0) 推荐(0)
摘要: 异常1 23/03/29 09:51:17 INFO client.AsyncProcess: #8, table=bbb:sigimsi, attempt=10/35 failed=163ops, last exception: org.apache.hadoop.hbase.NotServing 阅读全文
posted @ 2025-03-20 20:08 钱塘江畔 阅读(13) 评论(0) 推荐(0)
摘要: 2.3.0 将hadoop/*jar 和$hadoop_home/lib/*jar 复制到 $seatunnel_home/lib/, 重新启动seatunnel-culster 要求spark 2.3.1 2023-03-27 20:15:48,038 INFO org.apache.seatun 阅读全文
posted @ 2025-03-20 20:06 钱塘江畔 阅读(23) 评论(0) 推荐(0)
摘要: # 官方文档 https://seatunnel.apache.org/docs/start-v2/locally/deployment # quick start https://seatunnel.apache.org/docs/start-v2/locally/quick-start-seat 阅读全文
posted @ 2025-03-20 20:04 钱塘江畔 阅读(23) 评论(0) 推荐(0)
摘要: mysql8部署架构对比 1.两台服务器安装mysql8 # 解压 tar xvJf mysql-8.0.30-linux-glibc2.12-x86_64.tar.xz # 改名 mv mysql-8.0.30-linux-glibc2.12-x86_64 mysql-8.0.30 cd mysq 阅读全文
posted @ 2025-03-20 20:04 钱塘江畔 阅读(13) 评论(0) 推荐(0)
摘要: # 访问地址 http://132.151.6.5:8080/ 修改conf/zeppelin-env.sh ,JAVA_HOME修改为jdk8-151以上版本 修改conf/zeppelin-site.xml,addr将127.0.0.1修改为0.0.0.0 增加interpreter,mysql 阅读全文
posted @ 2025-03-20 19:55 钱塘江畔 阅读(29) 评论(0) 推荐(0)
摘要: Linux crontab 每天全库导出备份,并上传到hdfs mysqldump -h1.1.6.1 -P7788 -uroot -p'123' --ssl-mode=DISABLED --flush-logs --single-transaction --all-databases > test 阅读全文
posted @ 2025-03-20 19:52 钱塘江畔 阅读(8) 评论(0) 推荐(0)
摘要: # 组合索引 CREATE INDEX idx_score ON tb_user(table_id, examiner_id, examinee_id); # 遵从最左原则 阅读全文
posted @ 2025-03-20 19:51 钱塘江畔 阅读(15) 评论(0) 推荐(0)
摘要: 1.线性表的类型定义 位序、字节序、类型序 抽象数据类型 - 线性表 1.1定义 ADT List { 数据对象:D = {a(i) | a(i) ∈ ElemSet, i = 1,2,...,n, n≥0} 数据关系:R1 = {<a(i-1), a(i)> | a(i=1), a(i) ∈ D, 阅读全文
posted @ 2025-03-20 19:47 钱塘江畔 阅读(40) 评论(0) 推荐(0)
摘要: 0.基本概念 逻辑结构 算法的设计取决于数据(逻辑)结构 - 集合-同属于一个集合 - 线性结构-一对一关系 - 树形结构-一对多关系 - 图状结构-多对多关系 物理结构(存储结构) 算法的实现依赖于存储结构 - 顺序映像-顺序存储结构 - 非顺序映像-链式存储结构 1.查询笔记本字长是多少 在cm 阅读全文
posted @ 2025-03-20 19:45 钱塘江畔 阅读(33) 评论(0) 推荐(0)
摘要: # 反馈说报500 ,查了下日志,发现jdbc包未找到 # 开发时未将ojdbc6添加到maven本地仓库,重新配置 # 本地maven环境依赖JDK # jar添加到本地仓库 mvn install:install-file -Dfile="D:\code\connector\ojdbc6jar\ 阅读全文
posted @ 2025-03-20 19:43 钱塘江畔 阅读(9) 评论(0) 推荐(0)
摘要: // fetch到哪 就算偏移量消费到哪,但是实际应该是处理到哪儿才算消费到哪。 // 设置自动提交偏移量为false ; 注意手动提交偏移量的时候,提交的是 poll拉取的那批消息中最后的那条offset,而不是消费到哪条提交哪条; configs.put(ConsumerConfig.ENABL 阅读全文
posted @ 2025-03-20 19:40 钱塘江畔 阅读(30) 评论(0) 推荐(0)
摘要: 线程池核心类 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue) { this(c 阅读全文
posted @ 2025-03-20 19:39 钱塘江畔 阅读(16) 评论(0) 推荐(0)
摘要: 0.基本思想 两个典型实例 1. 快速排序算法 2. 选择第k大的数 阅读全文
posted @ 2025-03-20 19:38 钱塘江畔 阅读(7) 评论(0) 推荐(0)
摘要: IT项目管理中的百慕大 资源 、范围、进度 三角平衡 项目管理 -- 做事 启动、规划、执行、控制、收尾 项目管理 -- 四个层次: 复杂的事情简单化:分解 简单的事情量化:临界值 量化的事情专业化:规律 专业的事情模板化:框架模板 项目: 为创造特定产品或服务的一项有时限的任务。 项目管理历史: 阅读全文
posted @ 2025-03-20 19:37 钱塘江畔 阅读(9) 评论(0) 推荐(0)
摘要: 使用pyspark提交spark任务时,为提高单个任务使用的CPU核数(默认是1),需对参数进行设置。spark-submit --help中可以指定的参数有限,需要在代码中指定参数值。如下: conf = SparkConf() conf.setAppName('test_mean_shift') 阅读全文
posted @ 2025-03-20 19:36 钱塘江畔 阅读(66) 评论(0) 推荐(0)
摘要: useradd -d /home/test1 -m test1 passwd test1 test1@123 yum install libcgroup-tools libcgroup-pam libcgroup vim /etc/cgconfig.conf group test1{ cpu{ cp 阅读全文
posted @ 2025-03-20 19:35 钱塘江畔 阅读(9) 评论(0) 推荐(0)
摘要: bfprt 阅读全文
posted @ 2025-03-20 19:35 钱塘江畔 阅读(6) 评论(0) 推荐(0)
摘要: 大表 180亿 小表 3000 采用map join hive中in (select ) 与 inner join的区别 阅读全文
posted @ 2025-03-20 19:34 钱塘江畔 阅读(6) 评论(0) 推荐(0)
摘要: kafka eagle gihub 官方文档 0. eagle简介 是一个监控系统,监控kafka 集群,可视化地展示消费者线程、偏移量、所有者等信息。 监控了当前的消费者组、每个组正在消费的主题以及该组在每个主题中的偏移、滞后量、日志大小位置。有助于把握 消息队列中消费的速度以及消息队列生产的速度 阅读全文
posted @ 2025-03-20 19:34 钱塘江畔 阅读(91) 评论(0) 推荐(0)
摘要: flink基本原理 stratosphere架构 dataflow模型 无界,有界 窗口:固定窗口,滑动窗口,会话窗口 时间域和水位线 分布式异步快照 chandy-lamport ABS 异步屏障快照 flink基本设计思想 stratosphere系统架构 dataflow模型 分布式异步快照算 阅读全文
posted @ 2025-03-20 19:30 钱塘江畔 阅读(14) 评论(0) 推荐(0)
摘要: 二分法 递推:顺推,逆推 枚举:穷举 递归:出口,将问题化为一个缩小了的子问题 分治:分解,求解,合并 贪婪算法思想:找零钱 试探法: 模拟算法:随机数 阅读全文
posted @ 2025-03-20 19:29 钱塘江畔 阅读(12) 评论(0) 推荐(0)
摘要: 1. 概述 1.1 开发只占冰山一角 1.2 计算机科学、数学,工程,管理 1.3 软件开发的本质:实现问题域中的概念和处理逻辑 到 运行平台的概念和处理逻辑的映射。 系统建模 需求 -> 设计 -> 实现 1.4 软件工程的目标: 生产具有正确性、可用性、以及开销合宜的产品。 1.5 软件工程的活 阅读全文
posted @ 2025-03-20 19:25 钱塘江畔 阅读(35) 评论(0) 推荐(0)
摘要: 1. os.environ executors数量增加后,出现以下问题: TaskSetManager: Lost task 10.3 in stage 1.0 (TID 21) on executor OCDC-ARM-DN-160: org.apache.spark.SparkException 阅读全文
posted @ 2025-03-20 19:21 钱塘江畔 阅读(21) 评论(0) 推荐(0)
摘要: 在python里面经常会出现 module_name 和 class_name 其实区别很简单 module_name 就是python文件的名字 在python文件里面可以定义多个 class,当然大多数其实只定义一个。 所以 module 和 class的关系是从属的关系,同时 module:c 阅读全文
posted @ 2025-03-20 19:20 钱塘江畔 阅读(16) 评论(0) 推荐(0)
摘要: # 直接连接IP beeline !connect jdbc:hive2://1.1.6.1:10000 # 通过zookeeper服务发现 beeline -u 'jdbc:hive2://1.1.6.2:2181,1.1.6.6:2181,1.1.6.14:2181/;serviceDiscov 阅读全文
posted @ 2025-03-20 19:20 钱塘江畔 阅读(19) 评论(0) 推荐(0)
摘要: 对于聚类算法,计算密集型的任务,如何调优 # 以下各角色的作用? MemoryStore BlockManager BlockManagerMaster spark-submit调优并行度的关键点: 并行运行的task数量 = min(partitions, executors x executor 阅读全文
posted @ 2025-03-20 19:18 钱塘江畔 阅读(20) 评论(0) 推荐(0)
摘要: Spark Thrift Servers 提供JDBC/ODBC连接的服务 服务运行方式是一个Spark的应用程序,只是这个应用程序支持JDBC/ODBC的连接, 所以:可以通过应用的4040页面来进行查看操作 beeline连接 !connect jdbc:hive2://ser-01:10015 阅读全文
posted @ 2025-03-20 19:17 钱塘江畔 阅读(11) 评论(0) 推荐(0)
摘要: file file1 file file2 .. with CRLF line terminators .. windows文件 with CRLF line terminators 解决办法:告诉 vi 编辑器,使用unix换行符。 vim file2 : set ff = unix 阅读全文
posted @ 2025-03-20 19:16 钱塘江畔 阅读(9) 评论(0) 推荐(0)
摘要: 1. 整体架构 hdfs架构 zk monode高可用。HA的工作原理?是否需要每个datanode监听zk? namenode NameNode(nn):Hdfs集群的管理者,Master 管理Hdfs的名称空间(NameSpace) 维护副本策略 记录文件块(Block)的映射信息 负责处理客户 阅读全文
posted @ 2025-03-20 19:15 钱塘江畔 阅读(13) 评论(0) 推荐(0)
摘要: putVal()方法 final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] tab; Node<K,V> p; int n, i; if ((tab = table) = 阅读全文
posted @ 2025-03-20 19:13 钱塘江畔 阅读(8) 评论(0) 推荐(0)
摘要: https://www.cnblogs.com/victorwu/p/7061168.html 阅读全文
posted @ 2025-03-20 19:12 钱塘江畔 阅读(13) 评论(0) 推荐(0)
摘要: 直接追加? mmap 内存映射文件 java实现: https://blog.csdn.net/jy317358306/article/details/109365865 阅读全文
posted @ 2025-03-20 19:12 钱塘江畔 阅读(14) 评论(0) 推荐(0)
摘要: 工作原理 1. mysql主备复制原理 从上层来看,复制分成三步: master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events,可以通过show binlog events进行查看); slave将master的binary log 阅读全文
posted @ 2025-03-20 19:11 钱塘江畔 阅读(9) 评论(0) 推荐(0)
摘要: # 修改配置文件 /etc/my.cnf [mysqld] skip-grant-tables # 重启 ./support-files/mysql.server restart # 修改密码 mysql -uroot -p #直接登录 update mysql.user set authentic 阅读全文
posted @ 2025-03-20 19:09 钱塘江畔 阅读(10) 评论(0) 推荐(0)
摘要: # 下载 https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh 缺失sklearn包 # 寻找site-packages目录 find / -name site-packages # ip1 python包位置: /d 阅读全文
posted @ 2025-03-20 19:09 钱塘江畔 阅读(9) 评论(0) 推荐(0)
摘要: Jenkins 自动化部署,快速恢复 1. 部署jenkins # 下载 wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.7.3-1.1.noarch.rpm # 安装 rpm -ivh jenkins-2.7.3-1.1.noarch. 阅读全文
posted @ 2025-03-20 19:07 钱塘江畔 阅读(10) 评论(0) 推荐(0)
摘要: hbase集群和hdfs需要共享机器吗? 不需要,但是本地的话会提高效率。hdfs如何把(节点上的)本地文件上传到HDFS region不能跨服务器? hbase根据rowkey来确定region位置 当列族多的时候,会怎样?region中的列族仍然在同一机器吗? 客户端建表的时候是直接从zk获取m 阅读全文
posted @ 2025-03-20 19:07 钱塘江畔 阅读(10) 评论(0) 推荐(0)
摘要: final Social social = new Social(); final ClassLayout layout = ClassLayout.parseClass(social.getClass()); System.out.println(layout); final String s = 阅读全文
posted @ 2025-03-20 19:05 钱塘江畔 阅读(16) 评论(0) 推荐(0)
摘要: 1. 数仓研发流程 1.1 六个阶段 需求阶段:数据产品经理应如何应对不断变化的业务需求。 设计阶段:数据产品经理、数据开发者应如何综合性能、成本、效率、质量等因素,更好地组织与存储数据。 开发阶段:数据研发者如何高效、规范地进行编码工作。 测试阶段:测试人员应如何准确地暴露代码问题与项目风险,提升 阅读全文
posted @ 2025-03-20 19:05 钱塘江畔 阅读(96) 评论(0) 推荐(0)
摘要: SASL/PLAIN 一、服务端配置 配置 config/server.properties # 配置ACL入口类 authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer # SASL_PLAINTEXT # 在三台机器上换成每台机 阅读全文
posted @ 2025-03-20 19:04 钱塘江畔 阅读(85) 评论(0) 推荐(0)
摘要: Client查询zk,找到hbase:meta表所在的regionserver Client请求hbase:meta表,查询Row所在的Region以及所在的regionserver 直连region,进行操作 缓存hbase:meta 阅读全文
posted @ 2025-03-20 19:01 钱塘江畔 阅读(14) 评论(0) 推荐(0)
摘要: 1. 依赖部署 # zookeeper # kafka server.1=c5:2881:3881 server.2=c6:2881:3881 server.3=c7:2881:3881 kafka-server-stop.sh bin/kafka-server-start.sh --daemon 阅读全文
posted @ 2025-03-20 19:00 钱塘江畔 阅读(39) 评论(0) 推荐(0)
摘要: 1. before update 备份 [[202108161706 mysql备份方法]] 步骤:全局锁-> dump -> stop -> rename -> install -> initial -> start -> source 验证:随机抽取表 2. shutdown server # 阅读全文
posted @ 2025-03-20 18:56 钱塘江畔 阅读(16) 评论(0) 推荐(0)
摘要: 生成broker ID The broker id for this server. If unset, a unique broker id will be generated.To avoid conflicts between zookeeper generated broker id's a 阅读全文
posted @ 2025-03-20 18:53 钱塘江畔 阅读(5) 评论(0) 推荐(0)
摘要: 1. MyJob类 public class HelloJob implements Job { @Override public void execute(JobExecutionContext context) throws JobExecutionException { System.out. 阅读全文
posted @ 2025-03-20 18:52 钱塘江畔 阅读(14) 评论(0) 推荐(0)
摘要: 安装好maven并配置环境变量 命令行安装jar包 cmd窗口: 安装指定文件到本地仓库命令:mvn install:install-file -DgroupId=<groupId> : 设置项目代码的包名(一般用组织名) -DartifactId=<artifactId> : 设置项目名或模块名 阅读全文
posted @ 2025-03-20 18:52 钱塘江畔 阅读(35) 评论(0) 推荐(0)
摘要: 1. 心跳机制 Kafka 的心跳是 Kafka Consumer 和 Broker 之间的健康检查,只有当 Broker Coordinator 正常时,Consumer 才会发送心跳。 Consumer 和 Rebalance 相关的 2 个配置参数: 参数 字段 session.timeout 阅读全文
posted @ 2025-03-20 18:51 钱塘江畔 阅读(109) 评论(0) 推荐(0)
摘要: 二分法在链表中的应用 使链表也能快速的查找,本身就能快速的增删 数组靠索引查找快, 但增删慢无法避免 -- 跳表:在原有序链表的基础上增加了多级索引,通过索引实现快速查找,以空间换时间 特点: 多层结构,每一层随机概率产生 每一层都是有序链表,默认升序,最底层包含所有元素 每个节点包含两个指针:向右 阅读全文
posted @ 2025-03-20 18:49 钱塘江畔 阅读(9) 评论(0) 推荐(0)
摘要: 安装包上传 备份数据 mysqldump -h127.0.0.1 -p --all-databases > dump-20210816.sql 升级 阅读全文
posted @ 2025-03-20 18:49 钱塘江畔 阅读(3) 评论(0) 推荐(0)
摘要: graph LR A[Deque] --> B1[ArrayQueue] A --> B2[ConcurrentLinkedDeque] A --> B3[LinkedBlockingDeque] A --> B4[LinkedList] Deque接口的实现类LinkedList模拟栈,而不用ja 阅读全文
posted @ 2025-03-20 18:48 钱塘江畔 阅读(12) 评论(0) 推荐(0)
摘要: 0. 背景 上游厂家生产信令数据,我方消费kafka数据,过滤后插入HBase。 上游生产的信令数据分了4个主题,每个主题有若干分区,这4个主题的数据消费后都插入同一张HBase表。 问题:kafka消息积压达到百亿。 以下以topic1为例,有6个分区。 1. 查看消费滞后情况 kafka-con 阅读全文
posted @ 2025-03-20 18:47 钱塘江畔 阅读(47) 评论(0) 推荐(0)
摘要: 实践:测试线性读写的性能和随机读写的性能 什么是直接 I/O? 使用文件系统和页缓存会使初始化极快? 阅读全文
posted @ 2025-03-20 18:44 钱塘江畔 阅读(9) 评论(0) 推荐(0)
摘要: 事件 1. 计算机术语 事件是可以被控件识别的操作,如按下确定按钮,选择某个单选按钮或者复选框。每一种控件有自己可以识别的事件,如窗体的加载、单击、双击等事件,编辑框(文本框)的文本改变事件,等等。 事件有系统事件和用户事件。系统事件由系统激发,如时间每隔24小时,银行储户的存款日期增加一天。用户事 阅读全文
posted @ 2025-03-20 18:43 钱塘江畔 阅读(38) 评论(0) 推荐(0)
摘要: kafka官网 kafka知识体系/图谱 kafka未来分析 问题场景 -> kafka是什么 -> kafka的原理 -> 详细体系(不细说,重点讲一讲) -> 案例分享 -> 瓶颈(监控)及优化 -> kafka未来展望(对比其他MQ、kafka stream流处理等) 分布式应用如何保证消息的 阅读全文
posted @ 2025-03-20 18:42 钱塘江畔 阅读(10) 评论(0) 推荐(0)
摘要: SpringBoot注解 @EnableScheduling https://zhuanlan.zhihu.com/p/79644891/ 线程池 ScheduledExecutorService https://www.cnblogs.com/guohu/p/12191840.html 第三方框架 阅读全文
posted @ 2025-03-20 18:41 钱塘江畔 阅读(15) 评论(0) 推荐(0)
摘要: 0.为什么不强制停止?而是通知、协作 对于 Java 而言,最正确的停止线程的方式是使用 interrupt。但 interrupt 仅仅起到通知被停止线程的作用。而对于被停止的线程而言,它拥有完全的自主权,它既可以选择立即停止,也可以选择一段时间后停止,也可以选择压根不停止。那么为什么 Java 阅读全文
posted @ 2025-03-20 18:41 钱塘江畔 阅读(19) 评论(0) 推荐(0)
摘要: https://docs.oracle.com/javase/specs/jvms/se11/html/jvms-4.html 阅读全文
posted @ 2025-03-20 18:40 钱塘江畔 阅读(6) 评论(0) 推荐(0)
摘要: 那 JVM 是如何判断哪些对象应该被回收?哪些应该被保持呢? 在古代,刑罚中有诛九族一说。指的是有些人犯大事时,皇上杀一人不足以平复内心的愤怒时,会对亲朋好友产生连带责任。诛九族时首先需要追溯到一个共同的祖先,再往下细数连坐。堆上的垃圾回收也有同样的思路。我们接下来就具体分析 JVM 中是如何进行垃 阅读全文
posted @ 2025-03-20 18:39 钱塘江畔 阅读(26) 评论(0) 推荐(0)
摘要: A 和 B 会被加载到元空间的方法区,进入 main 方法后,将会交给执行引擎执行。这个执行过程是在栈上完成的,其中有几个重要的区域,包括虚拟机栈、程序计数器等。 字节码执行过程 https://kaiwu.lagou.com/course/courseInfo.htm?courseId=31#/d 阅读全文
posted @ 2025-03-20 18:38 钱塘江畔 阅读(12) 评论(0) 推荐(0)
摘要: Bootstrap ClassLoader 这是加载器中的大 Boss,任何类的加载行为,都要经它过问。它的作用是加载核心类库,也就是 rt.jar、resources.jar、charsets.jar 等。当然这些 jar 包的路径是可以指定的,-Xbootclasspath 参数可以完成指定操作 阅读全文
posted @ 2025-03-20 18:37 钱塘江畔 阅读(25) 评论(0) 推荐(0)
摘要: 我们能够通过一定的手段,覆盖 HashMap 类的实现么? 有哪些地方打破了 Java 的类加载机制? 如何加载一个远程的 .class 文件?怎样加密 .class 文件? 类加载过程 加载: 将.class文件加载到方法区。主要是从jar包或war包找到二进制数据并加载 验证: 将不符合规范的代 阅读全文
posted @ 2025-03-20 18:36 钱塘江畔 阅读(7) 评论(0) 推荐(0)
摘要: 每个线程都有一个方法栈, 该栈中,每个方法对应一个栈帧 https://www.cnblogs.com/jhxxb/p/11001238.html 每个栈帧中包含 局部变量表(Local Variable Table) 在编译程序代码的时候就可以确定栈帧中需要多大的局部变量表,具体大小可在编译后的 阅读全文
posted @ 2025-03-20 18:34 钱塘江畔 阅读(19) 评论(0) 推荐(0)
摘要: JVM的内存区域是怎么高效划分的 为什么要问到 JVM 的内存区域划分呢?因为 Java 引以为豪的就是它的自动内存管理机制。相比于 C++的手动内存管理、复杂难以理解的指针等,Java 程序写起来就方便的多。 然而这种呼之即来挥之即去的内存申请和释放方式,自然也有它的代价。为了管理这些快速的内存申 阅读全文
posted @ 2025-03-20 18:34 钱塘江畔 阅读(16) 评论(0) 推荐(0)
摘要: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } E:\tmp>javac HelloWorld.java E:\tmp>javap 阅读全文
posted @ 2025-03-20 18:32 钱塘江畔 阅读(13) 评论(0) 推荐(0)
摘要: https://www.jianshu.com/p/6a8997560b05 阅读全文
posted @ 2025-03-20 18:30 钱塘江畔 阅读(7) 评论(0) 推荐(0)
摘要: JVM 是 Java 程序能够运行的核心。但是需要注意,JVM 自己什么也干不了,你需要给它提供生产原料(.class 文件)。俗语说的好,巧妇难为无米之炊。它虽然功能强大,但仍需要为它提供 .class 文件。 仅仅是 JVM,是无法完成一次编译,处处运行的。它需要一个基本的类库,比如怎么操作文件 阅读全文
posted @ 2025-03-20 18:30 钱塘江畔 阅读(13) 评论(0) 推荐(0)