自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chunyuan314的博客

天地有正气

  • 博客(9)
  • 资源 (4)
  • 收藏
  • 关注

原创 自制Java虚拟机-总结

自制Java虚拟机-总结项目介绍该项目的目的是从零开始用C语言做一个实验性质的Java虚拟机,实现大部分JVM指令,实现基本的面向对象特性(封装、继承、多态),能够运行一个不涉及Java本地方法调用的类(不能包含未实现的指令,见下面的指令实现情况),因为涉及到Java的本地方法(native method)还是比较麻烦的,暂时没有那么多时间精力去研究。 经过整理之后,代码托管到了github上。

2017-06-24 12:05:13 1934 3

原创 自制Java虚拟机(六)静态属性和静态方法(getstatic, putstatic, invokestatic, <clinit>)

自制Java虚拟机(六)静态属性和静态方法(getstatic, putstatic, invokestatic, )Java中,静态属性和静态方法都是属于类的,类的诸多实例共享同一个静态属性和静态方法。操作实例属性和实例方法的指令分别为:getfield、putfield、invokespecial、invokevirtual等,至于静态属性和静态方法,对应的指令为getstatic、putsta

2017-06-15 00:30:33 9566

原创 利用mysqldump导出数据库的子集

利用mysqldump导出数据库的子集一、引言假如:你有一个非常大的正式数据库,和一个空的测试数据库需要把正式数据库中的部分数据导到测试数据库中用来测试,同时,希望导入的数据尽可能的保持一致性、完备性比如,有一个商城的数据库,你希望导出其中的部分数据到测试数据库中,导入的两个主要依据是:用户表user:购买了商品的部分用户和没有购买商品的部分用户商品表goods:部分已经有过购买的商品和

2017-06-14 14:40:48 578

原创 windows下Mysql批量备份多个表

windows下Mysql批量备份多个表如果:数据库太大(几十个G),不想备份成一个文件,而是每个表备份成一个文件备份耗时太长(几个小时)数据表太多,不想一个一个表手工导出需要把数据备份成sql格式可以采用如下脚本批量备份多个表:@echo offset MysqlDumpPath=D:\mysql\bin\mysqldumpset dbhost=localhostset dbuse

2017-06-14 10:16:54 2694

原创 自制Java虚拟机(五)实现继承、多态、invokevirtual

自制Java虚拟机(五)实现继承、多态、invokevirtual本篇文章将研究如何实现面向对象的继承和多态特性,同时实现invokevirtual。一、实例属性的继承继承实现了数据与方法的复用。类属性与实例属性类属性的修饰符要加上static,是属于类的类属性只有一份,该类创建的多个对象共享同一份类属性,jvm中由getstatic、putstatic指令操作实例属性每个对象各自一份,各管各

2017-06-07 19:12:27 2659 2

原创 自制Java虚拟机(四)-对象、new、invokespecial

自制Java虚拟机(四)-对象、new、invokespecial一、对象的表示刚开始学Java的时候,图书馆各种教程,书名往往都是“Java面向对象高级编程”,通常作者都会与C++做个比较,列出的优点往往都有纯面向对象、自动垃圾收集(不用管理内存)、跨平台(Write once, run everywhere 是宣传的重点,前提是需要在每个平台上安装jvm)、没有指针(后来证明是有的)、安全等。本

2017-06-04 09:32:19 2862

原创 自制Java虚拟机(三)运行第一个main函数

自制Java虚拟机(三)运行第一个main函数一、执行指令的一般模型Java虚拟机有200多条指令,用switch-case来一一匹配并执行每个指令,显得过于臃肿又不灵活。我们可以把每个指令用一个函数实现,遇到指令就调用相应的函数处理之。这个函数应该知道它所处理指令的上下文,包括当前指令位置、当前类、当前帧等,这些我们都封装在一个结构体内,通过指针传给函数。函数太多,我们把它们组织到一个数组里,以o

2017-06-03 11:49:46 1705

原创 自制Java虚拟机(二)指令、帧/栈帧

自制Java虚拟机(二)指令、帧/栈帧上篇文章中,我们已经成功地解析了class文件,包括其中的常量池(constant_pool)和代码(code),一个很直接的思路就是实现jvm的200多条指令,然后找到main方法,执行里面的指令。一、初识jvm指令一条java虚拟机由一个指明需要执行操作的opcode,以及后面跟着的0个 或多个被操作的值组成。jvm指令是基于栈的,意味着这些指令不直接操作寄

2017-06-02 22:06:21 1149

原创 自制Java 虚拟机(一)解析class文件

自制Java 虚拟机(一)解析class文件一、认识class文件结构一个.java后缀的java源文件,经过javac编译之后的字节码文件,结构如下:(摘自jvm虚拟机规范 version8)ClassFile { u4 magic; // 魔数,值为 0xCAFEBABE,表示这是一个java class文件 u2 minor_ve

2017-06-01 23:05:15 1326

GUN C Library Reference Manual

GUN下的C库参考手册,英文版。做linux下C开发的必不可少的参考手册。

2009-09-24

The Java Programming Language 4th edition

Java 编程语言第四版。纯英文版,但并不难懂。言简意赅,让你掌握Java的要点。

2009-09-24

80X86汇编pdf

本pdf文档详细描述了如何在80X86体系下汇编编程 本pdf文档详细描述了如何在80X86体系下汇编编程 本pdf文档详细描述了如何在80X86体系下汇编编程

2009-05-17

c++hanshudaquan

很好,很强大。认真学完后,肯定让你c++内功大增!

2008-11-03

空空如也

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

TA关注的人

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