AIGC中的视觉生成文献整理

文章目录

  • 文件夹文献总览
  • 图像生成技术
  • 视频生成技术
    • Video Generation with Text Condition
    • Video Generation with other Conditions
    • Video Editing
  • 生成模型在其他任务上的应用
    • 扩散模型在数据标记上的应用
    • 可控的图像生成技术

文件夹文献总览

AIGC 视觉生成文献整理├── 图像生成技术│   ├── AutoStory Generating Diverse Storytelling Images with Minimal Human Effort.pdf│   ├── Classifier-Free Diffusion Guidance.pdf│   ├── Denoising Diffusion Implicit Models.pdf│   ├── Denoising Diffusion Probabilistic Models.pdf│   ├── DiffiT Diffusion Vision Transformers for Image Generation.pdf│   ├── Diffusion Models Beat GANs on Image Synthesis.pdf│   ├── GLIDE Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models.pdf│   ├── High-Resolution Image Synthesis with Latent Diffusion Models.pdf│   ├── LATENT CONSISTENCY MODELS SYNTHESIZING HIGH-RESOLUTION IMAGES WITH FEW-STEP INFERENCE.pdf│   ├── LCM-LORA A UNIVERSAL STABLE-DIFFUSION ACCELERATION MODULE.pdf│   ├── Palette Image-to-Image Diffusion Models.pdf│   ├── Prompt-to-Prompt Image Editing.pdf│   └── Scalable Diffusion Models with Transformers.pdf├── 扩散模型在下游任务上的应用│   ├── 可控生成│   │   ├── Adding Conditional Control to Text-to-Image Diffusion Models.pdf│   │   ├── Dense Text-to-Image Generation with Attention Modulation.pdf│   │   └── ZipLoRA Any Subject in Any Style by Effectively Merging LoRAs.pdf│   ├── 开放词汇│   │   └── Open-vocabulary Object Segmentation with Diffusion Models.pdf│   └── 扩散模型在数据标记上的应用│       ├── DatasetDM Synthesizing Data with Perception Annotations Using Diffusion Models.pdf│       ├── Diffusion Models and Semi-Supervised Learners Benefit Mutually with Few Labels.pdf│       ├── DiffusionEngineDiffusion Model is Scalable Data Engine for Object Detection.pdf│       ├── Guiding Text-to-Image Diffusion Model Towards Grounded Generation.pdf│       └── Synthetic Data from Diffusion Models Improves ImageNet Classification.pdf└── 视频生成技术├── Video Editing│   ├── Control-A-Video Controllable Text-to-Video Generation with Diffusion Models.pdf│   ├── ControlVideo Training-free Controllable Text-to-Video Generation.pdf│   ├── Gen-L-Video Multi-Text to Long Video Generation via Temporal Co-Denoising.pdf│   ├── MagicProp Diffusion-based Video Editing via Motion-aware Appearance Propagation.pdf│   ├── Structure and Content-Guided Video Synthesis with Diffusion Models.pdf│   └── TokenFlow Consistent Diffusion Features for Consistent Video Editing.pdf├── Video Generation with other Conditions│   ├── CaDM Codec-aware Diffusion Modeling for Neural-enhanced Video Streaming.pdf│   ├── Follow Your Pose Pose-Guided Text-to-Video Generation using Pose-Free Videos.pdf│   ├── Generative Image Dynamics.pdf│   ├── LaMD Latent Motion Diffusion for Video Generation.pdf│   ├── Look Ma, No Hands! Agent-Environment Factorization of Egocentric Videos.pdf│   └── Motion-Conditioned Diffusion Model for Controllable Video Synthesis.pdf└── Video Generation with Text Condition├── LLM-grounded Video Diffusion Models.pdf├── MagicVideo Efficient Video Generation With Latent Diffusion Models.pdf├── Make-A-Video Text-to-Video Generation without Text-Video Data.pdf├── Photorealistic Video Generation with Diffusion Models.pdf├── Stable Video Diffusion Scaling Latent Video Diffusion Models to Large Datasets.pdf├── Text2Video-Zero Text-to-Image Diffusion Models are Zero-Shot Video Generators.pdf└── Video Diffusion Models.pdf

