自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_37711237的博客

本村最菜JAVA

  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 JAVA支付宝和微信(APP支付,提现,退款)

公共参数图表: 接口 需要参数 通知方式 支付宝APP支付 应用公钥,应用私钥 异步 支付宝APP提现 应用公钥,应用私钥,...

2018-04-14 13:04:12 22617 3

原创 从零开始深入理解并发、线程与等待通知机制

图1.1。

2025-12-26 22:40:54 476

原创 JAVA的平凡之路——此峰乃是最高峰JVM-GC垃圾回收器(2)-06

m0、m1都是标记位,只是根据周期不同进行使用,并且根据周期不同还会出现00、01、10、11等特殊含义,1为标记,0为不标记,标记为不回收,cms里面就有一个标记重置的处理,所以为了减少标记位重置的消耗,使用两个标记位交替使用。对象指针在局部变量表中,64位的指针的高位进行对象状态存储,原有gc状态是保存在内存中的对象头中,所以减少了再根据指针查询对象的操作,降低消耗。Serial 对应的老年代回收器,使用的标记整理,单线程老年代回收器。最早的gc回收器,年轻代,使用的是标记复制,单线程年轻代回收器。

2025-12-21 22:28:25 403

原创 JAVA的平凡之路——此峰乃是最高峰JVM-GC垃圾回收器(1)-06

垃圾回收器是一种自动内存管理机制,它主要职责追踪在使用的对象,和回收不再使用的对象,及时把内存块归还系统,以便后续分配。

2025-12-21 15:43:53 410

原创 JAVA的平凡之路——此峰乃是最高峰JVM-执行引擎-05

它扮演着“翻译官”的角色 负责将加载到内存中的java字节码转换成对应硬件平台的本地机器指令,并由CPU执行。

2025-12-15 22:51:31 342

原创 JAVA的平凡之路——此峰乃是最高峰JVM-附加小菜-04

是不是感觉算的一样,你没算错,我们没有加上s1、s2区的变量,它比原来大了一倍,那么在分代年龄处理时,它会比原有方案 更复合正常晋升 那么 按照 每次晋升 为 10mb。当前堆内存 3072 MB,新生代占1/3,大约 1g ,并且eden 8/10.,s1和s2分别 1/10,分别800、100、100MB。可能会涉及其他对象放大20倍,并且可能涉及其他操作情况,再放大10 300*20*10 大约每秒60MB/s。正常晋升不太贴切现实正常来说,25%可能更贴近 40 * 0.25 = 10 m/次。

2025-12-13 22:35:31 165

原创 JAVA的平凡之路——此峰乃是最高峰JVM-峰之基石JVM内存模型-03

小黑板点起来,上面理解起来有一些些小问题,简单描述,我们在执行代码时 int a = 1里面会先把 1 压到操作数栈,然后再弹出来,放到局部变量表里,int a 会被替换 为 局部变量表的索引 ,然后int b = 2 也是这样的流程压到栈里,弹出来再放到局部变量表里,最后在算加法时再把局部变量这两个表的索引压进去,再一起弹出来拿出值和操作符号+一起去CPU的寄存器再送到ALU计算再层层往上返回。

2025-12-13 21:22:39 874

原创 JAVA的平凡之路——此峰乃是最高峰JVM-门户类加载器-02

JVM高峰的门户,一切幻想开始的地方,静态class文件动起来的起点,类加载器加载class文件到JVM中。类加载器会按需加载,如果一个对象永远不会参与执行,那么它永远不会加载。加载会把class文件的静态常量池解析为元数据中的运行时常量池,会把class文件的类信息解析到类模版区中。如果类加载、链接比喻为做蛋糕,类加载是做蛋糕胚,链接就是抹奶油和点缀饰品,链接会在类加载的基础上进行验证、准备、解析。类在链接以后等待执行引擎调用进行初始化操作,所以虽然初始化是类加载器但是只能被动调用。

2025-12-08 22:50:08 639

原创 JAVA的平凡之路——此峰乃是最高峰JVM初窥全貌-01

类加载器是个土木大佬,他根据客户提供出需求和建筑材料(.class文件),要在空地(堆)上盖出一栋大楼,然后他根据需求(类模版信息)分析客户的具体需求,比如有有几层(方法),有多少窗户(字段),有多少功能区(静态常量池),然后大佬按照蓝图要求(元数据区)在空地(堆)先按照架构(类模版)搭好框架,然后根据定区域分块(常量池)在空地上堆放好的材料(堆里的静态变量、class对象),在客户再次确认后(实例创建就是new对象)在空地盖上一栋大楼(实例)。

2025-12-02 22:48:20 612

原创 JAVA的平凡之路——序幕

本文以程序员成长历程为主题,通过诗意比喻反思知识碎片化问题,倡导持续学习。作者用"B+树"比喻系统化知识结构,强调坚持积累的重要性。文章分为三部分:序言抒发编程理想与现实的落差;规划四大阶段十二模块的学习路径;结尾以&quoRight now"的呐喊号召立即行动。文字间流露出对编程艺术的热爱与对知识体系化的追求,鼓励读者享受学习过程而非追求速成。

2025-11-28 22:32:28 149

原创 2023年最后的总结

