JAVA
JAVASE J2EE JAVAWEB
hibreanate,linux,luncene&solr,maven,mybaits,redis,spring,springMVC,ssh,ssm,struts
z海清
只要思想不滑坡,方法总比困难多
展开
-
线程打印ABAB。使用两个线程
public class Solution{public static void main(String[] args) { final ABAB2 abab2 = new ABAB2(); final ABAB2.Print p = abab2.new Print(); Thread a =new Thread(new Runnable() { public void run() { for(in.原创 2020-07-27 17:19:11 · 390 阅读 · 0 评论 -
嵌套类(内部类):静态内部类、非静态内部类、匿名内部类、局部内部类
在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。1.成员内部类 成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式:classCircle {doubleradius =0;publicCircle(doubleradius) {this.r...转载 2020-05-12 10:31:06 · 268 阅读 · 0 评论 -
Java 8中的Lambda表达式、功能接口
Lambda表达式基本上表示功能接口的实例(具有单一抽象方法的接口称为功能接口。示例为java.lang.Runnable)。Java中的功能接口功能接口是仅包含一个抽象方法的接口。他们只能展示一种功能。从Java 8开始,lambda表达式可用于表示功能接口的实例。功能接口可以具有许多默认方法。Runnable,ActionListener和Comparable是功能接口的一些示例。在Java 8之前,我们必须创建匿名内部类对象或实现这些接口。// Java program to de.原创 2020-05-10 14:11:28 · 432 阅读 · 0 评论 -
关于垃圾回收GC的重要输出问题
在Java中,垃圾回收器模块会小心地销毁对象,并且对它们没有任何引用的对象都可以进行垃圾回收。以下是有关垃圾回收的一些重要输出问题。预测以下Java程序的输出:public class Test { public static void main(String[] args) throws InterruptedException { String str = new String("GeeksForGeeks");原创 2020-05-10 12:25:53 · 344 阅读 · 0 评论 -
垃圾回收GC算法
背景动态创建的所有对象(在C ++和Java中使用new)都在堆中分配了内存。如果继续创建对象,则可能会出现“内存不足”错误,因为无法将堆内存分配给对象。因此,我们需要通过释放所有程序不再引用的对象(或不可达对象)的内存来清除堆内存,以便为后续的新对象提供空间。该内存可以由程序员自己释放,但对于程序员来说似乎是一个开销,在这里垃圾回收很容易解决,它会自动释放所有未引用对象的堆内存。有许多GC算法在后台运行。其中之一是标记和清除。标记和清除算法任何垃圾收集算法都必须执行2个基本操作。首先,它应该能原创 2020-05-10 11:10:10 · 205 阅读 · 0 评论 -
如何让垃圾收集器不回收对象
Java中的垃圾收集器是自动的,也就是说,用户不必手动释放动态分配的已占用内存。垃圾收集器如何确定要删除哪个对象?这很简单:丢失引用的对象被标记为要从堆内存中删除。例如,看下面的代码:// Java code to demonstrate when an object would // be deleted by the garbage collector class A { void f() { A x = new A(); /*objec原创 2020-05-10 11:02:51 · 363 阅读 · 0 评论 -
学习笔记:Java的垃圾回收GC
1、在C/C++中,程序员需要负责对象的创建和销毁。但是有时会忽略无关对象的销毁,由于这种疏忽,有时在创建对象时,可能没有足够的内存,并且整个程序将异常终止,从而导致OutOfMemoryErrors错误。2、但在Java中,程序员不必担心无用对象的销毁,GC垃圾回收器会自动销毁这些对象。3、垃圾回收器是Daemon线程的最佳示例,因为它始终在后台运行。4、垃圾回收器主要目标是通过销毁无法访问的对象来释放堆内存无法访问的对象:即该对象不存在任何对它的引用,注意,作为隔离岛的一些对象也是...原创 2020-05-10 10:03:40 · 288 阅读 · 0 评论 -
JDK、JRE、JVM的区别 JVM工作原理
\JDK,JRE和JVM之间的差异要了解这三个之间的区别,让我们考虑下图。JDK-Java开发工具包(简称JDK)是一个工具包,它提供开发和执行(运行)Java程序的环境。JDK是一个工具包(或程序包),其中包括两件事 开发工具(提供开发Java程序的环境) JRE(执行Java程序)。 注意:JDK仅由Java开发人员使用。 JRE-Java Runtime Environment(可以说JRE)是一个安装包,它提供仅在您的计算机上运行(不开发)...翻译 2020-05-09 23:19:34 · 565 阅读 · 0 评论 -
LeetCode 1114. 按序打印
我们提供了一个类:public class Foo { public void one() { print("one"); } public void two() { print("two"); } public void three() { print("three"); }}三个不同的线程将会共用一个 Foo 实例。线程 A 将会调用 one() 方法线程 B 将会调...原创 2020-05-08 00:35:41 · 220 阅读 · 0 评论 -
Google Interview :问题1:给定一个由n个字符组成的字符串A和一个由m个字符组成的字符串B,编写一个函数,使得B是重复的A的子字符串,该函数将返回字符串A最少需重复的次数
给定一个由n个字符组成的字符串A和一个由m个字符组成的字符串B,编写一个函数,使得B是重复的A的子字符串,该函数将返回字符串A最少需重复的次数,Question 1:实现代码思路分析Question 1:Given a string A consisting of n characters and a string B consisting of m characters, write a f...原创 2020-04-30 16:04:57 · 1213 阅读 · 0 评论 -
Spring MVC
在详细介绍Spring MVC架构之前,让我们首先看看用于Web开发的两种流行的设计模式。前控制器设计模式此设计模式对所有传入请求强制执行单个入口点。所有请求都由单个代码处理,然后可以将处理请求的责任进一步委托给其他应用程序对象。前控制器设计模式MVC设计模式这种设计模式通过将各种关注点分离到不同的层中来帮助我们开发松耦合应用程序。MVC设计模式将应用程序强制分为三层...原创 2020-03-26 16:10:40 · 244 阅读 · 0 评论 -
JAVA抽象类详细解读
1.概述在 Java 中,被 abstract 关键字修饰的类叫抽象类。抽象类的定义格式如下:abstract class 抽象类名称{ 属性; 访问权限 返回值类型 方法名称(参数){ [return 返回值] } //在抽象方法中是没有方法体的 访问权限 abstract 返回值类型 方法名称(参数);}复制代码2....转载 2019-12-12 15:14:28 · 472 阅读 · 0 评论 -
Singleton 单例模式 问题汇总
单例设计模式是您在Java应用程序中最常见的模式之一,并且在核心Java库中也大量使用。Singleton模式中的问题在Java面试中非常常见,并且对如何实现单例模式有一定的了解会有所帮助。本文中,列出有关Singleton模式的一些最常见问题。以下是我收集的Singleton设计模式问题汇总。如果你知道如何创建线程安全的单例以及实现此模式的不同方法,将重点介绍此模式的关键以及缺点。1 什...原创 2019-11-26 22:51:18 · 355 阅读 · 0 评论 -
(彻底弄懂)Java synchronized关键字
为什么我们需要同步?当我们有多个线程处理共享实体时,最终结果可能已损坏。假设我们有一个简单的程序来增加对象的计数器变量。该变量在所有线程之间共享。package com.journaldev.threads;import java.util.ArrayList;import java.util.List;import java.util.Random;public cl...翻译 2019-07-08 14:28:39 · 257 阅读 · 0 评论 -
Java面试问题集锦
一.Java基础1. String类为什么是final的。 2. HashMap的源码,实现原理,底层结构。 3. 说说你知道的几个Java集合类:list、set、queue、map实现类咯。 4. 描述一下ArrayList和LinkedList各自实现和区别。 5. Java中的队列都有哪些,有什么区别。 6. 反射中,Class.forNa...转载 2019-03-09 15:25:48 · 844 阅读 · 0 评论 -
JAVA面试总结
1.sleep()和wait():Java中的多线程是一种抢占式的机制,而不是分时机制。抢占式的机制是有多个线程处于可运行状态,但是只有一个线程在运行。 ●共同点: (1) 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回。 (2) wait()和sleep()都可以通过interrupt()方法 打断线程的暂停状态 ,从而使线程立刻抛出Int...转载 2019-03-09 15:22:04 · 247 阅读 · 0 评论 -
入门SpringBoot整合RabbitMQ
MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取队列中的消息。消息中间件最主要的作用是解耦,中间件最标准的用法是生产者生产消息传送到队列,消费者从队列中拿取消息并处理,生产者不用关心是谁来消费,消费者不用关心谁在生产消息,从而达到解耦的目的。在分布式的系统中,消息...原创 2019-02-17 09:45:37 · 204 阅读 · 0 评论