您的当前位置:TAGS -> Java
  • Java的static修饰符

    后端开发2025年08月27日

    静态域 如果将域定义为 static,每个类中只有一个这样的域。而每一个对象对于所有的实例域却都有自己的一份拷贝。例如,假定需要给每一个雇员赋予唯一的标识码。这里给 Employee 类添加一个实例域 id 和一个静态域 nextld: class Employee { private static int nextId = 1; private int i...

  • 关于java获取新浪天气示例

    后端开发2025年08月27日

    目录 前言: 实现思路: 基本代码: 通过ip获取城市 通过城市名字获取天气 辅助的实体类: 前言: 提供天气api的厂商有很多,比如,腾讯、雅虎、中国天气网,在综合比较各个功能后,决定使用新浪的天气接口,主要是考虑到,新浪的接口可以直接通过城市名字查询天气,而像雅虎、中国天气网需要使用自己的内部城市编码,维护起来比较麻烦,另外有的厂商会收费。 实现思路:...

  • 为什么Java项目中别用!=null做判空

    后端开发2025年08月26日

    目录 问题 精华回答 先说第2种情况 第1种情况会更复杂一些。 改造后 其他回答精选: 问题 为了避免空指针调用,我们经常会看到这样的语句: if (someobject != null) { someobject.doCalc(); } 最终,项目中会存在大量判空代码,丑陋繁杂。。。如何避免这种情况?是否滥用了判空?最终,项目中会存在大量判空代码,丑陋繁...

  • Java中为什么重写equals()也需要重写hashCode方法

    后端开发2025年08月26日

    ...

  • 被遗忘的Java关键字transient的使用详解

    后端开发2025年08月26日

    目录 前言 transient 是什么 简单示例 使用场景 序列化敏感数据 提高序列化性能 临时数据 需要注意的点 总结 前言 今天在看项目代码时候,看到了下面这样一行代码,用transient修饰了一个变量,主要作用是做一个全局开关。说实话我是第一次看到这个关键字。激发了我的好奇心,所以就了解一下这是何方神圣。 /** * 全局开关 */ public ...

  • 如何使用axis调用WebService及Java WebService调用工具类

    后端开发2025年08月26日

    目录 WebService 简介 概述 使用 axis 调用 WebService 引入依赖 WebService 调用工具类 总结 WebService 简介 概述 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。依据 WebService 规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都...

  • Java语言中4种内部类的超详细讲解

    后端开发2025年08月26日

    目录 一.内部类的介绍 二.内部类的种类 2.1实例内部类 2.2.静态内部类 2.3局部内部类 2.4匿名内部类 总结 一.内部类的介绍 内部类: 一个类定义在 另一个类 的 内部。 内部类分为四种:实例内部类、静态内部类、局部内部类、匿名内部类。 使用时机:当一个事物的内部,还需要一个完整的结构进行描述时,而这个内部的完整结构又只为外部事物提供服务,这...

  • 一文探寻Java装箱和拆箱的奥妙

    后端开发2025年08月25日

    目录 前言 什么是装箱和拆箱 装箱 拆箱 为啥要包装类型 装箱和拆箱的进化过程 到底该如何选择呢 总结 前言 今天在逛某知名论坛的时候,看到一篇"请不要使用包装类型,避免造成性能损失"的文章。一下子就吸引了我的注意。大意就是,能用基本数据类型就尽量用基本数据类型,因为包装类型自动拆箱、装箱会带来性能损失尤其是循环使用时会大量创建对象。所...

  • Java多线程并发之ReentrantLock

    后端开发2025年08月25日

    目录 ReentrantLock 公平锁和非公平锁 重入锁 小结 疑惑 ReentrantLock 公平锁和非公平锁 这个类是接口 Lock的实现类,也是悲观锁的一种,但是它提供了 lock和 unlock方法用于主动进行锁的加和拆。在之前使用的 sychronized关键字是隐式加锁机制,而它是显示加锁,同时,这个类的构造方法提供了公平和非公平的两种机制...

  • JAVA运算符详解

    后端开发2025年08月25日

    JAVA运算字符详解 赋值运算符 符号 作用 说明 = 赋值 int a = 10; 将10赋值给变量a += 加后赋值 a += b; 将a+b的值给a - = 减后赋值 a -= b; 将a-b的值给a *= 乘后赋值 a *= b; 将a*b的值给a /= 除后赋值 a / =b ; 将a/b的值给a %= 取余后赋值 a %= b; 将a%b的余数给...