图像生成技术

  • Denoising Diffusion Probabilistic Models

    本文是DDPM的奠基之作,是本领域最经典的论文之一。其实扩散模型并不是一个新的概念,这篇论文第一个给出了严谨的数学推导,可以复现的代码,完善了整个推理过程。后面diffusion models相关的论文基本都继承了前向加噪-反向降噪-训练这样的体系。

  • Denoising Diffusion Implicit Models

    作者使用简单的重参数化和混合学习目标来学习反向过程方差,该目标将VLB与DDPM的简化目标相结合。在混合目标下,所提出模型获得的对数似然比通过直接优化对数似然获得的对数似然更好,并发现后一个目标在训练期间具有更多的梯度噪声。最关键的是,原先的DDPM需要长达1000steps的推理步骤,而DDIM改善了反向扩散过程中的噪声水平,改变了xt递推公式,在更少的推理步骤(如100步)上取得了更好的结果。这项成果堪称革命性的,后面的大部分diffusion models论文(特别是运算量高的)都采用这一改进技术。

  • Diffusion Models Beat GANs on Image Synthesis

    这篇论文的出现把diffusion models的推向了第一波高潮!这篇论文有三个需要重点学习的地方:

    1. 在Unet基础上有了很多改进的小trick(不亏是OpenAI的作品),改进之后的Unet更能适配噪声,因此指标上也进步了很多;

    2. classifier-guidance的引入,这段推导用了二阶泰勒展开,非常精彩!之后的很多论文将类别引导扩展到一般的条件引导上,包括后来大火的GLIDE。这在latent diffusion models没出来之前,是一项非常成功、被广泛使用的条件引导技术;

    3. 规范化的代码guided-diffusion。OpenAI的工匠精神,这份代码打磨得非常好,堪称工业级!后面很多顶会论文都是在这份代码的基础上改进的。如果想要学习diffusion models的代码,推荐以这份代码为基础。

  • Classifier-Free Diffusion Guidance

    这篇文章虽然只发表于cvpr workshop,但是作者提出了一个新的分数估计函数:有条件分数函数和无条件分数函数的线性组合,平衡了有条件的分数函数和无条件分数函数。当然在论文中作者先论述了《Diffusion Models Beat GANs on Image Synthesis》中提出的分类器技术的问题:额外训练一个分类器,并且往往会造成多样性下降的特点。当然这个问题也是必然出现的,因为分类器就是在生成质量和生成多样性中间做平衡。之所以推荐这篇论文,因为这项技术被后来的论文广泛应用,简单有用,值得学习!

  • Palette: Image-to-Image Diffusion Models

    Palette从pix2pix GANs中获取灵感,能够实现图像着色、图像修复、图像剪裁恢复、图像解压缩(超分)等等任务,最大的意义在于让更多人看到了diffusion models在图像翻译领域的潜力。

  • GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models

    GLIDE的核心跨模态引导公式来自《Diffusion Models Beat GANs on Image Synthesis》中的分类器引导,不同的是,这篇文章并没有给出严谨的证明过程。但是实验结果表明确实取得了很好的效果,后面的研究者从中获得启示,把其他的多模态信息按照这种方法注入,也取得了非常惊艳的结果。

  • High-Resolution Image Synthesis with Latent Diffusion Models

    这篇论文发表在cvpr 2022上,当时就受到了很多研究者们的关注,但是谁也没想到,一年后以latent diffusion models会孵化出stable diffusion这样彻底火出圈的作品。这篇论文有两个关键点值得关注:一是用encoder-decoder放缩到latent域上操作,又回到了生成领域最经典的结构,在latent域(即z)上操作,这种方法在vae上也算常用。二是cross-attention的结构,这种方法早在2020年的论文handwriting diffusion上就用过,但是当时并没有引起广泛的注意。在这之后cross-attention成为多模态的一种常用方法,成为新的常用条件扩散模型。

  • Prompt-to-Prompt Image Editing with Cross Attention Control

    这篇文章沿用了latent diffusion models提出了cross-attention的结构,但是做了不少改进,特别需要注意的是可解释性问题,作者将QKV可视化替换attention map达到控制的目的。这种控制技术相比于LDM更细腻,更有说服力。

  • Scalable Diffusion Models with Transformers

    Unet本来是发源于医疗图像分割的backbone,后来pix2pix GANs开始引入到生成领域,diffusion models的研究者们一直想替换掉这个backbone,用更原生的方法。最近的一项研究成果成功用改进版本的transformer替换掉Unet,并取得了更好的效果。

  • AutoStory: Generating Diverse Storytelling Images with Minimal Human Effort

    本文介绍了一种自动化故事可视化系统,可以生成多样化、高质量、一致性强的故事图像,且需要最少的人工干预。该系统利用大型语言模型的理解和规划能力进行布局规划,然后利用大规模的文本到图像模型生成基于布局的复杂故事图像。作者发现,稀疏控制条件(如边界框)适合布局规划,而密集控制条件(如草图和关键点)适合生成高质量的图像内容。为了兼顾两者的优点,作者设计了一个密集条件生成模块,将简单的边界框布局转换为草图或关键点控制条件,从而提高图像质量并实现易于直观的用户交互。此外,作者还提出了一种简单而有效的方法来生成多视角一致的角色图像,消除了人工收集或绘制角色图像的依赖。实验结果表明,该方法具有优越性。

  • DiffiT: Diffusion Vision Transformers for Image Generation

    扩散模型以其强大的表达能力和高样本质量在许多领域得到了新的应用。对于样本生成,这些模型依赖于通过迭代去噪生成图像的去噪神经网络。然而,去噪网络架构的作用并没有得到很好的研究,大多数工作都依赖于卷积残差U-Nets。
    本文研究了视觉transformer在基于扩散的生成学习中的有效性。本文提出一种新模型,称为扩散视觉transformer (DiffiT),由一个具有U形编码器和解码器的混合分层架构组成。本文提出一种新的依赖时间的自注意力模块,允许注意力层以有效的方式自适应其在去噪过程的不同阶段的行为
    此外,本文还提出了LatentDiffiT,由transformer模型和所提出的自注意力层组成,用于高分辨率图像生成。结果表明,DiffiT在生成高保真图像方面惊人地有效,并在各种类条件和无条件合成任务中实现了最先进的(SOTA)基准。在潜空间中,DiffiT在ImageNet256数据集上取得了新的SOTA FID分数1.73

  • LATENT CONSISTENCY MODELS: SYNTHESIZING HIGH-RESOLUTION IMAGES WITH FEW-STEP INFERENCE

    LCM 的全称是 Latent Consistency Models(潜在一致性模型),由清华大学交叉信息研究院的研究者们构建。在这个模型发布之前,Stable Diffusion 等潜在扩散模型(LDM)由于迭代采样过程计算量大,生成速度非常缓慢。通过一些创新性的方法,LCM 只用少数的几步推理就能生成高分辨率图像。据统计,LCM 能将主流文生图模型的效率提高 5-10 倍,所以能呈现出实时的效果。

  • LCM-LORA: A UNIVERSAL STABLE-DIFFUSION ACCELERATION MODULE

    潜在一致性模型的快速生成能力为图像生成技术开辟了新的应用领域。这种模型可以快速地根据输入的文本(Prompt)处理和渲染实时捕捉到的画面,从而实现高速图像生成。这意味着用户可以自定义他们想要展示的场景或视觉效果。

