- 【激活函数总结】Pytorch中的激活函数详解: ReLU、Leaky ReLU、Sigmoid、Tanh 以及 Softmax
阿_旭
深度学习知识点pytorch人工智能python激活函数深度学习
《博主简介》小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。感谢小伙伴们点赞、关注!《------往期经典推荐------》一、AI应用软件开发实战专栏【链接】项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.
- 两种常用损失函数:nn.CrossEntropyLoss 与 nn.TripletMarginLoss
大多_C
人工智能算法python机器学习
两种用于模型训练的损失函数:nn.CrossEntropyLoss和nn.TripletMarginLoss。它们在对比学习和分类任务中各自扮演不同的角色。接下来是对这两种损失函数的详细介绍。1.nn.CrossEntropyLossnn.CrossEntropyLoss是PyTorch提供的交叉熵损失函数,通常用于多分类任务中。它结合了softmax激活函数和负对数似然损失(NegativeLo
- pytorch正向传播没问题,loss.backward()使定义的神经网络中权重参数变为nan
加速却甩不掉伤悲
pytorch神经网络人工智能
记录一个非常坑爹的bug:loss回传导致神经网络中一个linear层的权重参数变为nan1.首先loss值是正常数值;2.查了好多网上的解决办法:检查原始输入神经网络数据有没有nan值,初始化权重参数,使用relu激活函数,梯度裁剪,降低优化器的学习率等等都没解决,个人认为这些应该影响不大,一般不会出问题;3.最后是使用如下异常检测:检测在loss回传过程中哪一块出现了问题torch.autog
- 工信教考 | AI智能体应用工程师(模拟试题)
人工智能-猫猫
人工智能开源自然语言处理语言模型架构
关于AI智能体工程师的模拟试题,下面根据AI智能体工程师所需掌握的知识和技能,设计一些模拟题型的示例。这些题目旨在考察应试者在人工智能、机器学习、深度学习、算法设计、系统开发等方面的能力。一、选择题无监督学习常用于哪些任务?(单选)A.回归分析B.聚类分析C.分类预测D.序列预测答案:B解析:无监督学习常用于聚类、降维、异常检测等任务,如市场分割、数据可视化等。以下哪种激活函数常用于分类问题的输出
- 常用torch.nn
mm_exploration
MyDiffusionpythonpytorch人工智能
目录一、torch.nn和torch.nn.functional二、nn.Linear三、nn.Embedding四、nn.Identity五、Pytorch非线性激活函数六、nn.Conv2d七、nn.Sequential八、nn.ModuleList九、torch.outertorch.cat一、torch.nn和torch.nn.functionalPytorch中torch.nn和torc
- 大模型入门(一)
pit_man
人工智能大模型
大模型入门(一)一、LLaMa模型介绍1)Pre-normalization2)SwiGLU激活函数3)RoPE旋转位置编码二、Alpaca模型介绍三、Vicuna模型介绍大模型入门(一)——LLaMa/Alpaca/VicunaLLaMa模型是Meta开源的大模型,模型参数从7B到65B不等,LLaMa-7B在大多数基准测试上超过了GPT3-173B,而LLaMa-65B和Chinchilla-
- Pytorch机器学习——3 神经网络(三)
辘轳鹿鹿
outline神经元与神经网络激活函数前向算法损失函数反向传播算法数据的准备PyTorch实例:单层神经网络实现3.2激活函数3.2.2TanhTanh是一个双曲三角函数,其公式如下所示:image.png从图像上可以看出,与Sigmoid不同,它将输入变量映射到(-1,1)之间,它是Sigmoid函数经过简单的变换得到的。导数优缺点:优点:由于其图形在定义域0附近近似线性,并且在整个定义域有可导
- KAN网络技术最全解析——最热KAN能否干掉MLP和Transformer?(收录于GPT-4/ChatGPT技术与产业分析)
u013250861
#LLM/Transformertransformerchatgpt深度学习
KAN网络结构思路来自Kolmogorov-Arnold表示定理。MLP在节点(“神经元”)上具有固定的激活函数,而KAN在边(“权重”)上具有可学习的激活函数。在数据拟合和PDE求解中,较小的KAN可以比较大的MLP获得更好的准确性。相对MLP,KAN也具备更好的可解释性,适合作为数学和物理研究中的辅助模型,帮助发现和寻找更基础的数值规律。(点赞是我们分享的动力)MLP与KAN对比与传统的MLP
- NPU技术总结
技术学习分享
webglprocesson
NPUs简介定义:NPUs是一种专门为执行机器学习算法和神经网络操作而设计的处理器。起源:随着人工智能和深度学习的发展,NPUs应运而生,以满足对高效率和高能效的计算需求。NPUs的设计架构:NPUs通常采用不同于传统CPU或GPU的架构,优化了矩阵运算和并行处理。指令集:它们拥有专门的指令集,用于加速神经网络中的常见操作,如卷积和激活函数。NPUs的核心技术并行性:NPUs利用数据并行性和任务并
- 问题
三点水_787a
卷积层和池化层都能反向传播DenseNet→修改了网络结构U-Net→修改了激活函数,拼接catResNet→相加add
- 学习笔记---自动驾驶
酒饮微醉-
自动驾驶学习笔记自动驾驶
一、理论知识1.自动驾驶决策概述:自动驾驶决策层是系统的核心,负责根据感知层信息建立模型,分析并制定决策策略,控制车辆行驶。2.端到端深度神经网络:通过深度神经网络将感知数据直接映射到控制命令,简化自动驾驶系统的决策流程。3.卷积神经网络(CNN):关键技术用于提取图像特征,包括卷积层、激活函数、池化层等组件处理图像数据。4.循环神经网络(RNN):处理序列数据,如车辆历史速度序列,用于建模时间序
- 【深度学习】
feifeikon
深度学习人工智能
梯度消失和梯度爆炸(解释意思,分析产生原因)在反向传播过程中需要对激活函数进行求导,如果导数大于1,那么随着网络层数的增加梯度更新将会朝着指数爆炸的方式增加这就是梯度爆炸。同样如果导数小于1,那么随着网络层数的增加梯度更新信息会朝着指数衰减的方式减少这就是梯度消失。因此,梯度消失、爆炸,其根本原因在于反向传播训练法则,属于先天不足。请解释什么是batchnormal,它有什么作用?神经网络在训练的
- 深度学习(二)
小泽爱刷题
深度学习人工智能
CuDNN(CUDADeepNeuralNetworklibrary)是NVIDIA为加速深度学习计算而开发的高性能GPU加速库,专门优化了深度神经网络(DNN)的常见操作,如卷积、池化、归一化和激活函数等。CuDNN的主要作用是通过利用GPU的并行计算能力,提高深度学习模型在GPU上的运行效率。CuDNN的作用加速卷积操作:卷积操作是深度学习中特别是在卷积神经网络(CNN)中最重要且最计算密集的
- 深度学习速通系列:梯度消失vs梯度爆炸
Ven%
深度学习速通系列人工智能深度学习python
梯度消失和梯度爆炸是深度学习中训练深层神经网络时常见的两个问题,它们影响网络的训练过程和性能。梯度消失(VanishingGradientProblem)定义:梯度消失是指在深层神经网络的反向传播过程中,由于链式法则,梯度值随着层数的增加而迅速减小,最终趋近于零。原因:激活函数的导数很小,如Sigmoid或Tanh函数在输入值非常大或非常小的时候导数接近零。权重初始化不当,导致梯度在网络中的传播过
- 【深度学习】embedding的简单理解
旅途中的宽~
深度学习笔记深度学习embedding
文章目录一、简单理解二、其他通俗理解一、简单理解特征嵌入,将数据转换(降维)为固定大小的特征表示(矢量),以便于处理和计算(如求距离)。例如,针对用于说话者识别的语音信号训练的模型可以允许您将语音片段转换为数字向量,使得来自相同说话者的另一片段与原始向量具有小的距离(例如,欧几里德距离)。embedding的主要目的是对(稀疏)特征进行降维,它降维的方式可以类比为一个全连接层(没有激活函数),通过
- Python在神经网络中优化激活函数选择使用详解
Rocky006
python开发语言
概要在神经网络中,激活函数扮演着至关重要的角色。它的主要作用是引入非线性因素,使得神经网络能够处理复杂的非线性问题。如果没有激活函数,神经网络仅仅是线性模型的堆叠,无法胜任深度学习中的各种任务。本文将深入探讨几种常用的激活函数,包括Sigmoid、Tanh、ReLU及其变种,并通过具体的代码示例展示它们在Python中的实现和应用。激活函数的重要性激活函数将输入信号进行非线性转换,从而增强神经网络
- 理解PyTorch版YOLOv5模型构架
LabVIEW_Python
一个深度学习模型,可以拆解为:模型构架(ModelArchitecture):下面详述激活函数(ActivationFunction):YOLOv5在隐藏层中使用了LeakyReLU激活函数,在最后的检测层中使用了Sigmoid激活函数,参考这里优化函数(OptimizationFunction):YOLOv5的默认优化算法是:SGD;可以通过命令行参数更改为Adam损失函数(LossFuncti
- 小白学大模型——Qwen2理论篇
fan_fan_feng
大模型人工智能自然语言处理
一、Qwen2架构图二、Qwen2技术修改点TransformerArchitecturewithSwiGLUactivation:不多说,最主流的transformer架构,不变。但是,SwiGLU激活函数是GLU变体,可以让模型学习表达更加复杂的模式。QKVbias:在Transformer模型中,Q、K、V分别代表查询(Query)、键(Key)和值(Value)。这些向量是通过输入向量与对
- BCEWithLogitsLoss
hero_hilog
算法pytorch
BCEWithLogitsLoss是PyTorch深度学习框架中的一个损失函数,用于二元分类问题。它结合了Sigmoid激活函数和二元交叉熵损失(BinaryCrossEntropyLoss),使得在训练过程中更加数值稳定。特点:数值稳定性:直接使用Sigmoid函数后跟BCE损失可能会遇到数值稳定性问题,特别是当输入值非常大或非常小的时候。BCEWithLogitsLoss通过内部使用Logi
- Keras深度学习库的常用函数与参数详解及实例
零 度°
pythonpythonkeras
Keras是一个高级的神经网络API,它能够以TensorFlow、CNTK或Theano作为后端运行,以支持快速的实验和模型构建。Keras以其用户友好、模块化、可扩展性而受到广泛欢迎,适用于从深度学习新手到经验丰富的研究人员。常用函数及其参数Dense()全连接层,用于构建神经网络中的线性部分。units:层中的神经元数量。activation:激活函数,默认为’relu’。use_bias:
- 深度学习学习经验——深度学习名词字典
Linductor
深度学习学习经验深度学习学习人工智能
深度学习名词字典1.张量(Tensor)2.神经网络(NeuralNetwork)3.损失函数(LossFunction)4.优化器(Optimizer)5.激活函数(ActivationFunction)6.前向传播(ForwardPropagation)7.反向传播(BackwardPropagation)8.批量(Batch)9.欠拟合(Underfitting)10.过拟合(Overfit
- 神经网络(深度学习,计算机视觉,得分函数,损失函数,前向传播,反向传播,激活函数)
MarkHD
深度学习神经网络计算机视觉
神经网络,特别是深度学习,在计算机视觉等领域有着广泛的应用。以下是关于你提到的几个关键概念的详细解释:神经网络:神经网络是一种模拟人脑神经元结构的计算模型,用于处理复杂的数据和模式识别任务。它由多个神经元(或称为节点)组成,这些神经元通过权重和偏置进行连接,并可以学习调整这些参数以优化性能。深度学习:深度学习是神经网络的一个子领域,主要关注于构建和训练深度神经网络(即具有多个隐藏层的神经网络)。通
- 计算机设计大赛 题目:基于卷积神经网络的手写字符识别 - 深度学习
iuerfee
python
文章目录0前言1简介2LeNet-5模型的介绍2.1结构解析2.2C1层2.3S2层S2层和C3层连接2.4F6与C5层3写数字识别算法模型的构建3.1输入层设计3.2激活函数的选取3.3卷积层设计3.4降采样层3.5输出层设计4网络模型的总体结构5部分实现代码6在线手写识别7最后0前言优质竞赛项目系列,今天要分享的是基于卷积神经网络的手写字符识别该项目较为新颖,适合作为竞赛课题方向,学长非常推荐
- 深度学习——梯度消失、梯度爆炸
小羊头发长
深度学习机器学习人工智能
本文参考:深度学习之3——梯度爆炸与梯度消失梯度消失和梯度爆炸的根源:深度神经网络结构、反向传播算法目前优化神经网络的方法都是基于反向传播的思想,即根据损失函数计算的误差通过反向传播的方式,指导深度网络权值的更新。为什么神经网络优化用到梯度下降的优化方法?深度网络是由许多非线性层(带有激活函数)堆叠而成,每一层非线性层可以视为一个非线性函数f(x),因此整个深度网络可以视为一个复合的非线性多元函数
- 深度学习如何入门?
nanshaws
yolov5深度学习
深度学习是机器学习的一个子领域,它基于人工神经网络的研究。入门深度学习可以分为以下几个步骤:基础知识准备:(1)掌握基础数学知识,特别是线性代数、概率论和统计学、微积分。(2)学习编程语言,Python是目前最流行的深度学习语言,因其简洁易学且有大量的库支持。(3)了解机器学习基础,包括监督学习和非监督学习的概念、模型评估与选择等。学习深度学习理论:(1)理解神经网络的基本组成,如神经元、激活函数
- 神经网络算法浅谈
dami_king
神经网络算法深度学习人工智能AIGC
神经网络是一种模拟人脑神经元工作原理的计算模型,由大量的人工神经元相互连接形成复杂网络结构,用于解决各种机器学习和人工智能问题。以下是对神经网络算法的浅析:一、网络结构神经网络的核心在于其层次结构,其中包括:输入层(InputLayer):接收原始特征数据。隐藏层(HiddenLayers):包含若干层,每层包含多个神经元,每个神经元接收到上一层的输出作为输入,并通过加权和与非线性变换(激活函数)
- 基于卷积神经网络的图像去噪
神经网络机器学习智能算法画图绘图
cnn人工智能神经网络卷积神经网络图像去噪
目录背影卷积神经网络CNN的原理卷积神经网络CNN的定义卷积神经网络CNN的神经元卷积神经网络CNN的激活函数卷积神经网络CNN的传递函数基于卷积神经网络的图像去噪完整代码:基于卷积神经网络的图像去噪.rar资源-CSDN文库https://download.csdn.net/download/abc991835105/88869565基本结构主要参数MATALB代码结果图展望背影卷积神经网络是为
- ReLU和ReLU6
chen_znn
激活函数pytorch深度学习人工智能计算机视觉
ReLU和ReLU6都是深度学习中常用的激活函数,它们各自有不同的优缺点。ReLU(RectifiedLinearUnit)优点非线性:ReLU是一个非线性函数,能够帮助神经网络学习复杂的模式和特征计算简单:ReLU函数的计算速度快,只需要判断输入是否大于零,因此在实践中被广泛采用解决梯度消失问题:相比于一些传统的激活函数,ReLU对梯度消失问题有一定的缓解作用缺点神经元死亡问题:当输入值为负时,
- 麻雀算法优化BP神经网络回归分析,麻雀算法优化BP神经网络回归预测,麻雀优化算法改进BP神经网络客流量预测
神经网络机器学习智能算法画图绘图
BP神经网络算法神经网络回归麻雀优化算法改进BP神经网络短期客流量预测
目录背影BP神经网络的原理BP神经网络的定义BP神经网络的基本结构BP神经网络的神经元BP神经网络的激活函数,BP神经网络的传递函数麻雀算法原理麻雀算法主要参数麻雀算法流程图麻雀算法优化测试函数代码麻雀算法优化BP神经网络回归分析,麻雀算法优化BP神经网络回归预测数据matlab编程实现效果图结果分析展望完整代码数据文件下载链接:(代码完整,数据齐全)资源-CSDN文库https://downlo
- 概率密度函数(PDF)与神经网络中的激活函数
daode3056
神经网络算法pdf人工智能机器学习算法
原创:项道德(daode3056,daode1212)在量子力学中,许多现象都是统计的结果,基本上用的是正态分布,然而,从本质上思考,应该还存在低阶的分布,标准的正态分布是它的极限,这样一来,或许在某些状态,要多关注瞬间与低能的统计分布,这就要推出一些低阶的分布,些分布大多都要出现特殊函数,先看看Besselfunction:以下是作者应用“第二类虚宗量的贝塞尔函数”的积分:它也代表一类分布,它是
- SQL的各种连接查询
xieke90
UNION ALLUNION外连接内连接JOIN
一、内连接
概念:内连接就是使用比较运算符根据每个表共有的列的值匹配两个表中的行。
内连接(join 或者inner join )
SQL语法:
select * fron
- java编程思想--复用类
百合不是茶
java继承代理组合final类
复用类看着标题都不知道是什么,再加上java编程思想翻译的比价难懂,所以知道现在才看这本软件界的奇书
一:组合语法:就是将对象的引用放到新类中即可
代码:
package com.wj.reuse;
/**
*
* @author Administrator 组
- [开源与生态系统]国产CPU的生态系统
comsci
cpu
计算机要从娃娃抓起...而孩子最喜欢玩游戏....
要让国产CPU在国内市场形成自己的生态系统和产业链,国家和企业就不能够忘记游戏这个非常关键的环节....
投入一些资金和资源,人力和政策,让游
- JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
商人shang
jvm内存
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。
HotSpot虚拟机GC算法采用分代收
- 页面上调用 QQ
oloz
qq
<A href="tencent://message/?uin=707321921&Site=有事Q我&Menu=yes">
<img style="border:0px;" src=http://wpa.qq.com/pa?p=1:707321921:1></a>
- 一些问题
文强chu
问题
1.eclipse 导出 doc 出现“The Javadoc command does not exist.” javadoc command 选择 jdk/bin/javadoc.exe 2.tomcate 配置 web 项目 .....
SQL:3.mysql * 必须得放前面 否则 select&nbs
- 生活没有安全感
小桔子
生活孤独安全感
圈子好小,身边朋友没几个,交心的更是少之又少。在深圳,除了男朋友,没几个亲密的人。不知不觉男朋友成了唯一的依靠,毫不夸张的说,业余生活的全部。现在感情好,也很幸福的。但是说不准难免人心会变嘛,不发生什么大家都乐融融,发生什么很难处理。我想说如果不幸被分手(无论原因如何),生活难免变化很大,在深圳,我没交心的朋友。明
- php 基础语法
aichenglong
php 基本语法
1 .1 php变量必须以$开头
<?php
$a=” b”;
echo
?>
1 .2 php基本数据库类型 Integer float/double Boolean string
1 .3 复合数据类型 数组array和对象 object
1 .4 特殊数据类型 null 资源类型(resource) $co
- mybatis tools 配置详解
AILIKES
mybatis
MyBatis Generator中文文档
MyBatis Generator中文文档地址:
http://generator.sturgeon.mopaas.com/
该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。
本文使用Markdown进行编辑,但是博客显示效
- 继承与多态的探讨
百合不是茶
JAVA面向对象 继承 对象
继承 extends 多态
继承是面向对象最经常使用的特征之一:继承语法是通过继承发、基类的域和方法 //继承就是从现有的类中生成一个新的类,这个新类拥有现有类的所有extends是使用继承的关键字:
在A类中定义属性和方法;
class A{
//定义属性
int age;
//定义方法
public void go
- JS的undefined与null的实例
bijian1013
JavaScriptJavaScript
<form name="theform" id="theform">
</form>
<script language="javascript">
var a
alert(typeof(b)); //这里提示undefined
if(theform.datas
- TDD实践(一)
bijian1013
java敏捷TDD
一.TDD概述
TDD:测试驱动开发,它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完全部功能的开发。
- [Maven学习笔记十]Maven Profile与资源文件过滤器
bit1129
maven
什么是Maven Profile
Maven Profile的含义是针对编译打包环境和编译打包目的配置定制,可以在不同的环境上选择相应的配置,例如DB信息,可以根据是为开发环境编译打包,还是为生产环境编译打包,动态的选择正确的DB配置信息
Profile的激活机制
1.Profile可以手工激活,比如在Intellij Idea的Maven Project视图中可以选择一个P
- 【Hive八】Hive用户自定义生成表函数(UDTF)
bit1129
hive
1. 什么是UDTF
UDTF,是User Defined Table-Generating Functions,一眼看上去,貌似是用户自定义生成表函数,这个生成表不应该理解为生成了一个HQL Table, 貌似更应该理解为生成了类似关系表的二维行数据集
2. 如何实现UDTF
继承org.apache.hadoop.hive.ql.udf.generic
- tfs restful api 加auth 2.0认计
ronin47
目前思考如何给tfs的ngx-tfs api增加安全性。有如下两点:
一是基于客户端的ip设置。这个比较容易实现。
二是基于OAuth2.0认证,这个需要lua,实现起来相对于一来说,有些难度。
现在重点介绍第二种方法实现思路。
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGe
- jdk环境变量配置
byalias
javajdk
进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置:
1、下载jdk(http://java.sun.com/javase/downloads/index.jsp),我下载的版本是:jdk-7u79-windows-x64.exe
2、安装jdk-7u79-windows-x64.exe
3、配置环境变量:右击"计算机"-->&quo
- 《代码大全》表驱动法-Table Driven Approach-2
bylijinnan
java
package com.ljn.base;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.uti
- SQL 数值四舍五入 小数点后保留2位
chicony
四舍五入
1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。
2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。
例如:
select cast(round(12.5,2) as numeric(5,2))  
- c++运算符重载
CrazyMizzz
C++
一、加+,减-,乘*,除/ 的运算符重载
Rational operator*(const Rational &x) const{
return Rational(x.a * this->a);
}
在这里只写乘法的,加减除的写法类似
二、<<输出,>>输入的运算符重载
&nb
- hive DDL语法汇总
daizj
hive修改列DDL修改表
hive DDL语法汇总
1、对表重命名
hive> ALTER TABLE table_name RENAME TO new_table_name;
2、修改表备注
hive> ALTER TABLE table_name SET TBLPROPERTIES ('comment' = new_comm
- jbox使用说明
dcj3sjt126com
Web
参考网址:http://www.kudystudio.com/jbox/jbox-demo.html jBox v2.3 beta [
点击下载]
技术交流QQGroup:172543951 100521167
[2011-11-11] jBox v2.3 正式版
- [调整&修复] IE6下有iframe或页面有active、applet控件
- UISegmentedControl 开发笔记
dcj3sjt126com
// typedef NS_ENUM(NSInteger, UISegmentedControlStyle) {
// UISegmentedControlStylePlain, // large plain
&
- Slick生成表映射文件
ekian
scala
Scala添加SLICK进行数据库操作,需在sbt文件上添加slick-codegen包
"com.typesafe.slick" %% "slick-codegen" % slickVersion
因为我是连接SQL Server数据库,还需添加slick-extensions,jtds包
"com.typesa
- ES-TEST
gengzg
test
package com.MarkNum;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation
- 为何外键不再推荐使用
hugh.wang
mysqlDB
表的关联,是一种逻辑关系,并不需要进行物理上的“硬关联”,而且你所期望的关联,其实只是其数据上存在一定的联系而已,而这种联系实际上是在设计之初就定义好的固有逻辑。
在业务代码中实现的时候,只要按照设计之初的这种固有关联逻辑来处理数据即可,并不需要在数据库层面进行“硬关联”,因为在数据库层面通过使用外键的方式进行“硬关联”,会带来很多额外的资源消耗来进行一致性和完整性校验,即使很多时候我们并不
- 领域驱动设计
julyflame
VODAO设计模式DTOpo
概念:
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对
- 单例设计模式
hm4123660
javaSingleton单例设计模式懒汉式饿汉式
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
&nb
- logback
zhb8015
loglogback
一、logback的介绍
Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-class
- 整合Kafka到Spark Streaming——代码示例和挑战
Stark_Summer
sparkstormzookeeperPARALLELISMprocessing
作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管。本文,Michael详细的演示了如何将Kafka整合到Spark Streaming中。 期间, Michael还提到了将Kafka整合到 Spark Streaming中的一些现状,非常值得阅读,虽然有一些信息在Spark 1.2版
- spring-master-slave-commondao
王新春
DAOspringdataSourceslavemaster
互联网的web项目,都有个特点:请求的并发量高,其中请求最耗时的db操作,又是系统优化的重中之重。
为此,往往搭建 db的 一主多从库的 数据库架构。作为web的DAO层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数