1 简介我们都知道Map是存放键值对<Key,Value>的容器,知道了Key值,使用方法Map.get(key)能快速获取Value值。然而,有的时候我们需要反过来获取,知道Value值,求Key值。本文将用实例介绍四种方法,通过传入Value值,获取得到Key值。2 四种方法2.1 循环法循环法就是通过遍历Map里的Entry,一个个比较,把符合条件的找出来。会有三种情况:(1)找到一个值(2)找到多个值(3)找不到具体代码如下:@Test public void loop() {Map<S...
有4种显式地创建对象的方式:1.用new语句创建对象,这是最常用的创建对象的方式。2.运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。3.调用对象的clone()方法。4.运用反序列化手段,调用java.io.ObjectInputStream对象的readObject()方法.下面演示了用前面3种方式创建对象的过程。 [java] view plaincopy public class Customer implements Cloneable{ private String name; pri...
<span style="white-space:pre"> </span>Arrays.toString(arr)for(int n: arr) System.out.println(n+", ");for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + ", ");}System.out.println(Arrays.asList(arr));Arrays.asList(arr).stream().forEach(s -> System.out.println(s));//java8版权声明:本文为博主原创文章,未经博主允许不得转载。原文:http://blog.csdn.net/wufengui1315/article/details/47160311
有的项目引用了太多的jar包,或者反射生成了太多的类,异或有太多的常量池,就有可能会报java.lang.OutOfMemoryError: PermGen space的错误, 我们知道可以通过jvm参数 -XX:MaxPermSize=256m来配置这部分堆内存的大小。 在eclipse中如何配置tomcat的内存大小呢?首先需要双击tomcat server,如下图所示:双击上图后会出现,tomcat配置的界面:然后再点击上图的,红色矩形框的链接,会弹出tomcat参数配置的节面,要选择Arguments参数...
建议6:覆写变长方法也循规蹈矩 在JAVA中,子类覆写父类的中的方法很常见,这样做既可以修正bug,也可以提供扩展的业务功能支持,同时还符合开闭原则(Open-Closed Principle)。符合开闭原则(Open-Closed Principle)的主要特征: 1.对于扩展是开放的(Open for extension)。这意味着模块的行为是可以扩展的。当应用的需求改变时,我们可以对模块进行扩展,使其具有满足那些改变的新行为。也就是说,我们可以改变模块的功能。 ...
例如:Test是一个类,那么 Test t = new Test();这个语句叫做类的实例化,即t是Test类的一个实例,这个t就是一个Test类型的对象,在这个实例化过程中,也就是new Test();系统会自动调用Test类中的构造方法,如果你在定义Test类的时候写了无参构造方法Test(),那么就调用这个方法,如果你没写构造方法系统会默认有一个无参构造方法,如果你写了有参构造,那么new Test();会报错,必须写成:new Test(参数);构造方法的作用就...
前言任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。本文由浅入深介绍四种任务调度的 Java 实现:TimerScheduledExecutor开源工具包 Quartz开源工具包 JCronTab此外,为结合实现复杂的任务调度,本文还将介绍 Calendar 的一些使用方法。 回页首Timer相信大家都已经非常熟悉 java.util.Timer 了,它是最简单的一种实现任务调度的方法,下面给出一个具体的例子:清单 1. 使用 Timer 进行任务调度 package c...
import org.junit.Test; //import org.testng.annotations.Parameters;publicclass Demo {@Testpublicvoid test() {//数组的静态初始化int a[] = {2, 0, 1, 9, 2020};System.out.println("----------静态初始化----------");getArray(a);//数组的动态初始化方法一int[] b = newint[10];for (int i = 0; i < b.length; i++) {b[i] = i;}System.out.println("----------动态初始化1----------");getArray(b);//数组的动态初始化方法二...
由于其功能性和灵活性,ArrayList是 Java 集合框架中使用最为普遍的集合类之一。ArrayList 是一种 List 实现,它的内部用一个动态数组来存储元素,因此 ArrayList 能够在添加和移除元素的时候进行动态的扩展和缩减。你可能已经使用过 ArrayList,因此我将略过基础部分。如果你对 ArrayList 还不熟悉,你可以参考它的 API 文档,可以很容易理解在 ArrayList 上执行基本的操作。In this post, I will discuss one of the most import...
方案一:用Eclipse自带的Export功能步骤1:准备主清单文件 “MANIFEST.MF”,由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下:Manifest-Version: 1.0 Class-Path: lib/commons-codec.jar lib/commons-httpclient-3.1.jar lib/commons-logging-1.1.jar lib/log4j-1.2.16.jar lib/jackson-all-1.8.5.jar Main-Class: main.KillCheatFans第一行是MAINIFEST的版本...
JVM调优工具Jconsole,jProfile,VisualVMJconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里 JProfiler:商业软件,需要付费。功能强大。详细说明参考这里 VisualVM:JDK自带,功能强大,与JProfiler类似。推荐。 如何调优观察内存释放情况、集合类检查、对象树上面这些调优工具都提供了强大的功能,但是总的来说一般分为以下几类功能 堆信息查看可查看堆空间...
String.valueOf(i)Integer.toString(i)i+"" i+""也就是一个int型的常量。+上个空的字符串,这里牵涉到了string的一些基础知识,string类型的+int在java中他会去这样理解是string类型的字符串跟上个int类型的i代表的字符串(先把i转换为string),int+string型就是先将int型的i转为string然后跟上后面的string 原文:https://blog.csdn.net/rocling/article/details/82818505原文:https://www.cnblogs.com/peachh/p/12080554.htm...
1/*2 * 线程的常用方法 3 * 1.start(); 4 * 2.run(); 5 * 3.sleep(int millsecond); 6 * 4.isAlive(); -->判断线程是否还在运行 7 * 5.currentThread(); -->返回当前正在使用CPU资源的线程 8 * 6.interrupt(); -->激活休眠的线程 9 * */但是需要注意的一个小点是:1/*2 * 需要注意到地方:一个已经运行的线程在没有进入死亡状态时, 3 * 不...
在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现抽象方法定义的格式:public abstract 返回值类型 方法名(参数);抽象类定义的格式:abstract class 类名 {}看如下代码:publicabstractclass Huge { // 抽象方法publicabstractdouble getArea(); // 抽象类里不一定存在抽象方法,也可以有普通方法, // 抽象方法存在的类一定是个抽象类,抽象类不能new,可用子类newpubli...
看下官方说明:意思是java方法签名包含两个要素:方法名称和参数列表。即不包括返回值类型。 那为什么不能包含返回值类型呢?看一下如下两段代码示例。示例一: 1public String m123(int i) {2return "456";3 }4 5publicint m123(int i) {6return 123;7 }8 9// 为什么不能包含返回值的原因:编译器无法从所有的上下文中确定重载版本 10// 因此为了避免“模棱两可”的局面, java方法签名中不包含返回值类型 11// 示例展示:12...