视频生成技术

Video Generation with Text Condition

  • Video Diffusion Models

    这篇论文需要注意两个点:一是怎样引入时序信息的方法,很值得借鉴。二是梯度引导法是首次被提出,当时我写的博客中说如果好用肯定会很快流行。它将传统的图像扩散 U-Net 结构扩展为 3D U-Net 结构,并采用图像和视频的联合训练。它采用的条件采样技术使其能够生成质量更高且持续时间更长的视频。作为 T2V 扩散模型的首次尝试,它还支持无条件生成和视频预测等任务。

  • Make-A-Video: Text-to-Video Generation without Text-Video Data

    网络从成对的图像文本数据中学习视觉文本相关性,并从无监督的视频数据中捕获视频运动信息。这种创新方法减少了对数据收集的依赖,从而实现了多样性和逼真性视频的生成。此外,通过使用多个超分辨率模型和插值网络,它实现了更高清晰度和帧率的生成视频。

  • MagicVideo: Efficient Video Generation With Latent Diffusion Models

    MagicVideo 则是最早采用潜在扩散模型(Latent Diffusion Model,LDM)来进行潜在空间的 T2V 生成的工作之一。通过在低维潜在空间中利用扩散模型,它显著降低了计算复杂性,从而加快了处理速度。引入的逐帧轻量级 adaptor 对齐了图像和视频的分布,使所提出的定向注意力(directed attention)能够更好地建模时间关系以确保视频的时序一致性。

  • Text2Performer: Text-Driven Human Video Generation

    Text2Performer 将以人为中心的视频分解为外观和动作表示。首先,它使用 VQVAE 的潜在空间对自然人类视频进行非监督训练,以解耦外观和姿势表示。随后,它使用连续的 VQ-diffuser 来采样连续的姿势嵌入。最后,作者在姿势嵌入的时空域上采用了一种动作感知的掩码策略,以增强时间相关性。

  • Photorealistic Video Generation with Diffusion Models

    本文提出一种名为W.A.L.T的方法,该方法基于transformer,通过扩散建模生成逼真视频。该方法有两个关键设计决定:首先,使用因果编码器将图像和视频压缩到统一的潜在空间中,实现跨模态的训练和生成;其次,为了提高内存和训练效率,使用专为联合空间和时空生成建模设计的窗口注意力架构。这些设计决策使得在不使用CFG的情况下,在既定的视频(UCF-101 和 Kinetics-600)和图像(ImageNet)生成基准测试中取得了SOTA性能。作者还训练了一个由三个模型级联组成的模型,用于文本到视频的生成,包括一个基本的潜在视频扩散模型和两个视频超分辨率扩散模型,以每秒 8 帧的速度生成分辨率为512x896的视频。

  • Text2Video-Zero: Text-to-Image Diffusion Models are Zero-Shot Video Generators

    Text2Video-Zero 利用了预训练的 T2I 模型 Stable Diffusion 来进行视频合成。为了保持不同帧之间的一致性,它在每一帧和第一帧之间执行交叉注意力机制。此外,它通过修改潜在码本的采样方法来丰富运动动态。此方法还可以与条件生成和编辑技术(如 ControlNet 和 InstructPix2Pix)结合使用,实现对视频的受控生成。另一方面,DirecT2V 和 Free-Bloom 引入了大型语言模型(LLM),以基于单个抽象用户提示生成逐帧描述。LLM 导演用于将用户输入分解为帧级别的描述。

  • LLM-grounded Video Diffusion Models

    LVD 首先利用大型语言模型(LLM)生成动态场景布局,然后使用这些布局来引导视频生成。它的方法无需训练,通过根据布局调整注意力图,来引导视频扩散模型,从而实现复杂动态视频的生成。

  • Stable Video Diffusion: Scaling Latent Video Diffusion Models to Large Datasets

    本文主要讨论了在生成视频模型中数据选择的重要性以及数据筛选对模型性能的影响。文章指出,虽然在视频建模方面的研究主要集中在空间和时间层的排列上,但对于数据选择的影响却鲜有研究,文章通过固定架构和训练方案,对比了不同数据筛选方式对模型性能的影响,并发现预训练在经过精心筛选的数据集上可以显著提高性能。同时文章介绍了一个系统的数据筛选工作流程,将一个大规模的未筛选视频集合转化为适用于生成视频建模的高质量数据集,还提出了一种基于预训练视频扩散模型的多视角生成方法,并与其他专门的新视角合成方法进行了比较。最后,文章探讨了模型的运动和三维理解能力,并进行了相关实验。

