Java

JAVA面试题解惑系列(四)——final、finally和

好东西分享final、finally和finalize的区别是什么?这是一道再经典不过的面试题了,我们在各个公司的面试题中几乎都能看到它的身影。final、finally和finalize虽然长得像孪生三兄弟一样,但是它们的含义和用法却是大相径庭。这一次我们就一起来回顾一下这方面的知识。final关键字我们首先来说说final。它可以用于以下四个地方:定义变量,包括静态的和非静态的。定义方法的参数。定义方法。定义类。我们依次来回顾一下每种情况下final的

系统 2019-08-12 09:30:16 2509

Java

如何用JNI技术提高Java的性能详解

阻碍Java获得广泛应用的一个主要因素是Java程序的运行效率。Java是介于解释型和编译型之间的一种语言,同样的程序,如果用编译型语言C来实现,其运行速度一般要比Java快一倍以上。Java具有平台无关性,这使人们在开发企业级应用的时候总是把它作为主要候选方案之一,但是性能方面的因素又大大削弱了它的竞争力。为此,提高Java的性能就显得十分重要。问题的提出Sun公司及Java的支持者们为提高Java的运行速度已经做出了许多努力,其中大多数集中在程序设计的

系统 2019-08-29 23:16:03 2507

Java

java数组排序Arrays.sort,以及结合Comparator

SortinganArray1.数字排序int[]intArray=newint[]{4,1,3,-23};Arrays.sort(intArray);输出:[-23,1,3,4]2.字符串排序,先大写后小写String[]strArray=newString[]{"z","a","C"};Arrays.sort(strArray);输出:[C,a,z]3.严格按字母表顺序排序,也就是忽略大小写排序Case-insensitivesortArrays.so

系统 2019-08-29 23:15:10 2507

Java

JAVA基础--方法传参

JAVA基础--方法传参为啥拿这个当话题?在初学者阶段,许多童鞋都对方法传参比较迷茫,知其然不知其所以然。一.先说说参数传递的几个术语:值调用(callbyvale):表示方法接收的是调用者传递的值。引用调用(callbyreference):表示方法接收的是调用者传递的变量地址。一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值;**JAVA语言总是采用值调用。也就是说,JAVA方法得到的是所有参数值的一个拷贝,方法不能修改传递给

系统 2019-08-29 22:32:28 2507

Java

“关于Java,我做过的书,从浅到深”

《关于Java,我做过的书,从浅到深》原文地址:http://www.jianshu.com/p/3c30dcc352f9?utm_campaign=maleskine&utm_content=note&utm_medium=pc_author_hots&utm_source=recommendation“关于Java,我做过的书,从浅到深”

系统 2019-08-12 09:30:36 2507

Java

Java数据报(UDP)编程

一般说明在TCP/IP协议族中,UDP和TCP同样位于传输层,用户数据报是UDP协议中的概念.UDP协议提供面向事务的简单不可靠信息传送服务,它不提供对IP协议的可靠机制、流控制以及错误恢复功能.UDP协议基本上是IP协议与上层协议的接口,从整个用户数据在各层的包装看,UDP报文格式相当简单:1632bitSourceport源端口Destinationport目标端口Length报文长度(单位是字节,包括首部和用户数据区)Checksum(校验和)Dat

系统 2019-08-29 23:12:32 2506

Java

Java通过JNI调用EXE导出函数

此文解决的是使用Eclipse,通过JNI,调用DLL文件。再通过该DLL文件,使用GetProcAddress调用EXE文件的导出函数。目前只能做到调用单一的函数。下一步可扩展的:1.连续调用多个函数,并组合使用。2.在EXE运行过程中。动态的调用导出函数并获取实时的数据。3.通过强制破解,调用非导出的函数。A.在Eclipse下创建java项目。创建包:com。创建java类:Helloworld。代码如下://包名在生成头文件时容易出问题。应当注意j

