- 博客(82)
- 收藏
- 关注
原创 如何阅读字节码文件
本文介绍了如何使用javap工具反编译字节码文件。通过执行"javap -verbose HelloJVM.class"命令,可以查看class文件的详细字节码信息,包括常量池、方法表、属性表等核心内容。文中配图展示了反编译后的字节码输出示例,帮助读者直观理解Java字节码的结构和组成。该方法可用于深入分析JVM底层实现原理,是学习Java虚拟机机制的重要技术手段。
2025-07-25 17:47:35
200
原创 初识JVM--从Java文件到机器指令
这篇文章简要介绍了Java代码从编写到编译的过程。作者以一个简单的"HelloJVM"程序为例,展示了Java源代码如何通过JDK的Javac工具编译生成.class文件。.class文件是Java字节码文件,作为Java虚拟机执行的中间产物。文章最后附上了一张.class文件的示意图,为后续内容做铺垫。全文主要阐述了Java程序的初步编译阶段,为理解后续执行流程打下基础。
2025-07-25 13:39:50
446
原创 JDK的组成分析
JDK是Java开发工具包,包含Java工具包、JRE(Java虚拟机和基础类库)。JDK1.8中工具包位于bin目录,JRE包含jvm.dll和rt.jar。JDK23后结构变化:rt.jar拆分为模块存储在jmods,JRE不再作为子模块提供。JRE仅包含运行环境,而JDK额外提供编译等开发工具。文章通过对比JDK1.8和JDK23的目录结构,展示了Java版本演进带来的核心组件分布变化。
2025-07-24 17:56:26
459
原创 MYSQL之DML DQL与DCL
alter user ‘用户名’@‘主机名’ identified with mysql_native_password by ‘新密码’;create user ‘用户名’@‘主机名’ identified by ‘密码’;select 【distinct去重】 字段列表 as ‘别名’where是分组之前过滤,不满足where不参与分组。drop user ‘用户名’@‘主机名’group by 分组字段列表。having 分组后条件列表。where 条件列表。limit 分页参数。
2023-03-24 12:15:15
472
原创 C++StudyDay2
函数的分文件编写指针作用:可以通过指针间接访问内存(记录地址编号)可以通过指针保存地址或者说指针就是地址空指针指向内存标号为0的地址空间用途:初始化指针变量注意:空指针指向的内存是不可以访问的野指针野指针一旦操作 就会报错 非常危险 尽量避免tips:空指针 和 野指针都不是我们申请的 空间 因此不要访问翻译一下 const和*的先后顺序 就知道中文名称了const 紧贴在int前面 就锁intconst 紧贴在p前面 就锁p指针和数组作用:利用指针访问数组中的
2022-05-12 15:29:50
254
原创 C++复习Day1
常量标识符命名规则1.不能是关键字2.只能由字母、数字、下划线组成3.第一个字符不能是数字4.区分大小写5.最好可以见名知意数据类型存在的意义:给变量分配合适的内存空间整型short; int; long(64位是8); long long;2 4 4(8) 8int a=5;sizeof(int);sizeof(a);浮点型float double4 8区别float 7位有效数字double 15-16位有效数字float f1=3.14159f;//如
2022-05-11 21:17:38
437
原创 递归0216
数组求和其中引入参数begin作为变化的量根据变化的量找到函数的结束位置public static int f3(int[] arr,int begin) { //当数组长度为0时结束 if(begin==arr.length) { return 0; } return arr[begin++]+f3(arr,begin);//第0项加上剩下的数组求和 }翻转字符串翻转出来的下标作为引入的参数 作为变化的量 控制函数的进行和函数的结束//翻转字符串 publi
2022-02-17 00:02:41
387
原创 递归0215
自身调用自身 注意死循环求一个阶乘public static int f(int i) { if(i==1) { return 1; } return i*f(i-1); }注意设计递归有几个步骤1.找重复2.找变化3.找边界找重复求n的编程 就是n*(n-1)的阶乘求(n-1)的阶乘是原问题的重复不同点在于规模更小称作子问题子问题和原问题具有相同的形式但是规模更小当n小到1时 我们知道1的阶乘就是1假设f()已经完成了自然f(n-1)就是求n-1的阶乘
2022-02-16 00:25:00
194
原创 浮点数0215
0~1之间的实数(double)转换为二进制 *2整数转换为二进制 /2*2算小数的二进制/2算整数的二进制Scanner sc=new Scanner(System.in); Double N = sc.nextDouble(); StringBuilder sb=new StringBuilder("0."); while(N!=0) { N*=2; if(N>=1) { sb.append("1"); N-=1; }else { s
2022-02-15 23:08:30
260
原创 位运算0214
与&或|异或^ 实质上 是在或的基础上让1^1 的值也成为了0 仅使1^0的 值为1非(取反)~判断奇偶数x&1 =0则是偶数=1 则是奇数找出唯一的数A^A=00^B=B则A^ A ^ B^ C ^C=B不需要的凑偶数个 需要的保留奇数个确定哪些数据不需要 先对不需要的数据进行异或 初始值选择0然后再对数组进行异或 最后的结果就是多出来的数值总结:这种方法(异或法^)适用于 已经知道有哪些数据 且仅有唯一数据重复的情况import java.util.Ran
2022-02-14 21:00:44
365
原创 Struts2_2
结果页面配置全局结果页面1.result标签配置action方法的返回值 到不同的路径里如果有多个action 方法返回值相同 切 到的页面也是相同的 这个时候可以使用全局结果页面配置< global-results>< result name=“success”>/hello.jsp< /result>< /global-results>自己这里没有就来找全局结果页面局部结果页面局部结果页面优先于全局结果页面result标签的type属性
2021-11-28 21:49:24
282
原创 action的编写方式
action的编写方式action有三种编写方式1.创建普通类 这个类不继承任何类也不实现任何接口2.创建类 实现Action接口3.创建类 继承类ActionSupport访问Action的方法1.使用action标签的method属性 在这个属性里面写执行的action方法2.使用通配符方式实现< action name=“linkman_*” class=“xxx.xxx.xxx” method="{1}">< /action>3.动态访问实现(不用)ac
2021-11-28 20:35:08
3486
原创 分模块开发
1.单独写配置文件 把配置文件引入到核心配置文件中< include file=“com/wq/action/hello.xml”>< /include>
2021-11-28 17:39:50
160
原创 struts2常量配置
使用constant标签< constant name=“struts.i18n.encoding” value=“UTF-8”>< /constant>最常用的常量struts.i18n.encodingaction中获取表单提交数据表单post提交的数据 自动处理乱码问题
2021-11-28 17:25:39
132
原创 Struts2
1.导入jar包2.创建action3.配置action类的访问路径创建一个Struts2核心配置文件它的位置固定位置必须在src下边4.配置struts2过滤器struts.xml中的标签1.package标签区别不同的action 在package中才能配置actionname属性值与功能之间没有关系在一个配置文件中可以写多个package标签 但是name属性值是不能相同的extends属性属性值是固定的 struts-default表示写了这个属性之后 再package
2021-11-28 17:19:03
131
原创 手动开发一个struts
手动开发一个Struts1.先创建一个web工程2.把struts开发包引入到web工程3.编写login.jsp4.编写ActionForm和Action5.编写struts-config.xml文件 该文件用于配置action actionForm 对应关系 跳转位置 一般方法WEB-INF目录下6.编写welcome.jsp和error.jsp7.配置web.xml,该文件用于配置ActionServlet8.测试...
2021-11-28 15:27:04
219
原创 Struts
Struts的基本概念1.Struts是一个框架framest()2.Struts是一个web框架3.框架提高了程序规范的同时,也约束了程序员的自由Struts为什么有?Struts提供了一个基于MVC的web框架 统一了规范因为我们对MVC的理解不同 可能造成不同公司写程序的时候 规范不统一 这样不利于程序的维护和扩展 所以我们有必要用一个通用统一的规范来开发项目 ->框架StrutsStruts的好处1.程序更加规范化2.程序开发效率提高了3.程序可读性增加4.程序可维护性增
2021-11-27 20:03:58
209
原创 Filter的拦截路径
精确匹配< url-pattern>/target.jsp</ url-pattern>以上配置路径 表示请求地址必须为http://ip:port/工程路径/target.jsp目录匹配< url-pattern>/admin/</ url-pattern>以上配置路径 表示请求地址必须为http://ip:port/工程路径/admin/ *后缀名匹配< url-pattern>.html</ url-pattern>
2021-11-23 19:21:11
341
原创 FilterConfig类及FilterChain过滤器链
FilterConfig是Filter的配置文件类Tomcat 每次创建Filter类的时候同时会创建一个FilterConfig类 包含了Filter配置文件的配置信息FilterConfig类的作用FilterConfig类的作用是获取Filter过滤器的配置内容1.获取Filter的名称filter-name的内容2.获取filter中配置的init-param初始化参数3.获取ServletContext对象FilterChain 过滤器链多个过滤器是如何工作的请见下回分解..
2021-11-23 19:13:33
738
原创 Filter的生命周期
//这两个web工程启动的时候,就会执行1.构造器方法2.init初始化//每次拦截到请求,就会执行3.doFilter过滤方法//停止web工程的时候,就会执行4.destory销毁方法
2021-11-23 18:19:41
218
原创 Filter过滤器初体验
什么是Filter过滤器1.Filter是JavaEE的规范 也就是接口作用是 拦截请求 过滤相应拦截请求常见的应用场景1.权限检查2.日记操作3.事务管理…Filter过滤器的初体验
2021-11-23 18:08:35
519
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