Video Generation with other Conditions

  • Follow Your Pose: Pose-Guided Text-to-Video Generation using Pose-Free Videos

    Follow Your Pose 提出了一个由姿势和文本控制驱动的视频生成模型。它采用了两阶段的训练过程,利用图像-姿势对和无姿势的视频。在第一阶段,使用(图像,姿势)对对 T2I (Text-to-Image) 模型进行微调,以实现姿势控制的生成。在第二阶段,模型利用未标记的视频来学习时间建模,通过整合时间注意力和跨帧注意力机制。这两阶段的训练使模型具备了姿势控制和时间建模的能力。

  • Motion-Conditioned Diffusion Model for Controllable Video Synthesis

    MCDiff 是首个考虑运动作为视频合成控制条件的先驱。该方法涉及提供视频的第一帧以及一系列笔画运动。首先,使用流补全模型基于稀疏笔画运动控制来预测稠密视频运动。随后,该模型采用自回归方法,利用稠密运动图来预测随后的帧,最终合成完整的视频。

  • LaMD: Latent Motion Diffusion for Video Generation

    LaMD 首先训练一个自动编码器来分离视频中的运动信息。然后,基于扩散的运动生成器被训练用于生成视频运动。通过这种方法,在运动的指导下,模型实现了在给定第一帧的情况下生成高质量感知视频的能力。

  • Generative Image Dynamics

    Generative Dynamics 提出了一种在图像空间中建模场景动态的方法。它从展示自然运动的真实视频序列中提取运动轨迹。对于单个图像,扩散模型通过一个频率协调的扩散采样过程,为每个像素在傅立叶域中预测了长期的运动表示。这个表示可以转换为跨越整个视频的密集运动轨迹(即循环运动)。当与图像渲染模块结合使用时,它可以将静态图像转换为连续循环的动态视频,促进用户与所描绘对象的真实互动。

  • CaDM: Codec-aware Diffusion Modeling for Neural-enhanced Video Streaming

    CaDM 提出了一种新颖的神经增强视频流传递范式,旨在大幅降低流传递比特率,同时与现有方法相比,保持明显提高的恢复能力。首先,CaDM 提出了通过同时降低视频流中帧分辨率和颜色位深度来提高编码器的压缩效率的方法。此外,CaDM 通过向去噪扩散恢复过程中灌输编码器规定的分辨率-颜色条件的意识,使解码器具有优越的增强能力。

  • Look Ma, No Hands! Agent-Environment Factorization of Egocentric Videos

    VIDM 利用预训练的 LDM 来处理视频修补任务。通过为第一人称视角视频提供一个掩码,该方法利用 LDM 的图像补全先验生成修补后的视频。

