java和C++的语法区别—1
C++与Java的语法区别
首先,两个大的不同是主函数和怎样编译的不同,接下来是许多小的区别。
main 函数
C++
//自由浮动的函数
int main( int argc, char* argv[])
{
printf( "Hello, world" );
}
Java
// 每个函数都必须是一个类的一部分;当java <class>运行是一个特定类的主函数会被调用
// (因此你可以让每个类都有一个main函数,这在写单元测试是很有用)
class HelloWorld
{
public static void main(String args[])
{
System.out.println( "Hello, World" );
}
}
类的声明
除了 Java 不要求用分号外几乎是相同的。
C++
class Bar {};
Java
class Bar {}
方法声明
都相同的, 除了在Java,方法必须总是某个类的一部分并且可能public/private/protected 作为修饰
构造函数和析构函数
构造函数都是相同的 (即类的名字), Java没有准确意义上的的析构函数
静态成员函数和变量
方法声明是相同的, 但 Java 提供静态初始化块来来初始化静态变量 (不需要在源文件中声明):
class Foo
{
static private int x;
// 静态初始化块
{ x = 5; }
}
对象的声明
C++
// 在栈中
myClass x;
//或者在堆中
myClass *x = new myClass;
Java
// 总是在对堆中声明
myClass x = new myClass();
继 承
C++
class Foo : public Bar
{ ... };
Java
class Foo extends Bar
{ ... }
访问级别 (abstraction barriers)
C++
public:
void foo();
void bar();
Java
public void foo();
public void bar();
虚函数
C++
 
相关文档:
3.Sun HotSpot
1.4.1 JVM堆大小的调整
Sun HotSpot 1.4.1使用分代收集器,它把堆分为三个主要的域:新域、旧域以及永久域。Jvm生成的所有新对象放在新域中。一旦对象经历了一定数量的垃圾收集循环后,便获得使用期并进入旧域。在永久域中jvm则存储class和method对象。就配置而言,永久域是一个独立域并且不 ......
1. 你需要精通面向对象分析与设计(OOAOOD)、涉及模式(GOF,J2EEDP)以及综合模式。你应该了解UML,尤其是class、object、interaction以及statediagrams. 2. 你需要学习Java语言的基础知识以及它的核心类库(collections、serialization、streams、networking、multithreading、reflection、event、handling、N ......
/*当执行SQL时发现不能连接数据库,先重连一次*/
import java.io.FileInputStream;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
......
String 与 StringBuffer区别:
String字符串对象是不可变的;StringBuffer是变长和可写的动态字符序列,可以自动地增加空间。
Integer var = new Integer();//有语法错误
Integer var = new Integer(2);//是对的
java的Vector成员是要用elementAt(i)成员函数来获得的,不能用ve[i]得到。
Vector::public Enumeration& ......
解决栈和堆内存溢出办法要设置环境内存变量:
1、在运行界面(cmd进入)中运行命令:java -Xms256m -Xmx1024m,维护上下限内存参数,最大内存不能错过系统内存的1/4,最小内存不能小于最大内存的1/4
2、在Tommcat /bin路径下,如果是安装版需要service.bat文件,此文件在解压缩版里。
3、 在运行界面(cmd进入)中
......