
java编程知识
junli_chen
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
源码解析之HashMap实现原理
目录一,写在前面二,栗子三,HashMap设计思路四,边界变量五,put方法六,resize方法七,get方法八,关于HashMap实现原理的问答题一,写在前面在日常开发中,HashMap因其可以存储键值对的特点经常被使用,仅仅知道如何使用HashMap是远远不够的。以知其然知其所以然的钻研态度,本篇文章将以图文,源码的方式去解析HashMap的实现原理。二,栗子首先咱们来看一段代码,比较简单,就不多解释啦~代码如下:import java.util.Ha转载 2020-07-22 15:58:00 · 287 阅读 · 0 评论 -
Java内部类的使用小结
内部类是指在一个外部类的内部再定义一个类。类名不需要和文件夹相同。*内部类可以是静态static的,也可用public,default,protected和private修饰。(而外部顶级类即类名和文件名相同的只能使用public和default)。 注意:内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类。对于一个名为outer的外部类和其内部定义的名为inn转载 2015-10-31 19:37:01 · 335 阅读 · 0 评论 -
定义一个Employee类,排序
《用java编程》:定义一个Employee类,属性name:String;age:int;salary:double;把若干Employee对象放入List中,排序并遍历;排序规则:salary高则在前面,salary相同时age大则在前面,age相同时按照name升序排列。public class Employee implements Comparable{ private Stri原创 2015-10-30 21:41:42 · 6595 阅读 · 0 评论 -
编写一个Java程序,在程序中包含一个Employee类,Employee类包含name、age、salary三个成员变量
编写一个Java程序,在程序中包含一个Employee类,Employee类包含name、age、salary三个成员变量,Employee类中有4个构造方法,分别为无参的、带一个参数用来对name属性初始化的、带两个参数用来对name和age属性初始化的以及带三个参数用来对三个属性进行初始化的,有一个setAge方法设置age属性值,getAge方法返回age值。编写主类创建该类的三个对象,并把原创 2015-10-30 22:15:38 · 30041 阅读 · 3 评论 -
Comparable与Comparator的区别
Comparable & Comparator 都是用来实现集合中元素的比较、排序的,只是 Comparable 是在集合内部定义的方法实现的排序,Comparator 是在集合外部实现的排序,所以,如想实现排序,就需要在集合外定义 Comparator 接口的方法或在集合内实现 Comparable 接口的方法。Comparator位于包java.util下,而Comparable位于包转载 2015-10-30 22:11:55 · 286 阅读 · 0 评论 -
java题目求解
1、 编写Employee类,成员变量:name,age,tel,gz,并为其添加相应的set和get方法, 1个方法:aiseSalary(double proportion):涨工资方法。2.编写Manager类,该类继承于的Employee类(1)为其添加: 两个属性:办公室officeID和年终分红bonus;原创 2015-10-30 22:11:19 · 1345 阅读 · 0 评论 -
建立一个Shape类,有Circle(圆形)和Rect(矩形)子类
Shape类有zhouchang()和area()两种方法。Rect有cha()用于比较长宽的差,若长大于宽输出“长比宽大”,否则输出“宽比长大”。(正方形)Squ为Rect子类,在Squ类中,重写cha()方法,并输出“长等于宽”要求:(1)要提供Circle和Rect类要重写父类Shape的zhouchang()和area()方法 (2)Circle类要有静态常量PI原创 2015-10-30 22:10:14 · 16581 阅读 · 0 评论 -
Java定义People类
Java定义People类,它具有以下成员变量:String name,int age,它有两个构造方法!package testclass;public class PeopleClass { public static void main(String[] args) { // TODO Auto-generated method stub Student s = new原创 2015-10-30 21:59:55 · 8250 阅读 · 0 评论 -
Java写一个接口和两个类
编写一个接口和两个类,要求如下:(1)设计一个学生功能的接口,实现平均成绩的计算和基本信息的输出。(2)设计一个学生类实现了学生接口,学生类的基本信息有:学号、姓名、年龄、各科成绩(假设一共5门课程,请用数组实现)。(3)设计一个大学生类继承了学生类:大学生除了包含普通学生的信息外,还包包含:德育成绩、体育成绩、美育成绩;以及一个能够算综合排名成绩的成员方法(假设综合排名成绩=德育原创 2015-10-30 22:09:20 · 5624 阅读 · 0 评论 -
java的一道思考题
public class Dervied extends Base { private String name = "dervied"; public Dervied() { tellName(); printName(); } public void tellName() { System.out.pr原创 2015-10-28 21:32:29 · 505 阅读 · 0 评论 -
java播放声音类和一个简单示例
java播放声音类和一个简单示例播放声音的类复制代码 代码如下: import java.io.File;import java.io.IOException;import javax.sound.sampled.AudioFormat;import javax.sound.sampled.AudioInputStream;impor原创 2015-10-14 11:07:38 · 2185 阅读 · 1 评论 -
java中接口的定义与实现
1、定义接口 使用interface来定义一个接口。接口定义同类的定义类似,也是分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。定义接口的基本格式如下:[修饰符] interface 接口名 [extends 父接口名列表]{[public] [static] [final] 常量;[public] [abstract] 方法;}修饰符:可选原创 2015-10-14 10:38:54 · 1231 阅读 · 0 评论 -
进程与线程的区别
线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源(3)线程是处理器调度的基本单位,但进程不是.4)二者均可并发执行.进程和线程都是由操作系统所体会的程序运行的基本单元,系原创 2015-10-11 20:50:07 · 308 阅读 · 0 评论 -
定义一个Employee类并排序(完整版本)
定义一个Employee类,属性:name:String,age:int,salary:double * 把若干Employee对象放在List中, * 排序并遍历输出,排序规则:salary高的在前面,salary相同时age大的在前面,age也相同时按照name升序排列package testclass;import java.util.ArrayList;import原创 2015-10-31 10:16:02 · 7437 阅读 · 0 评论 -
多线程同步:多窗口卖票
package threadtest.test;public class ThreadForDemo implements Runnable{ private int count = 20; private Boolean flag = true; @Override public void run(){ while(flag){ synchronized(""){原创 2015-11-02 14:07:29 · 1961 阅读 · 0 评论 -
余弦定理的应用:基于文字的文本相似度计算
最近由于工作项目,需要判断两个txt文本是否相似,于是开始在网上找资料研究,因为在程序中会把文本转换成String再做比较,所以最开始找到了这篇关于 距离编辑算法 Blog写的非常好,受益匪浅。 于是我决定把它用到项目中,来判断两个文本的相似度。但后来实际操作发现有一些问题:直接说就是查询一本书中的相似章节花了我7、8分钟;这是我不能接受…… 于是停下来仔细转载 2015-12-14 20:24:46 · 792 阅读 · 0 评论 -
文本相似度算法
1.信息检索中的重要发明TF-IDF1.1TFTerm frequency即关键词词频,是指一篇文章中关键词出现的频率,比如在一篇M个词的文章中有N个该关键词,则(公式1.1-1)为该关键词在这篇文章中的词频。1.2IDFInverse document frequency指逆向文本频率,是用于衡量关键词权重的指数,由公式(公式1.2-1)转载 2015-12-14 20:34:18 · 2765 阅读 · 0 评论 -
java怎么实现两个对象内容的交换
java在在实例化对象时,是放在栈内存,里面存的只是引用,实际成员变量是存在堆内存里,所以直接交换类其实只是复制了一份引用,成员变量的值并没有改变....public class ParamOfMethodTest {public static void main(String[] args) {// TODO Auto-generated method stubEmp原创 2015-11-02 20:05:01 · 6685 阅读 · 0 评论 -
当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的.
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递答:是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的.原创 2015-11-02 19:59:51 · 4008 阅读 · 0 评论 -
关于Java交换两个对象的问题
关于Java交换两个对象的问题 对于C++比较熟悉的童鞋,应该知道在函数传参时,有传值、传地址(指针)和传引用这3种。众所周知,Java中没有指针,所以只有传值和传引用两种。 很容易理解,Java的基本类型,例如int、float等,都是传值。而对象采用传引用,因为对象如果采用传值的话,要复制一份对象中的所有数据,这个开销太大了,实现起来也很麻原创 2015-11-02 19:46:52 · 586 阅读 · 0 评论 -
java面试题总结
1. JDK是什么?JRE是什么? a) 答:JDK:java开发工具包。JRE:java运行时环境。 2. 什么是java的平台无关性? a) 答:Java源文件被编译成字节码的形式,无论在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。也就是一处编写,处处运行。这就是java的跨平台性。 3. 在一台电脑上配置java环境,path起什么作用?如何配置? a原创 2015-11-02 20:52:16 · 533 阅读 · 0 评论 -
JAVA相关基础知识
1、面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类原创 2015-11-02 20:36:11 · 448 阅读 · 0 评论 -
java多线程问题,线程交替执行
两个线程,一个打印1-100的奇数,一个打印1-100的偶数;要求:线程1打印5个之后,线程2开始打印,线程2打印5个之后,线程1再开始打印,以此循环。package threadtest;public class Test1 { /* * 两个线程,一个打印1-100的奇数,一个打印1-100的偶数;要求:线程1打印5个之后,线程2开始打印,线程2打印5个之后,线程1再开始打印,以原创 2015-11-02 11:12:42 · 7181 阅读 · 0 评论 -
java类同时引用父类和接口的成员变量,需要指明是父类的还是接口的
package demo;public class C extends B implements A{ public void pX(){ System.out.println(super.x); System.out.println(A.x); //System.out.println(x); } public static void main(String[] ar原创 2015-11-03 10:18:08 · 30256 阅读 · 1 评论 -
java运行时异常与一般异常有何异同?
Throwable是所有Java程序中错误处理的父类,有两种资类:Error和Exception。Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形.应用程序不应该抛出这种类型的对象(一般是由虚拟原创 2015-11-03 10:07:48 · 441 阅读 · 0 评论 -
用java来实现列出指定目录下的文件,子目录下的文件也要输出
写一个 javaTest程序,列出所有目录下的*.java 文件,把子目录下的 JAVA文件也打印出来。package javaiotest;import java.io.File; public class ListFile { public void listJavaFile(String fileName) { File file = new File(f原创 2015-11-02 15:46:08 · 6126 阅读 · 0 评论 -
java实现生产者消费者问题
引言 生产者和消费者问题是线程模型中的经典问题:生产者和消费者在同一时间段内共用同一个存储空间,如下图所示,生产者向空间里存放数据,而消费者取用数据,如果不加以协调可能会出现以下情况:生产者消费者图 存储空间已满,而生产者占用着它,消费者等着生产者让出空间从而去除产品,生产者等着消费者消费产品,从而向空间中添加产品。互相等待,从而发生死锁。JAVA解决线原创 2015-11-02 15:12:10 · 359 阅读 · 0 评论 -
第一个java程序
一、JAVA相关工具安装 资源下载:http://pan.baidu.com/s/1pJwLVlD JDK安装,直接点击安装即可 eclipse安装,直接解压到某盘即可 二、环境变量设置 相关教程:http://jingyan.baidu.com/article/f96699bb8b38e0894e3c1bef.html 1.打开我的电脑–属性–高级–环境变量 2.新建系统原创 2015-10-27 10:35:59 · 321 阅读 · 0 评论 -
String、StringBuffer与StringBuilder之间区别
最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String原创 2015-10-12 08:24:20 · 306 阅读 · 0 评论 -
java查错题(经常混淆)
1.java静态方法不能引用在同一个类中的非静态方法和非静态成员变量public class DoSomething { public static void main(String[] args) { // TODO Auto-generated method stub DoSomething ds = new DoSomething(); //System.out.prin原创 2015-11-03 11:04:20 · 1081 阅读 · 0 评论 -
JAVA的IO处理
I/O简介 IO是输入和输出的简称,在实际的使用时,输入和输出是有方向的。就像现实中两个人之间借钱一样,例如A借钱给B,相对于A来说是借出,而相对于B来说则是借入。所以在程序中提到输入和输出时,也需要区分清楚是相对的内容。 在 程序中,输入和输出都是相对于当前程序而言的,例如从硬盘上读取一个配置文件的内容到程序中,则相当于将文件的内容输入到程序内部,原创 2015-10-02 19:23:32 · 273 阅读 · 0 评论 -
JAVA的StringBuffer类
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。 在原创 2015-10-02 19:02:27 · 285 阅读 · 0 评论 -
Java中Runnable和Thread的区别
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限。下面看例子:package org.thread.demo; class MyThread extends Th转载 2015-10-02 10:32:03 · 271 阅读 · 0 评论 -
java中抽象类与接口的不同之处
c++虚类相当与java里面的抽象类,与接口的不同之处如下:1、一个子类只能继承一个抽象类(虚类),但能实现多个接口;2、一个抽象类可以有构造方法,接口没有构造方法;3、一个抽象类中的方法不一定是抽象方法,即其中的方法可以有实现(有方法体),接口中的方法都是抽象方法,不能有方法体,只有声明;4、一个抽象类可以是public、private、protected、default,接原创 2015-10-01 16:52:03 · 379 阅读 · 0 评论 -
java 的SYSTEM类
System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。 由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便的进行调用。 1、成员变量System类内部包含in、out和err三个成员变量,分别代表标准输原创 2015-10-02 19:09:54 · 314 阅读 · 0 评论 -
JAVA编程规则【转自java编程思想】
(1) 类名首字母应该大写。字段、方法以及对象(句柄)的首字母应小写。对于所有标识符,其中包含的所有单词都应紧靠在一起,而且大写中间单词的首字母。例如:ThisIsAClassNamethisIsMethodOrFieldName若在定义中出现了常数初始化字符,则大写static final基本类型标识符中的所有字母。这样便可标志出它们属于编译期的常数。Java包(Package)转载 2015-10-02 18:56:37 · 329 阅读 · 0 评论 -
我最常用的编程风格
1.类名首字母大写,比如Date, String, Hashtable等2.方法一般定义为public。当然,如果方法仅仅在当前类用到可以定义为private,而如果希望一个子类沿用这个方法则不同,这时候的方法应定义为protected。 3.常量一般全部大写,也可以包含下横线: public static final int MAX_SIZE_OF_DATABASE 4.给自己的代原创 2015-10-02 12:01:07 · 363 阅读 · 0 评论 -
程序员所要具备的基本素质
程序员是一种技术工作,在IT的发展中有相当重要的地位,从底层硬件通讯协议的建立,到数据传输层的处理,到操作系统的建设,到数据库平台的建设,一直到应用层上各种数据营销平台的搭建,程序员在里面都扮演着举足轻重的角色并为IT事业的发展做出了巨大的贡献。 中国有很多精于编码的人,但是中国软件行业,尤其是网络应用开发方面误区很大,很难形成有规模的软件开发力量和产品能力,不但比美国差距甚远,和印度转载 2015-10-01 16:38:30 · 823 阅读 · 0 评论 -
java中接口有什么作用?请创建一个接口(举例)
接口的作用就是把使用接口的人和实现接口的人分开,实现接口的人不必要关心谁去使用,而使用接口的人也不用关心谁实现的接口,由接口将他们联系在一起。以上像一段绕口令,那么通过下面的几段程序解释: 1、以生产和使用一台计算机为例,首先,我们定义了一个显卡的接口,他里面有显示功能和获取显卡名称的功能: interface VidioCard { void display(); String get原创 2015-09-13 17:57:55 · 1355 阅读 · 0 评论 -
常用位操作小技巧
下面对位操作的一些常见应用作个总结,有判断奇偶、交换两数、变换符号及求绝对值。这些小技巧应用易记,应当熟练掌握。1.判断奇偶只要根据最未位是0还是1来决定,为0就是偶数,为1就是奇数。因此可以用if ((a & 1) == 0)代替if (a % 2 == 0)来判断a是不是偶数。下面程序将输出0到100之间的所有奇数。[cpp] view plainc原创 2015-09-29 12:01:21 · 439 阅读 · 0 评论