Video Editing

  • Structure and Content-Guided Video Synthesis with Diffusion Models

    GEN-1 提出了一种结构和内容感知模型,可以实现对时间、内容和结构一致性的全面控制。该模型将时间层引入预训练的文本到图像(T2I)模型,并在图像和视频上联合进行训练,实现实时控制时间一致性。

  • Control-A-Video: Controllable Text-to-Video Generation with Diffusion Models

    Control-A-Video 基于预训练的文本到图像(T2I)扩散模型,其中包括一个时空自注意模块和可训练的时域层。此外,他们提出了一种首帧条件策略(即,基于第一帧生成视频序列),使得 Control-A-Video 能够使用自回归方法生成任意长度的视频。

  • MagicProp: Diffusion-based Video Editing via Motion-aware Appearance Propagation

    MagicProp 将视频编辑任务分为外观编辑和具有动作感知的外观传播,以实现时间一致性和编辑灵活性。首先,他们从输入视频中选择一帧,并将其外观编辑为参考。然后,他们使用图像扩散模型,自回归地生成目标帧,受其前一帧、目标深度和参考外观的控制。

  • TokenFlow: Consistent Diffusion Features for Consistent Video Editing

    TokenFlow 表明,在编辑视频中可以通过在扩散特征空间中强制保持一致性来实现一致性。具体来说,这是通过对关键帧进行采样、联合编辑它们,然后根据原始视频特征提供的对应关系将关键帧的特征传播到所有其他帧完成的。这一过程显式地保持了原始视频特征的一致性和精细的共享表示。

  • ControlVideo: Training-free Controllable Text-to-Video Generation

    ControlVideo 直接采用了 ControlNet 的架构和权重,通过完全的跨帧交互扩展了自注意力,以实现高质量和一致性。为了处理长视频编辑任务,它实施了一个分层采样器,将长视频分成短片段,并通过对关键帧对的条件化来获得全局一致性。

  • Gen-L-Video: Multi-Text to Long Video Generation via Temporal Co-Denoising

    Gen-L-Video 通过将长视频视为在时间上重叠的短视频,探索了长视频编辑。通过提出的时域协同去噪方法(Temporal Co-Denoising methods),它扩展了现成的短视频编辑模型,以处理包含数百帧的编辑视频并保持一致性。

