搜索内容

推荐文章
  • (三)JPA – EntityManager的使用

    (二)JPA 连接工厂、主键生成策略、DDL自动更新 建议在需要使用时,看看之前的文章,先把环境搭起来。 4、EntityManager EntityManager 是完成持久化操作的核心对象。 EntityManager 对象在一组实体类与底层数据源之间进行 O/R 映射的管理。它可以用来管理和更新 Entity Bean, 根椐主键查找 Entity Bean, 还可以通过JPQL语句查询实体。 上面测试代码中,已经使用过EntityManager完成持久化操作。 实体类的状态: 新建状态: 新创建的对象,尚未拥有持久性主键; 持久化状态:……
    2022-09-28
  • 设计模式—桥接模式

    简述 类型:结构型 目的:通过抽离出多个维度相互组合(聚合)来代替继承,简化系统。 话不多说,看个优化案例。 优化案例 现有系统中,对于画面窗口的边框有一套样式来控制是否有圆角。因为新的需求,需要增加两套样式,一套控制边框线条的颜色(红、黄、蓝),一套控制边框有无阴影。我们来看看几种实现方式。 最初版v0 我们看看用继承或实现的方式,会是什么样子。 interface Style { void style(); } class Radius implements style { public void style() { rad……
    2022-09-28
  • SVM公式详尽推导,没有思维跳跃。

    假定数据集(T={(x_1,y_1),(x_2,y_2),...,(x_n,y_n)},x_n in R_k, y_n in {1,-1})线性可分,SVM的优化目标是: 优化一个超平面的参数,使得这个超平面,能够正确划分两类数据,并且,距离(动词),两类数据最近的那个点,的距离最大。 tip: 优化一个超平面的参数指的是:调整超平面的参数值。 写成数学公式为: 使得这个超平面,能够正确划分两类数据[1] [y(w·x+b) > 0 tag{1} label{1} ] 距离(动词),两类数据最近的那个点,的距离最大。[2] [max(min(yfrac{w·x+b}{||……
    2022-09-28
  • Lock 锁底层实现

    ★ 1、讲讲 Lock 锁 是一个接口,有三个实现类,分别是常用的 可重入锁,读锁、写锁。常用的是可重入锁。 加锁使用lock() 方法,解锁使用 unlock() 方法。Lock的底层是 AQS+CAS机制 实现。 Lock 常用子类 可重入锁ReentrantLock 有两种模式, 公平锁模式、非公平锁模式 。 公平锁模式 和 非公平锁模式 的应用 默认一般创建的是非公平锁,就是允许线程插队,而不是按先来后到顺序 并发量高的,非公平可能会导致线程饿死 === 做中间件,比如rocketmq 就需要关注锁公平和不公平 ……
    2022-09-28
  • 寻找领域不变量:从生成模型到因果表征

    在迁移学习/领域自适应中,我们常常需要寻找领域不变的表征(Domain-invariant Representation),这种表示可被认为是学习到各领域之间的共性,并基于此共性进行迁移。而获取这个表征的过程就与深度学习中的“表征学习”联系紧密。生成模型,自监督学习/对比学习和最近流行的因果表征学习都可以视为获取良好的领域不变表征的工具。 寻找领域不变量:从生成模型到因果表征 1 领域不变的表征 在迁移学习/领域自适应中,我们常常需要寻找领域不变的表征(Domain-inv……
    2022-09-28
  • 设计模式—享元模式

    简述 类型:结构型 目的:降低对象创建时大量属性也随之被新建而带来的性能上的消耗 话不多说,我们看一个案例。 优化案例 最初版v0 现在需要采购一批办公用的电脑,以下是Computer类的定义。 class Computer { private String sn; // 序列号,电脑的唯一识别码 private String brand; // 品牌 private String title; // 一个系列的名称,如Lenovo的Thinkpad private String cpu; private String memory; private String disk; private String gpu; ……
    2022-09-28
  • 密码学奇妙之旅、01 CFB密文反馈模式、AES标准、Golang代码

    探索密码学的奇妙之旅。介绍分组密码常用模式CFB密文反馈模式的相关理论。并基于AES标准,使用golang crypto包的cipher模块实现了加密、解密字符串的过程。 CFB密文反馈模式 CFB密文反馈模式属于分组密码模式中的一种。加密与解密使用同一结构,加密步骤生成用于异或的密钥流。 其弥补了ECB电子密码本模式的不足(明文中的重复排列会反映在密文中,通过删除替换分组可以对明文进行操作) 其优点是 不需要填充。因为从明文分组到密文分组只需要一次XOR,使……
    2022-09-28
  • [ML从入门到入门] 支持向量机:从SVM的推导过程到SMO的收敛性讨论

      前言 支持向量机(Support Vector Machine,SVM)在70年代由苏联人 Vladimir Vapnik 提出,主要用于处理二分类问题,也就是研究如何区分两类事物。 本文主要介绍支持向量机如何解决线性可分和非线性可分问题,最后还会对 SMO 算法进行推导以及对 SMO 算法的收敛性进行简要分析,但受限于篇幅,本文不会对最优化问题、核函数、原问题和对偶问题等前置知识做过于深入的介绍,需要了解相关知识的读者朋友请移步其它文章、资料。 SVM 推导过程主要参考自胡浩基教授的机器学习公开课程……
    2022-09-28
  • Python中class内置方法__init__与__new__作用与区别探究

    背景 最近尝试了解Django中ORM实现的原理,发现其用到了metaclass(元类)这一技术,进一步又涉及到Python class中有两个特殊内置方法__init__与__new__,决定先尝试探究一番两者的具体作用与区别。 PS: 本文中涉及的类均为Python3中默认的新式类,对应Python2中则为显式继承了object的class,因为未继承object基类的旧式类并没有这些内置方法。 __init__方法作用 凡是使用Python自定义过class就必然要和__init__方法打交道,因为class实例的初始化工作即由该函数负责,实例各属性的……
    2022-09-28
  • 计算空间物体包围球的两种算法实现

    详细介绍了计算空间包围球的两种算法。 1. 概述 在进行二维空间几何运算的之前,往往会用包围盒进行快速碰撞检测,从而筛掉一些无法碰撞到的可能。而在三维中,比较常用的就是包围球了。当然,如何计算包围球是一个问题。 2. 详论 2.1. naive算法 一个最简单的思路就是,计算空间顶点在X、Y、Z方向上的最大值和最小值,那么就可以得到8个顶点组成的包围盒。取包围球中心为包围盒中心点,而包围球半径有的人认为可以取中心点到八个顶点的最大距离——这样其实并不严密。……
    2022-09-28