学习java很久,一直存在一个固有的观念那就,只有实践才是掌握知识的唯一途径,但是实际上在面试中有很多八股文平常基本用不到,但是他还要去问你,我不知道,真的不知道,他说怎么简单你都不知道,我说不知道,实际上却是很多的人背书背的很好,我很羡慕,其实我以前也背的很好,但是有些东西,背会以后不用很快就忘记了,那我又想找很好的机会,又不想背,那怎么办呢,那就只有做个项目,做个小项目,用上平常用不到知识,不仅用动力,而且还不违背内心,不想背八股,教育是应试的教育,社会也是应试的社会,教育无法改变,但是我可以改变自己获

2023-12-31 15:03:24 432 1

原创 SpringBoot的linux运维项目——OpTo(operation tool)

哲学的三大问题,“我是谁”“我从哪里来”“要到哪里去”,当我们在日常工作中也常常遇到这样的难题,总是在手忙脚乱中,感觉在重复很多无效的工作内容,不断会出现“我是谁”的疑惑,“为什么做”,当代码出现两次以上就要考虑封装,当某个有规律的操作出现多次就要考虑是否可以用工具进行优化工作,这就是这个项目产生的原因之前写过博客对流程进行过简单介绍虽然比较粗糙但是框架已经基本完成,基于jsch链接LInux执行shell语句,根据执行后的返回进行数据过滤获取有用数据后返回,目前提供了两个可用接口1.查询命中服务器文件接口

2023-12-31 14:53:33 1187 1

原创 Mysql——索引、引擎

MySQL 是一款常用的关系型行级数据库,它支持多种不同的存储引擎,每个存储引擎有其自己的特点和优缺点,可以根据应用程序的需求选择不同的存储引擎。

2023-12-09 20:31:04 190

原创 SpringBoot集成JSch链接Linux

/1.服务器集合列表//2.遍历服务器列表//3.返回对应数据信息。

2023-11-27 17:06:57 443 1

原创 JVM极简教程

应用a和应用b存在相同的类,为了实现类加载的隔离,每个应用都有一个WebappClassLoaderJVM 在确定类是否加载时根据 类名 + 类加载器在并发标记 垃圾回收线程跟不上用户线程速度 使用 Serial Old在并发清理 产生一些新的垃圾 这些被称为浮动垃圾 需要等下次 GC处理标记-清除 可以使用参数控制多少次标记清除后进行整理。

2023-11-22 20:08:37 95

原创 Head First 设计模式 —— 设计模式入门

一、模拟鸭子应用1.语言描述:建立鸭子类来进行复用,但是存在一些可复用方法的不合理之处,举例:橡皮鸭虽然可以复用鸭子类的相关方法,但是会出现橡皮鸭类本身不存在的方法,鸭子类需要增加一个飞行的方法提供给子类进行复用,但是橡皮鸭本身不应该具有相关方法。2.代码描述:/** * 鸭子 */public abstract class Duck { public Duck { } /** * 飞行 */ public void fly(

2023-11-13 19:44:31 89

原创 Array、Collection、Map概述

一.前言对Java集合框架相关最具代表的数据结构进行相关概述和总结二.Array1.初始化 String[] arr = new String[11]; String[] brr = {"1","2"}; String[] crr = new String[]{"1","2"}; String[][] drr = new String[1][1]; String[][]frr = {{“1”,“2”}{"...

2021-12-14 20:08:02 680

原创 Vue + SpringBoot + Mybatis 框架开发 (二)

任务实现SpringBoot和Mybatis的三层架构开发步骤mapper文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.example.yanshuai.sys.ma

2021-03-02 17:38:51 594

原创 Vue + SpringBoot + Mybatis 框架开发 (一)

前言:一直感觉自己基础太差,为了熟悉公司项目,所以想仿照公司的项目框架结构,用springboot将其进行复写,目的终究也是为了更进一步了解自身技术的痛点,然后进行解决准备:vue创建项目教程 springboot创建项目教程 既然有现成的前人写好东西我也就不复制粘贴了任务:1.实现后台和前端连同,并且传输 “Hello Word!”步骤:一.springboot 需要在启动时设置下我们的数据库地址,所以新建一个数据库,用来启动项目...

2021-03-02 16:51:48 1934

原创 Exception和Error的区别?

1.Exception是在项目运行中我们可以预测的系统错误和bug,我们可以对Exception进行跑出和捕获,对Exception进行处理;2.Error是项目运行中不可预测的系统问题,我们可以对Error进行捕获,但是如果没有好的处理办法的话建议不要对Error进行捕获和处理,这样上线项目在运行中问题并无法处理;3.Exception和Error都继承于Throwable类型,java...

2018-08-09 23:06:55 251

原创 对Java平台的理解?Java是解释执行?

1.对Java平台的理解一次编译多次执行和Java的回收站机制;2.Java不是解释执行,在JVM提供了JIT的动态编译器将代码编译成机器码(class文件),可以说是编译执行但是不能说解释执行。3.JVM和Java在不断发展中,现在有很多JVM语言,JVM已经不再是Java语言的专利;4.在编译中JIT会把部分热点代码进行编译然后执行,热点代码是有相对的计算方式的,一种是基于采样的热...

2018-08-07 22:41:14 293

微信和支付宝提现和退款、支付代码

微信和支付宝提现和退款、

2019-03-07

空空如也

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

TA关注的人

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