生成模型在其他任务上的应用

扩散模型在数据标记上的应用

  • DatasetDM: Synthesizing Data with Perception Annotations Using Diffusion Models

    本文提出了DatasetDM,一种通用的数据集生成模型,可以生成多样的合成图像以及相应的高质量感知标注。所提出方法基于预训练的扩散模型,将文本引导的图像合成扩展到感知数据生成。扩散模型的潜在代码可以通过解码器模块有效地解码为准确的感知标注。解码器只需使用少于1%(约100张图像)的手动标记图像进行训练,从而实现了无限大的带标注数据集的生成。随后,这些合成数据可用于训练各种感知模型以用于下游任务。

  • Synthetic Data from Diffusion Models Improves ImageNet Classification

    由于现有的架构、数据增强策略和训练方法已经得到充分调整,这样的任务设定了很高的门槛。一个密切相关的问题是,大规模文本到图像模型在下游任务中能否作为良好的表示学习器或基础模型?论文探讨了这个问题在生成数据增强的背景下,表明这些模型可以被微调,以在ImageNet上产生最先进的类条件生成模型。

  • Guiding Text-to-Image Diffusion Model Towards Grounded Generation

    本文的核心思想是同时生成与文本提示相对应的视觉实体的图像和分割掩码

  • DiffusionEngine: Diffusion Model is Scalable Data Engine for Object Detection

    论文提出了一种扩散模型和目标检测网络结合的数据生成引擎,只需要训练自己的目标检测适配器,即可生成带标注的生成数据,但是还是只能生成一些通用的目标,对于稀有的数据生成效果并不好,如果能用稀有数据同时训练扩散模型和目标检测适配器,也许可以生成不错的稀有数据。

  • Diffusion Models and Semi-Supervised Learners Benefit Mutually with Few Labels

    提出了双重伪训练这种训练策略,简单有效,原则上能够结合任何一种半监督分类器和生成模型。

