摘要:
用TCP通信模型创建一个web服务器 主要用ServerSocket 一直监听,这里将其放到while循环中,在循环体内单开一个线程 public class MyWebServer { public static void main(String[] args) throws IOException { ServerSocket ss=new ServerSocket(8... 阅读全文
摘要:
反射机制的原理 一般来说,如果想生成一个类的对象,那么运行这个程序的JVM会去确认这个类的class对象是否已经加载。如果尚未加载,那么JVM会根据类名查找.class文件,并将其载入,一旦这个类的class对象被载入内存,它就可以被用来创建这个类的的所有对象 另外如果遇到一个未知类型的引用,(JVM?)通常会采用强制类型转换的形式来得到开发者想要的类型引用,如果执行了错误的类型... 阅读全文
摘要:
引言 对于Java中的垃圾回收机制,我们需要了解几个方面,本文也是从这几个方面通过回答这些问题而弄明白Java中的垃圾是如何回收的 首先我们要知道哪些内存需要回收,这一部分涉及到的算法有引用计数算法,根搜算法,但引用计数算法无法解决对象之间相互循环引用的问题。 知道了哪些内存需要回收之后,我们还需要知道什么时候回收这些垃圾内存,这就涉及到分代收集算法,而分代回收算法是以几个... 阅读全文
摘要:
引言 这一章讲的是Java虚拟机的内存区域可以分为几个部分,书中讲到可以分为五个部分:分别是堆、栈、程序计数器、方法区、本地方法栈 其中堆里存放了对象的实例 而常说的基本数据类型,以及对象的引用就是存放在栈中的,其实更确切的说是存放在虚拟机栈的局部变量表中,虚拟机栈除了局部变量表之外,还担任了描述的是Java方法执行过程内存模型的职责; 每个方法被执行时都会在虚拟机栈... 阅读全文
摘要:
关于线程和进程 线程是进程的一个执行单元,它和进程一样拥有独立的执行控制,由操作系统负责调度,它们俩的区别可以用一句话概括之,那就是进程是程序的一次执行,而线程可以理解为进程执行的一段程序片段,也就是说它们是一种包含关系,线程不能独立运行,必须依存在进程之中 另外从资源分配的角度上看,进程是系统进行资源分配和调度的一个独立单位,而线程自己基本上不拥有系统资源,只拥有一点在运行中必... 阅读全文
摘要:
创建文件 File file=new File("c:/test.txt"); if (!file.exists()) { try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } 得到目录下文件名列... 阅读全文
摘要:
数组 Java中的数组是一个类 Java中数组作为一个特殊的类,也是不同于C++的一点表现,既然Java中的数组是一个类,那么字符串数组和整型数组的类名是一样的吗?答案是否定的,整型数组的类名是[I,而字符串数组的类名是[Ljava.lang.String。 存储数组中的元素 另外Java中数组... 阅读全文
摘要:
Java的三种变量 静态变量,属于一个类,生命周期由该类来决定,用的时候最好用类名.静态变量名来用,而不是用实例对象.静态变量名来使用它 成员变量,属于一个对象,生命周期由该对象来决定 局部变量,定义在方法中的局部变量,属于一个方法,生命周期由该方法来决定;定义在一个代码块,比如if,for语句或... 阅读全文
摘要:
引言 本文从应用的角度出发,使用Libsvm函数库解决SVM模型的分类与回归问题 首先说明一下实验数据,实验数据是Libsvm自带的heart_sacle,是个mat文件 加载数据集 将mat文件导入MATLAB后会有270*13的实例矩阵变量heart_scale_inst和270*1的标签矩阵heart_scale_label ... 阅读全文
摘要:
String对象的两种创建方式 关于String有很多问题,首先关于String的创建,有两种创建方式 String x = "abc"; String z = new String("abc"); 那么这两种方式有什么不同呢 两者的不同 其实这两种方式创建的"abc"并不在一个地方,第一句的真... 阅读全文