Java基础补充

  • java在运行时才进行翻译指令
  • Java是从C++语言改进重新设计
  • Java 语言使用的字符码集是Unicode
  • Java程序经编译后会产生byte code
  • Java程序的种类有Applet, Application, Servlet
  • 使用JDK工具生成的Java文档的文件格式是HTML
  • 正确配置classpath的命令是

set classpath=C:\ProgramFiles\Java\jdk1.7.0_15\bin

  • windows中环境变量PATH中含有多个路径时,路径和路径之间可以;来隔开
  • 一个Java源文件中可以有多个类 但只可以有一个且必须有一个public修饰的与文件名同名的类,文件中的其他类则可以随意命名
  • 每个Java程序只能有一个main方法
  • 编译型语言:先将源代码编译成机器代码,然后机器执行机器码,执行效率高,依赖编译器,跨平台性差;解释型语言:源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行,依靠解释器、跨平台性好,执行速度慢、效率低;Java是解释型语言;低版本的jvm未必能执行高版本的Java编译后的文件
  • 如果对象的引用被置为null,只是断开了当前线程栈帧中对该对象的引用关系,而垃圾收集器是运行在后台的线程,只有当用户线程运行到安全点(safe point)或者安全区域才会扫描对象引用关系,扫描到对象没有被引用则会标记对象,这时候仍然不会立即释放该对象内存,因为有些对象是可恢复的(在finalize方法中恢复引用 )。只有确定了对象无法恢复引用的时候才会清除对象内存 ,因此需要运行到下一个垃圾回收周期
  • 用New创建的对象在JVM中通过GC Roots进行搜索判断是否可回收,但该对象可被回收时,如果需要也可执行finalize()方法自救
  • 判断一个对象是否可以被垃圾回收条件为是否还有对该对象的引用(X)
    引用计数法在JVM中不适用,因为会出现循环引用的问题,那么循环引用的对象就永远不能被回收
  • java的垃圾收集机制主要针对新生代和老年代的内存进行回收,不同的垃圾收集算法针对不同的区域。所以java的垃圾收集算法使用的是分代回收。一般java的对象首先进入新生代的Eden区域,当进行GC的时候会回收新生代的区域,新生代一般采用复制收集算法,将活着的对象复制到survivor区域中,如果survivor区域装在不下,就查看老年代是否有足够的空间装下新生代中的对象,如果能装下就装下,否则老年代就执行FULLGC回收自己,老年代还是装不下,就会抛出OutOfMemory的异常
  • 数组不是一个原生类
  • 从1到2048的所有整数中1的出现的个数是 1615
  • 中序遍历二叉排序树可以得到一个从小到大的有序序列
  • break continue return 关键字能跳出循环
  • 在方法外定义的变量被自动初始化,局部变量必须在使用之前做“手工”(由程序员进行)初始化
  • 线性查找是从一列给定的值中按顺序进行搜索的过程.当采用线性查找时,要求元素列表有序无序均可
  • java.swing不属于Java核心包

const char p1 = a;
char
const p2 = b;

p1是指向常量的指针,所指向的内容不能变,所以改变p1指向的值是不对的。
p2是一个指针常量,它本身的指向不能改变,所以对p2的下标操作是不对的。
编译器会给String末尾自动加\o

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值