可控的图像生成技术

  • Adding Conditional Control to Text-to-Image Diffusion Models

    文本提出了ControlNet,一个神经网络架构,将空间条件控制添加到大型,预训练的文本到图像扩散模型中。ControlNet锁定了生产就绪的大型扩散模型,并重用其深度和鲁棒的编码层,这些编码层预先训练了数十亿张图像,作为强大的骨干,以学习各种条件控制。神经结构与“零卷积”(零初始化卷积层)相连接,该卷积层从零开始逐步增长参数,并确保没有有害噪声影响微调。我们测试各种条件控制,例如,边缘,深度,分割,人体姿势等,稳定扩散,使用单一或多个条件,有或没有提示。

  • Dense Text-to-Image Generation with Attention Modulation

    本文提出的 DenseDiffusion 方法旨在解决这两个问题,使预训练文本到图像模型可以处理密集描述文本的同时遵循用户指定的布局进行生成。

    主要创新点是提出针对模型中间注意力图的调制方法,不需要额外数据集进行微调就可以改善模型对文本和布局条件的遵循程度。这种无需训练的方法避免了每次微调的计算资源消耗。

    总的来说,本文工作致力于提高文本到图像生成任务中对条件的控制能力,既能处理详细的文本描述,又能遵循指定的对象布局,能够显著提升根据文本及提示布局生成图像的匹配度

  • ZipLoRA: Any Subject in Any Style by Effectively Merging LoRAs

    这篇论文的主要内容是介绍一种新的方法,叫做ZipLoRA,可以实现任意主题和任意风格的图像生成。ZipLoRA的基本思想是利用低秩适应(LoRA)的技术,将两个独立训练的LoRA模型,一个用于主题生成,一个用于风格生成,有效地合并起来,形成一个能够同时捕捉主题和风格的LoRA模型。ZipLoRA的优点是参数效率高,合并过程简单快速,生成的图像质量高,主题和风格的保真度高,而且还能够实现对主题的重新语境化和语义修改

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/545740.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「递归算法」看这一篇就够了|多图

前言递归是一种非常重要的算法思想,无论你是前端开发,还是后端开发,都需要掌握它。在日常工作中,统计文件夹大小,解析xml文件等等,都需要用到递归算法。它太基础太重要了,这也是为什么面试的时候…

数组tostring方法_数组toString()方法以及JavaScript中的示例

数组tostring方法JavaScript toString()方法 (JavaScript toString() method) toString() method is used to convert an array to the string. It is called with the array name and returns the string containing array elements with comma separated. toString()方法用于…

JAVA解析JSON数据

在网页中想后台传递多个数据时,有时数据还是多个动态列表,数据很复杂时,JavaScript程序员喜欢把他们作为json串进行处理,后台收到后需要对json字符串进行解析,幸好有JSON-lib,这个Java类包用于把bean,map和…

为什么把端口号改为80之后,访问的时候就可以不写端口号

一个关于tomcat的问题为什么把端口号改为80之后,访问的时候就可以不写端口号因为80端口是许多web服务器的默认端口,比如iis和apache,所有为了方便,浏览器在不知道请求端口的情况下默认会访问服务器的80端口百度知道这样的话就可以恶作剧了打开…

linux——服务器与客户端实现聊天功能

先联想一下聊天的场景,假设甲和乙在聊天,他们每个人都能够发送给对方一句话甚至多句话,也能接收到对方发来的一句或多句话,也就是说,甲在发送一句话给乙的时候,同时也能接收到乙发来的信息,而且…

有关链表的小技巧,我都给你总结好了

链表链表是数据结构里一个很基础但是又很爱考的线性结构,链表的操作相对来说比较简单,但是非常适合考察面试者写代码的能力,以及对 corner case 的处理,还有指针的应用很容易引起 NPE (null pointer exception)。综合以上原因&…

long类型20位示例_Java Long类numberOfTrailingZeros()方法及示例

long类型20位示例长类numberOfTrailingZeros()方法 (Long class numberOfTrailingZeros() method) numberOfTrailingZeros() method is available in java.lang package. 在java.lang包中提供了numberOfTrailingZeros()方法 。 numberOfTrailingZeros() method is used to retu…

ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版

ActiveReports 9刚刚发布3天,微软就发布了 Visual Studio Community 2013 开发环境。Visual Studio Community 2013 提供完整功能的 IDE ,可开发 Windows、Android 和 iOS 应用。支持:C, Python, HTML5, JavaScript, 和 C#,VB, F# 语言的开发…

第 1-1 课:Java 程序是如何执行的?

