Java 虚拟机

本文详细介绍了javac命令的用法,如指定编译后的class文件存放路径及源文件编码格式。此外,还深入探讨了Java中类的私有成员访问机制,并对Unicode编码及其在Java中的实现进行了详尽的解释。

 

////////////////////////////////////////////////

javac -d  将生成的class文件到制定的目录下

 

在使用java命令时,-classpath 可以简写为-cp ,但是在javac不行,还是得乖乖的输入-classpath

-classpath有先后顺序的,不同的classpath存在相同的class名字的情况下,优先选择前者。

<java SE 6 全方位学习>

////////////////////////////////////////////////

在jvm里,所有class的私有成员都不允许在其他类里访问,包括它的inner class。

 而在java语言里inner class是可以访问父类的私有成员的

 

编译器自动给外部类添加一个默认权限的静态的方法(参数为这个外部类的对象),在这个静态方法中调用了外部类的一个私有方法。

内部类就能够访问到外部类的这个静态方法。从而实现了inner class 表面上看起来访问到了外部类的私有方法。

其实是间接的访问方式。

////////////////////////////////////////////////

Java Unicode编码深入学习

Unicode只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。

UTF-8只是Unicode字符集存储的实现一种方式。之所以流行是因为UTF-8解决了存储的浪费问题,实现也非常简单,兼容ASCII码。

UTF-8的编码规则很简单,只有二条:

1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。

2)对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。

 

已知“严”的unicode是4E25(100111000100101),“严”的UTF-8编码需要三个字节,即格式是“1110xxxx 10xxxxxx 10xxxxxx”。从“严”的最后一个二进制位开始,依次从后向前填入格式中的x,多出的位补0。这样就得到了,“严”的UTF-8编码是“11100100 10111000 10100101”,转换成十六进制就是E4B8A5。

 

汉字各种编码在线查询:http://bm.kdd.cc/index.asp

、、、、、、、、、、、、、、、、、、、

javac -encoding utf-8 Test.java

编译带有中文命名的java源文件,源文件Test.java编码为utf-8。

但是有一个文件输出的为“????”

////////////////////////////////////////////////

 

 

////////////////////////////////////////////////

////////////////////////////////////////////////

////////////////////////////////////////////////

////////////////////////////////////////////////

////////////////////////////////////////////////

源码地址: https://pan.quark.cn/s/3916362e5d0a 在C#编程平台下,构建一个曲线编辑器是一项融合了图形用户界面(GUI)构建、数据管理及数学运算的应用开发任务。 接下来将系统性地介绍这个曲线编辑器开发过程中的核心知识点:1. **定制曲线面板展示数据曲线**: - 控件选用:在C#的Windows Forms或WPF框架中,有多种控件可用于曲线呈现,例如PictureBox或用户自定义的UserControl。 通过处理重绘事件,借助Graphics对象执行绘图动作,如运用DrawCurve方法。 - 数据图形化:通过线性或贝塞尔曲线连接数据点,以呈现数据演变态势。 这要求掌握直线与曲线的数学描述,例如两点间的直线公式、三次贝塞尔曲线等。 - 坐标系统与缩放比例:构建X轴和Y轴,设定坐标标记,并开发缩放功能,使用户可察看不同区间内的数据。 2. **在时间轴上配置多个关键帧数据**: - 时间轴构建:开发一个时间轴组件,显示时间单位刻度,并允许用户在特定时间点设置关键帧。 时间可表现为连续形式或离散形式,关键帧对应于时间轴上的标识。 - 关键帧维护:利用数据结构(例如List或Dictionary)保存关键帧,涵盖时间戳和关联值。 需考虑关键帧的添加、移除及调整位置功能。 3. **调整关键帧数据,通过插值方法获得曲线**: - 插值方法:依据关键帧信息,选用插值方法(如线性插值、样条插值,特别是Catmull-Rom样条)生成平滑曲线。 这涉及数学运算,确保曲线在关键帧之间无缝衔接。 - 即时反馈:在编辑关键帧时,即时刷新曲线显示,优化用户体验。 4. **曲线数据的输出**: - 文件类型:挑选适宜的文件格式存储数据,例如XML、JSON或...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值