
面向对象编程
2Tree
专注后端开发
展开
-
老规矩HelloWorld
public class HelloWorld{ public static void main(String[] args)//程序入口 { System.out.println("Hello,World!");//控制台输出Hello,World;其中双引号里面的内容可以任意内容 }}原创 2015-07-14 19:13:38 · 212 阅读 · 0 评论 -
Java内存管理 - 垃圾收集算法
我们都知道Java 中垃圾收集器 [GC] 的功能。但只有少数人试图深入了解垃圾收集的工作原理。你不是其中之一,这就是你在这里的原因。在这个Java内存管理教程中,我们将尝试了解Java垃圾收集的当前算法,我们将了解这些算法的演变。目录1. Java中的内存管理2.引用计数机制3.标记和清除机制4.停止并复制GC 5.分代停止和复制6.如何提高Java中的内存利用率...翻译 2019-01-25 11:08:48 · 195 阅读 · 0 评论 -
JVM内存模型/结构和组件
无论何时执行java程序,都会保留一个单独的内存区域,用于存储应用程序代码的各个部分,这些部分大致称为JVM内存。尽管没有必要,但是对这个存储区域的结构有一些了解是有益的。当您开始处理性能调优等更深层次的领域时,它变得更加重要。如果没有很好地理解JVM如何实际消耗内存以及垃圾收集器如何使用此内存的不同部分,您可能会错过一些重要的考虑因素来实现更好的内存管理; 因此性能更好。在本教程中,我将讨论...翻译 2019-01-25 11:12:02 · 426 阅读 · 0 评论 -
Java垃圾收集算法[直到Java 9]
垃圾收集(GC)一直是Java流行的重要特征之一。垃圾收集是Java中用于释放未使用内存的机制。本质上,它正在追踪仍然使用的所有对象,并将其余对象标记为垃圾。Java的垃圾收集被认为是一种自动内存管理模式,因为程序员不必将对象指定为可以解除分配。垃圾收集在低优先级线程上运行。在本教程中,我们将介绍与内存分配/解除分配相关的各种概念,在场景后运行的算法以及自定义此行为的选项。目录对象生...翻译 2019-01-25 11:13:22 · 421 阅读 · 0 评论 -
如何检测LinkedList中的无限循环
这是一个非常常见的面试问题。系统会询问您是否有一个链接列表,只能在一个方向上遍历,如果该链接列表中有一个循环,您将如何检测它?对于这个具体问题,最佳答案采访者正在寻找的是“ Floyd's Cycle-Finding Algorithm”。该算法提出了一种解决方案,其中只有一个指针遍历列表,建议您一次有两个指针。两个指针都将从链表的第一个节点开始,并使用下一个属性进行遍历。不同之处在于它们...翻译 2019-01-16 10:57:57 · 823 阅读 · 0 评论 -
复合赋值运算符[i + = j]与java中的[i = i + j]不同
在我们的日常编程中,我们都使用了类似的语法i += j和i = i + j数千次。乍一看,它们看起来都很相似。实际上,在实际情况下,它们几乎在所有情况下都会产生相同的输出。但是,为了让你大吃一惊,他们并不相似。在运行时,当i和j具有不同类型时,它们被区别对待。我们来看下面的例子: int i = 5; double d1 = (double)i + 4.5...翻译 2019-01-15 11:41:16 · 851 阅读 · 0 评论 -
Java集合
Java集合顾名思义,集合是一组对象。Java Collections框架由接口和类组成,有助于处理不同类型的集合,如列表,集合,映射,堆栈和队列等。这些即用型集合类解决了许多非常常见的问题,我们需要处理同类和异构对象组。涉及添加,删除,更新,排序,搜索和更复杂算法的常见操作。这些集合类使用Collections API为所有此类操作提供非常透明的支持。1. Java集合层次结构在...翻译 2019-01-16 10:20:36 · 138 阅读 · 0 评论 -
Java中的TreeMap
Java中的TreeMap用于存储与HashMap类非常相似的键值对。区别在于TreeMap提供了一种以排序顺序存储键/值对的有效方法。它是基于红黑树的NavigableMap实现。在这个Java TreeMap教程中,我们将学习TreeMap类,它的方法,用例和其他重要细节。目录1. TreeMap层次结构 2. TreeMap特征 3. TreeMap构造函数 4. Tre...翻译 2019-01-16 10:26:35 · 42316 阅读 · 3 评论 -
Java WatchService API
在这个例子中,我们将学习使用java 8 WatchServiceAPI 观察目录及其中的所有子目录和文件。如何注册Java 8 WatchService要注册WatchService,请获取目录路径和使用path.register()方法。 Path path = Paths.get("."); WatchService watchService = path.get...翻译 2019-01-16 10:46:33 · 1642 阅读 · 0 评论 -
在Java中创建没有使用new关键字的对象的其他方法
我们都知道如何创建任何类的对象。在Java中创建对象的最简单方法是使用new关键字。让我们探索在Java中创建没有new关键字的对象的其他方法。目录使用Class.forName()和Class.newInstance()ClassLoader loadClass()使用Object.clone()反序列化用反射注意:在给定的示例中,我只编写伪代码。要构建完整的完整工作示...翻译 2019-01-28 10:21:29 · 2830 阅读 · 0 评论 -
Java enum深入解释
Java枚举,也称为Java枚举类型,是一种类型,其字段由一组固定的常量组成。枚举的目的是强制编译时类型安全。enum关键字是Java中的保留关键字。当我们在编译时或设计时知道变量的所有可能值时,我们应该使用枚举,尽管我们可以在将来识别它们时添加更多值。在这个enum教程中,我们将了解枚举是什么以及它们解决了哪些问题?目录1.什么是Java中的枚举2.枚举构造函数3.枚举方法4...翻译 2019-01-28 10:30:26 · 505 阅读 · 0 评论 -
Java字符串类指南
Java字符串类指南一个Java的String表示不可变的字符序列,并曾经创造不能更改。字符串的类型为java.lang.String类。在此页面中,了解如何使用字符串文字和构造函数创建字符串,字符串方法以及与字符串转换和格式设置相关的各种字符串示例。1.在Java中创建String在Java中创建String有两种方法。 字符串字面量 字符串文字是在Java中创建字符串的最...翻译 2019-01-11 16:06:19 · 205 阅读 · 0 评论 -
Java Wrapper(包装)类内部缓存
我们所有人都知道如何在java中创建对象,即使用new关键字。还有其他方法可以创建类的实例,但这不是重点。在java中创建的新实例占用堆中的一些内存空间,因此创建新对象始终是一个昂贵的过程。为了避免这种昂贵的对象创建过程,许多框架在这段时间内得到了发展,特别是以不同的方式进行资源池化。因此,可以理解,准备好对象有其自身的好处,也应该得到推广。包装类在java中是不可变的,对吧?“是”。所以...翻译 2019-01-11 15:47:37 · 777 阅读 · 0 评论 -
java静态导入
正常的import声明从包中导入类,因此可以在没有包引用的情况下使用它们。类似地,静态导入声明从类中导入静态成员,并允许它们在没有类引用的情况下使用。静态导入声明还有两种形式:单静态导入和静态导入按需。单静态导入声明从类型中导入一个静态成员。static-import-on-demand声明导入一个类型的所有静态成员。静态导入声明的一般语法如下: //Single-static-im...翻译 2019-01-11 15:28:12 · 2932 阅读 · 0 评论 -
静态代理模式
静态代理三部曲:1、定义公共实现的接口。2、创建真实角色的对象。3、创建代理角色的对象,持有真实角色的引用。public class StaticProxy { //静态代理模式 public static void main(String[] args) { //1.创建真实角色对象 You you = new You(); //2.创建代...原创 2015-07-24 19:16:45 · 208 阅读 · 0 评论 -
java多线程
java创建线程有两种基本方法:1、编写一个类使其成为Thread的子类,并重写run()方法。 public class MyThread extends Thread { @Override public void run() {//线程体 for(int i=1;i System.out.p原创 2015-07-24 19:29:18 · 246 阅读 · 0 评论 -
Java
概念1:面向对象编程,使用对象进行软件设计。万事万物都是对象,对象就是属性以及对属性的操作的集合。类(class)的概念:把对象的共同的部分进行抽象提取,得到类的概念。“人以群分,物以类聚。”对象(object)的概念:对象是类的实例。类和对象的关系:举个例子,小明(对象)是一个人(类);小黑也是一个人。小黑和小明都是人类的实例。原创 2015-07-14 19:10:46 · 267 阅读 · 0 评论 -
java设计模式之工厂模式--普通工厂方法模式(Factory Method)
1.普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。2.先定义一个接口:package com.zhong.pattern.factorymethod;/** * 发送接口 * @author admin * */public interface Sender { /** * 发送消息方法 * @param msg */ void send(S...原创 2018-03-19 17:56:36 · 291 阅读 · 0 评论 -
java是通过值传递还是通过引用传递?
关于“ java是通过值传递还是通过引用传递?”,存在大量争论。好吧,让我们最后一次结束,Java是通过值传递而不是通过引用传递。如果它已通过引用传递,我们应该能够像交换对象一样C,但我们不能在java中这样做。我们已经知道了,对吗?将实例传递给方法时,其内存地址会逐位复制到新的引用变量,因此都指向同一实例。但是如果更改内部方法的引用,原始引用将不会更改。如果它是通过引用传递,那么它也会改变。...翻译 2019-01-11 15:22:56 · 338 阅读 · 0 评论