系统 2019-08-29 22:42:57 2506

Java

Effective Java (对象通用方法)

八、覆盖equals时请遵守通用约定:对于Object类中提供的equals方法在必要的时候是必要重载的,然而如果违背了一些通用的重载准则,将会给程序带来一些潜在的运行时错误。如果自定义的class没有重载该方法,那么该类实例之间的相等性的比较将是基于两个对象是否指向同一地址来判定的。因此对于以下几种情况可以考虑不重载该方法:1.类的每一个实例本质上都是唯一的。不同于值对象,需要根据其内容作出一定的判定,然而该类型的类,其实例的自身便具备了一定的唯一性,如

系统 2019-08-29 22:02:39 2506

Java

java

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。什么是J

系统 2019-08-12 09:30:34 2506

Java

How do I install Oracle Java JDK 7?

http://askubuntu.com/questions/55848/how-do-i-install-oracle-java-jdk-7ThereisasimilarquestiononhowtoinstallJRE7.InstalltheJDKDownloadhe32bitor64bitLinux"compressedbinaryfile"-ithasa".tar.gz"fileextensioni.e."[java-version]-i586.t

系统 2019-08-12 01:33:14 2506

Java

机器学习-AdaBoosting及其Java实现

Adaboostwithtreesisthebestoff-the-shelfclassifierintheworld.-Breiman1996决策树算法起源于1984年Breiman,Friedman等人提出的CART,后来又有人(Quinlan等)提出ID3,C4.5,C5.0,CHAID等算法,但是90年代随着支持向量机(SVM)的提出和发展,决策树遇到了极大的挑战。1996年,Freund和Schapire等人提出了Adaboost算法,可以将多个

系统 2019-08-12 01:32:47 2506

Java

Java中assert和静态导入的使用

Java中assert和静态导入的使用最近一直在做测试,发现了一些JDK1.5中的一些新的语法特性,在开发的时候确实省了不少时间,在此做简要的记录:assert的用法assertexpression1;assertexpression1:expression2;如果expression1为true,则不抛出错误,程序正常运行,expression2也不会执行。如果expression1为false,则抛出异常,程序中断跳出,expression2执行。一般

系统 2019-08-29 22:53:31 2505

Java

java的JNI本地调用代码

Jni中C++和Java的参数传递如何使用JNI的一些基本方法和过程在网上多如牛毛,如果你对Jni不甚了解,不知道Jni是做什么的,如何建立一个基本的jni程序,或许可以参考下面下面这些文章:利用VC++6.0实现JNI的最简单的例子JNI入门教程之HelloWorld篇SUNJNITutorial这些资料的例子中,大多数只是输入一些简单的参数,获取没有参数。而在实际的使用过程中,往往需要对参数进行处理转换。才可以被C/C++程序识别。比如我们在C++中有

系统 2019-08-29 22:48:06 2505

Java

【解惑】Java方法参数是引用调用还是值调用?

方法调用(callby)是一个标准的计算机科学术语。方法调用根据参数传递的情况又分为值调用(callbyreference)和引用调用(callbyvalue)。江湖上有很多关于这两种调用的定义,最通常的说法是传递值的是值调用,传递地址的是引用调用。这其实很不恰当,这种这些说法很容易让我们联想到Java的对象参数传递是引用调用,实际上,Java的对象参数传递仍然是值调用。我们首先用一段代码来证实一下为什么Java的对象参数传递是值调用。publicclas

系统 2019-08-29 22:00:02 2505

Java

JAVA面试题解惑系列(三)——变量(属性)的覆

好东西分享我们来看看这么一道题:Java代码classParentClass{publicinti=10;}publicclassSubClassextendsParentClass{publicinti=30;publicstaticvoidmain(String[]args){ParentClassparentClass=newSubClass();SubClasssubClass=newSubClass();System.out.println(pa

系统 2019-08-12 09:30:17 2504