- 博客(84)
- 收藏
- 关注
原创 Java中equal和==的区别是什么
equal和"=="两者均为表示相等的意思,但是它们相等的含义却有所区别。"=="运用在基本数据类型的时候,通过比较他们实际的值来判定是否相同;而用于比较引用类型的时候,则是比较两个引用的地址是否相等,也就是是否指向同一个对象。equal方法是java.lang.Object的方法,也就是所有java类都会有的的方法。它可以被程序员覆盖重写,通过自定义的方式来判定两个对象是否相等。对应字符
2016-03-16 16:45:35 625
原创 请简叙Java中的main()方法
main()方法是Java程序的执行入口,它是一个定义在类中的、公开的、静态的、无返回值的、参数为一个字符串数组的方法,它的参数args与执行参数一一对应
2016-03-16 16:33:16 518
原创 如何理解Java中的装箱与拆箱
Java中的装箱和拆箱指的是基本数据类型和包装类型的自动互相转换,它为开发者提供了方便。开发人员也可以不使用它,而手动的进行类型转换。并且,这个自动转换过程是在编译阶段。
2016-03-16 16:27:25 680
原创 java包含哪些基本数据类型及其包装类
基本数据类型 byte short int float double boolean char包装类 Byte Short Integet Float Double Boolean Character
2016-03-16 16:20:33 495
原创 java的变量分哪两种大的数据类型
基本数据类型和引用数据类型。最大的区别在于,引用数据类型存放的是数据所在的地址,而基本数据类型则是直接存放数据的值。
2016-03-16 16:14:33 3474
原创 变量及其作用范围
ava变量可分为:静态变量、成员变量和局部变量3种。静态变量指的是在类中用static修饰的变量,它的生成周期是由类来决定的。成员变量则是在类中没有用static修饰的变量,它的生存周期是由对象来决定。局部变量则是定义在方法里的变量、方法的参数或代码块里定义的变量,它们的作用范围用大括号{}来界定。
2016-03-16 15:34:13 786
原创 java的引用和c++的指针有什么区别
java的引用和c++的指针主要有8点区别。本质上,它们两者都是想通过一个叫引用或者指针的东西,找到要操作的目标,方便在程序中操作。所不同的是java的方法更安全、方便一些、但失去了c++的灵活,也算是对指针的一种包装和改进。
2016-03-16 13:59:59 443
原创 java程序为什么无须delete语句进行内存回收
java的堆内存数据释放功能是由垃圾回收器自动进行的,无需程序员显式的调用delete方法。该机制有效的避免了因为程序员忘记释放内存而造成内存溢出的错误,相对于c++等需要显示释放内存的语言,是一种巨大的改进。
2016-03-16 13:47:03 729
原创 什么是JVM及其工作原理
JVM是用软件模拟出来的计算机,用于执行java程序,有一套非常严格的技术规范,是java跨平台特性的依赖基础。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统,它运行java程序就好像一台计算机运行c或c++程序一样。
2016-03-16 13:30:57 843
原创 java与c++程序在编译和运行上有什么区别
c++编码编译以后,生成的是特定机器可以直接运行的文件,而java源码经过编译后,生成的是中间的字节码文件。这些字节码文件是需要放在JVM中运行的,而JVM是有多个平台版本的。因此,Java具有跨平台性,而c++没有。
2016-03-16 13:24:59 582
原创 如何利用JDK编译和运行应用程序
利用JDK提供的javac命令来编译源文件,利用java命令来运行Java程序。为了更加方便的使用这两个命令,需要把/bin配置到Path环境变量中。
2016-03-16 13:18:02 1188
原创 JDK和JRE的区别是什么?它们各自有什么作用
JDK是java开发工具,它不仅仅提供了Java运行所需的JRE,还提供了一系列的编译、运行等工具,如javac、java、javaw等。JRE只是Java的运行环境,它最核心的内容就是JVM(Java虚拟机)及核心类库。
2016-03-16 13:10:00 961
原创 jak的下载与安装
jak下载www.oracle.comjdk安装路径D:\myjdk\Java\jdk1.8.0_73\jre安装路径D:\myjdk\Java\jre1.8.0_73\环境变量的配置计算机-》属性-》高级系统设置-》环境变量1.D:\myjdk\Java\jdk1.8.0_73\bin2.JAVA_HOME=D:\myjdk\Java\jd
2016-03-15 17:37:32 2539
原创 java内容介绍
java编程可以分成三个方向:1、java se (j2se)桌面开发 java中的基础中的基础2、java ee (j2ee)web开发3、java me (j2me)手机开发java se介绍java面向对象编程(基础)java图形界面开发java数据库编程java文件io流编程java网络编程java多线程编程
2016-03-15 10:37:19 384
原创 _beginthread
#include #include //线程#include void run(void *p){ MessageBoxA(0, "ABC", "QWE", 0);}void main(){ for (int i = 0; i { _beginthread(run, 0, NULL); }
2016-03-14 18:56:33 368
原创 MessageBoxA单线程
#include #include void main(){ MessageBoxA(0, "ABC", "QWE", 0); MessageBoxA(0, "ABC", "QWE", 0); MessageBoxA(0, "ABC", "QWE", 0); MessageBoxA(0, "ABC", "QWE", 0); Mess
2016-03-14 18:45:19 341
原创 线程和进程有和区别和联系、线程是否具有相同的堆栈、DLL是否具有独立的堆栈
进程是“死”的,只是一些资源的集合,真正的程序执行都是线程来完成的。在程序启动时,操作系统就帮助用户创建一个主线程。每个线程都有自己的堆栈。DLL数据库模式定义语言中没有独立的堆栈,这个问题不好回答,或者说这个问题本身是否有问题。因为DLL中的代码是被某些线程所执行,只有线程拥有堆栈,如果DLL中的代码是EXE中的线程所调用,那么这个时候是不是说这个DLL没有自己独立的堆栈?如果DLL中的
2016-03-14 17:27:57 1465
原创 死锁的处理
1.鸵鸟算法忽略该问题2.检测死锁并且恢复3.仔细对资源进行动态分配,以避免死锁4.通过破坏死锁产生的4个必要条件之一,来防止死锁产生
2016-03-14 17:12:07 292
原创 作业一般有哪些状态
作业载入系统中运行时,并不是一进系统就可以获得系统资源并运行的。就算是在作业的运行过程中,发生一些需要暂停的事件时,作业的状态也要发生变化。因此作业在系统中有多种状态。一个作业从进入系统到运行结束,一般要经历4个状态,分别是进入状态、后备状态、运行状态和完成状态。当作业信息经输入设备输送到输入井时,就是初进入状态的。当全部作业信息进入系统后,由操作系统把它们全部存放到输入井中,称为后备状态。当
2016-03-14 17:06:24 8716
原创 作业调度算法有哪些
作业调度是指按照时间周期(年、月、日、时、分、秒等)对作业进行分割,并根据业务需求、作业长度、存储管理及依赖性关系对作业的执行方式加以调度。主要任务是从作业后备队列中选择作业进入主存运行。作业调度的功能主要有以下几方面。记录各作业在系统中的状态;从后备队列中挑选一部分作业投入运行;从被选中的作业做好执行前的准备工作;在作业执行结束时,做善后处理工作。进行作业调度有很多作业调度算
2016-03-14 16:54:01 4357
原创 内存的管理方式有哪些
内存是操作系统的重要部分。操作系统中的内存管理指的是操作系统中管理内存使用的功能。主要包括向用户程序提供内存逻辑地址,并完成逻辑地址到物理地址的转换,完成用户程序的载入工作,采用各种技术提高内存使用率,保护内存及其安全等功能。内存管理模式有7种,包括无管理方式、单一分区、固定分区、可变分区、页、段和段页。目前最常用的是页式管理,下面介绍常见的5种:1.无管理方式是指内存不划分为系统区和用户
2016-03-14 16:27:11 3423
原创 资源的最小单位是什么
进程为应用程序运行实例,是应用程序的一次动态执行。进程是由进程控制块、程序段、数据段3部分组成。一个进程可以包含若干线程,使用线程可以实现应用程序同时做几件事并且互相不干扰。进程是操作系统进程资源分配的单位。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源。线程与同属于一个进程的其他线程共享进程所拥有的全部资源。一个线程可以创建
2016-03-14 16:01:24 4330 1
原创 操作系统的最小调度单位是什么
因为在现代操作系统中,同时运行着多个应用程序,而CPU的资源是有限的。如何高效的运行应用程序,并为其分配系统资源包括硬件资源和软件资源等,就是操作系统的调度。通过操作系统的调度算法,能够提高资源的利用率。现代的操作系统包括了进程和线程这两种调度单位。进程是指程序中正在运行的一个应用程序。线程是系统分配处理器时间资源的基本单位。对于操作系统而言,其调度单元是线程。一个进程至少包括一个线程,通常将
2016-03-14 15:48:59 16762
原创 比较常见的操作系统有哪些
操作系统根据任务的处理方式可以分为简单批处理系统、多道程序批处理系统、多道程序分时系统以及网络操作系统,下面对这几种系统详细介绍。1.简单的批处理系统:用户一次可以提交多个作业,但系统一次只处理一个作业,处理完一个作业后,再调入下一个作业进行处理。这些调度、切换系统自动完成。2.多道程序批处理系统:简单批处理系统一次只能处理一个作业,系统资源的利用率就不高,因此出现多道程序批处理系统。把同
2016-03-14 15:29:55 6615
原创 什么是操作系统
操作系统(Operating System简称OS),用于管理计算机系统的硬件资源、软件资源及数据资源,控制程序运行,提供操作接口,为其他应用软件提供支持等的软件系统。通过操作系统,可以使计算机系统最大限度地发挥所有资源的作用。操作系统是最靠近计算机硬件的一层系统软件。通过操作系统的硬件管理功能,将硬件裸机改造成为功能完善的一台虚拟机,使得计算机系统的使用和管理更加方便,并可以提高计算机资源的
2016-03-14 15:08:10 403
原创 什么是浅复制与深复制
浅复制又称浅拷贝,指的是在对象复制时,只是对对象中的数据成员进行简单的赋值,默认复制构造函数执行的也是浅复制。浅复制实例代码如下:#include using namespace std;class Test{public: Test(int temp) { p1 = temp; } Test(Test &c_t)
2016-03-14 14:45:37 839
原创 什么是复制构造函数
复制构造函数又称为拷贝构造函数,是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化。它存在唯一一个参数是不可变的。这个函数经常在函数调用期间于用户定义类型的值传递及返回。拷贝构造函数要调用基类的拷贝构造函数和成员函数。一般它使用常量方式调用,另外,它也可以用非常量方式调用。在c++中,有3中对象需要复制的情况。这时,复制构造函数将会被调用,具体如下。一个对象以
2016-03-14 13:58:06 5634
原创 死锁的4个必要条件
1.互斥条件:一个资源每次只能被一个进程使用。2.请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。3.不剥夺条件:进程已获得的资源,在没有使用完之前,不能强行剥夺。4.循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
2016-03-14 08:56:51 291
原创 进程死锁的原因
死锁是指两个或多个并发进程中,如果每个进程有某种资源而又都等待别的进程释放它们现有保持着的资源,否则就不能向前推进。此时,每个进程都占用了一定的资源但是又不能向前推进,称这一组进程产生了死锁。简单的说就是两个或多个进程无止境的等待着,永远不会成立的条件的一种系统状态。产生死锁的根本原因是系统能够提供的资源个数比要求该资源的进程少,具体原因如下系统资源不足系统推进顺序非法
2016-03-14 08:51:53 416
原创 如何实现多线程的同步
多线程是为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。通过使用多线程有以下几点好处:1.可以把占据长时间的程序中的任务作为一个单独的线程放到后台去处理。而用户界面可以继续响应用户的操作。例如用户单击一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度等。2.加快程序的处理速度。3.在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,可以释放一些资源如内
2016-03-14 08:37:02 1016
原创 进程与线程的区别
进程为应用程序的运行实例,是应用程序的一次动态执行。进程由进程控制块、程序段、数据段3部分组成。一个进程可以包含若干线程,使用线程可以实现应用程序同时做几件事情并且互相不干扰。进程是操作系统进行资源分配的单位。线程是进程的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源。线程与同属一个进程的其他线程共享进程拥有的全部资源。一个线程可以创建和撤
2016-03-14 08:13:40 211
原创 线程的创建-5
#include #include #include #include using namespace std;using namespace std::this_thread;void msgA(int num){ cout }void main(){ vector threads; for (int i = 0; i
2016-03-14 01:05:21 231
原创 MessageBoxA多线程-2
#include #include #include #include using namespace std;using namespace std::this_thread;void msg(){ MessageBoxA(0, "12345", "678910", 0);}void main(){ vector threads;
2016-03-14 00:58:45 308
原创 MessageBoxA多线程-1
#include #include #include using namespace std;using namespace std::this_thread;void msg(){ MessageBoxA(0, "12345", "678910", 0);}void main(){ auto n = thread::hardware_con
2016-03-14 00:46:06 568
原创 当前线程编号
#include #include #include using namespace std;using namespace std::this_thread;void main(){ auto n = thread::hardware_concurrency();//检测有多少cpu(核) cout //获得当前线程编号 cout
2016-03-14 00:38:18 907
原创 检测电脑cpu的个数
#include #include using namespace std;using namespace std::this_thread;void main(){ auto n = thread::hardware_concurrency();//检测有多少cpu(核) cout system("pause");}
2016-03-13 23:02:02 301
原创 银行客户排列问题
#define _CRT_SECURE_NO_WARNINGS#include #include void main(){ int a, b, c; int *pa, *pb, *pc; pa = &a; pb=&b; pc=&c; scanf("%d%d%d", pa, pb, pc); printf("%d,
2016-03-13 22:51:55 309
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人