猿人林克
飘渺一人
十年程序猿,早期研究各类源码,现在致力于新产品先的推进,把技术和思维转化为利润
展开
-
Java千百问_01基本概念(001)_什么是Java
点击进入_更多_Java千百问1、什么是JavaJava是一种开发语言(核心特点:跨平台,面向对象,名称由来看这里:J2EE里面的2是什么意思),对于开发者来讲,Java基本等于Jdk。Jdk的版本介绍看这里:[Java都有那些版本][3]开发人员一般通过IDE(Eclipse、NetBeans、JBuilder等)编写、编译Java代码(在远古没有IDE的时代,都是用文本编辑器编写,使用javac原创 2016-07-17 10:15:43 · 3160 阅读 · 0 评论 -
Java千百问_01基本概念(002)_Java都有那些版本
点击进入_更多_Java千百问1、Java都有那些版本Java最初由sun公司出品,2009年被orcale公司(即甲骨文)收购,它的版本体系分为两个纬度,纵向和横向。 纵向的版本即为我们常说的Jdk版本,通过近20年的时间,从1996年正式发布1.0版本,发展到2014年的8.0版本。 横向的版本即为我们所说的Java体系,从Java 2.0开始有所区分。2、什么是Java体系Java SE(原创 2016-07-17 10:16:57 · 3371 阅读 · 0 评论 -
Java千百问_01基本概念(003)_J2EE里面的2是什么意思
点击进入_更多_Java千百问1、J2EE里面的2是什么意思J2SE,J2SE,J2ME中2的含义要追溯要1998年。 1998年Java 1.2版本发布,1999年发布Java 1.2的标准版,企业版,微型版三个版本,为了区分这三个版本,分别叫做Java2SE,Java2EE,Java2ME,简称J2SE,J2EE,J2ME。故,2的含义为1.2版本。 但是,这种叫法已经在2005年Java原创 2016-07-17 10:59:29 · 3441 阅读 · 1 评论 -
Java千百问_01基本概念(004)_Java都能做些什么
点击进入_更多_Java千百问1、Java都能做些什么在讨论Java能干什么之前,我们要说一下软件系统的体系结构。你不知道Java是什么?请看这里:什么是Java2、什么是纯C架构系统完全脱离网络就可独立使用的软件系统(即客户端C,client),这类软件不受限于网络,只依赖于操作系统。 如:PC上的word、视频播放器等软件。3、什么是C/S架构系统拥有自己独立的一个或多个服务端系统(即服务端S原创 2016-07-17 11:02:42 · 2860 阅读 · 1 评论 -
Java千百问_01基本概念(005)_如何安装和配置Jdk
如何安装Java想要安装java,也就是我们所知的Jdk,需要先去官网下载。在oracle的Java官网可以下载到任意版本的Jdk,我们可以下载最新版本的安装包(也可以下载绿色版,不过需要自行配置环境变量)。安装之后,我们就可以使用Java开发程序了。这里要说的是,如果自行配置环境变量,针对不同的操作系统配置方式差异较大。原创 2016-03-16 20:54:41 · 2323 阅读 · 0 评论 -
Java千百问_01基本概念(006)_线程和进程有什么区别
点击进入_更多_Java千百问1、进程是什么进程(process)是具有一定独立功能的程序,操作系统利用进程把工作划分为一些功能单元。进程是进行资源分配和调度的一个独立单位。它还拥有一个私有的虚拟地址空间,该空间仅能被它所包含的线程访问。一个应用程序(application)是由一个或多个相互协作的进程组成的。例如,Visual Studio开发环境就是利用一个进程编辑源文件,并利用另一个进程完成编原创 2016-05-21 09:52:08 · 5773 阅读 · 2 评论 -
Java千百问_01基本概念(007)_线程的状态有哪些
点击进入_更多_Java千百问1、线程的状态有哪些在java中java.lang.Thread类有一个变量threadStatus,标示了该线程的当前状态,它是一个int类型,但是对应的get方法返回值是一个枚举(Thread的内部类),源码如下:public enum State { /** * Thread state for a thread which ha原创 2016-06-05 16:53:33 · 6918 阅读 · 6 评论 -
Java千百问_01基本概念(008)_jar是什么
点击进入_更多_Java千百问1、jar是什么JAR(Java Archive)是一个独立于平台的文件格式。可以包含多个文件,若干Java applet及其必要的组件(.class文件、图片和声音等)可以被打包在一个JAR文件中。了解JavaApplet看这里:JavaApplet是什么JAR文件格式以各种操作系统均能够压缩/解压的zip文件格式为基础。与zip不同的是,jar文件不仅仅用于压缩和发原创 2016-06-09 07:06:11 · 3226 阅读 · 0 评论 -
Java千百问_01基本概念(009)_CLASSPATH是什么
点击进入_更多_Java千百问1、CLASSPATH是什么CLASSPATH是Java解释器中用来指定搜索包路径的集合,Java解释器是这样工作的:Java解释器找到环境变量CLASSPATH(将Java或者具有Java解释能力的工具,如浏览器,安装到机器中时,通过操作系统环境变量进行设定)。CLASSPATH包含了一个或多个目录,它们作为一种特殊的“根路径”使用,从这里展开对.class文件的原创 2016-06-10 08:49:05 · 3022 阅读 · 0 评论 -
Java千百问_01基本概念(010)_Solaris操作系统是什么
点击进入_更多_Java千百问1、Solaris操作系统是什么Solaris是Sun公司研发的计算机操作系统。它是UNIX操作系统的衍生版本之一。 目前Solaris属于混合开源软件。2005年6月14日,Sun公司将正在开发中的Solaris 11的源代码开放,这版本就是OpenSolaris。Sun的操作系统最初叫做SunOS,由于Sun的创始人之一Bill Joy来自于U.C.Berkeley原创 2016-06-11 08:24:28 · 2768 阅读 · 0 评论 -
Java千百问_01基本概念(011)_JavaApplet是什么
点击进入_更多_Java千百问1、JavaApplet是什么Applet是采用Java编程语言编写的小应用程序,该程序可以包含在HTML(标准通用标记语言的一个应用)页中,与在页中包含图像的方式大致相同。Applet不需要main()方法,由Web浏览器中内嵌的Java虚拟机调用执行。在Java Applet中,可以实现图形绘制、字体和颜色控制、动画和声音的插入、人机交互及网络交流等功能。Apple原创 2016-06-11 11:08:06 · 2931 阅读 · 0 评论 -
Java千百问_01基本概念(012)_Socket是什么
点击进入_更多_Java千百问1、什么是SocketSocket也称作“套接字”。网络上的两个应用程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket,所以Socket都是成对出现的。Socket通常用来实现客户方和服务方的连接,一个Socket由一个IP地址和一个端口号唯一确定。Socket是TCP/IP协议的一个十分流行的解决方案,是支持TCP/IP协议的网络通信的基原创 2016-06-18 09:28:42 · 3896 阅读 · 0 评论 -
Java千百问_01基本概念(013)_Socket、SocketChannel有什么区别
点击进入_更多_Java千百问1、Socket、SocketChannel有什么区别了解Socket看这里:Socket是什么 Socket、SocketChannel二者的实质都是一样的,都是为了实现客户端与服务器端的连接而存在的,但是在使用上,却有很大的区别。具体如下:所属包不同 Socket在java.net包中,而SocketChannel在java.nio包中。异步方式不同 从包的不原创 2016-06-19 10:46:08 · 7032 阅读 · 2 评论 -
Java千百问_01基本概念(014)_同步、异步有什么区别
点击进入_更多_Java千百问1、同步、异步有什么区别在进行网络编程时,我们通常会看到同步、异步、阻塞、非阻塞四种调用方式以及他们的组合。 了解阻塞、非阻塞看这里:[阻塞、非阻塞有什么区别][2] [2]:其中同步方式、异步方式主要是由客户端(client)控制的,具体如下:同步(Sync)所谓同步,就是发出一个功能调用时,在没有得到结果之前,该调用就不返回或继续执行后续操作。 根据这个定义,原创 2016-06-25 09:49:40 · 3408 阅读 · 2 评论 -
Java千百问_01基本概念(015)_阻塞、非阻塞有什么区别
点击进入_更多_Java千百问1、阻塞、非阻塞有什么区别在进行网络编程时,我们通常会看到同步、异步、阻塞、非阻塞四种调用方式以及他们的组合。 了解同步、异步看这里:同步、异步有什么区别 其中阻塞方式、 非阻塞方式主要是针对服务端(server)的,具体如下:阻塞(Block)阻塞调用是指调用结果返回之前,当前线程会被挂起。挂起即线程进入非可执行状态,在这个状态下,cpu不会给线程分配时间片,即线原创 2016-06-26 08:25:53 · 4483 阅读 · 1 评论 -
Java千百问_01基本概念(016)_32位和64位计算机有什么区别
点击进入_更多_Java千百问1、32位和64位计算机有什么区别我们通常说的32位、64位计算机是指计算机的CPU位数。当然很早还有8位、16位的CPU,以Intel的80x86系列来说,8位的8080,16位的8086、8088、80186、80286,而32位的CPU最早始于80386,64位就是大家熟悉的EM64T技术以及AMD的x86-64。当然不同的厂商间同位数的CPU内部有很大的区别,但原创 2016-07-02 11:53:38 · 3869 阅读 · 1 评论 -
Java千百问_01基本概念(017)_内存物理地址在CPU中如何形成
点击进入_更多_Java千百问1、什么是内存的物理地址我们通过8086CPU来说明内存地址是如何形成的。首先我们要了解物理地址,当CPU需要访问一个内存单元时,需要给出内存单元的地址,而每一个内存单元在物理内存空间中都有一个唯一的地址,即可以通过这个地址定位到内存单元,而这个地址即为物理地址。CPU通过地址总线将一个内存单元的物理地址送入存储器,而后CPU便可以通过这个物理地址来访问这个物理地址所指原创 2016-07-09 09:20:32 · 3475 阅读 · 0 评论 -
Java千百问_02基本使用(001)_如何用记事本编写Java程序
在安装完Jdk之后,我们就想编写java程序,但是,有了Jdk之后就够了吗?就能够写我们的程序实现我们想要的功能吗?答案是:当然!在远古时代,那时候我们还没有集成好的开发软件,没有各种个样的IDE,我们只能靠着记事本来一点一点码我们的代码,经历过那段时光的同学,但凡你敢说你能写代码,就会有各种牛逼企业请你去,风光无限啊。原创 2016-03-17 22:26:47 · 2543 阅读 · 0 评论 -
Java千百问_02基本使用(002)_为什么会报"错误: 找不到或无法加载主类 HelloWord.class"
java工具只认识类名,而不认识文件,执行时,它会遍历所在路径的类,如果找不到就会报:"错误: 找不到或无法加载主类 HelloWord.class"原创 2016-03-17 22:39:49 · 3055 阅读 · 0 评论 -
Java千百问_02基本使用(003)_不使用IDE如何打jar包
jar包,最直白的感受就是后缀是.jar的一种压缩文件,它是以zip文件格式为基础的压缩包。与zip文件不同的是,jar文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序。jar包可以被类似Jvm这样的工具直接使用,通过MANIFEST、部署描述符等特殊文件,来指示工具处理特定的jar。jar包大体分为2种,可执行jar包,不可执行jar包。目前大多数的jar包都是不可被执行的,这类jar包就是提供给其他应用显现某些特定功能的。而可执行jar包可以在java环境上直接运行,大多数体现为小原创 2016-03-18 11:44:23 · 3329 阅读 · 0 评论 -
Java千百问_02基本使用(004)_java开发应该使用什么工具
如果想编写大量的java代码,使用记事本开发费时又费力,而且非常容易出错,也不能很方便的编译运行,效率非常低。在这种情况下,一款快捷、宜用的开发工具就非常必要了。开发Java,根据开发方向的不同,我们会选择不同的工具,最为普遍的就是免费的Eclipse、NetBeans,收费的MyEclipse、JBuilder等,这些都属于集成开发环境(即IDE),我们首先看看什么是开发领域的IDE。原创 2016-03-21 12:43:21 · 5883 阅读 · 0 评论 -
Java千百问_02基本使用(005)_Mac环境下无法打开eclipse怎么办
有很大的可能是eclipse没有指定jdk版本路径,启动时候加载不到jdk导致的闪退。废话不多说,直接说解决办法。原创 2016-03-23 11:37:26 · 1802 阅读 · 0 评论 -
Java千百问_02基本使用(006)_eclipse如何保存时格式化
点击进入_更多_Java千百问1、eclipse如何打开保存时格式化我们都知道,为了让代码可读性更高,eclipse提供了代码格式化的功能,一般指定了对应format文件(eclipse会默认自带)后,通过快捷键Ctrl+Shift+F来进行格式化。然而,很多时候并不方便,而且在修改完代码后容易忘记。其实还有一种更好的方法:保存时自动格式化。每次保存都会自动格式化,十分方便。方法如下:具体方法:wi原创 2016-05-28 08:51:26 · 4095 阅读 · 0 评论 -
Java千百问_02基本使用(007)_eclipse变量高亮如何打开
点击进入_更多_Java千百问1、eclipse变量高亮如何打开在开发中,我们经常会有这样的需求:想看某个变量或者方法在哪里被使用。eclipse提供了这样的功能,在选中变量后,会在同一文本中显示所有该关键字出现的地方那个,加上灰色背景高亮。开启/关闭该功能:windows-> preferences->java->Editor->Mark Occurrences选中“Mark Occurrence原创 2016-05-28 09:53:25 · 4022 阅读 · 0 评论 -
Java千百问_02基本使用(008)_eclipse如何关闭代码验证
点击进入_更多_Java千百问1、eclipse如何关闭代码验证我们知道eclipse会在编译时对java代码、文本、标记文本等等进行验证,但是,这个过程在文件多的时候非常缓慢,通常会影响我们的开发效率。这里我们介绍一下如何选择性关闭这个功能。选择性关闭:具体方法:windows–>Preferences–>Validation在下面有一个列表,可以根据自己需要选择关闭验证功能(选中状态是需要验证)原创 2016-06-04 08:24:27 · 4593 阅读 · 0 评论 -
Java千百问_02基本使用(009)_eclipse如何设置BuildPath
点击进入_更多_Java千百问1、eclipse如何设置BuildPath我们知道运行java应用需要依赖jre以及程序中使用的第三方jar包,我们使用java命令运行时,一般会手工指定-classpath(默认为操作系统的CLASSPATH环境变量),eclipse提供了方便的引入功能,针对不同工程可以选择加载不同的classpath。了解java如何运行看这里:[java程序如何运行][2]原创 2016-06-18 07:56:16 · 3677 阅读 · 0 评论 -
Java千百问_02基本使用(010)_java、javax、sun、org包有什么区别
点击进入_更多_Java千百问1、java、javax、sun、org包有什么区别java、javax、org、sun包都是jdk提供的类包,且都是在rt.jar中。rt.jar是JAVA基础类库(java核心框架中很重要的包),包含lang在内的大部分功能,而且rt.jar默认就在根classloader的加载路径里面,所以放在classpath是多此一举 。他们之间的区别具体如下: 了解jav原创 2016-06-18 10:01:48 · 8031 阅读 · 0 评论 -
Java千百问_02基本使用(011)_如何编写单线程Socket程序
点击进入_更多_Java千百问1、如何编写单线程Socket程序了解Socket看这里:Socket是什么 编写Socket最简单的就是单线程的Socket,但基本上是没有实用意义的,因为在实际的应用中基本上是不止于一个Client的。一般都是多线程Socket程序。了解多线程Socket看这里:如何编写多线程Socket程序 要编写Socket,需要了解java.net包中提供了两个类Sock原创 2016-06-19 12:26:13 · 2595 阅读 · 1 评论 -
Java千百问_02基本使用(012)_如何编写多线程Socket程序
点击进入_更多_Java千百问1、如何编写多线程Socket程序了解Socket看这里:Socket是什么 多线程Socket与单线程类似,只是使用了多线程的方式来管理连接,主线程负责接收连接,在接到连接后变创建新的线程,每个线程负责与自己的客户端进行通信。了解单线程Socket看这里:如何编写单多线程Socket程序与单线程Socket例子相比来说,服务端可以与多个客户端进行通信了,不过多线程频原创 2016-06-19 10:14:34 · 2551 阅读 · 2 评论 -
Java千百问_02基本使用(012)_如何编写非阻塞SocketChannel程序
点击进入_更多_Java千百问1、如何编写非阻塞SocketChannel程序了解Socket看这里:Socket是什么 了解 SocketChannel看这里:Socket、SocketChannel有什么区别使用SocketChannel的最大好处就是可以进行非阻塞IO,每次链接后都会直接返回,不会阻塞线程。将需要多个线程的任务通过几个线程就能完成,降低了了性能消耗。了解阻塞、非阻塞看这里:阻原创 2016-07-03 07:53:51 · 2774 阅读 · 0 评论 -
Java千百问_02基本使用(013)_linux系统如何管理环境变量
点击进入_更多_Java千百问1、linux系统如何管理环境变量我们都知道windows的环境变量的配置已经完全被图形化了,我们可以在我的电脑的属性中简单的进行配置,那么对于linux这样没有图形化配置的操作系统应该如何配置呢?我们具体来看:linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。具体配置原创 2016-07-10 10:05:36 · 2851 阅读 · 0 评论 -
Java千百问_02基本使用(014)_mac系统如何管理环境变量
点击进入_更多_Java千百问-基本使用1、mac系统如何管理环境变量mac系统中管理环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。具体配置方法如下:系统级通过修改./etc/profile文件来配置,全局(公有)配置,不管是哪个用户,登录时都会读取该文件。不建议修改这个文件。用户级./etc/bashrc原创 2016-07-30 09:08:52 · 2060 阅读 · 1 评论 -
Java千百问_02基本使用(015)_java如何通过汇编方式运行
点击进入_更多_Java千百问-基本使用1、java如何通过汇编方式运行java本身不能通过汇编方式运行。但是,我们可以通过某些插件,在运行中将java代码解释为汇编指令,让我们能够通过分析执行的汇编指令来查找一些问题,也可以帮助我们分析和理解JVM是如何解释和编译的(当然java本身的编译和运行和汇编无关)。PrintAssembly是JVM的一个运行参数,它允许我们获取在控制台打印java代码翻原创 2016-07-23 08:40:40 · 3576 阅读 · 3 评论 -
Java千百问_03基本语法(001)_局部变量、类变量、实例变量有什么区别
在聊局部变量、类变量、实例变量有什么区别之前,我们需要了解一下Java变量。1、Java变量是什么在数学世界中,我们知道有常量、变量。举一个例子,小红和小蓝每个人都有带了钱,小蓝带了5元,小红的钱比小蓝多10元。对于这样一个场景,我们一般会使用方程式表达:设小红的钱为x,小蓝的钱为y,其中x,y都是数字,得出方程式:原创 2016-03-24 11:06:46 · 4928 阅读 · 0 评论 -
Java千百问_03基本语法(002)_java都有哪些关键字
关键字是电脑语言里事先定义的,有特别意义的标识符,又叫保留字。Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等等,Java规定关键字不能用作标识符(包括变量名、方法名、类名、包名和参数等等)。原创 2016-03-25 10:03:10 · 1825 阅读 · 0 评论 -
Java千百问_03基本语法(003)_public、privite、protected有什么区别
首先,public、privite、protected都是Java的修饰符,我们先看看Java修饰符是什么1、java修饰符是什么Java修饰符是用来修饰Java中的标识符(包括变量名、方法名、类名、包名和参数名等等)的,用来改变它们的含义的关键词。 Java语言有各种各样修饰符,大体分为两类:访问控制修饰符、非访问控制修饰符。原创 2016-03-25 18:31:20 · 2874 阅读 · 0 评论 -
Java千百问_03基本语法(004)_java中的运算符都有哪些
Java提供了丰富的运算符来操纵变量。我们可以把所有的Java操作符为以下几组(除位运算和其它运算符之外,其他几种操作无几乎是java中使用频率最高的语法):算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符、其它运算符下面来仔细说明。原创 2016-03-28 19:25:17 · 3067 阅读 · 1 评论 -
Java千百问_03基本语法(005)_二进制是怎样做位运算的
程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说白了,就是直接对整数在内存中的二进制位进行操作。大部分运算流程都是先将整数转换为二进制,然后进行相应二进制操作。常见的操作有如下几种:我们详细说明原创 2016-03-29 21:30:47 · 2020 阅读 · 0 评论 -
Java千百问_03基本语法(006)_java运算符的优先级是怎样的
运算符优先级决定运算的顺序,这会影响一个表达式如何计算。例如x= 7+3* 2;这里x被赋值13,而不是20,因为运算符*的优先级高于+,所以它首先被乘以3 * 2,然后加7。这里整理了运算符的优先级,优先级高的在列表顶部,低的在底部。在运算表达式中,优先级较高的运算符将首先计算。原创 2016-03-30 21:14:54 · 1726 阅读 · 0 评论 -
Java千百问_03基本语法(007)_if else如何使用
java中if else语句,是用来做逻辑判断的语法。使用方式非常简单,可以用if做单独判断,可以用if...else if...else做多逻辑判断,还可以嵌套使用。可以说是java中使用最为广泛的语句。下面来说明这个语句具体如何使用。1、if语句如何单独使用:原创 2016-03-31 21:15:26 · 4589 阅读 · 0 评论