了解任何一门语言的精髓都是先俯览其全貌,从宏观的视角把握全局,然后再深入每个知识点逐个击破,这样就可以深入而快速的掌握一项技能。同样学习 Java 也是如此,本节就让我们先从整体来看一下 Java 中的精髓。 Java 介绍 Java 诞…

linux——两个客户端之间实现聊天(TCP、单线程)

两个客户端实现聊天功能,那么服务器作转发信息的作用,客户端A先将信息发送到服务器,在由服务器将信息发送到客户端B,客户端B也是一样。客户端与服务器都应该有两个执行流,服务器的一个执行流不断的接收客户端A的信息并…

Java ClassLoader getSystemClassLoader()方法与示例

ClassLoader类getSystemClassLoader()方法 (ClassLoader Class getSystemClassLoader() method) getSystemClassLoader() method is available in java.lang package. getSystemClassLoader()方法在java.lang包中可用。 getSystemClassLoader() method is used to find the Sys…

zabbix邮件通知,短信通知配置详解

一、使用邮件发送报警1、前提条件是zabbix我们已经安装完成2、在官网我们下载msmtp的文件http://sourceforge.net/projects/msmtp/files/msmtp/1.4.32/msmtp-1.4.32.tar.bz2/download tar xf msmtp-1.4.32.tar.bz2 cd msmtp-1.4.32 ./configure--prefix/usr/local/msmtp make m…

关于怎么获取jsp的web站点的目录问题

发布了自己的web站点之后,想要访问站点文件夹下的某个文本文件,但是却不知道怎么找到文件根目录,一直尝试总是找不到文件……好不容易在网上翻了堆代码找到两句我现在急用的……so//根目录路径的获取System.out.println(request.getSession()…

开篇词:如何轻松获得 Offer

你好,我是王磊,某上市公司技术研发经理,前奇虎 360 员工,有着 10 余年的编程工作经验,目前主要负责新员工技术面试和构建企业技术架构的相关事宜。随着面试过的人数增加,我发现面试者们暴露出了技术方面的很多问题,为了让更多面试者少走一些弯路,也为了让企业能招到合适…

Java类类getGenericSuperclass()方法及示例

类类getGenericSuperclass()方法 (Class class getGenericSuperclass() method) getGenericSuperclass() method is available in java.lang package. getGenericSuperclass()方法在java.lang包中可用。 getGenericSuperclass() method is used to return the Type denoting th…

linux——客户端服务器文件传输

实现文件传输并不难,只需用fopen、fread、fwrite、fclose这几个函数对文件操作即可。文本文件就不说了,我们就已下图为例。 我们先来看看这个图片文件里装的是什么,我们以notpad打开这个图片,结果如下,是一堆乱码。 …

Android第二十五期 - 猜歌小游戏

代码已经整理好了,如下效果图:地址:http://yunpan.cn/cArkdixh5NbpQ 提取码 9300转载于:https://blog.51cto.com/liangxiao/1579433

第 1-2 课:你不知道的基础数据类型和包装类 + 面试题

基本数据类型 Java 基础数据按类型可以分为四大类:布尔型、整数型、浮点型、字符型,这四大类包含 8 种基础数据类型。 布尔型:boolean整数型:byte、short、int、long浮点型:float、double字符型:char 八种…

TomCat JDK环境变量

TomCat安装之前要安装JDK,安装完之后添加环境变量;变量名:Java_Home 变量值: D:\jdk 1.6 变量名:Classpath 变量值: D:\jdk 1.6\jre\lib\rt.jar;.; 变量名:Path 变量值: D:\jdk 1.6\…

网络编程C/S模型怎样才能实现真正的聊天功能

学完socket编成后,就迫不及待地写一个简单的聊天程序,好在同学面前装装逼,毕竟外行看热闹。然而在自己的电脑上运行是毫无差错,发送接收都没有问题,然而将客户端的exe文件打包后发送给其他电脑上运行时程序死在了conne…